@charset "UTF-8";

html { 
    scroll-behavior: smooth;
}
.sh-PR {
    position: relative;
}
.sh-gradient-wrapper {
    padding-bottom: 0;
}
.sh-contents {
    max-width: 1300px;
}

.sh-PR .__caption1 {
    position: absolute;
    right: 5%;
    bottom: 20%;
}
.sh-PR .__caption1.__posi1 {
    right: 5px;
    bottom: 5px;
}
.__caption1.__white {
    color: #fff;
    text-shadow: 0 0 3px #000, 1px 0 3px #000, 0 -1px 3px #000, 0 1px 3px #000, -1px 0 3px #000;
}

.sh-contents-comment-text {
    font-size: 12px;
    color: #333;
}

.color1 {
    color: #A58C5A;
}

.sh-plan-bg1 {
    background-color: #f2f2f2;
    padding-top: 100px;
    padding-bottom: 100px;
}

.sh-plan-img1 {
    max-width: 640px;
    margin-inline: auto;
}
.sh-plan-img2 {
    max-width: 1600px;
    margin-inline: auto;
    overflow: hidden; /* はみ出した分を隠す */
}

.sh-roomplan-list a:hover {
    opacity: 0.9;
}

.sh-plan-box1 > a {
    display: block;
    background-color: #fff;
}
.sh-plan-box1 > a > div {
    padding: 20px;
}
.sh-plan-box2 > a {
    display: block;
    background-color: #505050;
}
.sh-plan-box2 > a > div {
    padding: 20px;
}
.sh-plan-box2 > a div.__limited {
    background-color: #a58c5a;
    color: #fff;
    text-align: center;
}

.link-zoom {
    border-top: 2px solid #f2f2f2;
    text-align: right;
    display: block;
    color: #333;
    position: relative;
}
.link-zoom::after {
  content: "";
  position: absolute;
  top: 50%;             /* 位置微調整 */
  right: 7em;
  width: 10px;
  height: 10px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: translateY(-50%) rotate(45deg);
}

.__no-link {
    opacity: 0.3;
}


.MB80_60 {
    margin-bottom: 60px;
}
.MB60_40 {
    margin-bottom: 40px;
}

.__smp_prt {
    display: none;
}




@media screen and (min-width: 768px) {
    .sh-gradient-wrapper {
        padding-bottom: 40px;
    }

    .sh-plan-box1 {
        max-width: 1000px;
        margin-inline: auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .sh-plan-box1 > a {
        width: 48%;
        max-width: 480px;
    }
    .sh-plan-box2 {
        max-width: 1000px;
        margin-inline: auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .sh-plan-box2 > a {
        width: 48%;
        max-width: 480px;
    }

    .sh-plan-img2 picture {
      width: 100%;        /* 基本は親に合わせるが... */
      min-width: 1600px;  /* これ以上は小さくならない（見切れる） */
      height: auto;
      /* 画像を中央基準で見切れさせたい場合 */
      display: block;
      margin-left: 50%;
      transform: translateX(-50%);
    }

    .MB80_60 {
        margin-bottom: 80px;
    }
    .MB60_40 {
        margin-bottom: 60px;
    }
}



@media screen and (max-width: 767px) {

    .sh-plan-box1 > a {
        max-width: 90%;
        margin-inline: auto;
    }
    .sh-plan-box1 > a:not(:last-child) {
        margin-bottom: 30px;
    }
    .sh-plan-box2 > a {
        max-width: 90%;
        margin-inline: auto;
    }
    .sh-plan-box2 > a:not(:last-child) {
        margin-bottom: 30px;
    }

    .sh-PR .__caption1 {
        bottom: 22%;
    }


    .smp_MT20 {
        margin-top: 20px;
    }
    .smp_W80 {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .TR.__smp-TL {
        text-align: left;
    }
}

@media screen and (max-width: 600px) and (orientation: portrait) {
    .js-scrollable img {
        width: 150%;
    }

    .__smp_prt {
        display: block;
    }
}


