@charset "UTF-8";

html {
  scroll-behavior: smooth;
}

.sh-PR {
    position: relative;
}
.sh-gradient-wrapper {
    padding-bottom: 40px;
}
.sh-contents {
    max-width: 1120px;
    text-align: inherit;
    position: relative;
}
.sh-contents.__wide {
    max-width: 1620px;
}
.sh-contents.__W800 {
    max-width: 820px;
}
.sh-contents.__W1200 {
    max-width: 1220px;
}

.__W800 {
    max-width: 800px;
    margin-inline: auto;
}

.__caption1.__white {
    text-shadow: 0 0 3px #000, 1px 0 3px #000, 0 -1px 3px #000, 0 1px 3px #000, -1px 0 3px #000;
}
.__white {
    color: #fff;
}

.sh-title1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sh-accessvisual-wrapper {
  height: auto;
  overflow: hidden;
}
.sh-accessvisual {
  position: relative;
  max-width: 100%;
  margin-inline: auto;
  overflow: hidden;
}
#accessVisual {
}
.sh-PR  .__caption1 ,
.sh-accessvisual .__caption1 {
    position: absolute;
    right: 5px;
    bottom: 5px;
}

.color1 {
    color: #A58C5A;
}

.square {
  width: 10px;
  height: 10px;
  margin-inline: auto;
  background-color: #000;
}

.sh-contents-comment-text {
}

.sh-access-bg1 {
    background-color: #FAF9F5;
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
}
.sh-access-bg1::before {
    position: absolute;
    top: 0;
    right: 0%;
    content: "";
    width: 20%;
    height: 100%;
    background: url(images/bg_01.png) top right repeat-y;
    z-index: 0;
}


.sh-access-img1 {
    width: 95%;
    max-width: 1000px;
    margin-inline: auto;
}
.sh-access-img2 {
    width: 95%;
    max-width: 1100px;
    margin-inline: auto;
}

.slider-image > div p {
    font-feature-settings: "palt"; /* 文字の形に合わせて自動で余白を詰める設定 */
}
.slider-image > div p span.font30.color1 {
    display: inline-block;
    padding-left: 10px;
}
.slider-image.__narrow .slick-track {
    margin-inline: auto;
}

.__row-reverse {
    flex-direction: row-reverse;
}

.LS1 {
    letter-spacing: 0.3em;
}

hr {
    border: none;
    margin-top: 0;
    margin-bottom: 0;
    border-top: 1px solid #3e3a39;
}
hr.hr2 {
    border-top: 1px solid #fff;
    max-width: 130px;
}

sup {
    top: initial;
}

.hover-img a:hover img {
    opacity: 0.9;
}

.__smp_prt {
    display: none;
}

div:has( > .__noimage) {
    position: relative;
}
div:has( > .__noimage)::before {
  content: "No Image";
  font-family: "Akshar", sans-serif;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  font-size: clamp(20px, 3vw, 30px);
  color: #fff;
  width: 90%;
  text-align: center;
  letter-spacing: 0.1em;
}
div:has( > .__noimage)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(20, 7, 0, 0.75); 
  pointer-events: none; /* 下の画像をクリックできるようにする */
}


@media screen and (min-width: 768px) {
}


@media screen and (min-width: 1200px) {
}


@media screen and (max-width: 767px) {
    .sh-gradient-wrapper {
        padding-bottom: initial;
    }
    .sh-contents {
    }

    .sh-access-bg1::before {
        background-image: url(images/smp/bg_01_smp.png);
        background-size: 200px auto;
    }


    .MB60._smp_MB, 
    .MB80._smp_MB {
        margin-bottom: 40px;
    }
    .MB120._smp_MB {
        margin-bottom: 80px;
    }
    ._smp_TL {
        text-align: left;
    }
    .TL.__smp_TR {
        text-align: right;
    }
}

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

    .__smp_prt {
        display: block;
    }
}



/*   タブ表示   */
.tab-content-box {
}

/* コンテンツは基本非表示 */
.tab-item {
  display: none;
}

/* 最初のタブだけ表示 */
.tab-item:first-child {
  display: block;
}

/* タブメニュー　*/
.tab-menu {
    display: flex;
    justify-content: center;
}
.tab-menu li {
    width: 50%;
    color: #B3B3B3;
    padding-bottom: 10px;
    position: relative;
}
.tab-menu li:has(a.active) {
    color: #A58C5A;
}
.tab-menu li::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50vw;
    border-bottom: 2px solid #B3B3B3;
}
.tab-menu li:has(a.active)::after {
    border-color: #A58C5A;
}
.tab-menu li:last-child::after {
    right: initial;
    left: 0;
}

.tab-menu li a {
    color: #B3B3B3;
}
.tab-menu li a.active  {
  color: #A58C5A;
}

