@charset "UTF-8";
body {
    font-family:  "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
    font-size: 16px;
    font-feature-settings: "palt";
    line-height: 1.8;
    color: #323232;
}
h1, h2, h3, h4, h5, p {text-wrap: unset;}
img {width: 100%;height: auto;vertical-align: middle;}
a {text-decoration: none;transition: 0.3s;}
a:hover {opacity: 0.7;}
ul, ol {padding: 0;}  li {list-style-type: none;}
.spectacularView-disp-sp {display: none !important;}
.spectacularView-disp-pc {display: block !important;}

/*---------------- header*/
.spectacularView-header__container {
    display: flex;
    justify-content: space-between;
    height: 100px;
    align-items: center;
    max-width: 90%;
    margin: 0 auto;
}
.spectacularView-header__logo {
    max-width: 263px;
}
.spectacularView-header__language__container {
    position: relative;
}
.spectacularView-header__language__btn {
    width: 103px;
    font-size: 16px;
    font-weight: 800;
    text-align: right;
    padding: 5px 0;
    border-bottom: 2px solid #c80a0a;
    color: #000;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 5;
}
.spectacularView-header__language__btn > div {
    width: 20px;
}
.spectacularView-header__language {
    position: absolute;
    left: -18px;
    z-index: 3;
    background-color: #fff;
    padding: 1rem 9.5px;
    white-space: nowrap;
    line-height: 3;
    box-shadow: 0 0 8px gray;
    border-radius: 5px;
}
.spectacularView-header__language a {
    font-weight: 500;
    color: #000;
    display: block;
    padding: 0 10px;
}
.spectacularView-header__language a:hover, a.spectacularView-header__language__on {
    opacity: 1;
    color: #c80a0a;
}
.spectacularView-header__language__closebtn {
    display: none;
}
/*---------------- menu_open*/
@media (min-width: 751px) {
    .spectacularView-header__language__btn_area:hover .spectacularView-header__language__contents {
        display: block;
    }
    .spectacularView-header__language__contents {
        display: none;
        position: absolute;
    }
}
@media (max-width: 750px) {
    .spectacularView-header__language__contents {
        display: none;
    }
    .spectacularView-header__language__contents.spectacularView-header__language__active {
        display: block;
    }
}

/*---------------- main*/
.spectacularView-inner {
    max-width: 900px;
    margin: 0 auto;
}
.spectacularView-swiperinner, .spectacularView-stay__contents {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 0 100px;
}
.spectacularView-top__slider {
    position: relative;
    color: #000;
}
.spectacularView-top__swiper {
    overflow: hidden;
}
.spectacularView-top__slider__contents {
    position: absolute;
    z-index: 2;
    bottom: 70px;
    padding-left: 100px;
    padding-right: 17rem;
    background-image: linear-gradient(90deg, #ffffffcc, #ffffffcc 60%, transparent);
}
.spectacularView-top__slider__ttl {
    font-size: 50px;
}
.spectacularView-top__slider__subttl {
    font-size: 32px;
    font-weight: 300;
    line-height: 1;
    padding-bottom: 15px;
}
/*---------------- main__container*/
.spectacularView-top__container {
    padding: 80px 0;
}
.spectacularView-top__ttl, .spectacularView-page__ttl {
    font-size: 34px;
    padding: 30px 0 40px;
    position: relative;
    color: #000;
    text-align: center;
}
.spectacularView-top__container .spectacularView-top__ttl {
    padding: 0 0 50px;
    text-align: left;
}
.spectacularView-top__ttl::after, .spectacularView-page__ttl::after {
    content: '';
    width: 200px;
    height: 2px;
    display: inline-block;
    background-color: #c80a0a;
    position: absolute;
    bottom: 20px;
    left: calc(50% - 100px);
}
.spectacularView-top__container .spectacularView-top__ttl::after {
    content: none;
}
.spectacularView-page__date {
    display: flex;
    justify-content: center;
    padding-bottom: 40px;
}
.spectacularView-page__date dt {
    color: #919191;
    padding-right: 15px;
}
.spectacularView-page__date dd {
    padding-right: 25px;
}
.spectacularView-page__date dd:last-child {
    padding-right: 0;
}

.spectacularView-top__contents__subttl {
    color: #6e6432;
    font-size: 24px;
    /* line-height: 1; */
    padding-bottom: 1.3rem;
    /* 変更 start */
    text-align: left;
    line-height: 1.8;
    /* 変更 end */
}
.spectacularView-top__contents {
    display: flex;
    justify-content: space-between;
    padding-bottom: 80px;
    font-size: 17px;
    line-height: 2;
    text-align: justify;
}
.spectacularView-top__contents > div {
    width: 47.2%;
}
.spectacularView-top__profile {
    background-color: #ffe6e6;
    max-width: 700px;
    margin: 0 auto;
    display: flex;
}
.spectacularView-top__profile__ph {
    max-width: 220px;
}
.spectacularView-top__profile div:last-child {
    max-width: 430px;
    margin: 0 auto;
    padding: 1.4rem 0;
}
.spectacularView-top__profile__ttl {
    font-size: 17px;
}
.spectacularView-top__profile__subttl {
    font-size: 30px;
    line-height: 1;
}
.spectacularView-top__profile__subttl span {
    font-size: 18px;
}
.spectacularView-top__profile__txt {
    padding: 1rem 0;
    font-weight: 400;
}
.spectacularView-top__address {
    font-size: 17px;
    font-weight: 500;
}
.spectacularView-top__address a {
    color: #c80a0a;
}

/*---------------- main__ph__contents*/
.spectacularView-top__ph__container {
    background-color: #f0f0dc;
    padding: 100px 0;
    text-align: center;
}
.spectacularView-top__ph__ttl {
    max-width: 250px;
    color: #fff;
    background-color: #6e6432;
    font-size: 21px;
    margin: 0 auto;
    font-weight: 400;
}
.spectacularView-top__subttl {
    font-size: 27px;
    color: #000;
}
.spectacularView-top__ph__star {
    max-width: 250px;
    background-color: #000;
    display: flex;
    justify-content: center;
    margin: 0 auto 50px;
    column-gap: 5px;
    padding: 5px 0;
}
.spectacularView-top__ph__star li {
    max-width: 24px;
}
.spectacularView-top__ph__table {
    display: flex;
    justify-content: space-between;
    padding: 50px 0 100px;
}
.spectacularView-top__ph__table > div, .spectacularView-page__ph__table > div {
    border: 1px solid #6e6432;
    display: flex;
}
.spectacularView-top__ph__table__ttl, .spectacularView-page__ph__table__ttl {
    font-size: 19px;
    color: #fff;
    background-color: #6e6432;
    width: 210px;
    font-weight: normal;
}
.spectacularView-top__ph__table__txt, .spectacularView-page__ph__table__txt {
    font-size: 19px;
    color: #6e6432;
    background-color: #fff;
    width: 210px;
}
.spectacularView-btn {
    background-color: #000;
    width: 420px;
    height: 70px;
    border-radius: 50px;
    position: relative;
    margin: 0 auto;
    text-align: center;
}
.spectacularView-top__ph__arrow::before,
.spectacularView-top__ph__arrow::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 35px;
    width: 20px;
    height: 1px;
    background-color: #fff;
    transform-origin: calc(100% - 0.5px) 50%;
}
.spectacularView-top__ph__arrow::before {
    transform: rotate(45deg);
}
.spectacularView-top__ph__arrow::after {
    transform: rotate(-45deg);
}
.spectacularView-btn a {
    display: block;
    color: #fff;
    font-size: 22px;
    line-height: 3.2;
}

.spectacularView-archive__swiper .spectacularView-swiperinner__ttl {
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
    margin-top: 20px;
    font-weight: 600;
    padding: 0 10px 10px;
}
.spectacularView-top__percentage {
    max-width: 680px;
    margin: 0 auto;
    padding-bottom: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 800;
    text-align: center;
    position: relative;
}
.spectacularView-top__percentage > div:first-child {
    font-size: 87px;
    color: #c80a0a;
    height: 250px;
    width: 250px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    line-height: 2.7;
}
.spectacularView-top__percentage > div:first-child > span {
    font-size: 50px;
}
.spectacularView-top__percentage__txt {
    line-height: 1;
    font-size: 35px;
}
.spectacularView-top__percentage__txt small {
    font-size: 16px;
    font-weight: 400;
}

.spectacularView-top__percentage_svg {
    transform:rotate(-90deg);
    width: 310px;
    height: 310px;
    position: absolute;
    left: -30px;
}
.spectacularView-top__percentage_svg_gray {
    fill: transparent;
    stroke: #c3c3c3;
    stroke-width: 20px;
}
.spectacularView-top__percentage_svg_red {
    stroke: #c30a0a;
    stroke-width: 20px;
    stroke-linecap: butt;
    fill: transparent;
    stroke-dasharray: 723px;
}

.spectacularView-tips__container {
    background-color: #f0f0f0;
}
.spectacularView-tips__swiper .spectacularView-swiperinner__ttl,
.spectacularView-stay__swiper .spectacularView-swiperinner__ttl,
.spectacularView-stay__contents .spectacularView-swiperinner__ttl {
    text-align: center;
    font-weight: 600;
    line-height: 1.4;
    padding: 10px 0;
}

/*---------------- main__contents__slider*/
.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
    background-color: #fff;
}
.spectacularView-top__archive__container, .spectacularView-tips__container, .spectacularView-stay__container {
    position: relative;
}
.spectacularView-archive__swiper, .spectacularView-tips__swiper, .spectacularView-stay__swiper {
    overflow: hidden;
    padding-top: 40px;
}
.spectacularView-swiperinner__ttl {
    font-size: 19px;
    color: #000;
}
.spectacularView-swiperinner__txt {
    color: #323232;
    flex-grow:1;
}
.spectacularView-top__archive__container .swiper-button-next, .spectacularView-top__archive__container .swiper-button-prev,
.spectacularView-tips__container .swiper-button-next, .spectacularView-tips__container .swiper-button-prev,
.spectacularView-stay__container .swiper-button-next, .spectacularView-stay__container .swiper-button-prev {
    color: #000;
}
.spectacularView-top__archive__container .swiper-button-next,
.spectacularView-top__archive__container .swiper-button-prev {
    transform: translate(0, 90%);
}
.spectacularView-tips__container .swiper-button-next,
.spectacularView-tips__container .swiper-button-prev {
    margin-top: 0;
}
.spectacularView-page__tips__container .swiper-button-next,
.spectacularView-page__tips__container .swiper-button-prev {
    margin-top: -30px;
}
.spectacularView-stay__container .swiper-button-next,
.spectacularView-stay__container .swiper-button-prev {
    transform: translate(0, 90%);
}
.spectacularView-top__archive__container .swiper-button-next:after, .spectacularView-top__archive__container .swiper-button-prev:after,
.spectacularView-tips__container .swiper-button-next:after, .spectacularView-tips__container .swiper-button-prev:after,
.spectacularView-stay__container .swiper-button-next:after, .spectacularView-stay__container .swiper-button-prev:after {
    font-size: 20px;
}

/*---------------- fooer*/
.spectacularView-footer__container {
    text-align: center;
    padding: 100px 0;
}
.spectacularView-footer__logo {
    max-width: 263px;
    margin: 0 auto 10px;
}

/*---------------- 下層ページ*/
.spectacularView-page__top__container {
    background: url("../img/page_top_bg.jpg") top center no-repeat;
    background-size: contain;
    color: #fff;
    height: 29vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: baseline;
    padding: 0 10vw;
}
.spectacularView-page__top__ttl {
    font-size: 50px;
    line-height: 1.3;
}
.spectacularView-page__top__subttl {
    font-size: 30px;
    line-height: 2.1;
}
.spectacularView-page__top__txt {
    font-size: 16px;
    line-height: 2.2;
}

.spectacularView-page__ph__container {
    padding: 100px 0;
    text-align: center;
}
.spectacularView-page__ph__table {
    display: flex;
    justify-content: space-between;
    padding: 0 0 50px;
}
.spectacularView-page__ph__ttl {
    font-size: 24px;
    color: #7a6a56;
    padding-bottom: 20px;
}
.spectacularView-page__ph__txt {
    font-size: 16px;
    padding-bottom: 40px;
    line-height: 2.2;
}
.spectacularView-page__ph__subttl {
    font-size: 18px;
    padding-top: 20px;
    text-align: center;
    color: #000
}
.spectacularView-page__txt {
    font-size: 16px;
    text-align: justify;
    padding-top: 40px;
    line-height: 2.2;
}
.spectacularView-page__main__subttl {
    padding: 60px 0 40px;
    color: #6e6432;
    font-size: 26px;
    text-align: center;
}

/*---------------- spectacularView-page__container*/
.spectacularView-page__main__lead {
    font-size: 18px;
}
.spectacularView-page__main__ttl {
    font-size: 34px;
    color: #fff;
    text-align: center;
    background-color: #6e6432;
    padding: 40px 10px;
}
.spectacularView-page__main__lead + .spectacularView-page__main__ttl {
    font-size: 26px;
    padding: 0;
}
.spectacularView-page__main__container .spectacularView-inner {
    padding: 100px 0;
}

/*---------------- spectacularView-page_itinerary__container*/
.spectacularView-page_itinerary__container {
    max-width: 815px;
    padding: 100px 0 0 35px;
}
.spectacularView-page_itinerary_day {
    font-size: 24px;
    color: #c30a0a;
    background: url("../img/icon_day_start.png") left center no-repeat;
    background-size: 30px;
    padding-left: 40px;
}
.spectacularView-page_itinerary__contents {
    margin-left: 14px;
    border-left: 1px solid #000;
    padding-top: 30px;
    display: flex;
    flex-direction: column;
}
.spectacularView-page_itinerary__contents > div > div:first-child {
    display: flex;
    gap: 22px;
    align-items: baseline;
}
.spectacularView-page_itinerary__contents > div:last-child {
    background: url("../img/icon_day_end.png") left bottom -1px no-repeat;
    background-size: 15px;
    margin-left: -8px;
}
.spectacularView-page_itinerary__contents_time {
    background: url("../img/icon_time.png") left center no-repeat;
    background-size: 50px;
    padding-left: 55px;
    margin-left: -5.5px;
    float: left;
    font-size: 20px;
    color: #6e6432;
    font-weight: 600;
}
.spectacularView-page_itinerary__contents > div:last-child .spectacularView-page_itinerary__contents_time {
    margin-left: 2.5px;
}
.spectacularView-page_itinerary__inner {
    max-width: 640px;
    float: right;
    padding-bottom: 20px;
}
.spectacularView-page_itinerary__inner__ttl {
    font-size: 20px;
    color: #6e6432;
    font-weight: 600;
    padding-bottom: 20px;
    max-width: 640px;
    float: right;
    text-align: left;
}
.spectacularView-page_itinerary__inner__subttl {
    font-size: 16px;
    padding-top: 10px;
}
.spectacularView-page_itinerary__inner__txt {
    padding: 15px 0 25px;
}
.spectacularView-page_itinerary__inner__link {
    padding: 7px 17px 12px;
    margin-bottom: 20px;
    background-color: #ebebeb;
}
.spectacularView-page_itinerary__inner__link__ttl {
    font-weight: bold;
    font-size: 17px;
}
.spectacularView-page_itinerary__inner__link a {
    color: #6e6432;
    background: url("../img/icon_link2.png") right center no-repeat;
    background-size: 12px;
    padding-right: 2em;
}
.spectacularView-page_itinerary__inner__list {
    display: flex;
    padding: 20px 0 0;
    gap: 20px
}
.spectacularView-page_itinerary__inner__ph_tips {
    background-color: #ffe1e1;
    padding: 15px;
    margin-bottom: 20px;
}
.spectacularView-page_itinerary__inner__ph_tips__ttl {
    background: url("../img/icon_ph_tips.png") left center no-repeat;
    background-size: 50px;
    color: #c30a0a;
    padding-left: 60px;
    height: 50px;
    font-size: 17px;
    line-height: 1.5;
}
.spectacularView-page_itinerary__inner__ph_tips ol {
    padding: 10px 0 0 1em;
}
.spectacularView-page_itinerary__inner__ph_tips ol li {
    text-indent: -1em;
}
.spectacularView-page_itinerary__inner__tips {
    background: #ebebd7 url("../img/icon_tips.png") left 20px center no-repeat;
    background-size: 50px;
    padding: 15px 15px 15px 80px;
    margin-bottom: 20px;
}
.spectacularView-page_itinerary__inner__tips__ttl {
    color: #6e6432;
    font-size: 17px;
}

/*---------------- spectacularView-page__information__container*/
.spectacularView-page__information__container {
    background-color: #ebebd7;
    padding: 40px 0 100px;
}
.spectacularView-page__information__ttl {
    text-align: center;
    font-size: 18px;
    font-weight: 300;
    color: #6e6432;
    background: url("../img/icon_information.png") top center no-repeat;
    background-size: 50px;
    padding-top: 60px;
}
.spectacularView-page__information__subttl {
    text-align: center;
    font-size: 34px;
    font-weight: 800;
    color: #000;
    display: table;
    margin: 0 auto;
    padding: 0 20px 10px;
    border-bottom: 2px solid #000;
}
.spectacularView-page__information__inner {
    max-width: 900px;
    margin: 0 auto;
}
.spectacularView-page__information__inner li {
    position: relative;
    padding-left: 2.5em;
    padding-top: 40px;
}
.spectacularView-page__information__inner li::before {
    position: absolute;
    content: "▶";
    top: 43px;
    left: 0.5em;
    color: #6e6432;
}
.spectacularView-page__information__access__ttl {
    color: #6e6432;
    font-size: 18px;
}
.spectacularView-page__information__access__txt {
    color: #000;
    font-size: 16px;
}
.spectacularView-page__information__access__txt a {
    color: #6e6432;
}

/*---------------- spectacularView-page__enquete__container*/
.spectacularView-page__enquete__container {
    padding: 100px 0;
}
.spectacularView-page__enquete__container a {
    display: block;
    max-width: 700px;
    background-color: #c30a0a;
    margin: 0 auto;
    color: #fff;
    font-size: 34px;
    font-weight: 600;
    text-align: center;
    padding: 20px;
    line-height: 1;
}
.spectacularView-page__enquete__container a > span {
    border: 2px solid #fff;
    display: block;
    padding: 1em;
}
.spectacularView-page__enquete__container a span > span {
    font-size: 20px;
    background: url("../img/icon_link1.png") right center no-repeat;
    background-size: 16px;
    padding-right: 1.3em;
}

/*---------------- spectacularView-page__stay__contents*/
.spectacularView-page__stay__contents {
    display: flex;
    justify-content: center;
    gap: 30px;
    padding-top: 40px;
}
.spectacularView-page__stay__wrap {
    display: flex;
    flex-direction: column;
    max-width: 389px;
}
.spectacularView-page__stay__link__btn {
    display: block;
    width: 260px;
    margin: 40px auto 0;
    text-align: center;
    border: 1px solid #000;
    border-radius: 30px;
    font-size: 17px;
    line-height: 2.4;
    color: #000;
    position: relative;
}
.spectacularView-stay__link__arrow::before,
.spectacularView-stay__link__arrow::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 35px;
    width: 11px;
    height: 1px;
    background-color: #000;
    transform-origin: calc(100% - 0.5px) 50%;
}
.spectacularView-stay__link__arrow::before {
    transform: rotate(45deg);
}
.spectacularView-stay__link__arrow::after {
    transform: rotate(-45deg);
}

.spectacularView-page__btn {
    padding-top: 60px;
}
.spectacularView-page__btn .spectacularView-btn {
    width: 360px;
    height: 50px;
}
.spectacularView-page__btn .spectacularView-btn a {
    font-size: 20px;
    line-height: 2.5;
}

@media(max-width:1280px) {
    .spectacularView-top__slider__ttl {
        font-size: 3.7vw;
    }
    .spectacularView-top__slider__subttl {
        font-size: 2.3vw;
    }
    .spectacularView-swiperinner, .spectacularView-stay__contents {
        max-width: 90%;
    }
    .spectacularView-top__ph__table > div, .spectacularView-page__ph__table > div {
        margin-bottom: 20px;
    }
    /*---------------- 下層ページ*/
    .spectacularView-page__top__ttl {
        font-size: 3.5vw;
    }
    .spectacularView-page__top__subttl {
        font-size: 2vw;
    }
}

@media(max-width:960px) {
    .spectacularView-page__top__txt {
        font-size: 1.7vw;
    }
    .spectacularView-inner {
        max-width: 90%;
    }
    .spectacularView-top__slider__contents {
        padding-left: 5%;
    }
    .spectacularView-top__ph__table__ttl, .spectacularView-top__ph__table__txt, .spectacularView-page__ph__table__ttl, .spectacularView-page__ph__table__txt {
        width: 21vw;
    }
    /*---------------- 下層ページ*/
    .spectacularView-page__ttl {
        font-size: 3.75vw;
    }
    .spectacularView-page_itinerary__contents > div > div:first-child {
        gap: 10px;
    }
    .spectacularView-page_itinerary__contents_time {
        width: 120px;
    }
    .spectacularView-page_itinerary__inner {
        padding-left: 127px;
        max-width: unset;
    }
    .spectacularView-page__information__inner {
        padding: 0 3vw;
    }
    .spectacularView-page__stay__link__btn {
        width: 77%;
    }
}

@media(max-width:750px) {
    .spectacularView-disp-sp {display: block !important;}
    .spectacularView-disp-pc {display: none !important;}

    .spectacularView-inner {
        padding: 5vw;
        max-width: 100%;
    }
    /*---------------- header*/
    .spectacularView-header__container {
        height: 50px;
        padding: 0 5vw 0 0;
        max-width: initial;
    }
    .spectacularView-header__logo {
        width: 50vw;
    }
    /*---------------- menu*/
    .spectacularView-header__language__btn {
        width: auto;
        border: none;
        display: block;
    }
    ul.spectacularView-header__language {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        font-size: 5vw;
        overflow-y: auto;
    }
    ul.spectacularView-header__language li {
        padding: 2vw 5vw;
    }
    .spectacularView-header__language__closebtn {
        position: fixed;
        display: block;
        right: 20px;
        top: 20px;
        width: 6vw;
        float: right;
        z-index: 5;
    }

    /*---------------- main*/
    .spectacularView-top__slider__contents {
        width: 100%;
        padding: 0 5vw 3vw;
        bottom: 10vw;
        background-image: linear-gradient(90deg, #ffffffcc, #ffffffcc 70%, transparent);
    }
    .spectacularView-top__slider__ttl {
        font-size: 7vw;
    }
    .spectacularView-top__slider__subttl {
        font-size: 4vw;
        font-weight: 400;
        line-height: 1.4;
        padding-bottom: 0;
    }
    /*---------------- main__container*/
    .spectacularView-top__ttl, .spectacularView-page__ttl {
        font-size: 4.5vw;
        font-weight: 800;
        padding: 6vw 0;
        line-height: 1.5;
    }
    .spectacularView-top__container .spectacularView-top__ttl {
        padding: 7vw 0 10vw;
        text-align: center;
    }
    .spectacularView-top__ttl::after, .spectacularView-page__ttl::after {
        bottom: 10px;
        width: 30vw;
        left: calc(50% - 15vw);
    }
    .spectacularView-top__contents {
        display: block;
        font-size: 3.25vw;
        line-height: 2;
        padding-bottom: 10vw;
        text-align: justify;
    }
    .spectacularView-top__contents > div {
        width: 100%;
        padding-bottom: 5vw;
    }
    .spectacularView-top__contents__subttl {
        text-align: center;
        font-size: 4vw;
    }

    .spectacularView-top__profile {
        align-items: center;
        margin-bottom: 10vw;
    }
    .spectacularView-top__profile__ph {
        width: 47vw;
    }
    .spectacularView-top__profile div:last-child {
        padding: 2.3vw 3vw;
        width: 100%;
    }
    .spectacularView-top__profile__ttl {
        font-size: 3vw;
    }
    .spectacularView-top__profile__subttl {
        font-size: 4.5vw;
        font-weight: 800;
    }
    .spectacularView-top__profile__subttl span {
        font-size: 3.25vw;
    }
    .spectacularView-top__profile__txt {
        font-size: 2.85vw;
        font-weight: 400;
        text-align: justify;
        line-height: 1.7;
        padding: 2vw 0 1vw;
    }
    .spectacularView-top__address {
        font-size: 3.15vw;
    }

    /*---------------- main__ph__contents*/
    .spectacularView-top__ph__container {
        padding: 10vw 0;
    }
    .spectacularView-top__ph__ttl {
        width: 35vw;
        font-size: 3.25vw;
        font-weight: 500;
        line-height: 1.6;
    }
    .spectacularView-top__ph__table, .spectacularView-page__ph__table {
        display: block;
        padding: 7vw 0 10vw;
    }
    .spectacularView-top__subttl {
        font-size: 3.5vw;
    }
    .spectacularView-top__ph__star {
        width: 35vw;
        margin-bottom: 8vw;
    }
    .spectacularView-top__ph__star li {
        max-width: 3.5vw;
    }
    .spectacularView-top__ph__table > div, .spectacularView-page__ph__table > div {
        margin-bottom: 4vw;
    }
    .spectacularView-top__ph__table__ttl, .spectacularView-top__ph__table__txt, .spectacularView-page__ph__table__ttl, .spectacularView-page__ph__table__txt {
        font-size: 3.5vw;
        width: 100%;
    }
    .spectacularView-btn {
        width: 80%;
        height: 12.8vw;
    }
    .spectacularView-btn a {
        font-size: 4vw;
    }
    .spectacularView-top__ph__arrow::before, .spectacularView-top__ph__arrow::after {
        right: 4vw;
        width: 3.5vw;
    }
    .spectacularView-page__btn {
        padding-top: 10vw;
    }
    .spectacularView-page__btn .spectacularView-btn {
        width: 80%;
        height: auto;
    }
    .spectacularView-page__btn .spectacularView-btn a {
        font-size: 14px;
        line-height: 3;
    }

    .spectacularView-top__percentage {
        flex-direction: column;
        padding-bottom: 14vw;
    }
    .spectacularView-top__percentage > div:first-child {
        width: 35vw;
        height: 35vw;
        line-height: 2.8;
        font-size: 12vw;
    }
    .spectacularView-top__percentage > div:first-child > span {
        font-size: 8vw;
    }
    .spectacularView-top__percentage__txt {
        font-size: 5vw;
        padding-top: 4vw;
    }
    .spectacularView-top__percentage__txt small {
        font-size: 3.25vw;
    }
    .spectacularView-top__percentage_svg {
        width: 44vw;
        height: 44vw;
        left: initial;
        top: -4.5vw;
    }

    /*---------------- main__contents__slider*/
    .spectacularView-archive__swiper, .spectacularView-tips__swiper, .spectacularView-stay__swiper, .spectacularView-stay__contents {
        padding-top: 6vw;
    }
    .spectacularView-swiperinner, .spectacularView-stay__contents {
        padding: 5vw 0 10vw;
        max-width: 100%;
    }
    .spectacularView-tips__container .spectacularView-swiperinner {
        padding-bottom: 20vw;
    }
    .spectacularView-top__archive__container .spectacularView-swiperinner {
        margin-bottom: 25vw;
    }
    .spectacularView-stay__container .spectacularView-swiperinner, .spectacularView-stay__contents {
        padding-bottom: 5vw;
    }
    .spectacularView-swiperinner__ttl {
        font-size: 3.75vw;
    }
    .spectacularView-swiperinner__txt {
        font-size: 3.25vw;
    }
    .spectacularView-top__archive__container .swiper-button-next, .spectacularView-top__archive__container .swiper-rtl .swiper-button-prev,
    .spectacularView-tips__container .swiper-button-next, .spectacularView-tips__container .swiper-rtl .swiper-button-prev,
    .spectacularView-stay__container .swiper-button-next, .spectacularView-stay__container .swiper-rtl .swiper-button-prev {
        right: 40%;
        top: auto;
    }
    .spectacularView-top__archive__container .swiper-button-next, .spectacularView-top__archive__container .swiper-rtl .swiper-button-prev {
        bottom: 0;
    }
    .spectacularView-tips__container .swiper-button-next, .spectacularView-tips__container .swiper-rtl .swiper-button-prev {
        bottom: 6vw;
    }
    .spectacularView-stay__container .swiper-button-next, .spectacularView-stay__container .swiper-rtl .swiper-button-prev {
        bottom: 4vw;
    }
    .spectacularView-top__archive__container .swiper-button-prev, .spectacularView-top__archive__container .swiper-rtl .swiper-button-next,
    .spectacularView-tips__container .swiper-button-prev, .spectacularView-tips__container .swiper-rtl .swiper-button-next,
    .spectacularView-stay__container .swiper-button-prev, .spectacularView-stay__container .swiper-rtl .swiper-button-next {
        left: 40%;
        top: auto;
    }
    .spectacularView-top__archive__container .swiper-button-prev, .spectacularView-top__archive__container .swiper-rtl .swiper-button-next {
        bottom: 0;
    }
    .spectacularView-tips__container .swiper-button-prev, .spectacularView-tips__container .swiper-rtl .swiper-button-next {
        bottom: 6vw;
    }
    .spectacularView-stay__container .swiper-button-prev, .spectacularView-stay__container .swiper-rtl .swiper-button-next {
        bottom: 4vw;
    }
    .spectacularView-stay__container {
        margin-bottom: 10vw;
    }

    /*---------------- footer*/
    .spectacularView-footer__container {
        background: #fff;
        padding: 30vw 0 10vw;
    }
    .spectacularView-footer__logo {
        margin-bottom: 0;
        width: 50vw;
    }

    /*---------------- 下層ページ*/
    .spectacularView-page__top__container {
        background: url("../img/page_top_bg_sp.png") top center no-repeat;
        background-size: cover;
        height: 120.5vw;
        padding: 0 5vw;
    }
    .spectacularView-page__top__ttl {
        font-size: 6.9vw;
    }
    .spectacularView-page__top__subttl {
        font-size: 4.2vw;
    }
    .spectacularView-page__top__txt {
        font-size: 3.45vw;
        text-align: justify;
        line-height: 2;
        padding-top: 4vw;
    }
    .spectacularView-page__ph__container {
        padding: 10vw 0;
    }
    .spectacularView-top__ph__star + .spectacularView-page__ph__table {
        padding-top: 0;
    }
    .spectacularView-page__date {
        padding: 0 10vw 5vw 20vw;
        display: grid;
        grid-template-columns: 1fr 2fr;
        grid-template-rows: 1fr 1fr 1fr;
        text-align: left;
        font-size: 3.25vw;
    }
    .spectacularView-page__date dt {
        text-align: center;
    }
    .spectacularView-page__date dd {
        padding: 0;
    }

    .spectacularView-page__ph__ttl {
        font-size: 4vw;
    }
    .spectacularView-page__ph__txt {
        text-align: justify;
        font-size: 3.3vw;
        line-height: inherit;
        padding-bottom: 6vw;
    }
    .spectacularView-page__ph__subttl {
        font-size: 3.75vw;
        padding-top: 3vw;
    }
    .spectacularView-page__txt {
        font-size: 3.3vw;
        padding-top: 3vw;
    }
    .spectacularView-page__main__ttl {
        font-size: 5vw;
        padding: 7vw 1vw;
    }

    .spectacularView-page__main__container .spectacularView-inner {
        padding: 12vw 5vw;
    }
    .spectacularView-page__main__subttl {
        padding: 8vw 0 3vw;
        font-size: 4.5vw;
    }
    .spectacularView-page_itinerary__container {
        padding: 10vw 0 0 0;
        margin-left: -3vw;
    }
    .spectacularView-page_itinerary_day {
        font-size: 5vw;
        background-size: 6.5vw;
    }
    .spectacularView-page_itinerary__contents {
        margin-left: 3vw;
    }
    .spectacularView-page_itinerary__contents_time {
        background: url("../img/icon_time_sp.png") left center no-repeat;
        background-size: 20px;
        padding-left: 7vw;
        margin-left: -1.4vw;
        font-size: 4vw;
        width: 20vw;
    }
    .spectacularView-page_itinerary__inner__ttl {
        font-size: 4vw;
        padding-bottom: 3vw;
        line-height: 1.5;
    }
    .spectacularView-page_itinerary__inner {
        float: none;
        padding-left: 5vw;
        text-align: justify;
        font-size: 3.35vw;
    }
    .spectacularView-page_itinerary__inner__txt {
        padding-bottom: 4vw;
        font-size: 3.25vw;
    }
    .spectacularView-page_itinerary__inner__link {
        font-size: 2.75vw;
        padding: 1vw 2vw 1.5vw;
    }
    .spectacularView-page_itinerary__inner__link a {
        background-size: 2.5vw;
        padding-right: 3.5vw;
    }
    .spectacularView-page_itinerary__inner__link__ttl {
        font-size: 3.75vw;
    }
    .spectacularView-page_itinerary__inner__list {
        flex-direction: column;
    }
    .spectacularView-page_itinerary__inner__subttl {
        padding: 2vw 0 4vw;
        font-size: 3.75vw;
    }
    .spectacularView-page_itinerary__inner__ph_tips {
        padding: 2.5vw 2vw;
        font-size: 3.75vw;
    }
    .spectacularView-page_itinerary__inner__ph_tips__ttl {
        background-size: 10vw;
        padding-left: 12vw;
        height: 10vw;
        line-height: 1.3;
        font-size: 3.75vw;
    }
    .spectacularView-page_itinerary__inner__ph_tips__ttl span {
        font-size: 4vw;
    }
    .spectacularView-page_itinerary__inner__ph_tips ol {
        font-size: 2.75vw;
    }
    .spectacularView-page_itinerary__contents > div:last-child .spectacularView-page_itinerary__inner {
        padding-left: 7.4vw;
    }
    .spectacularView-page_itinerary__inner__tips {
        background-position: top 1.5vw left 2vw;
        background-size: 10vw;
        padding: 1.5vw 2vw;
        font-size: 3vw;
    }
    .spectacularView-page_itinerary__inner__tips__ttl {
        font-size: 3.5vw;
        line-height: 2.9;
        padding-left: 13vw;
    }
    .spectacularView-page_itinerary__contents > div:last-child {
        background-position: left 0.8vw bottom -0.3vw;
        background-size: 3vw;
        margin-left: -2.4vw;
    }

    .spectacularView-page__main__lead {
        font-size: 3.5vw;
    }
    .spectacularView-page__main__lead + .spectacularView-page__main__ttl {
        font-size: 4.5vw;
    }

    .spectacularView-page__information__container {
        padding: 8vw 0 10vw;
    }
    .spectacularView-page__information__ttl {
        background-size: 10vw;
        font-size: 3.75vw;
    }
    .spectacularView-page__information__subttl {
        font-size: 4.75vw;
        border-bottom: 1px solid #000;
        padding-top: 4vw;
    }
    .spectacularView-page__information__inner li {
        padding-top: 6vw;
    }
    .spectacularView-page__information__inner li::before {
        top: 6vw;
    }
    .spectacularView-page__information__access__ttl {
        font-size: 3.5vw;
    }
    .spectacularView-page__information__access__txt {
        font-size: 3.25vw;
        line-height: 1.6;
    }
    .spectacularView-page__information__access__txt span {
        display: block;
        height: 2vw;
    }
    .spectacularView-page__enquete__container {
        padding: 8vw 5vw;
    }
    .spectacularView-page__enquete__container a {
        padding: 3vw;
        line-height: 1.3;
        font-size: 4.5vw;
    }
    .spectacularView-page__enquete__container a > span {
        border: 1px solid #fff;
        padding: 3vw 4vw;
    }
    .spectacularView-page__enquete__container a span > span {
        font-size: 3.5vw;
        background-size: 3vw;
    }

    /*---------------- spectacularView-page__stay__contents*/
    .spectacularView-page__stay__contents {
        flex-direction: column;
        align-items: center;
        padding: 10vw 5vw 0;
        gap: 15vw;
    }
    .spectacularView-page__stay__link__btn {
        margin-top: 7vw;
        width: 260px;
    }

}
