@charset "utf-8";

/*  PC to SP */
/*========= レイアウト ===============*/

/* ラッパー */
.p-top-wrap {
  width: min(calc(1760/1920 * 100%), 1760px);
  margin: 0 auto;
  position: relative;
}

.p-top-contens-wrap {
  width: min(calc(1760/1920 * 100%), 1760px);
  margin: 0 auto;
  position: relative;
}

/*========= hero ===============*/

.p-top-hero {
  display: block;
  width: 100vw;
  /* width: calc(100vw - var(--scrollbar)); */
  height: 100vh;
  margin: 0 calc(50% - 50vw);
  position: relative;
  z-index: 0;
  overflow-x: hidden;

}

.p-top-hero::before {
  content: '';
  display: block;
  background-image: url(../images/top/main@2x.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  width: 100vw;
  /* width: calc(100vw - var(--scrollbar)); */
  height: 100%;
  height: calc(var(--vh, 1vh) * 100);
  height: 100lvh;
  margin: auto;
  margin: 0 calc(50% - 50vw);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  transform: translate3d(0, 0, 0);

}

.p-top-hero-bg-gradient {
  display: block;
  width: 100%;
  height: 13vh;
/*  background-image: linear-gradient(to bottom, var(--white) 70%, #575757 90%);    */
    background-image: linear-gradient(to bottom, #fff 0%, #000 100%);
  mix-blend-mode: multiply;

  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.p-top-hero-box {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  height: 100vh;
  position: relative;
  z-index: 10;
}


.p-top-hero-titlebox {
  display: flex;
/*
  flex-direction: column;
  justify-content: center;
*/
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: auto;
  /* width: calc(714/1024 * 100%); */
  padding-top: 602px;
  margin-top: 0px;
  position: relative;

}

.p-top-hero__title {
  display: block;
  width: min(calc(544/1024 * 100%), 544px);
  height: auto;
  padding-bottom: calc(80/1080 * 100vh);
}

.p-top-hero__caption {
    color: #FFF;
    font-size: 10px;
    letter-spacing: 0.04em;
}



.top-concept {
    width: min(calc(1660/1920 * 100%), 1080px);
    margin: 0 auto;
  background-color: #000;
  color: #FFF;
  padding: 0 0 175px;
}
.top-concept .top-concept-top {
  width: 100%;
  margin: 0 auto 160px;
  padding: 135px 0 0;
}
.top-concept .top-concept-top .top-concept-title {
  font-family: 'line';
  font-size: min(2.7vw, 42px);
  letter-spacing: 0.04em;
  line-height: 1.19;
  text-align: center;
  margin: 0 0 67px;
  position: relative;
}
.top-concept .top-concept-top .top-concept-title:before,
.top-concept .top-concept-top .top-concept-title:after {
  display: block;
  content: '';
  width: min(24.81vw ,268px);
  height: 1px;
  background-color: #FFF;
  position: absolute;
  top: 22px;
}
.top-concept .top-concept-top .top-concept-title:before {
  left: 0;
}
.top-concept .top-concept-top .top-concept-title:after {
  right: 0;
}
.top-concept .top-concept-top .top-concept-title span {
  display: block;
  font-size: 20px;
  letter-spacing: 0.04em;
  line-height: 1.2;
  margin: 15px 0 0;
}
.top-concept .top-concept-top .top-concept-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.top-concept .top-concept-top .top-concept-contents .top-concept-txts {
/*  width: 450px;   */
    width: calc(450/1080 * 100%);
}
.top-concept .top-concept-top .top-concept-contents .top-concept-txts .top-concept-catch {
  font-family: 'Noto Serif JP', serif;
/*  font-size: 32px;    */
    font-size: min(2.3vw, 32px);
  margin: 0 0 30px;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.top-concept .top-concept-top .top-concept-contents .top-concept-txts .top-concept-txt {
  margin: 0 0 77px;
  letter-spacing: 0.04em;
  line-height: 2;
  font-size: min(1.2vw, 16px);
}
.top-concept .top-concept-top .top-concept-contents .top-concept-txts .top-concept-txt:last-of-type {
  margin: 0;
}
.top-concept .top-concept-top .top-concept-contents figure {
/*  width: 540px;   */
  width: calc(540/1080 * 100%);
  position: relative;
}
.top-concept .top-concept-top .top-concept-contents figure img {
  width: 100%;
  height: auto;
}
.top-concept .top-concept-top .top-concept-contents figure figcaption {
  font-size: 10px;
  letter-spacing: 0.04em;
  position: absolute;
  right: 20px;
  bottom: 13px;
}
.top-concept .top-concept-outside {
  width: 100%;
  height: 46.8vw;
  position: relative;
}
.top-concept .top-concept-outside .top-concept-outside-inner {
    width: 100vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: absolute;
    top: 0;
    left: 50%;
    margin: 0 0 0 -50vw;
}
.top-concept .top-concept-outside .top-concept-outside-txts {
  width: 450px;
  margin: 0 0 0 6.77083333vw;
  padding: 0 0 130px;
}
.top-concept .top-concept-outside .top-concept-outside-txts .top-concept-outside-catch {
  font-family: 'Noto Serif JP', serif;
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin: 0 0 30px;
}
.top-concept .top-concept-outside .top-concept-outside-txts .top-concept-outside-txt {
  letter-spacing: 0.04em;
  line-height: 2;
}
.top-concept .top-concept-outside figure {
  width: 65.10416667vw;
  position: relative;
}
.top-concept .top-concept-outside figure img {
  width: 100%;
  height: auto;
}
.top-concept .top-concept-outside figure figcaption {
  font-size: 10px;
  letter-spacing: 0.04em;
  position: absolute;
  right: 130px;
  bottom: 40px;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 5px;
}
.top-concept .top-concept-inside {
  width: 100%;
  height: 46.8vw;
  position: relative;
}
.top-concept .top-concept-inside .top-concept-inside-inner {
    width: 100vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: absolute;
    top: 0;
    left: 50%;
    margin: 0 0 0 -50vw;
}
.top-concept .top-concept-inside figure {
  width: 65.10416667vw;
  position: relative;
}
.top-concept .top-concept-inside figure img {
  width: 100%;
  height: auto;
}
.top-concept .top-concept-inside figure figcaption {
  font-size: 10px;
  position: absolute;
  left: 130px;
  bottom: 40px;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 5px;
}
.top-concept .top-concept-inside .top-concept-inside-txts {
  width: 400px;
  margin: 0 6.77083333vw 0 0;
  padding: 0 0 130px;
}
.top-concept .top-concept-inside .top-concept-inside-txts .top-concept-inside-catch {
  font-family: 'Noto Serif JP', serif;
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin: 0 0 30px;
}
.top-concept .top-concept-inside .top-concept-inside-txts .top-concept-inside-txt {
  letter-spacing: 0.04em;
  line-height: 2;
}

.top-virtualtour {
    width: min(calc(1660/1920 * 100%), 1080px);
    margin: 0 auto;
  background-color: #000;
  color: #FFF;
  padding: 0 0 175px;
}
.top-virtualtour .top-virtualtour-inner {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.top-virtualtour .top-virtualtour-inner:before {
  display: block;
  content: '';
  width: 86.45833333vw;
  height: 17.70833333vw;
  background: url('../images/top/bg_virtualtour.png') no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: 260px;
  left: 50%;
  margin: 0 0 0 calc(-43.22916667vw);
  z-index: 1;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-title {
  font-family: 'line';
  font-size: min(2.7vw, 42px);
  letter-spacing: 0.04em;
  line-height: 1.19;
  text-align: center;
  margin: 0 0 64px;
  position: relative;
  z-index: 10;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-title:before,
.top-virtualtour .top-virtualtour-inner .top-virtualtour-title:after {
  display: block;
  content: '';
  width: 250px;
  height: 1px;
  background-color: #FFF;
  position: absolute;
  top: 22px;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-title:before {
  left: 0;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-title:after {
  right: 0;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-title span {
  display: block;
  font-size: 20px;
  margin: 15px 0 0;
  letter-spacing: 0.04em;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  z-index: 10;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-links a {
/*  width: 520px;   */
  width: calc(520/1080 * 100%);
  background-color: #FFF;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-links a img {
  width: 100%;
  height: auto;
  transition: opacity 0.3s;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-links a:hover img {
    opacity: 0.5;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-links .top-virtualtour-links-type {
/*  width: 520px;   */
    width: calc(520/1080 * 100%);
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-links .top-virtualtour-links-type a {
  display: block;
  width: 100%;
  background-color: #FFF;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-links .top-virtualtour-links-type a:hover img {
    opacity: 0.5;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-links .top-virtualtour-links-type a:first-of-type {
  margin: 0 0 40px;
}
.top-virtualtour .top-virtualtour-inner .top-virtualtour-links .top-virtualtour-links-type a img {
  width: 100%;
  height: auto;
  transition: opacity 0.3s;
}


.top-access {
    width: min(calc(1660/1920 * 100%), 1080px);
    margin: 0 auto;
  background-color: #000;
  color: #FFF;
  padding: 0 0 160px;
}
.top-access .top-access-title {
  width: 100%;
  font-family: 'line';
  font-size: min(2.7vw, 42px);
  line-height: 1.19;
  letter-spacing: 0.04em;
  text-align: center;
  margin: 0 auto 65px;
  position: relative;
  z-index: 10;
}
.top-access .top-access-title:before,
.top-access .top-access-title:after {
  display: block;
  content: '';
  width: 340px;
  height: 1px;
  background-color: #FFF;
  position: absolute;
  top: 22px;
}
.top-access .top-access-title:before {
  left: 0;
}
.top-access .top-access-title:after {
  right: 0;
}
.top-access .top-access-title span {
  display: block;
  font-size: 20px;
  margin: 15px 0 0;
}
.top-access .top-access-bg {
  width: 100%;
  height: 20.83333333vw;
  margin: 0 0 100px;
  position: relative;
}
.top-access .top-access-bg::before {
    display: block;
    content: '';
    width: 100vw;
    height: 20.83333333vw;
    background: url('../images/top/bg_access.png') center bottom no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    left: 50%;
    margin: 0 0 0 -50vw;
}
.top-access .top-access-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin: 0 auto 65px;
}
.top-access .top-access-inner .top-access-about {
/*  width: 600px;   */
  width: calc(600/1080 * 100%);
}
.top-access .top-access-inner .top-access-about .top-access-catch {
  font-family: 'Noto Serif JP', serif;
  font-size: min(2.3vw, 32px);
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin: 0 0 35px;
}
.top-access .top-access-inner .top-access-about .top-access-txt {
  letter-spacing: 0.04em;
  line-height: 2;
  margin: 0 0 70px;
  font-size: min(1.2vw, 16px);
}
.top-access .top-access-inner .top-access-about figure {
  width: 100%;
  height: 550px;
  background-color: #F4F4F4;
}
.top-access .top-access-inner .top-access-about figure img {
  width: 100%;
  height: auto;
}
.top-access .top-access-inner .top-access-train {
/*  width: 420px;   */
  width: calc(420/1080 * 100%);
}
.top-access .top-access-inner .top-access-train img {
  width: 100%;
  height: auto;
}
.top-access .top-access-caution {
  width: 100%;
  margin: 0 auto;
  font-size: 10px;
  letter-spacing: 0.04em;
  line-height: 1.5;
}


/*========= concept ===============*/
.p-top-concept {
  display: block;
  background-color: #000000;
  width: 100vw;
  /* width: calc(100vw - var(--scrollbar)); */
  height: auto;
  margin: 0 calc(50% - 50vw);
  position: relative;
  z-index: 0;
  overflow-x: hidden;
  color: #FFF;

}




/* コンセプト部分対応 */
@media screen and (max-width: 1500px) {
    .top-concept .top-concept-outside .top-concept-outside-inner {
    }
    .top-concept .top-concept-outside .top-concept-outside-txts {
      padding: 0 0 6.77vw;
    }
    .top-concept .top-concept-outside figure {
      width: 53vw;
    }
    .top-concept .top-concept-outside figure img {
      object-fit:cover
    }
    .top-concept .top-concept-outside figure figcaption {
      right: 6.77vw;
      bottom: 2.08vw;
    }
    
    .top-concept .top-concept-inside .top-concept-inside-inner {
    }
    .top-concept .top-concept-inside figure {
      width: 53vw;
    }
    .top-concept .top-concept-inside figure img {
      object-fit:cover
    }
    .top-concept .top-concept-inside figure figcaption {
      left: 6.77vw;
      bottom: 2.08vw;
    }
    .top-concept .top-concept-inside .top-concept-inside-txts {
      width: 400px;
      margin: 0 6.77083333vw 0 0;
      padding: 0 0 6.77vw;
    }
}



/************************************
** レスポンシブデザイン用のメディアクエリ
SPモードのCSS
************************************/
/*1024px以下*/
@media screen and (max-width: 1024px) {

  .sp-small-on,
  .pc-sp-small-on {
    display: none;
  }

  main {
    overflow: hidden;
  }

  /* ラッパー */
  .p-top-wrap {
/*    width: min(calc(342/390 * 100%), 544px);  */
    width: 64.8vw;
    margin: 0 auto;
    position: relative;
  }

  .p-top-contens-wrap {
/*    width: min(calc(342/390 * 100%), 544px);  */
    width: 64.8vw;
  }


  /*========= top all ===============*/
  /* .p-top-area {
    display: block;
    width: 100vw;
    background-color: var(--deep-chacol);
  } */


  /*========= hero SP ===============*/
  .p-top-hero {
    display: block;
    width: 100vw;
    /* height: 100vh; */
    height: calc(1180/1360 * calc(var(--vh, 1vh) * 100));
    height: calc(1180/1360 * 100vh);
    height: calc(1180/1360 * 100svh);
    margin: 0 calc(50% - 50vw);
    position: relative;
    z-index: 0;
    overflow-x: hidden;
  }

  .p-top-hero::before {
    content: '';
    display: block;
    background-image: url(../images/top/main_sp@2x.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    width: 100vw;
    /* height: 100%;
    height: calc(var(--vh, 1vh) * 100);
    height: 100lvh; */
    height: calc(1180/1360 * calc(var(--vh, 1vh) * 100));
    height: calc(1180/1360 * 100vh);
    height: calc(1180/1360 * 100svh);
    margin: auto;
    margin: 0 calc(50% - 50vw);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
    transform: translate3d(0, 0, 0);

  }

  .p-top-hero-bg-gradient {
    display: block;
    width: 100%;
    /* height: 100vh; */
    height: calc(180/1360 * calc(var(--vh, 1vh) * 100));
    height: calc(180/1360 * 100vh);
    height: calc(180/1360 * 100svh);
/*    background-image: linear-gradient(to bottom, var(--white) 80%, #575757 95%);  */
    background-image: linear-gradient(to bottom, #fff 20%, #000 50%);
    mix-blend-mode: multiply;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    z-index: 1;
  }

  .p-top-hero-box {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    /* width: 100%; */
    /* height: 100vh; */
    height: calc(1180/1360 * calc(var(--vh, 1vh) * 100));
    height: calc(1180/1360 * 100vh);
    height: calc(1180/1360 * 100svh);
    position: relative;
    z-index: 10;
  }

  .p-top-hero-titlebox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    /* width: calc(714/1024 * 100%); */
    margin-top: 0px;
    position: relative;
  }

  .p-top-hero__title {
    display: block;
    width: min(calc(312/544 * 100%), 312px);
    height: auto;
    padding-bottom: calc(20/544 * 100%);
  }
  .p-top-hero__caption {
      display: none;
  }

  .p-top-hero__title img {
    width: 100%;
    height: auto;
  }

  .p-top-hero__txt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--white);
    font-size: clamp(12px, 3.07vw, 16px);
    font-weight: 500;
    line-height: calc(28/16);
    letter-spacing: 0.12em;
    text-align: center;
    padding-top: clamp(35px, 10.25vw, 60px);
    min-height: 0vw;

  }


  /* SPのみ表示のタイトル */
  .p-top-tabata-sptitle-wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    min-height: calc(180/1360 * calc(var(--vh, 1vh) * 100));
    min-height: calc(180/1360 * 100vh);
    min-height: calc(180/1360 * 100svh);
    padding-top: 10px;
    margin: 0 0 110px;
  }

  .p-top-tabata-sptitle {
    display: flex;
    align-items: center;
    color: var(--white);
    font-family: 'Noto Serif JP', serif;
    font-size: clamp(14px, 1.75vw, 18px);
    font-weight: 500;
    line-height: calc(26/14);
    letter-spacing: 0.120em;
    min-height: 0vw;
    text-align: left;
    width: min(calc(312/544 * 100%), 312px);
    position: relative;
  }

  .p-top-tabata-sptitle::before {
    display: none;
  }

  .top-concept {
    padding: 0 0 9.27734375vw;
  }
  .top-concept .top-concept-top {
    width: 100%;
    margin: 0 auto 8.30078125vw;
    padding: 3.90625vw 0 0;
  }
  .top-concept .top-concept-top .top-concept-title {
    font-size: 2.5390625vw;
    margin: 0 0 2.44140625vw;
  }
  .top-concept .top-concept-top .top-concept-title:before,
  .top-concept .top-concept-top .top-concept-title:after {
    width: 13.64vw;
    top: 1.26vw;
  }
  .top-concept .top-concept-top .top-concept-title span {
    font-size: 1.3671875vw;
    margin: 1.46484375vw 0 0;
  }
  .top-concept .top-concept-top .top-concept-contents {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-concept .top-concept-top .top-concept-contents .top-concept-txts {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 53.22265625vw;
    margin: 0 auto;
  }
  .top-concept .top-concept-top .top-concept-contents .top-concept-txts .top-concept-catch {
    font-size: 1.953125vw;
    margin: 0 0 2.9296875vw;
    line-height: 1.6;
  }
  .top-concept .top-concept-top .top-concept-contents .top-concept-txts .top-concept-txt {
    margin: 0 0 4.8828125vw;
    font-size: 1.36vw;
    line-height: 1.8;
  }
  .top-concept .top-concept-top .top-concept-contents .top-concept-txts .top-concept-txt br {
      display: none;
  }
  .top-concept .top-concept-top .top-concept-contents .top-concept-txts .top-concept-txt:last-of-type {
    margin: 0;
  }
  .top-concept .top-concept-top .top-concept-contents figure {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    width: 100%;
    margin: 0 0 6.34765625vw;
  }
  .top-concept .top-concept-top .top-concept-contents figure figcaption {
    font-size: 0.9765625vw;
    right: 2.44140625vw;
    bottom: 2.44140625vw;
  }
  .top-concept .top-concept-outside {
      height: 100%;      
  }
  .top-concept .top-concept-outside .top-concept-outside-inner {
      -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        width: 100%;
        margin: 0 auto 8.30078125vw;
        left: 0;
        position: relative;
  }
  .top-concept .top-concept-outside .top-concept-outside-txts {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 53.22265625vw;
    margin: 0 auto;
    padding: 0;
  }
  .top-concept .top-concept-outside .top-concept-outside-txts .top-concept-outside-catch {
    font-size: 1.953125vw;
    margin: 0 0 2.9296875vw;
    line-height: 1.6;
  }
  .top-concept .top-concept-outside .top-concept-outside-txts .top-concept-outside-txt {
      font-size: 1.36vw;
      line-height: 1.8;
  }
  .top-concept .top-concept-outside .top-concept-outside-txts .top-concept-outside-txt br {
      display: none;
  }
  .top-concept .top-concept-outside figure {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    width: 100%;
    margin: 0 0 6.34765625vw;
  }
  .top-concept .top-concept-outside figure figcaption {
    font-size: 0.9765625vw;
    right: 2.44140625vw;
    bottom: 2.44140625vw;
  }
  .top-concept .top-concept-inside {
    height: 100%;
  }
  .top-concept .top-concept-inside .top-concept-inside-inner {
      -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 auto;
        position: relative;
        left: 0;
  }
  
  .top-concept .top-concept-inside figure {
    width: 100%;
    margin: 0 0 6.34765625vw;
  }
  .top-concept .top-concept-inside figure figcaption {
    font-size: 0.9765625vw;
    right: 2.44140625vw;
    bottom: 2.44140625vw;
    left: auto;
  }
  .top-concept .top-concept-inside .top-concept-inside-txts {
    width: 53.22265625vw;
    margin: 0 auto;
    padding: 0;
  }
  .top-concept .top-concept-inside .top-concept-inside-txts .top-concept-inside-catch {
    font-size: 1.953125vw;
    margin: 0 0 2.9296875vw;
    line-height: 1.6;
  }
  .top-concept .top-concept-inside .top-concept-inside-txts .top-concept-inside-txt {
      font-size: 1.36vw;
      line-height: 1.8;
  }
  .top-concept .top-concept-inside .top-concept-inside-txts .top-concept-inside-txt br {
      display: none;
  }
  .top-virtualtour {
    padding: 0 0 8.7890625vw;
  }
  .top-virtualtour .top-virtualtour-inner {
    width: 53.22265625vw;
  }
  .top-virtualtour .top-virtualtour-inner:before {
    display: none;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-title {
    font-size: 2.5390625vw;
    margin: 0 0 2.9296875vw;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-title:before,
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-title:after {
    width: 8.78vw;
    top: 1.26vw;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-title span {
    font-size: 1.3671875vw;
    margin: 1.46484375vw 0 0;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-links {
    display: block;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-links a {
    display: block;
    width: 100%;
    margin: 0 0 2.9296875vw;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-links .top-virtualtour-links-type {
    width: 100%;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-links .top-virtualtour-links-type a:first-of-type {
    margin: 0 0 2.9296875vw;
  }
  .top-access {
    padding: 0 0 7.8125vw;
  }
  .top-access .top-access-title {
    width: 100%;
    font-size: 2.5390625vw;
    margin: 0 auto 3.41796875vw;
  }
  .top-access .top-access-title:before,
  .top-access .top-access-title:after {
    width: 20vw;
    top: 1.26vw;
  }
  .top-access .top-access-title span {
    font-size: 1.3671875vw;
    margin: 1.46484375vw 0 0;
  }
  .top-access .top-access-bg {
    width: 100%;
    height: 26.5625vw;
    margin: 0 auto 6.34765625vw;
  }
  .top-access .top-access-bg::before{
    width: 100%;
    height: 100%;
    background: url('../images/top/bg_access_sp.png') center bottom no-repeat;
    background-size: 100% auto;
    position: relative;
    top: 0;
    left: 0;
    margin: 0;
    }
  .top-access .top-access-inner {
    display: block;
    width: 53.22265625vw;
    margin: 0 auto 65px;
  }
  .top-access .top-access-inner .top-access-about {
    width: 100%;
    margin: 0 0 5.859375vw;
  }
  .top-access .top-access-inner .top-access-about .top-access-catch {
    font-size: 1.953125vw;
    margin: 0 0 2.9296875vw;
  }
  .top-access .top-access-inner .top-access-about .top-access-txt {
      font-size: 1.36vw;
      line-height: 1.8;
      margin: 0 0 6.34765625vw;
  }
  .top-access .top-access-inner .top-access-about .top-access-txt br {
      display: none;
  }
  .top-access .top-access-inner .top-access-about figure {
    width: 100%;
    height: 50.390625vw;
  }
  .top-access .top-access-inner .top-access-train {
    width: 100%;
  }
  .top-access .top-access-caution {
    width: 53.22265625vw;
    font-size: 0.9765625vw;
    margin: 0 auto;
  }
}


/* タブレット時のみの表示制御 */
@media screen and (min-width:577px) and (max-width:1023px) {
    .res-none {
        display: none !important;
    }
}



/*576px以下*/
@media screen and (max-width: 576px) {

  .sp-small-on,
  .pc-sp-small-on {
    display: block;
  }

  /*========= hero SP small ===============*/
  .p-top-hero {
    display: block;
    width: 100vw;
    /* height: 100vh; */
    height: calc(754/844 * calc(var(--vh, 1vh) * 100));
    height: calc(754/844 * 100vh);
    height: calc(754/844 * 100svh);
    margin: 0 calc(50% - 50vw);
    position: relative;
    z-index: 0;
    overflow-x: hidden;
  }

  .p-top-hero::before {
    content: '';
    display: block;
    background-image: url(../images/top/main_sp@2x.png);
    background-repeat: no-repeat;
    background-size: auto 120%;
    background-position: center bottom;
    width: 100vw;
    /* height: 100%;
    height: calc(var(--vh, 1vh) * 100);
    height: 100lvh; */
    height: calc(864/844 * calc(var(--vh, 1vh) * 100));
    height: calc(864/844 * 100vh);
    height: calc(864/844 * 100svh);
    margin: auto;
    margin: 0 calc(50% - 50vw);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
    transform: translate3d(0, 0, 0);

  }

  .p-top-hero-bg-gradient {
    display: block;
    width: 100%;
    /* height: 100vh; */
    height: calc(224/844 * calc(var(--vh, 1vh) * 100));
    height: calc(224/844 * 100vh);
    height: calc(224/844 * 100svh);
/*    background-image: linear-gradient(to bottom, var(--white) 80%, #575757 95%);  */
    background-image: linear-gradient(to bottom, #fff 20%, #000 50%);
    mix-blend-mode: multiply;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    z-index: 1;
  }

  .p-top-hero-box {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    /* width: 100%; */
    /* height: 100vh; */
    height: calc(754/844 * calc(var(--vh, 1vh) * 100));
    height: calc(754/844 * 100vh);
    height: calc(754/844 * 100svh);
    position: relative;
    z-index: 10;
  }

  .p-top-hero-titlebox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    /* width: calc(714/1024 * 100%); */
    margin-top: 0px;
    position: relative;
    padding-top: 20vw;
  }

  .p-top-hero__title {
    display: block;
    width: min(calc(258/390 * 100%), 390px);
    height: auto;
    padding-bottom: calc(20/342 * 100%);
  }

  .p-top-hero__title img {
    width: 100%;
    height: auto;
  }

  .p-top-hero__txt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--white);
    font-size: clamp(12px, 3.07vw, 16px);
    font-weight: 500;
    line-height: calc(28/16);
    letter-spacing: 0.12em;
    text-align: center;
    padding-top: clamp(35px, 10.25vw, 60px);
    min-height: 0vw;

  }

  /*========= tabata ===============*/
  /* SPのみ表示のタイトル */
  .p-top-tabata-sptitle-wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: min(calc(258/390 * 100%), 390px);
    min-height: calc(144/844 * calc(var(--vh, 1vh) * 100));
    min-height: calc(144/844 * 100vh);
    min-height: calc(144/844 * 100svh);
    padding: 0;
    margin: 0 auto;
  }

  .p-top-tabata-sptitle {
    color: var(--white);
    font-size: clamp(12px, 3.2vw, 14px);
    font-weight: 500;
    line-height: calc(26/14);
    letter-spacing: 0.120em;
    min-height: 0vw;
    text-align: left;
    width: 100%;
    position: relative;
    white-space: nowrap;
    padding: 1.5vw 0 0;
  }

  .p-top-tabata-sptitle::before {
  }
  
  .p-top-contens-wrap {
      width: 100%;
  }

  .top-concept {
    width: 100%;
    padding: 0 0 17.94871795vw;
  }
  .top-concept .top-concept-top {
    width: 100%;
    margin: 0 auto 15.38461538vw;
    padding: 0;
  }
  .top-concept .top-concept-top .top-concept-title {
    font-size: 6.66666667vw;
    margin: 0 0 14.1025641vw;
  }
  .top-concept .top-concept-top .top-concept-title:before,
  .top-concept .top-concept-top .top-concept-title:after {
    width: 6vw;
    top: 4vw;
  }
  .top-concept .top-concept-top .top-concept-title:before {
      left: 7vw;
  }
  .top-concept .top-concept-top .top-concept-title:after {
      right: 7vw;
  }
  .top-concept .top-concept-top .top-concept-title span {
    font-size: 3.58974359vw;
    margin: 3.84615385vw 0 0;
  }
  .top-concept .top-concept-top .top-concept-contents {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-concept .top-concept-top .top-concept-contents .top-concept-txts {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 6.41025641vw;
  }
  .top-concept .top-concept-top .top-concept-contents .top-concept-txts .top-concept-catch {
    font-size: 5.12820513vw;
    margin: 0 0 7.69230769vw;
  }
  .top-concept .top-concept-top .top-concept-contents .top-concept-txts .top-concept-txt {
    margin: 0 0 11.53846154vw;
    font-size: 3.58vw;
  }
  .top-concept .top-concept-top .top-concept-contents .top-concept-txts .top-concept-txt:last-of-type {
    margin: 0;
  }
  .top-concept .top-concept-top .top-concept-contents figure {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    margin: 0 0 7.69230769vw;
    position: relative;
  }
  .top-concept .top-concept-top .top-concept-contents figure figcaption {
    font-size: 2.56410256vw;
    right: 6.41025641vw;
    bottom: 6.41025641vw;
  }
  .top-concept .top-concept-outside {
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 0 15.38461538vw;
  }
  .top-concept .top-concept-outside .top-concept-outside-txts {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    margin: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 6.41025641vw;
  }
  .top-concept .top-concept-outside .top-concept-outside-txts .top-concept-outside-catch {
    font-size: 5.12820513vw;
    margin: 0 0 7.69230769vw;
  }
  .top-concept .top-concept-outside .top-concept-outside-txts .top-concept-outside-txt {
      font-size: 3.58vw;
  }
  .top-concept .top-concept-outside figure {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    width: 100%;
    margin: 0 0 8.97435897vw;
  }
  .top-concept .top-concept-outside figure figcaption {
    font-size: 2.56410256vw;
    right: 6.41025641vw;
    bottom: 6.41025641vw;
  }
  .top-concept .top-concept-inside {
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-concept .top-concept-inside figure {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    width: 100%;
    margin: 0 0 8.97435897vw;
  }
  .top-concept .top-concept-inside figure figcaption {
    font-size: 2.56410256vw;
    right: 6.41025641vw;
    bottom: 6.41025641vw;
  }
  .top-concept .top-concept-inside .top-concept-inside-txts {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    margin: 0;
    padding: 0 8.97435897vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .top-concept .top-concept-inside .top-concept-inside-txts .top-concept-inside-catch {
    font-size: 5.12820513vw;
    margin: 0 0 7.69230769vw;
  }
  .top-concept .top-concept-inside .top-concept-inside-txts .top-concept-inside-txt {
      font-size: 3.58vw;
  }
  
  .top-virtualtour {
      width: 100%;
    padding: 0 0 12.82vw;
  }
  .top-virtualtour .top-virtualtour-inner {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 6.41025641vw;
  }
  .top-virtualtour .top-virtualtour-inner:before {
    display: none;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-title {
    font-size: 6.66666667vw;
    margin: 0 0 7.69vw;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-title:before,
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-title:after {
    width: 4vw;
    top: 4vw;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-title:before {
    left: 0;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-title:after {
    right: 0;  
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-title span {
    font-size: 3.58974359vw;
    margin: 3.84615385vw 0 0;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-links {
    display: block;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-links a {
    display: block;
    width: 100%;
    margin: 0 0 5.12820513vw;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-links .top-virtualtour-links-type {
    width: 100%;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-links .top-virtualtour-links-type a {
    display: block;
    width: 100%;
  }
  .top-virtualtour .top-virtualtour-inner .top-virtualtour-links .top-virtualtour-links-type a:first-of-type {
    margin: 0 0 5.12820513vw;
  }
  
  .top-access {
      width: 100%;
    padding: 0 0 15.38461538vw;
  }
  .top-access .top-access-title {
    width: 100%;
    font-size: 6.66666667vw;
    margin: 0 auto 7.69vw;
  }
  .top-access .top-access-title:before,
  .top-access .top-access-title:after {
    width: 20vw;
    top: 4vw;
  }
  .top-access .top-access-title:before {
      left: 7vw;
  }
  .top-access .top-access-title:after {
      right: 7vw;
  }
  .top-access .top-access-title span {
    font-size: 3.58974359vw;
    margin: 3.84615385vw 0 0;
  }
  .top-access .top-access-bg {
    width: 100vw;
    height: 41.02564103vw;
    background: url('../images/top/bg_access_sp.png') no-repeat;
    background-size: 100% auto;
    margin: 0 0 8.97435897vw;
  }
  .top-access .top-access-inner {
    display: block;
    width: 100%;
    margin: 0 auto 7.69230769vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 6.41025641vw;
  }
  .top-access .top-access-inner .top-access-about {
    width: 100%;
  }
  .top-access .top-access-inner .top-access-about .top-access-catch {
    font-size: 5.12820513vw;
    margin: 0 0 7.69230769vw;
  }
  .top-access .top-access-inner .top-access-about .top-access-txt {
      font-size: 3.58vw;
    margin: 0 0 10.25641026vw;
  }
  .top-access .top-access-inner .top-access-about figure {
    width: 100%;
    height: 83.07692308vw;
    margin: 0 0 10.25641026vw;
  }
  .top-access .top-access-inner .top-access-about figure img {
    width: 100%;
    height: auto;
  }
  .top-access .top-access-inner .top-access-train {
    width: 100%;
    padding: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .top-access .top-access-caution {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 6.41025641vw;
    font-size: 2.56410256vw;
  }


}