@charset "UTF-8";

@media screen and (max-width: 767px) {
  .mv-wrap {
    position: relative;
    height: 160.26666666666665vw;
    margin-bottom: 18.866666666666667vw;
  }
  .mv-wrap::before {
    position: absolute;
    content: '';
    background-image: url(../../img/sp_mv_deco2.png);
    width: 78.66666666666667vw;
    height: 99.2vw;
    top: 57.6vw;
    right: 0;
    z-index: -1;
  }
  .mv-wrap::after {
    position: absolute;
    content: '';
    background-image: url(../../img/anniversary_sp.png);
    background-size: contain;
    width: 22.53333333333333vw;
    height: 22.53333333333333vw;
    top: 64.13333333333333vw;
    right: 2.6666666666666665vw;
    z-index: 10;
  }
  .swiper-wrapper {
    position: absolute;
    top: 18.333333333333332vw;
    right: 0;
    z-index: -1;
  }
  .swiper-slide img {
    position: absolute;
    right: 0;
    width: 83.66666666666667vw;
    height: 74.66666666666667vw;
    padding-left: 0;
  }
  .swiper-button-prev {
    position: relative;
  }
  .swiper-button-prev::before {
    position: absolute;
    content: '';
    background-image: url(../../img/line_sp.png);
    background-size: contain;
    width: 0.26666666666666666vw;
    height: 5.333333333333333vw;
    top: -16.166667000000004vw;
    left: 74.8vw;
  }
  .swiper-button-prev::after {
    position: absolute;
    content: '';
    background-image: url(../../img/prev-arrow_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 6.666666666666667vw;
    height: 2.4vw;
    top: -14.366667000000007vw;
    left: 64.63333333333333vw;
  }
  .swiper-button-next {
    position: relative;
  }
  .swiper-button-next::after {
    position: absolute;
    content: '';
    background-image: url(../../img/next-arrow_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 6.666666666666667vw;
    height: 2.4vw;
    top: -19.566667vw;
    left: 82.7vw;
  }
  .mv .eng {
    position: absolute;
    top: 37%;
    left: -3.9333333333333333vw;
    background-image: url(../../img/english_sp.png);
    background-size: contain;
    width: 2.533333333333333vw;
    height: 25.333333333333332vw;
  }
  .mv .main-catch {
    position: relative;
    padding-top: 7.466666666666667vw;
    padding-left: 5.333333333333333vw;
  }
  .mv .main-catch::before {
    content: '';
    background-image: url(../../img/sp_mv_deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 69.33333333333333vw;
    height: 49.733333333333334vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
  }
  .mv .main-catch h1 {
    font-size: 10.4vw;
    font-weight: 700;
    color: #245428;
    text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25);
  }
  .mv .main-catch .sub-flex {
    position: absolute;
    top: 96.26666666666667vw;
    left: 5.333333333333333vw;
    display: flex;
    gap: 3.2vw;
    align-items: center;
    padding-top: 0;
    font-family: 'Noto Serif JP', serif;
    font-size: 4.533333333333333vw;
    font-weight: 600;
    line-height: 2;
  }
  .mv .main-catch .pl30 {
    display: block;
    position: absolute;
    top: 100.26666666666667vw;
    left: 23.333333vw;
    font-size: 4.533333333333333vw;
  }
  .mv .main-catch .sp_br {
    padding-top: 2.1333333333333333vw;
    padding-left: 6.4vw;
  }
  .mv .main-catch p::before {
    border-top: 2px solid;
    content: '';
    width: 11.2vw;
    color: #245428;
  }
  .sub-catch {
    position: absolute;
    top: 121.06666666666666vw;
    left: 5.333333333333333vw;
    padding: 0;
  }
  .sub-catch p:first-child {
    padding-left: 2.6666666666666665vw;
    padding-bottom: 1.6vw;
  }
  .sub-catch .crimson {
    color: #245428;
  }
  .sub-catch .pl16 {
    padding-left: 3.2vw;
    font-weight: 600;
  }
  .scroll {
    position: relative;
    text-align: center;
    padding-top: 105.93333333333334vw;
  }
  .scroll::before {
    position: absolute;
    content: '';
    background-image: url(../../img/scroll_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 4.133333333333333vw;
    height: 2.1333333333333333vw;
    bottom: -3vw;
    left: 50%;
    transform: translateX(-50%);
  }
  .scroll p {
    font-size: 2.933333333333333vw;
  }

  .top-company {
    position: relative;
    margin-bottom: 20.266666666666666vw;
    padding: 0 5.333333333333333vw;
  }
  .top-company-flex {
    display: block;
  }
  .top-company-img {
    position: relative;
    left: -10.76666666666667vw;
    padding-bottom: 8.533333333333333vw;
  }
  .top-company-img::before {
    position: absolute;
    content: '';
    background-image: url(../../img/sp_top_about_bg.png);
    background-size: contain;
    width: 84vw;
    height: 70.66666666666667vw;
    top: 13.866666666666667vw;
    left: 8vw;
    z-index: -1;
  }
  .top-company-img img {
    width: 80vw;
    height: 68vw;
  }
  .top-company-text .text {
    width: 100%;
    padding-bottom: 10.666666666666666vw;
  }
  .top-company-text .text p {
    line-height: 2;
  }
  .top-company-img2 {
    position: absolute;
    top: 188.33333333333333vw;
    right: 0;
  }
  .top-company-img2 img {
    width: 31.599999999999998vw;
    height: 38.666666666666664vw;
  }
  .top-business {
    padding: 13.866666666666667vw 0 19.733333333333334vw;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
  }
  .top-business-title-flex {
    padding-bottom: 19.2vw;
    display: block;
  }
  .top-business .title2 {
    position: relative;
    padding-left: 5.333333333333333vw;
  }
  .top-business .title2::before {
    padding-top: 1.0666666666666667vw;
    position: absolute;
    content: '';
    background-image: url(../../img/sp_top_business_tittle.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 40.4vw;
    height: 16.4vw;
    top: -3vw;
    left: 3.333333333333334vw;
  }
  .top-business .title2 h2 {
    color: #245428;
    font-size: 7.733333333333333vw;
    font-weight: 400;
  }
  .top-business .title2 p {
    color: #949393;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
  }
  .top-business .title2-text {
    padding-left: 5.333333333333333vw;
    padding-top: 8.533333333333333vw;
    position: relative;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    line-height: 2;
  }
  .top-business .title2-text::before {
    position: absolute;
    content: '';
    background: rgba(36, 84, 40, 0.1);
    top: 12.466667vw;
    left: 7.666667vw;
    width: 78.4vw;
    height: 21.066666666666666vw;
  }
  .top-business .title2-text p {
    font-size: 4vw;
    position: relative;
  }
  .top-business .title2-text p::after {
    position: absolute;
    content: '';
    border: 1px solid #245428;
    width: 13.066667vw;
    top: 19.933333333333334vw;
    right: 0;
    z-index: 10;
  }
  .top-business-box-row {
    display: block;
  }
  .top-business-box {
    position: relative;
    display: block;
  }
  .top-business-box::after {
    position: absolute;
    content: '';
    background-image: url(../../img/sp_top-business-deco.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 58.4vw;
    height: 318.4vw;
    bottom: -311.46666666666667vw;
    right: 0;
  }
  .top-business-box-title {
    padding-bottom: 8.533333333333333vw;
  }
  .top-business-box-row .top-business-box-title h3 {
    padding-left: 5.333333333333333vw;
    padding-bottom: 2.1333333333333333vw;
    font-family: 'Noto Serif JP', serif;
    font-size: 4.533333333333333vw;
    font-weight: 600;
  }
  .top-business-box-row .top-business-box-title h3 span {
    color: #245428;
    font-size: 6.666666666666667vw;
    font-weight: 600;
    padding-right: 1.0666666666666667vw;
  }
  .top-business-box-row .top-business-box-title p {
    padding-left: 2.6666666666666665vw;
    display: flex;
    align-items: center;
    gap: 2.1333333333333333vw;
    color: #245428;
    font-size: 3.466666666666667vw;
    font-weight: 600;
  }
  .top-business-box-row .top-business-box-title p::before {
    content: '';
    border: 1px solid #245428;
    width: 5.333333333333333vw;
  }
  .top-business-box-row .pl60 {
    padding-left: 5.333333333333333vw;
    padding-right: 5.333333333333333vw;
  }
  .top-business-box-row .btn {
    padding-left: 5.333333333333333vw;
    padding-top: 8.533333333333333vw;
  }
  .top-business-box-img {
    padding-bottom: 9.6vw;
  }
  .top-business-box-row .top-business-box-img p {
    font-size: 3.2vw;
    padding-left: 3.2vw;
  }
  .top-amusement-img1 {
    padding-bottom: 5.333333333333333vw;
  }
  .top-amusement-img2 {
    position: relative;
    right: 0;
    padding-left: 19vw;
  }
  .top-amusement-img1 img {
    position: relative;
    left: -1vw;
    width: 75.73333333333333vw;
    height: 27.733333333333334vw;
    padding-right: 8vw;
    padding-bottom: 3.2vw;
  }
  .top-amusement-img2 img {
    width: 75.73333333333333vw;
    height: 27.733333333333334vw;
    padding-bottom: 3.2vw;
  }
  .top-business-box .top-business-box-title h3 {
    padding-left: 5.333333333333333vw;
    padding-bottom: 2.1333333333333333vw;
    font-family: 'Noto Serif JP', serif;
    font-size: 4.533333333333333vw;
    font-weight: 600;
  }
  .top-business-box .top-business-box-title h3 span {
    color: #245428;
    font-size: 6.666666666666667vw;
    font-weight: 600;
    padding-right: 1.0666666666666667vw;
  }
  .top-business-box .top-business-box-title p {
    font-size: 3.2vw;
    padding-left: 3.2vw;
  }
  .top-business-box .top-business-box-title p::before {
    content: '';
    border: 1px solid #245428;
    width: 5.333333333333333vw;
  }
  .top-realestate-img {
    text-align: center;
  }
  .top-realestate-img img {
    width: 74.26666666666667vw;
    height: 61.199999999999996vw;
  }
  .top-business-box .pl60 {
    padding-left: 5.333333333333333vw;
    padding-right: 5.333333333333333vw;
  }
  .top-business-box .btn {
    padding-left: 5.333333333333333vw;
    padding-top: 8.533333333333333vw;
    padding-right: 0;
  }
  .top-business-deco p {
    padding: 11.733333333333333vw 0;
    color: rgba(36, 84, 40, 0.1);
    font-size: 10.533333333333333vw;
    font-weight: 600;
    text-align: center;
  }

  .top-access {
    padding-top: 22.4vw;
    margin-bottom: 0;
    padding-bottom: 22.4vw;
  }
  .top-access .title {
    padding-left: 5.333333333333333vw;
  }
  iframe {
    position: relative;
    left: 0;
    width: 100%;
    height: 53.333333333333336vw;
    padding-bottom: 5.333333333333333vw;
  }
  .top-access-flex {
    display: block;
  }
  .top-access-adress {
    padding-left: 5.333333333333333vw;
  }
  .top-access-adress p {
    line-height: 2;
  }
  .top-access .btn {
    padding-top: 8.533333333333333vw;
    padding-left: 5.333333333333333vw;
    padding-right: 0;
  }
}
