/* *****
 bg
 - 背景 */
.ui-static-breadcrumb {
    background: #fff;
}

.bg_triangle {
    background: url(../images/bg_triangle.png) bottom;
    background-size: cover;

}

.webp .bg_triangle {
    background: url(../images/bg_triangle.webp) bottom;
    background-size: cover;
}

@media (max-width: 768px) {
    .bg_triangle .mv__header {
        background: url(../images/bg_triangle.png) bottom;
        background-size: cover;
    }

    .webp .bg_triangle .mv__header {
        background: url(../images/bg_triangle.webp) bottom;
        background-size: cover;

    }
}

/* *****
 loading */

.loading-icon {
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* *****
 mv */
.mv__header {
    padding-top: 40px;
    padding-bottom: 0;
}

@media (max-width: 768px) {
    .mv__header {
        padding-bottom: 40px;
    }

    .mv__title-text {
        font-size: 32px;
    }
}

.local-nav__btn-link--short {
    display: none;
}

.local-nav__btn-link--long {
    display: block;
}

@media (max-width: 840px) {
    .local-nav__btn-link--short {
        display: block;
    }

    .local-nav__btn-link--long {
        display: none;
    }
}

/*  */

.review-post__button {
    display: inline-block;
    min-width: 256px;
    padding: 12px 16px;
    border-radius: 100px;
    background: #10069F;
    text-align: center;
    color: #FFF;
    font-size: 16px;
    font-weight: 700;
    line-height: 130%;
    text-decoration: none;
}

/* *****
 総合評価
 - review-overall-evaluation */

.overall-evaluation__slider-area {
    -ms-grid-row-span: 1;
    grid-row: span 1/span 1;
}

.review-overall-evaluation {}

.review-overall-evaluation__loading {
    text-align: center;
    color: #fff;
}

.review-overall-evaluation__error {}

.review-overall-evaluation__grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: calc((100% - 24px) / 12 * 8.5) calc((100% - 24px) / 12 * 3.5);
    gap: 24px;
    align-items: stretch;
}

.review-overall-evaluation__card {}

.review-overall-evaluation__card--primary {

    display: flex;
    padding: 24px 24px 8px 24px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    border-radius: 8px;
    /* background: url(../images/bg_over.webp) rgba(255, 255, 255, 0.90); */
    box-shadow: 0 0 7px 0 rgba(44, 42, 41, 0.25);
    position: relative;
    background-color: rgba(255, 255, 255, 0.90);
    overflow: hidden;
}


.review-overall-evaluation__card--primary::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(../images/bg_over.webp);
    background-size: contain;
    opacity: 0.4;
}

.review-overall-evaluation__card--secondary {}

.review-overall-evaluation__card--secondary .slick-slider {
    margin-bottom: 0;
    height: 100%;
}

.review-overall-evaluation__card--secondary .slick-arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    border-radius: 100px;
    background: #FFF;
    color: #697180;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9;
}

.review-overall-evaluation__card--secondary .slick-arrow:focus {
    opacity: 1;
}

.review-overall-evaluation__card--secondary .slick-arrow:hover {
    opacity: 0.4;
}

.review-overall-evaluation__card--secondary .slick-prev {
    left: -15px;
}

.review-overall-evaluation__card--secondary .slick-next {
    right: -15px;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    opacity: 0.4;
}

.review-overall-evaluation__card--secondary .slick-prev:before,
.review-overall-evaluation__card--secondary .slick-next:before {
    background: none;
    color: #697180;
    padding: 0;
    font-size: 14px;
}


.slick-prev:before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 7 12' fill='none'%3E%3Cpath d='M2.66219 5.6246L6.40804 9.37041C6.61603 9.5784 6.72 9.83956 6.72 10.1538C6.72 10.4681 6.61603 10.7293 6.40804 10.9372C6.20005 11.1452 5.93889 11.2492 5.6246 11.2492C5.31031 11.2492 5.04919 11.1452 4.84121 10.9372L0.317871 6.41391C0.207619 6.30366 0.12709 6.18129 0.0762465 6.04682C0.0254404 5.91235 0 5.77159 0 5.6246C0 5.47761 0.0254404 5.3369 0.0762465 5.20239C0.12709 5.06791 0.207619 4.94555 0.317871 4.8353L4.84121 0.311963C5.04919 0.103975 5.31031 0 5.6246 0C5.93889 0 6.20005 0.103975 6.40804 0.311963C6.61603 0.519951 6.72 0.781071 6.72 1.09536C6.72 1.40965 6.61603 1.67081 6.40804 1.87879L2.66219 5.6246Z' fill='%23697180'/%3E%3C/svg%3E");
    display: inline-block;
    width: 7px;
    height: 12px;
}

.slick-next:before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 7 12' fill='none'%3E%3Cpath d='M4.05754 5.62466L0.31169 1.87885C0.103702 1.67087 -0.000272844 1.40971 -0.000272817 1.09542C-0.000272789 0.781131 0.103702 0.52001 0.31169 0.312023C0.519678 0.104035 0.780834 6.0516e-05 1.09512 6.05434e-05C1.40941 6.05709e-05 1.67053 0.104035 1.87852 0.312023L6.40186 4.83536C6.51211 4.94561 6.59264 5.06797 6.64348 5.20245C6.69429 5.33692 6.71973 5.47767 6.71973 5.62466C6.71973 5.77165 6.69429 5.91237 6.64348 6.04688C6.59264 6.18135 6.51211 6.30372 6.40186 6.41397L1.87852 10.9373C1.67053 11.1453 1.40941 11.2493 1.09512 11.2493C0.780833 11.2493 0.519677 11.1453 0.311689 10.9373C0.103701 10.7293 -0.000273636 10.4682 -0.000273609 10.1539C-0.000273581 9.83962 0.103701 9.57846 0.311689 9.37047L4.05754 5.62466Z' fill='%23697180'/%3E%3C/svg%3E");
    display: inline-block;
    width: 7px;
    height: 12px;
}

.slick-prev:hover:before,
.slick-next:hover:before {
    opacity: 0.4;
    background: none;

}

.slick-prev:focus:before,
.slick-next:focus:before {
    background: none;
}

.review-overall-evaluation__card--secondary .slick-list.draggable,
.review-overall-evaluation__card--secondary .slick-slider .slick-track {
    height: 100%;
}

.review-overall-evaluation__card-inner {
    width: 100%;
    -ms-grid-row-span: 1;
    grid-row: span 1/span 1;
    display: -ms-grid;
    display: grid;
    grid-template-columns: 1fr clamp(200px, 50%, 310px);
    gap: 8px;
    z-index: 1;
}

@media (max-width: 1000px) {

    .review-overall-evaluation__grid {
        display: block;
        width: 100%;
    }

    .review-overall-evaluation__card--primary {
        margin-bottom: 24px;
    }
}

@media (max-width: 768px) {

    .review-overall-evaluation__card-inner {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        width: 100%;
    }
}

/* 新設：集計データラッパー */
.review-overall-evaluation__analytics {}

.review-overall-evaluation__section {}

.review-overall-evaluation__section--overall {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.review-overall-evaluation__title--overall {
    font-size: 24px;
    font-weight: 700;
    line-height: 110%;
    padding-left: 16px;
    position: relative;
    width: calc(4em + 16px);

}

.review-overall-evaluation__title--overall::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 1em;
    border-radius: 9px;
    background: #10069F;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.review-overall-evaluation__score-display {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    width: calc(100% - (24px * 4 + 16px + 8px));
}

.review-overall-evaluation__score-number {
    font-size: 32px;
    font-weight: 700;
}

.review-overall-evaluation__score-stars.star-rating .star-rating-star {
    color: #C0C5CC;
}

.review-overall-evaluation__score-stars.star-rating .star-rating-star.star-rating-star-yellow {
    color: #f5cf3f;
}

.review-overall-evaluation__score-count {
    font-size: 14px;
    font-weight: 400;
}

@media (max-width: 768px) {
    .review-overall-evaluation__section--overall {
        display: grid;
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        width: 100%;

    }

    .review-overall-evaluation__title--overall {
        width: 100%;
    }

    .review-overall-evaluation__score-display {
        display: block;
        text-align: center;
        width: 100%;
    }

    .review-overall-evaluation__score-number {
        text-align: center;
        font-size: 48px;

    }

    .review-overall-evaluation__score-stars {
        align-items: center;
        justify-content: center;
    }

    .review-overall-evaluation__score-count {}
}

.review-overall-evaluation__section--breakdown {}

.review-overall-evaluation__section--breakdown .review-overall-evaluation__title {
    font-size: 14px;
    text-align: center;
    font-weight: 700;
    border-radius: 8px 8px 0 0;
    padding: 8px;
    color: #fff;
    background: #10069F;
}

.review-overall-evaluation__breakdowns {
    padding: 24px 16px;
    border: 1px solid #10069F;
    background: #F5F7FA;
}

.review-overall-evaluation__section--radar {
    -ms-grid-row-span: 1;
    grid-row: span 1/span 1;
}

.review-overall-evaluation__section--destination,
.review-overall-evaluation__section--travel-count {
    padding: 16px 40px;
    border-radius: 8px;
    border: 1px solid #FFF;
    background: rgba(255, 255, 255, 0.07);
    color: #fff;
    height: 100%;
}

.review-overall-evaluation__section--destination .review-overall-evaluation__title,
.review-overall-evaluation__section--travel-count .review-overall-evaluation__title {
    font-size: 16px;
    text-align: center;
    font-weight: 700;
    line-height: 130%;
    margin-bottom: 16px;
}

.review-overall-evaluation__link-wrapper {
    text-align: right;
    z-index: 1;
}

.review-overall-evaluation__link {
    display: inline-block;
    color: #2C2A29;
    position: relative;
    text-decoration: none;
    background: url(../images/icon_arrow.svg) no-repeat left center;
    padding-left: 20px;
}
.review-overall-evaluation__link:hover{
    opacity: 0.5;
}
@media (max-width: 768px) {

    .review-overall-evaluation__section--destination,
    .review-overall-evaluation__section--travel-count {
        padding: 16px 20px;
    }
}

/* グラフ */
.review-bar-graph {
    display: grid;
    grid-template-columns: 1fr 1fr 3em;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.review-bar-graph--breakdown {
    display: grid;
    grid-template-columns: 3em 1fr 4em;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.review-bar-graph__label--breakdown {
    font-size: 14px;
    font-weight: 700;
    align-items: center;
}

.review-bar-graph__label--breakdown .star-rating-star {
    font-size: 1em;
    padding-right: 4px;
}

.review-bar-graph__label--destination,
.review-bar-graph__label--travel-count {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    min-width: 8em;
}

.review-bar-graph__track--breakdown,
.review-bar-graph__track--destination,
.review-bar-graph__track--travel-count {
    background: #fff;
    border-radius: 2px;
    height: 6px;
    /* overflow: hidden; */
}

.review-bar-graph__track--breakdown {
    background: #C0C5CC;
}

.review-bar-graph__fill {
    height: calc(100% + 6px );
    border-radius: 2px;
    margin-top: -3px;
    background: #10069F;
    transition: width 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

.review-bar-graph__value {
    font-size: 14px;
    color: #fff;
    text-align: right;
}

.review-bar-graph__value--breakdown {
    font-size: 14px;
    text-align: right;

}

/* チャート */
.review-radar-chart {
    display: block;
    height: auto !important;
    max-width: 280px;
    margin: 0 auto;
    width: 100% !important;
}

.review-radar-chart__grid {
    fill: none;
    stroke: #0038FF;
    stroke-width: 0.5;
    stroke-dasharray: 0;
}

.review-radar-chart__grid-1 {

    stroke-width: 0;
}

.review-radar-chart__axis {
    /* stroke: #0038FF; */
    stroke-width: 1;
}

.review-radar-chart__polygon {
    fill: url(#radar-gradient-fill);
    stroke: url(#radar-gradient-stroke);
    stroke-width: 2px;
    stroke-linejoin: round;
}

.review-radar-chart__label {
    fill: #333;
    font-weight: 600;
    display: block;
    text-align: center;
}

.review-radar-chart__label-text {
    font-size: 11px;

}

.review-radar-chart__label-value {
    font-size: 14px;
    font-weight: 700;

}

/* move */

.review-radar-chart__polygon {
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(0);
    opacity: 0;
    transition: none;
}

.review-radar-chart--animated .review-radar-chart__polygon {
    transform: scale(1);
    opacity: 1;
    transition:
        transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1),
        opacity 0.4s ease;
}

.review-radar-chart__label {
    opacity: 0;
    transition: none;
}

.review-radar-chart--animated .review-radar-chart__label {
    opacity: 1;
    transition: opacity 0.5s ease 0.5s;
}

.review-radar-chart__grid,
.review-radar-chart__axis {
    opacity: 0;
    transition: none;
}

.review-radar-chart--animated .review-radar-chart__grid,
.review-radar-chart--animated .review-radar-chart__axis {
    opacity: 1;
    transition: opacity 0.6s ease 0.3s;
}

/* *****
 クチコミ
 - reviews-filter */
.reviews-filter {
    padding-top: 96px;
    padding-bottom: 96px;
}

@media screen and (max-width: 768px) {
    .reviews-filter {
        padding-top: 64px;
        padding-bottom: 64px;

    }
}

.review-filter {}

.review-filter__title {
    background: #10069F;
    color: #FFF;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 130%;
    padding: 16px;
    cursor: pointer;
    user-select: none;
    position: relative;
}

.review-filter__title:hover{
    
    background: #140D77;
}
.review-filter__title-icon {
    display: inline-block;
    background: url(../images/icon_nav_arrow.svg);
    width: 16px;
    height: 16px;
    position: absolute;
    right: 16px;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: transform 0.2s;
}

.review-filter__controls {
    overflow: hidden;
    border-radius: 8px;
    border-right: 2px solid #10069F;
    border-bottom: 2px solid #10069F;
    border-left: 2px solid #10069F;
    background: #FFF;
    margin-bottom: 64px;
}


.review-filter__groupsinner {
    padding: 40px;
}

.review-filter__group {
    display: grid;
    grid-template-columns: 2fr 10fr;
    align-items: center;
    gap: 40px;
}

.review-filter__group:not(:last-child) {
    margin-bottom: 24px;
}

.review-filter__group-title {
    font-size: 14px;
    font-weight: 700;
}

.review-filter__checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}


/*
   アコーディオン（PC）/ モーダル（SP）機能
*/

/* モーダルの外枠は幅に関わらず常にグローバルで定義 */
.review-filter__modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    max-height: 100vh;
    top: 0;
}

.review-filter__modal-overlay.is-open {
    /* display: flex;
    flex-direction: column; */
    display: block;
    background-color: #fff;
}

@media (min-width: 769px) {


    .review-filter__title-icon.is-open {
        transform: rotate(180deg);
    }

    .review-filter__groups {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    .review-filter__groups.is-open {
        display: block;
    }
}

/* SP：モーダル */
@media (max-width: 768px) {
    .review-filter__title {
        font-size: 18px;
    }

    .review-filter__title-icon {
        transform: rotate(-90deg);
    }

    .review-filter__modal-header {
        position: relative;
        text-align: center;
        padding: 12px 16px;
        border-bottom: 1px solid #E9ECF2;
        background: #FFF;
        font-size: 14px;
        line-height: 150%;

        flex-shrink: 0;

        height: 45px;
    }

    .review-filter__modal-title {
        font-size: 14px;
        font-weight: 700;
    }

    .review-filter__modal-close {
        position: absolute;
        left: 16px;
        top: 0;
        bottom: 0;
        margin: auto;
        padding: 4px;
        background: none;
        border: none;
    }

    /* SPでは通常非表示。teleportでモーダル内に移動した時だけ下のルールで表示 */
    .review-filter__groups {
        display: none;
    }

    .review-filter__modal-body .review-filter__groups {
        display: block;
        height: 100%;
        max-height: 100% !important;
        padding: 0;
    }

    .review-filter__modal {
        position: relative;
        /* display: flex;
        flex-direction: column; */
        height: 100%;

        /* overflow-y: scroll; */
    }

    .review-filter__modal-body {
        /* flex: 1;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch; */

        height: calc(100% - 45px);
        max-height: 100%;
        /* overflow-y: auto; */
    }

    .review-filter__groupsinner {
        height: 100%;
        box-sizing: border-box;
        overflow-y: scroll;
        padding: 16px 20px 40px 20px;
    }
}

/* ----------------------
   チェックボックス・ラジオボタンのボタン装飾
   -------------------- */
.review-filter__label-btn {
    cursor: pointer;
    display: inline-block;
}

.review-filter__input-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.review-filter__btn-text {
    display: inline-block;
    padding: 8px 16px;
    font-size: 12px;
    border-radius: 100px;

    color: #2C2A29;
    transition: all 0.2s ease;
    user-select: none;
    border: 1px solid #939DAD;
    background: #FFF;
}

.review-filter__btn-text:hover {
    background-color: #2C2A29;
    border-color: #2C2A29;
    color: #fff;
}

.review-filter__input-hidden:focus+.review-filter__btn-text {
    color: #2C2A29;
    border: 1px solid #939DAD;
    background: #FFF;
}

.review-filter__input-hidden:checked+.review-filter__btn-text {
    background-color: #2C2A29;
    border-color: #2C2A29;
    color: #fff;
}

/* ------- */

.review-filter__button-group {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

@media screen and (max-width: 768px) {
    .review-filter__group {
        display: block;
    }

    .review-filter__groups {
        padding: 24px 24px 40px 24px;
    }

    .review-filter__group-title {
        margin-bottom: 8px;
    }

    .review-filter__button-group {
        flex-direction: column-reverse;
    }
}

.review-filter__button {}

.review-filter__button--reset {
    display: block;
    padding: 8px 16px;
    border-radius: 100px;
    border: 1px solid #939DAD;
    background: #FFF;
    color: #2C2A29;
    font-size: 12px;
}

.review-filter__button--reset:hover {
    opacity: 0.5;
}

.review-filter__button--search {
    display: block;
    border-radius: 100px;
    min-width: 256px;
    padding: 12px 16px;
    color: #FFF;
    text-align: center;
    border: 1px solid #10069F;
    background: #10069F;

    font-size: 16px;
    font-weight: 700;
}

.review-filter__button--search:hover {
    border: 1px solid #140D77;
    background: #140D77;
}

.review-filter__stats {}

.review-filter__stat-box {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.review-filter__stat-label {}

.review-filter__stat-count {}

.review-filter__loading,
.review-filter__error {
    text-align: center;
    margin-bottom: 24px;
}

/* 検索結果 */
.review-filter__results {}

.review-filter__result {
    position: relative;
    padding: 40px 40px 24px 40px;
    border: 0 solid #E9ECF2;
    background: #FFF;
    margin-bottom: 24px;
}

.review-filter__result:last-child {
    margin-bottom: 40px;

}


.review-filter__result-info {
    margin-bottom: 40px;
}

.review-filter__badge-new {
    position: absolute;
    top: 24px;
    right: 24px;
    padding: 8px 24px;
    background: #DF0D00;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.review-filter__rate {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 16px;
}

.review-filter__rate span {
    padding-right: 16px;
}

.review-filter__result-title {
    color: #2C2A29;
    font-size: 20px;
    font-weight: 700;
    line-height: 130%;
    margin-bottom: 16px;
}

.review-filter__result-comment {
    margin-bottom: 16px;
}

.review-filter__meta-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;

}

.review-filter__meta-item {
    display: inline-block;
    font-size: 12px;
    padding: 8px 16px;
    border-radius: 100px;
    background: #E9ECF2;
}

.review-filter__rating-container {

    display: flex;
    justify-content: center;
    align-items: center;
    padding: 24px;
    gap: 64px;
    margin-bottom: 8px;
    border: 1px solid #E6E6E6;
}

.review-filter__rating-list {}

.review-filter__rating-item {
    display: grid;
    grid-template-columns: 1fr 8em;
    align-items: center;
    gap: 16px;
}

.review-filter__rating-item:not(:last-child) {
    margin-bottom: 8px;

}

.review-filter__rating-service .star-rating-star {
    font-size: 16px;
}

.review-filter__rating-service {
    font-size: 16px;
    font-weight: 700;
}

.review-filter__rating-service span {
    padding-right: 8px;
}

.review-filter__rating-title {}

.review-filter__author-info {
    color: #939DAD;
    text-align: right;

    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
}

@media screen and (max-width: 1000px) {

    .review-filter__rating-container {
        flex-wrap: wrap;
        padding: 24px 16px;
        gap: 8px;
    }

    .review-filter__rating-list {
        min-width: calc(50% - 8px);
        justify-content: flex-start;
    }

}

@media screen and (max-width: 768px) {
    .review-filter__rating-list {
        min-width: 50%;
        justify-content: center;
    }

    .review-filter__stat-box {
        margin-bottom: 16px;
    }

    .review-filter__result {
        padding: 24px 16px 16px;
    }

    .review-filter__result-info {
        margin-bottom: 24px;
    }

    .review-filter__badge-new {
        padding: 5px 16px;
        font-size: 14px;
    }

    .review-filter__rating-item {
        /* grid-template-columns: 9em 2fr; */
    }

    .review-filter__rate {
        font-size: 20px;
    }

    .review-filter__result-title {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .review-filter__rating-list {
        width: 100%;
    }

    .review-filter__result-comment--clamp {
        display: -webkit-box;
        -webkit-line-clamp: 10;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .review-filter__expand-body {
        display: none;
    }

    .review-filter__expand-body.is-expanded {
        display: block;
        margin-bottom: 24px;
    }

    .review-filter__comment-toggle {
        display: block;
        margin: auto;
        text-align: center;
        margin-top: 16px;
        background: none;
        border: none;
        padding: 0;
        font-size: 14px;
        cursor: pointer;
        text-decoration: none;
    }

    .review-filter__comment-toggle::after {
        content: "";
        display: inline-block;
        margin-right: 8px;
        width: 8px;
        height: 5px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'%3E%3Cpath d='M3.74974 4.48C3.65174 4.48 3.55793 4.46304 3.46828 4.42915C3.37861 4.39527 3.29703 4.34156 3.22356 4.26809L0.207975 1.25253C0.0693169 1.11387 0 0.939766 0 0.73024C0 0.520714 0.0693169 0.346634 0.207975 0.207975C0.346634 0.069317 0.520738 0 0.730264 0C0.939791 0 1.11387 0.069317 1.25253 0.207975L3.74974 2.70518L6.24697 0.207975C6.38562 0.069317 6.5597 0 6.76923 0C6.97876 0 7.15284 0.069317 7.2915 0.207975C7.43015 0.346634 7.4995 0.520714 7.4995 0.73024C7.4995 0.939766 7.43015 1.11387 7.2915 1.25253L4.27594 4.26809C4.20246 4.34156 4.12089 4.39527 4.03121 4.42915C3.94156 4.46304 3.84773 4.48 3.74974 4.48Z' fill='%23697180'/%3E%3C/svg%3E");
    }

    .review-filter__comment-toggle[aria-expanded="true"]::after {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'%3E%3Cpath d='M3.74974 0C3.65174 0 3.55793 0.016960 3.46828 0.050848C3.37861 0.084727 3.29703 0.138440 3.22356 0.211910L0.207975 3.22747C0.0693169 3.36613 0 3.54023 0 3.74976C0 3.95929 0.0693169 4.13337 0.207975 4.27203C0.346634 4.41069 0.520738 4.48000 0.730264 4.48000C0.939791 4.48000 1.11387 4.41069 1.25253 4.27203L3.74974 1.77482L6.24697 4.27203C6.38562 4.41069 6.5597 4.48000 6.76923 4.48000C6.97876 4.48000 7.15284 4.41069 7.2915 4.27203C7.43015 4.13337 7.4995 3.95929 7.4995 3.74976C7.4995 3.54023 7.43015 3.36613 7.2915 3.22747L4.27594 0.211910C4.20246 0.138440 4.12089 0.084727 4.03121 0.050848C3.94156 0.016960 3.84773 0 3.74974 0Z' fill='%23697180'/%3E%3C/svg%3E");
    }
}

@media (min-width: 769px) {
    .review-filter__comment-toggle {
        display: none;
    }
}

/* 結果なし */
.review-filter__no-results {
    text-align: center;
}

.review-filter__no-results-title {
    color: #2C2A29;
    text-align: center;
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 40px;
}

.review-filter__no-results-text {
    color: #2C2A29;
    text-align: center;

    font-size: 24px;
    font-weight: 400;
    line-height: 130%;
    margin-bottom: 40px;
}

.review-filter__no-results-action {}


@media screen and (max-width: 768px) {
    .review-filter__no-results-title {
        font-size: 24px;
        margin-bottom: 24px;
    }

    .review-filter__no-results-text {

        font-size: 18px;
        margin-bottom: 24px;
    }
}

/* ページネーション */
.review-filter__pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.review-filter__pagination-btn {
    overflow: hidden;
    border-radius: 4px;
    background: #FFF;
    padding: 16px 18px;
    border: none;
    line-height: 1;
}

.review-filter__pagination-btn:hover,
.review-filter__pagination-btn--active {
    background: #10069F;
    color: #fff;
}

.review-filter__pagination-btn--current {
    background: none;
    color: #697180;
}

.review-filter__pagination-btn-icon {
    color: #697180;
}

.review-filter__pagination-btn:hover .review-filter__pagination-btn-icon {
    color: #fff;
}

.review-filter__ellipsis {}


@media screen and (max-width: 768px) {
    .air-ticket {
        padding-top: 0;
        padding-bottom: 0;
    }
}

/* *****
 ranking
 - 評価ランキング */
.ranking {
    padding-top: 96px;
    padding-bottom: 96px;

}

@media screen and (max-width: 768px) {
    .ranking {
        padding-top: 64px;
        padding-bottom: 64px;

    }
}

.destination-ranking__tabs {
    display: grid;
    align-items: center;
    grid-template-columns: repeat(9, 1fr);
    gap: 8px;
    padding-bottom: 8px;
    margin-bottom: 48px;
}

.destination-ranking__tab {
    cursor: pointer;
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 4px;
    background: #FFF;
    color: #2C2A29;
    padding: 9px 8px;
    font-size: 14px;
    text-align: center;
    height: 100%;
    transition: 0.3s;
}

.destination-ranking__tab:hover {

    background: #10069F;
    color: #fff;
}

.destination-ranking__tab.is-active {
    background: #10069F;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    position: relative;
}

.destination-ranking__tab.is-active::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 8px;
    background: #10069f;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    margin: auto;
}

.destination-ranking__loading {
    text-align: center;
}

.destination-ranking__error {
    text-align: center;
}

.destination-ranking__no-results {
    text-align: center;
}


.destination-ranking__cards {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
}

.destination-ranking__card {
    display: block;
    background: #FFF;
    box-shadow: 0 0 4px -1px rgba(12, 12, 12, 0.1);
    position: relative;
    padding: 24px;
    text-decoration: none;
}

a.destination-ranking__card:hover {
    opacity: 0.5;
    transition: opacity 0.4s ease 0.1s;
}

.destination-ranking__card-header {
    margin-bottom: 16px;
    text-align: center;
}

.destination-ranking__badge {
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 700;
    /* text-align: center; */
    text-align: left;
    font-family: "Roboto";
    font-size: 28px;
    padding: 8px 24px 30px 8px;
    color: #fff;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    line-height: 1;
    width: 80px;
    height: 80px;
}

.destination-ranking__card:nth-child(1) .destination-ranking__badge {
    background-color: #DAB436;
}

.destination-ranking__card:nth-child(2) .destination-ranking__badge {
    background-color: #B0B0B0;
}

.destination-ranking__card:nth-child(3) .destination-ranking__badge {
    background-color: #AD7645;
}

.destination-ranking__badge-title {
    font-size: 10px;
    font-weight: 400;
    display: block;
    text-align: left;
}

.destination-ranking__badge-rank {
    padding: 0 8px;
}

.destination-ranking__airline {
    color: #2C2A29;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: 130%;
    padding: 24px 24px 8px 24px;


    display: flex;
    align-items: center;
    justify-content: center;
}

.destination-ranking__score-number {
    color: #2C2A29;
    text-align: center;
    font-size: 36px;
    font-weight: 700;
    line-height: 130%;
    margin-bottom: 8px;
}

.destination-ranking__score-stars {
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.destination-ranking__score-stars .star-rating-star {
    font-size: 18px;
}

.destination-ranking__card-meta {}

.destination-ranking__card-latest {
    padding: 16px;
    background: #F5F7FA;
}

.destination-ranking__latest-title {
    color: #2C2A29;
    font-size: 14px;
    font-weight: 700;
    line-height: 150%;
    margin-bottom: 8px;
}

.destination-ranking__latest-comment {
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.destination-ranking__latest-info {
    color: #939DAD;
    text-align: right;

    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
}

@media (max-width: 768px) {

    .destination-ranking__tabs.is-dragging,
    .destination-ranking__cards.is-dragging {
        cursor: grabbing;
        user-select: none;
    }

    .destination-ranking__tabs {
        cursor: grab;
    }

    .destination-ranking__tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 8px;

        margin-left: -20px;
        margin-right: -20px;
        padding: 0 20px 8px;
    }

    .destination-ranking__tab {
        flex-shrink: 0;
        white-space: nowrap;

        width: calc(100vw / 3);
        text-align: center;

    }

    .destination-ranking__cards {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 16px;
        overflow-x: scroll;
        scrollbar-width: none;
        cursor: grab;
        margin-left: -20px;
        margin-right: -20px;
        padding: 0 20px;
    }

    .destination-ranking__card {
        width: 80vw;
    }

    .destination-ranking__tabs::-webkit-scrollbar,
    .destination-ranking__cards::-webkit-scrollbar {
        display: none;
    }

}


/* *****
 request-review
 - クチコミを投稿してみませんか？ */
.request-review {
    position: relative;
    padding: 64px 0;
}

.request-review::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: url(../images/bg_review.svg) top left no-repeat, url(../images/bg_review-rotate.svg) bottom right no-repeat;
    position: absolute;
    left: 0;
    top: 0;
}


@media screen and (max-width: 768px) {

    .request-review::before {
        background: url(../images/bg_review.svg) top left no-repeat;
        width: 100%;
        background-size: contain;
    }
}

.request-review .inner {
    position: relative;
    z-index: 1;
}

.request-review__header {
    margin-bottom: 24px;
    text-align: center;
}

.request-review__heading {
    color: #FFF;
    text-align: center;
    font-size: 40px;
    font-weight: 700;
    line-height: 130%;
    padding: 0 1em;
    display: inline-block;
    position: relative;
    text-shadow: 0 0 2px #0017FF;

}


.request-review__heading::before {
    content: "";
    display: inline-block;
    width: 2px;
    height: 1.5em;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0.2em;
    margin: auto;
    transform: rotate(-45deg);
}

.request-review__heading::after {
    content: "";
    display: inline-block;
    width: 2px;
    height: 1.5em;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    right: 0.2em;
    margin: auto;
    transform: rotate(45deg);
}


@media screen and (max-width: 768px) {
    .request-review__heading {
        padding: 0 0.8em;
    }

    .request-review__heading::before {
        height: 1.2em;
        transform: rotate(-40deg);
    }

    .request-review__heading::after {
        height: 1.2em;
        transform: rotate(40deg);
    }
}

.request-review__text {
    color: #FFF;
    text-align: center;
    text-shadow: 0 0 2px #0017FF;
    font-size: 16px;
    font-weight: 700;
    line-height: 180%;
    margin-bottom: 24px;

}

.request-review__btn-wrapper {
    text-align: center;
}

.request-review__btn-wrapper .review-post__button {
    background: #2C2A29;
    box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.15);
}

.request-review__btn-wrapper .review-post__button:hover {
    background: rgba(255,255,255,0.8);
    color: #10069F;
}
@media screen and (max-width: 768px) {
    .request-review__heading {
        font-size: 28px;
    }
}

/*  */
.others-review {
    padding-bottom: 60px;
    padding-top: 64px;
}

.others-review__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .others-review__list {
        justify-content: left;
    }
}

.others-review__item {
    padding: 0 8px;
    position: relative;
    margin-bottom: 16px;
    text-decoration: none;
    text-decoration: none;
}

.others-review__item::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    height: 100%;
    background-color: #C0C5CC;
}



/* search */
.search {
    padding: 64px 0;
    background: url(../images/bg_search.webp) lightgray 50% / cover no-repeat;
}

@media screen and (max-width: 768px) {
    .search {
        padding-top: 40px;
    }
}

.footer-new .footer-head__top-button {
    display: none;
}