@charset "utf-8";
/*********************
setting
*********************/
:root {
    --main-color: #e44d68;
}


body {
    color: #000;
}

body .gmenu_wrap {
    color: #5b6173;
}

area:hover {
    cursor: pointer;
}

/*********************
.trip-kv
*********************/
.trip-kv {
    position: relative;
    background: var(--main-color);
    min-height: 76.133vw;
}

@media screen and (max-width: 750px) {
    .trip-kv {
        min-height: 242.266vw;
    }
}

.trip-kv__catch {
    width: 34vw;
    max-width: 1151px;
    position: absolute;
    top: 22%;
    left: 9.2%;
    transform: translate(-9.2%, -22%);
    z-index: 3;
}

@media screen and (max-width: 750px) {
    .trip-kv__catch {
        width: 88vw;
        top: 10%;
        left: 50%;
        transform: translate(-50%, -10%);
    }
}

.trip-kv__kv {
    width: 71.1333vw;
    position: absolute;
    top: 2rem;
    right: 0;
    transform: translate(0%, 0%);
    z-index: 2;
}

@media screen and (max-width: 750px) {
    .trip-kv__kv {
        width: 90vw;
        top: 35%;
        left: 50%;
        transform: translate(-50%, -30%);
        z-index: 2;
    }
}

.trip-kv__txt {
    width: 88vw;
    position: absolute;
    top: 63%;
    left: 50%;
    transform: translate(-50%, -59%);
    z-index: 2;
}

.trip-kv__sidetxt {
    width: 7vw;
    position: absolute;
    top: 50%;
    right: 1%;
    transform: translate(-1%, -50%);
    z-index: 2;
}

@media screen and (max-width: 750px) {
    .trip-kv__sidetxt {
        width: 9.5vw;
        top: 38%;
        right: 6%;
        transform: translate(-6%, -36%);
    }
}

.trip-kv__bg_line {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translate(0%, 0%);
    z-index: 1;
}

@media screen and (max-width: 750px) {
    .trip-kv__bg_line {

    }
}

/*********************
.trip-menu
*********************/
.trip-menu {
    width: 75vw;
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -80%);
    z-index: 2;
}

@media screen and (max-width: 750px) {
    .trip-menu {
        width: 90vw;
        top: 86%;
        transform: translate(-50%, -86%);
        border-top: 1px solid #FFF;
        border-bottom: 1px solid #FFF;
        margin: 20px 0;
        padding: 5px 0;
    }
}

.trip-menu__list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    gap: 30px 20px;
}

@media screen and (max-width: 750px) {
    .trip-menu__list {
        justify-content: space-between;
        gap: 14px 0;
    }
}

.trip-menu__item {
    font-size: 1.3333vw;
    color: #FFF;
}

@media screen and (max-width: 750px) {
    .trip-menu__item {
        font-size: 3.7333vw;
        color: #FFF;
        width: 50%;
    }
}

.trip-menu__item a {
    color: #FFF;
}

.trip-menu__icon img {
    width: 23px;
    vertical-align: middle;
    padding-right: 10px;
}

@media screen and (max-width: 750px) {
    .trip-menu__icon img {
        width: 3.7333vw;
        padding-right: 3px;
    }
}

@media screen and (max-width: 750px) {
    .trip-menu__space {
        padding-left: 17px;
    }
}

/*********************
.trip-content
*********************/
.trip-content {
    position: relative;
    margin: -100px auto 0;
    border-radius: 7rem 7rem 0 0;
    background: #FFF;
    min-height: 1000px;
    z-index: 2;
    background-image: url("/oshi-tabi/travel_medley/img/vol06/bg_trip_content.webp");
    background-repeat: round;
    background-size: contain;
    background-position: 0% 0%;
}

@media screen and (max-width: 750px) {
    .trip-content {
        /*border-radius: 30px; */
        margin: -50px auto 0;
        background-image: url("/oshi-tabi/travel_medley/img/vol06/bg_trip_content_sp.webp");
    }
}

.trip-content__wrapper {
    margin: 0 auto 0;
    padding: 140px 10vw;
    max-width: 1200px;
}

@media screen and (max-width: 750px) {
    .trip-content__wrapper {
        padding: 70px 5%;
    }
}

/*********************
.trip-amb
*********************/
.trip-amb__heading {
    margin: 0 auto 40px;
    max-width: 342px;
}

@media screen and (max-width: 750px) {
    .trip-amb__heading {
        margin: 0 auto 20px;
        padding-top: 4rem;
        max-width: 70vw;
    }
}

.trip-amb__list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
}

@media screen and (max-width: 750px) {
    .trip-amb__list {
        display: block;
        margin-top: 20px
    }
}

.trip-amb__item {
    width: 32%;
}

@media screen and (max-width: 750px) {
    .trip-amb__item {
        width: 100%;
        margin-bottom: 10px
    }
}

/*********************
.trip-voice
*********************/
.trip-voice__heading {
    margin: 140px auto 40px;
    max-width: 1100px;
}

@media screen and (max-width: 750px) {
    .trip-voice__heading {
        margin: 60px auto 20px;
    }
}

@media screen and (max-width: 750px) {
    .trip-voice__btn {
        margin: 20px 0;
    }
}

.trip-voice__notes {
    margin: 40px 0;
    font-size: 13px;
    text-align: center;
    line-height: 1.8;
}

.trip-voice__notes a {
    color: black;
    text-decoration: underline;
}

@media screen and (max-width: 750px) {
    .trip-voice__notes {
        margin: 20px 0;
        font-size: 10px;
        text-align: initial;
    }
}

@media screen and (max-width: 750px) {
    .osusume-area.trip-voice__attention {
        width: 100%;
    }
}

.trip-voice__attention .detail a {
    color: #77a2d6;
    text-decoration: underline;
}

.trip-voice__benefit {
    position: relative;
    margin: 80px 0 0;
}

@media screen and (max-width: 750px) {
    .trip-voice__benefit {
        margin: 50px 0 0;
    }
}

.trip-voice__access {
    position: absolute;
    bottom: 31.9%;
    left: 83%;
    transform: translate(-74%, -24%);
}

@media screen and (max-width: 750px) {
    .trip-voice__access {
        bottom: 22%;
        left: 54%;
        transform: translate(-94%, -18.5%);
    }
}

.trip-voice__access a {
    font-size: 1.0666vw;
    color: #77a2d6;
    text-decoration: underline;
    white-space: nowrap;
    cursor: pointer;
}

@media screen and (min-width: 1500px) {
    .trip-voice__access a {
        font-size: 16px;
    }
}

@media screen and (max-width: 750px) {
    .trip-voice__access a {
        font-size: 3.7333vw;
    }
}

/*********************
.trip-guide
*********************/
.trip-guide {
    position: relative;
    margin: 0 auto 0;
    background: #FFF;
    /*	min-height: 1000px; */
    z-index: 2;
    background-image: url("/oshi-tabi/travel_medley/img/vol06/bg_trip_guide.webp");
    background-repeat: repeat-y;
    background-size: cover;
    background-position: 0% 0%;
}

@media screen and (max-width: 750px) {
    .trip-guide {
        margin: 0 auto 0;
    }
}

.trip-guide__wrapper {
    margin: 0 auto 0;
    padding: 140px 10vw;
    max-width: 1200px;
}

@media screen and (max-width: 750px) {
    .trip-guide__wrapper {
        padding: 70px 5%;
    }
}

.trip-guide__heading {
    max-width: 686px;
    margin: 0 auto 0;
}

.trip-guide__kv {
    margin: 40px auto;
}

@media screen and (max-width: 750px) {
    .trip-guide__heading {
        width: 90%;
    }

    .trip-guide__kv {
        margin: 20px auto;
        max-width: 95%;
    }
}

.trip-guide__txt {
    position: relative;
    margin: 0 auto 0;
}

.trip-guide__link {
    position: absolute;
    bottom: 10%;
    left: 65.5%;
    transform: translate(-70.5%, -15%);
}

@media screen and (max-width: 750px) {
    .trip-guide__link {
        bottom: 6%;
        left: 39.5%;
        transform: translate(-39.5%, -15%);
    }
}

.trip-guide__link a {
    font-size: 1.0666vw;
    color: #77a2d6;
    text-decoration: underline;
    white-space: nowrap;
}

@media screen and (min-width: 1500px) {
    .trip-guide__link a {
        font-size: 16px;
    }
}

@media screen and (max-width: 750px) {
    .trip-guide__link a {
        font-size: 3.7333vw;
    }
}

.trip-guide__btn {
    max-width: 500px;
    margin: 20px auto 0;
}

.trip-guide__notes {
    color: white;
    margin: 15px auto 0;
    font-size: 13px;
    text-align: center;
    line-height: 1.8;
}

@media screen and (max-width: 750px) {
    .trip-guide__notes {
        font-size: 10px;
    }
}

/*********************
.trip-stamp
*********************/
.trip-stamp {
    position: relative;
    margin: 0 auto;
    background: var(--main-color);
    z-index: 2;
    background-image: url("/oshi-tabi/travel_medley/img/vol06/bg_trip_stamp.webp");
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: top center;
}

@media screen and (max-width: 750px) {
    .trip-stamp {
        margin: 0 auto;
    }
}

.trip-stamp__wrapper {
    margin: 0 auto 0;
    padding: 140px 10vw;
    max-width: 1200px;
}

@media screen and (max-width: 750px) {
    .trip-stamp__wrapper {
        padding: 70px 0;
    }
}

.trip-stamp__icon {
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    width: 136px;
}

@media screen and (max-width: 750px) {
    .trip-stamp__icon {
        top: -20px;
        width: 68px;
    }
}

.trip-stamp__heading {
    max-width: 906px;
    margin: 0 auto 0;
}

@media screen and (max-width: 750px) {
    .trip-stamp__heading {
        max-width: 90%;
    }
}

.trip-stamp__list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    margin-top: 60px;
}

@media screen and (max-width: 750px) {
    .trip-stamp__list {
        margin-top: 40px;
    }
}

.trip-stamp__list._footer {
    margin-top: initial;
}

@media screen and (max-width: 750px) {
    .trip-stamp__list._footer {
        margin-top: initial;
    }
}

.trip-stamp__list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 10px;
}

@media screen and (max-width: 420px) {
    .trip-stamp__list {
        margin-top: 40px;
    }
}

.trip-stamp__item {
    /*	width: 33.333%; */
    flex: 1;
    margin-right: 1px;
}

.trip-stamp__item:last-child {
    margin-right: 0;
}


.trip-stamp-contents {
    background: #ebe9f2;
    border: 2px solid #6356a3;
}

.trip-stamp-contents._vol01-2 {
    background: #fff1e7;
    border: 2px solid #f08437 !important;;
}

.trip-stamp-contents._vol01-3 {
    background: #f9e8ec;
    border: 2px solid #eb6ea5 !important;;
}

/*
@media screen and (max-width: 750px){
	.trip-stamp-contents {
		border: none;
	}
}

 */
.trip-stamp-map__kv {
    position: relative;
}

.trip-stamp-map__kv a img {
    opacity: 0.9;
}

.trip-stamp-map__arashi {
    width: 21.0666vw;
    max-width: 316px;
    position: absolute;
    top: 40.5%;
    left: 43%;
    transform: translate(-43%, -40.5%);
}

@media screen and (max-width: 750px) {
    .trip-stamp-map__arashi {
        width: 51.4666vw;
        max-width: initial;
        top: 59%;
        left: 10%;
        transform: translate(-10%, -59%);
    }
}

.trip-stamp-map__shimo {
    width: 9.73333vw;
    max-width: 146px;
    position: absolute;
    top: 30%;
    left: 88.5%;
    transform: translate(-88.5%, -30%);
}

@media screen and (max-width: 750px) {
    .trip-stamp-map__shimo {
        width: 54vw;
        max-width: initial;
        top: 33%;
        left: 82%;
        transform: translate(-82%, -33%);
    }
}

.trip-stamp-map__ito {
    width: 33.4666vw;
    max-width: 502px;
    position: absolute;
    top: 54.4%;
    left: 68%;
    transform: translate(-68%, -54.4%);
}

@media screen and (max-width: 750px) {
    .trip-stamp-map__ito {
        width: 46.666vw;
        max-width: initial;
        top: 76.5%;
        left: 85.5%;
        transform: translate(-85.5%, -76.5%);
    }
}

.trip-stamp-map__start {
    width: 17.2666vw;
    max-width: 259px;
    position: absolute;
    top: 43.5%;
    left: 91%;
    transform: translate(-91%, -43.5%);
}

@media screen and (max-width: 750px) {
    .trip-stamp-map__start {
        width: 30.9333vw;
        max-width: initial;
        top: 41.5%;
        left: 89%;
        transform: translate(-89%, -41.5%);
    }
}

.trip-stamp-map__goal {
    width: 16.4vw;
    max-width: 246px;
    position: absolute;
    top: 63%;
    left: 96.4%;
    transform: translate(-97%, -63.4%);
}

@media screen and (max-width: 750px) {
    .trip-stamp-map__goal {
        width: 43.0666vw;
        max-width: initial;
        top: 55.2%;
        left: 74%;
        transform: translate(-74%, -55.2%);
    }
}

.trip-stamp-map__notes {
    width: 90%;
    margin: 20px auto 3rem;
    max-width: 701px;
}

.trip-stamp-map__notes._0807 {
    max-width: 937px;
    margin: 3rem auto;
}

@media screen and (max-width: 750px) {
    .trip-stamp-map__notes {
        margin: 10px auto 0;
    }
}

.trip-stamp-common {
    background: #FFF;
    padding: 40px 5% 90px;

}

.trip-stamp-common.course02 {
    background-image: url('/oshi-tabi/travel_medley/img/vol06/trip-stamp-common_bg_2.webp'); /* 画像のURLを指定 */
    background-size: 100% auto; /* 横幅100%、高さは自動調整でアスペクト比を維持 */
    background-position: bottom; /* ブロックの一番下に配置 */
    background-repeat: no-repeat; /* 繰り返しをしない */
}

/*
._vol01-1 .trip-stamp-common {
	background-image: url('/oshi-tabi/travel_medley/img/vol06/trip-stamp-common_bg_1.webp'); /* 画像のURLを指定
	background-size: 100% auto; /* 横幅100%、高さは自動調整でアスペクト比を維持
	background-position: bottom; /* ブロックの一番下に配置
	background-repeat: no-repeat; /* 繰り返しをしない
}
._vol01-2 .trip-stamp-common {
	background-image: url('/oshi-tabi/travel_medley/img/vol06/trip-stamp-common_bg_2.webp'); /* 画像のURLを指定
	background-size: 100% auto; /* 横幅100%、高さは自動調整でアスペクト比を維持
	background-position: bottom; /* ブロックの一番下に配置
	background-repeat: no-repeat; /* 繰り返しをしない
}

._vol01-3 .trip-stamp-common {
	background-image: url('/oshi-tabi/travel_medley/img/vol06/trip-stamp-common_bg_3.webp'); /* 画像のURLを指定
	background-size: 100% auto; /* 横幅100%、高さは自動調整でアスペクト比を維持
	background-position: bottom; /* ブロックの一番下に配置
	background-repeat: no-repeat; /* 繰り返しをしない
}

*/


@media screen and (max-width: 750px) {
    .trip-stamp-common {
        padding: 20px 5% 90px;
    }
}

.trip-stamp-how__txt {
    max-width: 673px;
    margin: 50px auto -60px;
}

.osusume-area.trip-stamp-how__attention {
    margin-top: 40px;
}

@media screen and (max-width: 750px) {
    .osusume-area.trip-stamp-how__attention {
        width: 100%;
        margin-top: 20px;
    }
}

.trip-stamp-how__attention .detail a {
    color: #77a2d6;
    text-decoration: underline;
}

.trip-stamp-how__notes {
    margin: 20px 0 0;
    font-size: 13px;
    line-height: 1.8;
}

.trip-stamp-how__notes a {
    color: #77a2d6;
    text-decoration: underline;
}

@media screen and (max-width: 750px) {
    .trip-stamp-how__notes {
        margin: 20px 0 0;
        font-size: 10px;
        text-align: initial;
    }
}

.trip-stamp-sticker {
    position: relative;
    margin-top: 80px;
}

.trip-stamp-sticker__link {
    position: absolute;
    top: 66%;
    left: 79%;
    transform: translate(-79%, -66%);
}

@media screen and (max-width: 750px) {
    .trip-stamp-sticker__link {
        top: 73%;
        left: 59%;
        transform: translate(-73%, -59%);
    }
}

.trip-stamp-sticker__link a {
    font-size: 1.0666vw;
    color: #77a2d6;
    text-decoration: underline;
    white-space: nowrap;
}

@media screen and (min-width: 1500px) {
    .trip-stamp-sticker__link a {
        font-size: 16px;
    }
}

@media screen and (max-width: 750px) {
    .trip-stamp-sticker__link a {
        font-size: 3.7333vw;
    }
}

.trip-stamp-file {
    margin-top: 80px;
}

@media screen and (max-width: 750px) {
    .trip-stamp-file {
        margin-top: 40px;
    }
}

.trip-stamp-tower {
    margin-top: 40px;
    position: relative;
}

.trip-stamp-tower__link {
    position: absolute;
    top: 51.7%;
    left: 79%;
    transform: translate(-72%, -79%);
}

.trip-stamp-tower__link._0807 {
    top: 59%;
    left: 82%;
    transform: translate(-72%, -57%);
}

@media screen and (max-width: 750px) {
    .trip-stamp-tower__link {
        top: 69.5%;
        left: 54.5%;
        transform: translate(-96%, -83%);
    }

    .trip-stamp-tower__link._0807 {
        top: 68%;
        transform: translate(-96%, -65.5%);
    }
}

.trip-stamp-tower__link a {
    font-size: 1.0666vw;
    color: #77a2d6;
    text-decoration: underline;
    white-space: nowrap;
    cursor: pointer;
}

@media screen and (min-width: 1500px) {
    .trip-stamp-tower__link a {
        font-size: 16px;
    }
}

@media screen and (max-width: 750px) {
    .trip-stamp-tower__link a {
        font-size: 3.7333vw;
    }
}

/*********************
#osusume-area
*********************/
.osusume-area.trip-stamp-map__way {
    background: #FFF;
    border-radius: 8px;
    border: none;
    max-width: 90%;
    margin: 30px auto 0;
}

.osusume-area.trip-stamp-map__way .label {
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
    padding: 20px 0;
    position: relative;
    transition: .5s;
    text-align: center;
    background: #6356a3;
    border-radius: 8px;
    color: #FFF;
}

.osusume-area.trip-stamp-map__way._vol01-2 .label {
    background: #f08437;
}

.osusume-area.trip-stamp-map__way._vol01-3 .label {
    background: #eb6ea5;
}

.osusume-area.trip-stamp-map__way .label.open {
    border-radius: 8px 8px 0 0;
}

/*
ラベル右側のアイコン「＋」を設定
beforeが横棒
afterが縦棒
*/
.osusume-area.trip-stamp-map__way .label::before,
.osusume-area.trip-stamp-map__way .label::after {
    content: '';
    width: 20px;
    height: 2px;
    background: #FFF;
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translateY(-50%);
}

.osusume-area.trip-stamp-map__way .label::after {
    transform: translateY(-50%) rotate(90deg);
    transition: .2s;
}

/*
アコーディオンメニューが開いている場合
*/
.osusume-area.trip-stamp-map__way .label.open::before {
    /* ラベルアイコンの横棒を非表示 */
    opacity: 0;
}

.osusume-area.trip-stamp-map__way .label.open::after {
    /* ラベルアイコンの縦棒を横向きに回転 */
    transform: rotate(180deg);
}

/*
アコーディオンメニューのコンテンツ部分は、「display: none;」で非表示にしておく。
ラベルクリック時にjQueryの「  $(this).next().slideToggle();」で表示に切り替わる
*/
.osusume-area.trip-stamp-map__way .detail {
    border-top: none;
    padding: 35px 30px;
    display: none;
    font-size: 16px;
    line-height: 2;
}

@media screen and (max-width: 750px) {
    .osusume-area.trip-stamp-map__way {
        width: 90%;
    }

    .osusume-area.trip-stamp-map__way .label {
        padding: 10px 0;
        font-size: 16px;
    }

    .osusume-area.trip-stamp-map__way .detail {
        padding: 20px;
        font-size: 12px;
    }

    .osusume-area.trip-stamp-map__way .label::before,
    .osusume-area.trip-stamp-map__way .label::after {
        right: 5%;
        width: 15px;
        height: 1px;
    }
}

/*********************
.trip-display
*********************/
.trip-display {
    position: relative;
    margin: 0 auto 0;
    background: #FFF;
    z-index: 2;
    background-image: url("/oshi-tabi/travel_medley/img/vol06/contents_bg.webp");
    background-repeat: repeat-y;
    background-size: cover;
    background-position: 0% 0%;
}

@media screen and (max-width: 750px) {
    .trip-display {
        margin: 0 auto;
        padding: 3rem 0;
        background-image: url("/oshi-tabi/travel_medley/img/vol06/contents_bg_sp.webp");
    }
}

/* for coming soon
.trip-display__wrapper {
	margin: 0 auto 0;
    padding: 140px 0;
	max-width: 580px;
}
@media screen and (max-width: 750px){
	.trip-display__wrapper {
		padding: 0;
		width: 80%;
	}

}
 */
.trip-display__wrapper {
    margin: 0 auto 0;
    padding: 140px 0;
    /*	max-width: 580px; */
    max-width: 1200px;
    width: 85vw;
}

@media screen and (max-width: 750px) {
    .trip-display__wrapper {
        padding: 0;
        width: 80%;
    }

}


.trip-display__heading {
    max-width: 724px;
    margin: 0 auto 0;
}

.trip-display__heading .pc_view {
    width: 95%;
    margin: auto;
}

@media screen and (max-width: 750px) {
    .trip-display__heading {
        max-width: 100%;
        margin: 0 auto 0;
    }
}

.trip-display__kv {
    max-width: 1200px;
    margin: 40px auto 0;
}

@media screen and (max-width: 750px) {
    .trip-display__kv {
        max-width: 100%;
        margin: 20px auto 0;
    }
}

.trip-display__txt {
    font-size: 13px;
    text-align: center;
    margin-top: 20px;
}

.text_red {
    color: #df0000;
}

@media screen and (max-width: 750px) {
    .trip-display__txt {
        font-size: 18px;
        text-align: center;
        margin-top: 15px;
    }
}

.trip-display__txt a {
    text-decoration: underline;
    color: #77a2d6;
    cursor: pointer;
}

/*********************
.trip-goods
*********************/
.trip-goods {
    position: relative;
    margin: 0 auto;
    z-index: 2;
    background-image: url("/oshi-tabi/travel_medley/img/vol06/contents_bg.webp");
    background-repeat: repeat-y;
    background-size: cover;
    background-position: 0 0;

}


@media screen and (max-width: 750px) {
    .trip-goods {
        margin: 0 auto;
        background-image: url("/oshi-tabi/travel_medley/img/vol06/contents_bg_sp.webp");

    }
}

.trip-goods__wrapper {
    margin: 0 auto 0;
    padding: 40px 10vw 0;
    max-width: 1200px;
    /* width: 100%; */

}

@media screen and (max-width: 750px) {
    .trip-goods__wrapper {
        padding: 70px 5%;
        width: auto;
        /* width: 70%; */
    }
}

.trip-goods__heading {
    max-width: 686px;
    margin: 0 auto 0;
    width: 100%;
}

@media screen and (max-width: 750px) {
    .trip-goods__heading {
        width: 75%;
        max-width: 75%;
        margin: 0 auto 0;
    }
}

.trip-goods__kv {
    margin: 50px auto 0 auto;
    width: 100%;
}

.trip-goods__kv .pc_view {
    /* width: 85%; */
    margin: auto;

}

.trip-goods__txt {
    margin: 50px auto;
    position: relative;
    /* width: 85%; */
}

.trip-goods__access {
    position: absolute;
    top: 27.5%;
    left: 62.8%;
    transform: translate(-56.5%, -27.5%);
}

@media screen and (max-width: 1000px) {
    .trip-goods__access {
        top: 25%;
        transform: translate(-56.5%, -25%);
    }
}

@media screen and (max-width: 750px) {
    .trip-goods__access {
        top: 34.6%;
        left: 83%;
        transform: translate(-83%, -39%);
    }
}

.trip-goods__access a {
    font-size: 1.0666vw;
    color: #237aba;
    text-decoration: underline;
    white-space: nowrap;
    cursor: pointer;
}

@media screen and (min-width: 1500px) {
    .trip-goods__access a {
        font-size: 16px;
    }
}

@media screen and (max-width: 750px) {
    .trip-goods__access a {
        font-size: 3.7333vw;
    }
}

.trip-goods__btn {
    max-width: 500px;
    margin: 50px auto 0;
}

@media screen and (max-width: 750px) {
    .trip-goods__btn {
        margin: 25px auto 0;
    }
}

.trip-goods__notes {
    margin-top: 20px;
    text-align: center;
    font-size: 13px;
}

@media screen and (max-width: 750px) {
    .trip-goods__notes {
        margin-top: 10px;
        font-size: 10px;
    }
}

/*********************
.trip-point
*********************/

.trip-point__heading {
    max-width: 740px;
    margin: 0 auto 0;
}

@media screen and (max-width: 750px) {
    .trip-point__heading {
        max-width: 82.53%;
        margin: 0 auto 0;
    }
}

.trip-point__wrapper {
    margin: 0 auto 0;
    padding: 70px 2vw 140px;
    max-width: 1200px;
    width: 85%;
}


@media screen and (max-width: 750px) {
    .trip-point__wrapper {
        padding: 20px 5% 70px;
        /* width: 92%; */
    }
}

.trip-point__kv {
    margin-top: 60px;
}

.trip-point__kv .pc_view {
    width: 66%;
    margin: auto;
}

.trip-point__notes {
    margin-top: 20px;
    text-align: center;
    font-size: 13px;
}

@media screen and (max-width: 750px) {
    .trip-point__notes {
        margin-top: 20px;
        font-size: 10px;
    }
}

.trip-point__login {
    max-width: 1126px;
    margin: 40px auto 0;
}

@media screen and (max-width: 750px) {
    .trip-point__login {
        margin: 20px auto 0;
    }
}

.trip-point__qr {
    max-width: 585px;
    margin: 40px auto 0;
}

.trip-point__btn {
    margin-top: 20px;
}

.trip-point__how {
    margin-top: 60px;
}

@media screen and (max-width: 750px) {
    .trip-point__how {
        margin-top: 25px;
    }
}

/*********************
modal
*********************/
body.fixed { /* iOSは16以降でモーダル表示中に背景より後ろをスクロールさせない */
    overflow: hidden;
}

.modal01_1:modal { /* モーダルウィンドウのカスタマイズ */
    border: 1px solid #000;
    background: #dcdcdc;
}

.modal01_1::backdrop { /* 背景となる部分のカスタマイズ */
    background: #000;
    opacity: .4;
}

/*********************
trip-stamp__item
*********************/
.trip-stamp-contents._vol01-1 {
    display: none;
}

.trip-stamp-contents._vol01-1.show {
    display: block;
}

.trip-stamp-contents._vol01-2 {
    display: none;
}

.trip-stamp-contents._vol01-2.show {
    display: block;
}

.trip-stamp-contents._vol01-3 {
    display: none;
}

.trip-stamp-contents._vol01-3.show {
    display: block;
}

.trip-stamp__item.tab-01-1 {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab01_off.webp");
    background-repeat: no-repeat;
    background-size: contain;
    height: 150px;
    background-position: bottom;
    cursor: pointer;
}

.trip-stamp__item.tab-01-1.active {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab01_on.webp");
    background-repeat: no-repeat;
    background-size: contain;
    height: 150px;
    background-position: bottom;
}

.trip-stamp__item.tab-01-2 {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab02_off.webp");
    background-repeat: no-repeat;
    background-size: contain;
    height: 150px;
    background-position: bottom;
    cursor: pointer;
}

.trip-stamp__item.tab-01-2.active {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab02_on.webp");
    background-repeat: no-repeat;
    background-size: contain;
    height: 150px;
    background-position: bottom;
}

.trip-stamp__item.tab-01-3 {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab03_off.webp");
    background-repeat: no-repeat;
    background-size: contain;
    height: 150px;
    background-position: bottom;
    cursor: pointer;
}

.trip-stamp__item.tab-01-3.active {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab03_on.webp");
    background-repeat: no-repeat;
    background-size: contain;
    height: 150px;
    background-position: bottom;
}

.trip-stamp__item.tab-01-1:hover {
    opacity: 0.9;
}

.trip-stamp__item.tab-01-2:hover {
    opacity: 0.9;
}

.trip-stamp__item.tab-01-3:hover {
    opacity: 0.9;
}

._footer .trip-stamp__item.tab-01-1 {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab01_footer_off.webp");
    background-position: top;
}

._footer .trip-stamp__item.tab-01-1.active {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab01_footer_on.webp");
    background-position: top;
}

._footer .trip-stamp__item.tab-01-2 {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab02_footer_off.webp");
    background-position: top;
}

._footer .trip-stamp__item.tab-01-2.active {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab02_footer_on.webp");
    background-position: top;
}

._footer .trip-stamp__item.tab-01-3 {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab03_footer_off.webp");
    background-position: top;
}

._footer .trip-stamp__item.tab-01-3.active {
    background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab03_footer_on.webp");
    background-position: top;
}


@media screen and (max-width: 420px) {
    .trip-stamp__item.tab-01-1 {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab01_off_sp.webp");
        background-repeat: no-repeat;
        background-size: contain;
        height: 165px;
        cursor: pointer;
    }

    .trip-stamp__item.tab-01-1.active {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab01_on_sp.webp");
        background-repeat: no-repeat;
        background-size: contain;
        height: 165px;
    }

    .trip-stamp__item.tab-01-2 {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab02_off_sp.webp");
        background-repeat: no-repeat;
        background-size: contain;
        height: 165px;
        cursor: pointer;
    }

    .trip-stamp__item.tab-01-2.active {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab02_on_sp.webp");
        background-repeat: no-repeat;
        background-size: contain;
        height: 165px;
    }

    .trip-stamp__item.tab-01-3 {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab03_off_sp.webp");
        background-repeat: no-repeat;
        background-size: contain;
        height: 165px;
        cursor: pointer;
    }

    .trip-stamp__item.tab-01-3.active {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab03_on_sp.webp");
        background-repeat: no-repeat;
        background-size: contain;
        height: 165px;
    }

    ._footer .trip-stamp__item.tab-01-1 {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab01_footer_off_sp.webp");
        background-position: top;
    }

    ._footer .trip-stamp__item.tab-01-1.active {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab01_footer_on_sp.webp");
        background-position: top;
    }

    ._footer .trip-stamp__item.tab-01-2 {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab02_footer_off_sp.webp");
        background-position: top;
    }

    ._footer .trip-stamp__item.tab-01-2.active {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab02_footer_on_sp.webp");
        background-position: top;
    }

    ._footer .trip-stamp__item.tab-01-3 {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab03_footer_off_sp.webp");
        background-position: top;
    }

    ._footer .trip-stamp__item.tab-01-3.active {
        background-image: url("/oshi-tabi/travel_medley/img/vol06/img_trip_stamp_tab03_footer_on_sp.webp");
        background-position: top;
    }
}

.trip-stamp__footer {
    background-color: #fff;
}

.trip-stamp-qr__grid {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 0 40px;
    max-width: 970px;
    margin: 40px auto 0;
}

@media screen and (max-width: 750px) {
    .trip-stamp-qr__grid {
        display: block;
        margin: 0 auto 0;
    }
}

.trip-stamp-qr__grid._point {
    align-items: center;
}

.trip-stamp-qr__txt {
    color: #1b4c81;
    font-weight: bold;
    font-size: 20px;
}


.trip-display_note_warn {
    padding: 2rem 0;
    margin: auto;
    font-size: 13px;
    text-align: center;
    line-height: 1.8;
}

.note_modal {
    text-decoration: underline;
    cursor: pointer;
    color: #1b4c81;
}

@media screen and (max-width: 750px) {
    .trip-display_note_warn {
        font-size: 3vw;
    }
}

.trip-point__wrapper .sp_view {
    width: 85%;
    margin: auto;
}

.footer__txt {
    padding-top: 2rem;
    background-color: #E6E9EF;
    text-align: center;
}


/* 画像上にテキストを重ねる配置 */
.kv {
    position: relative;
    line-height: 0; /* 画像下の余白抑止 */
}

/* 下から30%の位置に配置（PC想定） */
.kv .under_kv {
    position: absolute;
    left: 50%;
    bottom: 10%;
    transform: translateX(-50%);
    width: 90%;
    z-index: 100;
    text-align: center;
    max-width: 1200px;
}

.kv .under_kv_text {
    display: inline-block;
    background: none;
    color: #5b6173;
    font-size: 1.5vw;
    line-height: 1.8;
    padding: 1rem 1.5rem;
    font-family: 'Noto Sans JP', sans-serif;
}

/* SP位置と文字サイズ調整 */
@media screen and (max-width: 750px) {
    .kv .under_kv {
        bottom: 5%; /* 端末比率に応じて微調整 */
        width: 92%;
    }

    .kv .under_kv_text {
        font-size: 3.6vw;
        padding: 10px 12px;
        border-radius: 6px;
    }
}

.trading {
    /* 上10%グレー、下90%白 */
    background: linear-gradient(to bottom, #E6E9EF 0 10%, #fff 10% 100%);
}


.trading_head_wrapper {
    background-image: url("/oshi-tabi/travel_medley/img/special/trading_bg.webp"), url("/oshi-tabi/travel_medley/img/special/trading_bottom_bg.webp");
    background-repeat: no-repeat;
    background-position: top center, bottom center;
    background-size: 100% auto;

    text-align: center;
    margin: auto;
    padding-top: 5rem;
    border-radius: 8rem 8rem 0 0;
    overflow: hidden;
}

.trading_body{
    max-width: 1200px;
    margin: auto;
    text-align: center;
}

.trading_header {
    max-width: 1200px;
    width: 80vw;
    margin: auto;
    text-align: center;
}

.trading_midashi {
    padding-top: 2rem;
    padding-bottom: 2rem;
    max-width: 1200px;
    width: 80vw;
    margin: auto;
    text-align: center;

}

.trading_box {
    max-width: 1200px;
    width: 80vw;
    margin: auto;
    text-align: center;

}

.trading_admission {
    max-width: 1200px;
    padding-top: 2rem;
    width: 80vw;
    margin: auto auto 2rem auto;
    text-align: center;

}

.trading_attention {
    margin: 2rem auto !important;
    width: 80vw;
    text-align: left;
}

.trading_attention .detail a {
    color: #ff74b8;
    text-decoration: underline;
}


/* 親側で左に20vwの余白を確保 */
.trading_shinkansen {
    padding-left: 10vw;
}

/* 画像は80vwで左寄せ表示 */
.trading_shinkansen img {
    width: 90vw;
    height: auto;
    display: block;
}

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

    .trading_head_wrapper {
        background-image: url("/oshi-tabi/travel_medley/img/special/trading_bg_sp.webp"), url("/oshi-tabi/travel_medley/img/special/trading_bottom_bg.webp");
        background-repeat: no-repeat;
        background-position: top right, bottom center;
        background-size: 100% auto;

        text-align: center;
        margin: auto;
        padding-top: 5rem;
        border-radius: 3rem 3rem 0 0;
        overflow: hidden;
    }

    .trading_header,.trading_midashi,.trading_box ,.trading_admission{
        width: 90vw;
    }

}



.memorial_header {
    max-width: 1200px;
    width: 80vw;
    margin: auto;
    text-align: center;
}

.memorial_stamp {
    /* 横グラデーション（左ピンク→右オレンジ） */
    background: linear-gradient(to right, #ffc0d6 0%, #ffa54d 100%);

    /* 格子（1px）の薄い線：2つのlinear-gradientを重ねる */
    background-image: linear-gradient(#ffffff26 1px, transparent 1px),
    linear-gradient(90deg, #ffffff26 1px, transparent 1px),
    linear-gradient(to right, #F4CADD 0%, #FEE0B7 100%); /* 最背面のグラデーション */
    background-size: 3vw 3vw, /* 横線の間隔 */ 3vw 3vw, /* 縦線の間隔 */ 100% 100%; /* グラデーション全面 */
    background-position: top left,
    top left,
    center;
    background-repeat: repeat,
    repeat,
    no-repeat;

    padding: 5rem 0 3rem 0;

}

@media screen and (max-width: 750px) {
    .memorial_header {
        width: 90vw;
    }
    .trading_area {
        width: 90vw;
    }
}

.trading_area {
    max-width: 1200px;
    width: 80vw;
    margin: 2rem auto;
    text-align: center;
    display: flex;
    flex-direction: column;   /* 縦並び */
    align-items: center;      /* 左右中央揃え */
    gap: 2rem;                /* 要素間隔 */
}

/* 画像サイズを必要に応じて制限する場合 */
.trading_area > div img {
    display: block;
    max-width: 80vw;
    height: auto;
}

@media screen and (max-width: 750px) {
    .trading_area {
        width: 90vw;
    }
    .trading_area > div img {
        max-width: 90vw;
    }
}


/*********************
.accordion-menu
*********************/
/*********************
アコーディオン
*********************/
.accordion-menu {
    background: #FFF;
    border-radius: 8px;
    border: 1px solid #5b6173;
    max-width: 1200px;
    margin: 0 auto 0;
}
.accordion-menu .label {
    cursor:pointer;
    font-size: 20px;
    font-weight: bold;
    padding: 20px 0;
    position: relative;
    transition: .5s;
    text-align: center;
}
/*
ラベル右側のアイコン「＋」を設定
beforeが横棒
afterが縦棒
*/
.accordion-menu .label::before,
.accordion-menu .label::after {
    content: '';
    width: 20px;
    height: 2px;
    background: #5b6173;
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translateY(-50%);
}
.accordion-menu .label::after {
    transform: translateY(-50%) rotate(90deg);
    transition: .2s;
}
/*
アコーディオンメニューが開いている場合
*/
.accordion-menu .label.open::before {
    /* ラベルアイコンの横棒を非表示 */
    opacity: 0;
}
.accordion-menu .label.open::after {
    /* ラベルアイコンの縦棒を横向きに回転 */
    transform: rotate(180deg);
}
/*
アコーディオンメニューのコンテンツ部分は、「display: none;」で非表示にしておく。
ラベルクリック時にjQueryの「  $(this).next().slideToggle();」で表示に切り替わる
*/
.accordion-menu .detail {
    border-top: dotted 2px #000;
    padding: 35px 30px;
    display: none;
    font-size: 16px;
    line-height: 2;
}

@media screen and (max-width: 750px) {
    .accordion-menu {
        width: 90%;
    }
    .accordion-menu .label {
        padding: 10px 0;
        font-size: 16px;
    }
    .accordion-menu .detail {
        padding: 1rem 1rem;
        font-size: 0.8rem;
    }
    .accordion-menu .label::before,
    .accordion-menu .label::after {
        right: 5%;
        width: 15px;
        height: 1px;
    }
}

.accordion-menu.trip-stamp-map__way {
    background: #FFF;
    border-radius: 8px;
    border: none;
    max-width: 90%;
    margin: 30px auto 0;
}
.accordion-menu.trip-stamp-map__way .label {
    cursor:pointer;
    font-size: 20px;
    font-weight: bold;
    padding: 20px 0;
    position: relative;
    transition: .5s;
    text-align: center;
    background: #d70051;
    border-radius: 8px;
    color: #FFF;
}
/*
ラベル右側のアイコン「＋」を設定
beforeが横棒
afterが縦棒
*/
.accordion-menu.trip-stamp-map__way .label::before,
.accordion-menu.trip-stamp-map__way .label::after {
    content: '';
    width: 20px;
    height: 2px;
    background: #FFF;
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translateY(-50%);
}
.accordion-menu.trip-stamp-map__way .label::after {
    transform: translateY(-50%) rotate(90deg);
    transition: .2s;
}
/*
アコーディオンメニューが開いている場合
*/
.accordion-menu.trip-stamp-map__way .label.open::before {
    /* ラベルアイコンの横棒を非表示 */
    opacity: 0;
}
.accordion-menu.trip-stamp-map__way .label.open::after {
    /* ラベルアイコンの縦棒を横向きに回転 */
    transform: rotate(180deg);
}
/*
アコーディオンメニューのコンテンツ部分は、「display: none;」で非表示にしておく。
ラベルクリック時にjQueryの「  $(this).next().slideToggle();」で表示に切り替わる
*/
.accordion-menu.trip-stamp-map__way .detail {
    border-top: none;
    padding: 35px 30px;
    display: none;
    font-size: 16px;
    line-height: 2;
}

@media screen and (max-width: 750px) {
    .accordion-menu.trip-stamp-map__way {
        width: 90%;
    }
    .accordion-menu.trip-stamp-map__way .label {
        padding: 10px 0;
        font-size: 16px;
    }
    .accordion-menu.trip-stamp-map__way .detail {
        padding: 20px;
        font-size: 12px;
    }
    .accordion-menu.trip-stamp-map__way .label::before,
    .accordion-menu.trip-stamp-map__way .label::after {
        right: 5%;
        width: 15px;
        height: 1px;
    }
}

.spot_list {
    width: 80vw;
    margin-top:2rem;
    margin-bottom: 2rem;
}


/* スポット一覧 */
.spot_list {
    width: 80vw;
    margin: 2rem auto;
}

.spot_list .detail_grid {
    padding: 2rem 2rem 2rem 6rem;
}
.spot_list .detail_grid {
    padding: 2rem 2rem 2rem 2rem;
}

.spot_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 20px;
}

@media screen and (max-width: 750px) {
    .spot_list {
        width: 90vw;
    }
        .spot_grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

.spot_item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.spot_label {
    flex-shrink: 0;
    min-width: 80px;
    padding: 8px 12px;
    border-radius: 20px;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    color: white;
}

.spot_label.pink {
    background-color: #ff74b8;
}

.spot_text {
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}

@media screen and (max-width: 750px) {
    .spot_item {
        gap: 8px;
    }

    .spot_label {
        min-width: 17vw;
        padding: 6px 10px;
        font-size: 2.8vw;
    }

    .spot_text {
        font-size: 2.8vw;
    }
}

.spot_warn {
    font-size: 14px;
    color: #333;
}

.trading_pdf_area {
    max-width: 1200px;
    width: 70vw;
    margin: 2rem auto;
    text-align: center;
}
.trading_pdf_btn {
    width: 40vw;
    margin: 1.5rem auto;
    text-align: center;
}

@media screen and (max-width: 750px) {
    .trading_pdf_area {
        width: 90vw;
    }
    .trading_pdf_btn {
        width: 90vw;

    }
}



.original_wallpaper {
    /* 横グラデーション（左ピンク→右オレンジ） */
    background: linear-gradient(to right, #FAE5EE 0%, #FFEFDB 100%);

    /* 格子（1px）の薄い線：2つのlinear-gradientを重ねる */
    background-image: linear-gradient(#ffffff26 1px, transparent 1px),
    linear-gradient(90deg, #ffffff26 1px, transparent 1px),
    linear-gradient(to right, #FAE5EE 0%, #FFEFDB 100%); /* 最背面のグラデーション */
    background-size: 3vw 3vw, /* 横線の間隔 */ 3vw 3vw, /* 縦線の間隔 */ 100% 100%; /* グラデーション全面 */
    background-position: top left,
    top left,
    center;
    background-repeat: repeat,
    repeat,
    no-repeat;

    padding: 3rem 0 3rem 0;

}

.original_wallpaper_header {
    max-width: 1200px;
    width: 80vw;
    margin: auto;
    text-align: center;
}


.original_wallpaper_image {
    max-width: 1200px;
    width: 80vw;
    margin: 2rem auto;
    text-align: center;
}

.original_wallpaper_admission {
    max-width: 1200px;
    width: 80vw;
    margin: 2rem auto;
    text-align: center;
}

@media screen and (max-width: 750px) {
    .original_wallpaper_header {
        width: 90vw;
   }

    .original_wallpaper_image {
        width: 90vw;
    }

    .original_wallpaper_admission {
        width: 90vw;
    }

}
.stamp_warn {
    max-width: 1200px;
    width: 80vw;
    font-size: 14px;
}
.stamp_warn .detail a {
    color: #ff74b8;
    text-decoration: underline;
}


/* 注意書き（sp）の箇条書き：※は擬似要素で出力 */
.trading_warn.sp_view ul{
    padding: 0;
    width: 90vw;
    margin: auto;
    text-align: left;
}

.trading_warn.sp_view li{
    list-style: none;
    position: relative;
    line-height: 1.9;
    color: #5b6173;
    /* 記号幅＋余白分だけ字下げして、折り返しを揃える */
    padding-left: 1.8em;   /* 調整値：見た目に合わせて1.4–2.0emで微調整可 */
}

/* 先頭の「※」マーク */
.trading_warn.sp_view li::before{
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
    color: #5b6173;
    /* ベースライン合わせ用（フォントにより微調整） */
    line-height: 1.9;
}


/* ===== Ekiben slider – 安定表示パッチ ===== */

.special_ekiben{
    width: 100%;
    background-color:#F5F5F9;
}

/* 横並びの土台 */
.special_ekiben_wrapper{
    box-sizing: border-box;
    width: min(80vw, 1200px);
    margin: 0 auto;
    padding: 5rem 0 1rem;
}

@media screen and (max-width: 750px) {
    .special_ekiben_wrapper{
        width: min(90vw, 1200px);
    }
}
.ekiben{
    width: 100%;
    margin: 0 auto;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    gap:40px;
}

/* 左（説明画像） */
.ekiben_description{flex:1 1 50%;}
.ekiben_description img{display:block;width:100%;height:auto;}

/* 右（スライダー本体） */
.ekiben_slider{
    flex:1 1 50%;
    position:relative;
    margin:0 auto;
    /* ← ドットを中に配置するので領域を確保 */
    padding-bottom:34px;
    /* ← 親overflowの影響を避ける */
    overflow:visible;
    min-width:0; /* flex 子要素の幅計算バグ防止 */
}

/* slick が生成する要素の基本 */
.ekiben_slider .slick-list{overflow:hidden;border-radius:20px;}
.ekiben_slider .slick-track{display:flex !important;align-items:center;}
.ekiben_slider .slick-slide{width:100% !important;text-align:center;}
.ekiben_slider .slick-slide img{display:block;width:100%;height:auto;object-fit:contain;margin:0 auto;}

/* ここが重要：ドットを“絶対配置”から“通常フロー”に変更
   → 親の overflow に隠れない／常に下に見える */
.ekiben_slider .slick-dots{
    position:static !important;
    transform:none !important;
    display:flex !important;
    justify-content:center;
    gap:10px;
    list-style:none;
    margin:10px 0 0;
    padding:0;
}
.ekiben_slider .slick-dots li{margin:0;padding:0;}
.ekiben_slider .slick-dots button{
    width:10px;height:10px;border-radius:50%;
    border:none;cursor:pointer;text-indent:-9999px;
    background:#f4a7b9;transition:background .2s;
}
.ekiben_slider .slick-dots .slick-active button{background:#e44d68;}


/* スマホ */
@media (max-width:750px){
    .ekiben{flex-direction:column;align-items:center;gap:30px;}
    .ekiben_description{flex:1 1 100%;text-align:center;}
    .ekiben_slider{flex:1 1 100%;max-width:92%;}
}

.prev-arrow , .next-arrow {
    position: absolute;
    width: 2rem;
    top: 38%;
    z-index: 10;
}

.prev-arrow {
    left: 0;
}
.next-arrow {
    right: 0;
}
.divider {
    background-color: #F5F5F9;
    width:100vw;
    margin: auto;
    text-align: center;
}

.divider img {
    width: 80vw;
    max-width: 1200px;
}

@media (max-width:750px) {
    .divider img {
        width: 90vw;
    }
}

.original_display {
    width: 100vw;
    background-color: #F5F5F9;
    text-align: center;
}

.original_display_wrapper {
    margin: 0 auto;
    padding: 2rem 0;
    max-width: 1200px;
    width: 80vw;
}


.original_display img {
    width: 65vw;
}
@media (max-width:750px) {
    .original_display_wrapper {
        width: 90vw;
    }
    .original_display img {
        width: 90vw;
    }

}

.original_display_image {
    width: 100vw;
    background-color: #F5F5F9;
    padding-bottom: 3rem;
}

.special_goods {
    width: 100vw;
    background-color: #F5F5F9;
    margin: 0 auto;
    padding: 2rem 0;
    text-align: center;
}

.special_goods_header {
    width: 80vw;
    max-width: 1200px;
    margin: auto;
    text-align: left;
}


.special_goods_header img {
    width: 50vw;
    max-width: 1200px;
}

@media (max-width:750px) {
    .special_goods_header {
        width: 90vw;
    }
    .special_goods_header img {
        width: 90vw;
    }
}

.special_goods_image {
    max-width: 1200px;
    width: 80vw;
    margin: 2rem auto;
    text-align: center;
}
@media (max-width:750px) {
    .special_goods_image {
        width: 90vw;
    }
}


.special_goods_shop_info {
    max-width: 1200px;
    width: 80vw;
    margin: 2rem auto;
    text-align: center;
}
@media (max-width:750px) {
    .special_goods_shop_info {
        width: 90vw;
    }
}
.tabimas_point {
    width: 100vw;
    margin: 0 auto;
    text-align: center;
    background: linear-gradient(to bottom left, #FDEAF2, #E5E9FA);
    border-radius: 0 0 8rem 8rem;
    border-bottom: 2px solid white;
}

@media (max-width:750px) {
    .tabimas_point {
        border-radius: 0 0 3rem 3rem;
    }
}

.tabimas_point_wrapper {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    width: 80vw;
    padding: 5rem 0 3rem;
}

.tabimas_point_upper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 3rem;
}

.tabimas_point_left{
    display: flex;
    flex-direction: column;
    flex-basis: 48%;
    gap: 3vw;
}
.tabimas_point_left.left_top {

}
.tabimas_point_left.left_bottom {

}

.tabimas_point_right{
    flex-basis: 48%;
}

.tabimas_point_bg_wrapper {
    background-color: #E6E9EF;
}

.inner_link_button {
    margin-bottom: 1rem;
}


.tabimas_point_header_sp {
    width: 90vw;
    margin:  auto;
    text-align: center;
    padding: 2rem 0 0;
}

.tabimas_point_image_sp {
    width: 60vw;
    margin: 2rem auto;
    text-align: center;

}

.tabimas_point_check_sp {
    width: 90vw;
    margin: 2rem auto;
    text-align: center;
}
.tabimas_point_detail_sp {
    width: 90vw;
    margin: 2rem auto 4rem;
    text-align: center;
}

.tabimas_point_link_header_sp {
    width: 90vw;
    margin: 2rem auto;
    text-align: center;
}


.tabimas_point_link_btn_sp {
    width: 90vw;
    margin: 2rem auto;
    text-align: center;
}

.tabimas_point_warn_sp {
    width: 70vw;
    margin: 2rem auto;
    font-size: .9rem;
    text-align: center;
}

.warn_text_sp {
    text-align: left;
}