/*! 絞り込みsp用 */

body {
    padding-top: 0;
}

#Header {
    position: relative;
}

#btnToTop {
    bottom: 9.5rem !important;
}

main,
#search_detail_page {
    --corporate-color: #0073c0;
    --caution-color: #db2100;
}

main button {
    letter-spacing: 0.05em;
}

/* start_固定ボタン */
.FixBtn {
    display: flex;
    justify-content: space-between;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    padding: 1.5rem;
    border-top: 1px solid #e5e5e5;
    background-color: white;
}

.FixBtn__btn-favorite {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 1rem) / 2);
    height: 5rem;
    font-size: 1.4rem;
    border: 1px solid #c3c3c3;
    border-radius: 0.4rem;
}

.FixBtn__btn-favorite-icn {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin-right: 0.3rem;
    vertical-align: -0.5rem;
    background: url(../../sharing/common21/images/icn_favorite--bold-stroke-pink.svg) no-repeat center / contain;
}

.FixBtn__btn-condition {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 1rem) / 2);
    height: 5rem;
    color: white;
    font-size: 1.4rem;
    font-weight: var(--bold);
    background-color: var(--corporate-color);
    border-radius: 4px;
}

.FixBtn__btn-condition.active::before {
    content: "";
    position: absolute;
    top: -0.5rem;
    right: -0.5rem;
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    background: white;
    border-radius: 50%;
    border: 0.2rem solid var(--corporate-color);
}

.FixBtn__btn-condition.active::after {
    content: "";
    position: absolute;
    top: 0.3rem;
    right: 0.3rem;
    display: block;
    width: 0.8rem;
    height: 0.6rem;
    border-bottom: 0.2rem solid var(--corporate-color);
    border-left: 0.2rem solid var(--corporate-color);
    transform: rotate(-45deg);
}

.FixBtn__btn-condition-icn {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin-right: 0.3rem;
    vertical-align: -0.5rem;
    background: url(../../sharing/common21/images/icn_condition--white.svg) no-repeat center / contain;
}

/* end_固定ボタン */

#Result {
    --result-input-height: 4.5rem;
    margin-bottom: 4rem;
}

.Result__inner {
    padding: 1.5rem 1.5rem 4rem 1.5rem;
    background: #f5f5f5;
}

/* start_no-tour */
.Result__tour-wrap:has(.Result__no-tour-label) {
    padding-top: 1.5rem;
    border-top: 1px solid #e5e5e5;
}

.Result__inner--no-tour {
    padding: 4rem 0;
}

.Result__no-tour-label {
    margin-bottom: 1rem;
    text-align: center;
    font-weight: var(--bold);
}

.Result__no-tour-label-em {
    font-size: 2.1rem;
}

.Result__no-tour-txt {
    margin-bottom: 1.6rem;
    text-align: center;
}

.no-tour__reset {
    display: block;
    margin: 0 auto 4rem auto;
    color: #333;
    border-bottom: 1px solid #333;
}

.no-tour__reset::before {
    content: "✕";
    margin-right: 0.4rem;
    font-weight: 600;
    font-size: 1.2rem;
    vertical-align: 0.1rem;
}

.Result__no-tour-btn-caption {
    display: inline-block;
    position: relative;
    margin-bottom: 1.5rem;
    color: var(--corporate-color);
    font-size: 1.5rem;
    line-height: 1.3;
}

.Result__no-tour-btn-caption::before,
.Result__no-tour-btn-caption::after {
    content: "";
    position: absolute;
    bottom: 1.4rem;
    display: block;
    width: 3.8rem;
    height: 1px;
    background: var(--corporate-color);
}

.Result__no-tour-btn-caption::before {
    left: -4rem;
    transform: rotate(50deg);
}

.Result__no-tour-btn-caption::after {
    right: -4rem;
    transform: rotate(-50deg);
}

.Common21__fill-btn--result__no-tour {
    width: 100%;
    text-align: center;
}

.Common21__fill-btn--result__no-tour .Common21__fill-btn-inner {
    justify-content: center;
}

/* end_no-tour */

/* --------------------start_件数 / 条件変更-------------------- */

.Result__number-group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    row-gap: 1.6rem;
    margin-bottom: 1.5rem;
    padding: 0 1.5rem;
}

.Result__number-wrap {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 0.2rem;
    font-size: 1.4rem;
    font-weight: var(--bold);
    line-height: 1;
}

.Result__number-inner {
    display: flex;
    align-items: flex-end;
    gap: 0.2rem;
}

.Result__number {
    color: var(--caution-color);
    font-size: 2.3rem;
    letter-spacing: 0;
    line-height: 0.8;
    text-indent: -0.1rem;
}

.Result__btn-condition {
    position: relative;
    display: block;
    width: calc(100% - 3.2rem);
    margin: 0 auto 1.5rem auto;
    padding: 1.3rem 1.5rem;
    color: white;
    font-size: 1.6rem;
    font-weight: var(--bold);
    text-align: center;
    background-color: var(--corporate-color);
    border-radius: 0.4rem;
}

.Result__btn-condition.active::before {
    content: "";
    position: absolute;
    top: -0.5rem;
    right: -0.5rem;
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    background: white;
    border-radius: 50%;
    border: 0.2rem solid var(--corporate-color);
}

.Result__btn-condition.active::after {
    content: "";
    position: absolute;
    top: 0.3rem;
    right: 0.3rem;
    display: block;
    width: 0.8rem;
    height: 0.6rem;
    border-bottom: 0.2rem solid var(--corporate-color);
    border-left: 0.2rem solid var(--corporate-color);
    transform: rotate(-45deg);
}

.Result__btn-condition-icn {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin-right: 0.3rem;
    vertical-align: -0.5rem;
    background: url(/sharing/common21/images/icn_condition--white.svg) no-repeat center / contain;
}

.Result__btn-condition:active {
    background-color: var(--active-color);
}

/* --------------------end_件数 / 条件変更-------------------- */

/* --------------------start_現在選択中-------------------- */

.condition-open {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 15rem;
    padding: 0.8rem;
    color: var(--corporate-color);
    font-size: 1.4rem;
    font-weight: var(--bold);
    line-height: 1.3;
    border: 1px solid var(--corporate-color);
    border-radius: 0.4rem;
}

.condition-open .Search__icn-plus {
    position: relative;
    right: auto;
    transform: none;
}

.condition-open.open {
    color: white;
    background-color: #767676;
    border-color: #767676;
}

.condition-open.open .Search__icn-plus {
    background-color: white;
}

.condition-open.open .Search__icn-plus-inner::before {
    opacity: 0;
}

.condition-open.open .Search__icn-plus-inner::after {
    background-color: #767676;
}

#CurrentCondition {
    display: none;
    flex-direction: column;
    gap: 0.8rem;
    padding: 1.4rem;
    border: 0.4rem solid #e5e5e5;
}

#CurrentCondition.open {
    display: flex;
    width: 100%;
}

.CurrentCondition__inner {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    column-gap: 1.6rem;
    margin-bottom: 2.4rem;
}

.CurrentCondition__heading {
    width: 100%;
    font-weight: var(--bold);
}

.CurrentCondition__p {
    display: flex;
    font-size: 1.4rem;
}

.CurrentCondition__p span {
    display: inline-block;
}

.CurrentCondition__span {
    flex-shrink: 0;
    font-weight: var(--bold);
}

.CurrentCondition__reset {
    align-self: flex-end;
    font-size: 1.4rem;
    border-bottom: 1px solid #333;
}

.CurrentCondition__reset::before {
    content: "✕";
    margin-right: 0.4rem;
    font-weight: 600;
    font-size: 1.2rem;
    vertical-align: 0.1rem;
}

/* --------------------start_現在選択中-------------------- */

/* --------------------start_ソート-------------------- */

/* start_セレクトボックス */
.Result__select {
    width: 100%;
    position: relative;
    overflow: hidden;
    font-size: 1.6rem;
    background-color: white;
    border: 1px solid #888;
    border-radius: 0.4rem;
}

.Result__select::after {
    content: "";
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    border-right: 0.2rem solid #c3c3c3;
    border-bottom: 0.2rem solid #c3c3c3;
    position: absolute;
    top: 50%;
    right: 1.4rem;
    transform: translateY(-80%) rotate(45deg);
}

#Result select {
    --scale-down: calc(1.4 / 1.6);
    --scale-up: calc(1.6 / 1.4);
    width: calc(100% * var(--scale-up));
    height: calc(var(--result-input-height) * var(--scale-up));
    margin: calc((((var(--result-input-height) * var(--scale-up)) - var(--result-input-height)) * -1) / 2) 0;
    padding: calc(1rem * var(--scale-up)) calc(2.8rem * var(--scale-up)) calc(1rem * var(--scale-up)) calc(1rem * var(--scale-up));
    line-height: calc(1.6 * var(--scale-down));
    transform: scale(var(--scale-down));
    transform-origin: 0;
}

/* end_セレクトボックス */

.Result__sort-wrap {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1.5rem;
    padding-right: 1.6rem;
}

.Result__sort-wrap .Result__select {
    width: auto;
}

#Result .Result__sort-wrap select {
    height: calc(3.5rem * var(--scale-up));
}

/* start_安高短長 */
.Result__sort-condition {
    margin-right: 1rem;
}

#Result .Result__sort-condition select {
    padding: 0 calc(2rem * var(--scale-up)) 0 calc(1rem * var(--scale-up));
}

/* end_安高短長 */

/* start_表示件数 */
.Result__sort-display {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

label[for="Result__sort-display"] {
    width: 52%;
    padding-left: 1rem;
    font-size: 1.3rem;
    white-space: nowrap;
}

#Result .Result__sort-display select {
    width: 48%;
    padding: 0 calc(2rem * var(--scale-up)) calc(0.1rem * var(--scale-up)) calc(0.5rem * var(--scale-up));
}

/* end_表示件数 */

/* --------------------end_ソート-------------------- */

/* --------------------start_ツアー枠-------------------- */

.Result__tour {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    background: white;
    box-shadow: 0px 0px 7px 2px rgb(0 0 0 / 8%);
}

.Result__tour-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1.5rem;
}

.Result__tour-box:first-of-type {
    padding-bottom: 0.5rem;
}

.Result__tour-ttl-wrap {
    width: 100%;
    margin-bottom: 0.5rem;
}

.Result__tour-ttl {
    font-size: 1.6rem;
    font-weight: var(--bold);
    line-height: 1.3;
}

.Result__tour-ttl:active {
    text-decoration: underline;
}

.Result__tour-caption {
    display: block;
    width: 100%;
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
}

.Result__tour-price-wrap {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    width: 100%;
    margin-bottom: 1.5rem;
}

.Result__tour-price-ttl {
    font-size: 1.2rem;
    font-weight: var(--bold);
}

.Result__tour-price {
    color: var(--caution-color);
    font-size: 1.8rem;
    font-weight: var(--bold);
}

.Result__tour-price-unit {
    font-size: 1.5rem;
}

.Result__tour-info-wrap {
    width: calc(100% - 4.5rem);
    margin-bottom: 0.5rem;
}

.Result__tour-info {
    font-size: 1.2rem;
}

.Result__tour-info-label {
    display: inline;
    font-weight: var(--bold);
}

.Result__tour-info-content {
    display: inline;
    font-weight: var(--bold);
}

/* start_お気に入りアイコン */

.icn_tour-favorite-outer {
    position: relative;
}

.icn_tour-favorite-wrap {
    position: relative;
    z-index: 1;
    display: block;
    width: 3.5rem;
    height: 3.5rem;
    border: 1px solid #c3c3c3;
    border-radius: 50%;
    cursor: pointer;
    overflow: hidden;
}

.icn_tour-favorite {
    border-radius: 50%;
}

.icn_tour-favorite-wrap .cls-1,
.icn_tour-favorite-wrap .cls-3 {
    fill: white;
}

.icn_tour-favorite-wrap .cls-2 {
    fill: #c3c3c3;
}

/* start_active */
.icn_tour-favorite-wrap.active {
    /*border: none;*/
}

.icn_tour-favorite-wrap.active .cls-1,
.icn_tour-favorite-wrap.active .cls-3 {
    fill: #ff6978;
}

.icn_tour-favorite-wrap.active .cls-2 {
    fill: white;
}

.icn_tour-favorite-wrap.active .icn_tour-favorite {
    animation: icn_tour-favorite linear 0.5s forwards;
    /* animation: icn_tour-favorite linear 10s forwards; */
}

@keyframes icn_tour-favorite {
    0% {
        transform: scale(0);
    }

    30% {
        transform: scale(1.3);
    }

    60% {
        transform: scale(1);
    }

    80% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

/* end_active */

/* start_balloon */
.icn_tour-favorite-balloon {
    position: absolute;
    top: -5.5rem;
    right: -1rem;
    font-size: 1.2rem;
    color: #ff6978;
    font-weight: 600;
    padding: 0.8rem 1.5rem;
    border-radius: 0.6rem;
    background: white;
    border: 0.2rem solid #ff6978;
    box-shadow: 0px 0.4rem 0.7rem -0.6rem rgb(0 0 0 / 50%);
    white-space: nowrap;
    opacity: 0;
}

.icn_tour-favorite-balloon::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -0.8rem;
    right: 2rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.6rem 0.6rem 0 0.6rem;
    border-color: #ff6978 transparent transparent transparent;
}

.icn_tour-favorite-balloon::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -0.5rem;
    right: 2.1rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.5rem 0.5rem 0 0.5rem;
    border-color: white transparent transparent transparent;
}

/* .icn_tour-favorite-wrap.active + .icn_tour-favorite-balloon {
  animation: icn_tour-favorite-balloon ease-out 2s forwards;
} */

@keyframes icn_tour-favorite-balloon {
    0% {
        transform: translateY(1rem);
        opacity: 0;
    }

    10% {
        transform: translateY(0);
        opacity: 1;
    }

    85% {
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        transform: translateY(0);
        opacity: 0;
    }
}

/* start_disabled */
.icn_tour-favorite-wrap.icn_tour-favorite--disabled + .icn_tour-favorite-balloon {
    color: #888;
    border-color: #c3c3c3;
}

.icn_tour-favorite-wrap.icn_tour-favorite--disabled + .icn_tour-favorite-balloon::before {
    border-color: #c3c3c3 transparent transparent transparent;
}

/* end_disabled */

/* end_balloon */

/* end_お気に入りアイコン */

.Result__tour-tags-wrap {
    width: 100%;
    padding-bottom: 1rem;
    overflow: scroll;
}

.Result__tour-tags {
    display: flex;
    justify-content: flex-start;
}

.Result__tour-tag {
    flex-shrink: 0;
    padding: 0.4rem 0.8rem;
    color: var(--sub-corporate-color);
    font-size: 1.2rem;
    font-weight: var(--bold);
    line-height: 1;
    border: 1px solid #99cae1;
}

.Result__tour-tag {
    margin-right: 0.5rem;
}

.Result__tour-photo-wrap {
    display: flex;
    justify-content: space-between;
}

.Result__tour-photo {
    width: calc((100% - 0.1rem) / 2);
}

.Result__tour-photo img {
    aspect-ratio: 4/3;
}

.Result__tour-period {
    width: 100%;
    margin-bottom: 1rem;
    padding: 0.3rem 0.5rem;
    font-size: 1.3rem;
    text-align: center;
    background: #f5f5f5;
}

.Result__tour-period-label {
    display: inline;
    font-size: 1.2rem;
    font-weight: var(--bold);
}

.Result__tour-period-content {
    display: inline;
}

.Result__tour-table {
    width: 100%;
}

.Result__tour-table th,
.Result__tour-table td {
    padding: 0.5rem 1rem;
    border: 1px solid #c9c9c9;
}

.Result__tour-table th {
    width: 30%;
    font-size: 1.2rem;
    font-weight: var(--bold);
    vertical-align: middle;
    white-space: nowrap;
}

.Result__tour-table td {
    width: 70%;
    font-size: 1.3rem;
}

.Result__tour-table-td-inner {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.Result__tour-table-txtlink {
    text-decoration: underline;
}

.Result__tour-table-txtlink:active {
    color: var(--corporate-color);
}

.Result__tour-reserve-wrap {
    text-align: center;
}

.Result__tour-reserve {
    display: inline-block;
    padding: 1.4rem 8.325rem;
    color: white;
    font-size: 1.4rem;
    font-weight: var(--bold);
    background-color: var(--caution-color);
    border-radius: 0.4rem;
}

/* --------------------end_ツアー枠-------------------- */

/* --------------------start_ページャー-------------------- */

.Result__pager-items {
    /* display: flex;
  justify-content: space-between;
  width: 27rem;
  margin: 0 auto; */
    text-align: center;
}

.Result__pager-items li {
    display: inline-block;
    margin: 0 5px;
}

.Result__pager-items li:not(first-child) {
    margin-left: 5px;
}

.Result__pager-item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.5rem;
    height: 3.5rem;
    color: var(--sub-corporate-color);
    font-size: 1.3rem;
    font-weight: var(--bold);
    line-height: 1;
    border-radius: 0.3rem;
    background-color: white;
}

.Result__pager-item:not(.active):active {
    box-shadow: 0px 0px 0px 1px var(--sub-corporate-color) inset;
}

.Result__pager-item--prev,
.Result__pager-item--next {
    position: relative;
    background-color: transparent;
}

.Result__pager-item--prev::before,
.Result__pager-item--next::before {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    border-top: 0.2rem solid var(--sub-corporate-color);
    border-right: 0.2rem solid var(--sub-corporate-color);
}

.Result__pager-item--prev::before {
    transform: translateX(0.2rem) rotate(-135deg);
}

.Result__pager-item--next::before {
    transform: translateX(-0.2rem) rotate(45deg);
}

.Result__pager-item.active {
    cursor: default;
    pointer-events: none;
    color: white;
    background-color: var(--sub-corporate-color);
}

/* --------------------end_ページャー-------------------- */

/* --------------------start_条件変更（共通）-------------------- */

#search_detail_page {
    opacity: 0;
    pointer-events: none;
    --condition-input-height: 4.5rem;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50;
    background: white;
    transition: opacity 0.6s;
}

.Condition-open {
    position: fixed;
    width: 100%;
    left: 0;
}

.Condition-open #search_detail_page {
    opacity: 1;
    pointer-events: auto;
}

.Condition__q-icn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 1.6rem;
    height: 1.6rem;
    margin-left: 0.5rem;
    padding-left: 0.1rem;
    color: var(--corporate-color);
    font-size: 1rem;
    text-align: center;
    vertical-align: 0.1rem;
    border-radius: 50%;
    border: 1px solid var(--corporate-color);
    background-color: var(--active-color);
    cursor: pointer;
}

/* start_Condition__header */

.Condition__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 5.5rem;
    background-color: white;
    border-bottom: 1px solid #e5e5e5;
}

.Condition__ttl {
    margin-left: 1.5rem;
    font-size: 1.5rem;
    font-weight: var(--bold);
}

.Condition__ttl::before {
    content: "";
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
    vertical-align: -0.3rem;
    background: url(/sharing/common21/images/icn_condition--black.svg) no-repeat center / contain;
}

.Condition__btn-close {
    position: relative;
    width: 5.5rem;
    height: 100%;
    background-color: #888;
}

.Condition__btn-close::before,
.Condition__btn-close::after {
    content: "";
    display: block;
    width: 2rem;
    height: 0.2rem;
    background: white;
    position: absolute;
    top: 50%;
    left: 50%;
}

.Condition__btn-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.Condition__btn-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* end_Condition__header */

.Condition__hr {
    width: 100%;
    height: 2rem;
    border: none;
    background-color: #f5f5f5;
    border-bottom: 1px solid #e5e5e5;
}

.Condition__scroll-area {
    width: 100%;
    height: calc((var(--vh, 1vh) * 100) - 5.5rem - 8rem);
    overflow-y: scroll;
}

.Condition__group-heading {
    padding: 1.5rem;
    font-size: 1.4rem;
    background: #f5f5f5;
    border-bottom: 1px solid #e5e5e5;
}

.Condition__group {
    padding: 1.5rem;
    border-bottom: 1px solid #e5e5e5;
}

.Condition__group:last-of-type {
    border-bottom: none;
}

.Condition__heading {
    margin-bottom: 0.8rem;
    font-size: 1.4rem;
    font-weight: var(--bold);
    line-height: 1;
}

.Condition__content {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

#search_detail_page ::placeholder {
    color: #333;
}

/* start_ラジオボタン */

#search_detail_page input[type="radio"] {
    display: none;
}

.Condition__radio-label {
    display: inline-block;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid #c3c3c3;
    border-radius: 0.4rem;
}

#search_detail_page input[type="radio"]:checked + .Condition__radio-label {
    background: var(--active-color);
}

.Condition__radio-btn {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
    vertical-align: -0.5rem;
    border-radius: 50%;
    border: 0.2rem solid #888;
    background-color: white;
}

#search_detail_page input[type="radio"]:checked + .Condition__radio-label .Condition__radio-btn {
    border: 0.6rem solid var(--corporate-color);
}

/* end_ラジオボタン */

/* start_ラジオボタン（枠なし） */

.Condition__radio-label--simple {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
}

/* .Condition__radio-label--simple .Condition__radio-btn {
    width: 1.8rem;
    height: 1.8rem;
    vertical-align: -.3rem;
} */

#search_detail_page input[type="radio"]:checked + .Condition__radio-label--simple {
    background: transparent;
}

/* end_ラジオボタン（枠なし） */

/* start_チェックボックス */

#search_detail_page input[type="checkbox"] {
    display: none;
}

.Condition__checkbox-label {
    position: relative;
    display: inline-block;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid #c3c3c3;
    border-radius: 0.4rem;
}

#search_detail_page input[type="checkbox"]:checked + .Condition__checkbox-label {
    border-color: var(--corporate-color);
}

.Condition__checkbox-btn {
    position: relative;
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
    vertical-align: -0.5rem;
    border-radius: 0.4rem;
    border: 0.2rem solid #888;
    background-color: white;
}

.Condition__radio-btn {
    position: relative;
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
    vertical-align: -0.5rem;
    border-radius: 50%;
    border: 0.2rem solid #888;
    background-color: white;
}

#search_detail_page input[type="checkbox"]:checked + .Condition__checkbox-label .Condition__checkbox-btn {
    border: none;
    background-color: var(--corporate-color);
}

#search_detail_page input[type="radio"]:checked + .Condition__checkbox-label .Condition__checkbox-btn {
    border: none;
    background-color: var(--corporate-color);
}

#search_detail_page input[type="checkbox"]:checked + .Condition__checkbox-li .Condition__checkbox-btn {
    border: none;
    background-color: var(--corporate-color);
}

#search_detail_page input[type="checkbox"]:checked + .Condition__checkbox-label .Condition__checkbox-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1rem;
    height: 0.7rem;
    border-left: 0.2rem solid white;
    border-bottom: 0.2rem solid white;
    transform: translate(-50%, -70%) rotate(-45deg);
}

#search_detail_page input[type="radio"]:checked + .Condition__checkbox-label .Condition__checkbox-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1rem;
    height: 0.7rem;
    border-left: 0.2rem solid white;
    border-bottom: 0.2rem solid white;
    transform: translate(-50%, -70%) rotate(-45deg);
}

#search_detail_page input[type="checkbox"]:checked + .Condition__checkbox-li .Condition__checkbox-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1rem;
    height: 0.7rem;
    border-left: 0.2rem solid white;
    border-bottom: 0.2rem solid white;
    transform: translate(-50%, -70%) rotate(-45deg);
}

/* end_チェックボックス */

/* start_チェックボックス（枠なし） */

.Condition__checkbox-label--simple {
    margin: 1rem 0 0 0;
    padding: 0;
    border: none;
    border-radius: 0;
}

#search_detail_page input[type="checkbox"]:checked + .Condition__checkbox-label--simple {
    background: transparent;
}

/* end_チェックボックス（枠なし） */

/* start_セレクトボックス */

.Condition__select {
    width: 100%;
    position: relative;
    overflow: hidden;
    border: 1px solid #888;
    border-radius: 0.4rem;
    font-size: 1.6rem;
}

.Condition__select::after {
    content: "";
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    border-right: 0.2rem solid #c3c3c3;
    border-bottom: 0.2rem solid #c3c3c3;
    position: absolute;
    top: 50%;
    right: 1.4rem;
    transform: translateY(-80%) rotate(45deg);
}

.Condition__select.selected,
.Condition__select.selected::after {
    border-color: var(--corporate-color);
}

#search_detail_page select {
    --scale-down: calc(1.4 / 1.6);
    --scale-up: calc(1.6 / 1.4);
    width: calc(100% * var(--scale-up));
    height: calc(var(--condition-input-height) * var(--scale-up));
    margin: calc((((var(--condition-input-height) * var(--scale-up)) - var(--condition-input-height)) * -1) / 2) 0;
    padding: calc(1rem * var(--scale-up)) calc(2.8rem * var(--scale-up)) calc(1rem * var(--scale-up)) calc(1rem * var(--scale-up));
    line-height: calc(1.6 * var(--scale-down));
    transform: scale(var(--scale-down));
    transform-origin: 0;
}

/* end_セレクトボックス */

/* start_input-text */

#search_detail_page input[type="text"] {
    --scale-down: calc(1.4 / 1.6);
    --scale-up: calc(1.6 / 1.4);
    width: calc(100% * var(--scale-up));
    height: calc(var(--condition-input-height) * var(--scale-up));
    margin: calc((((var(--condition-input-height) * var(--scale-up)) - var(--condition-input-height)) * -1) / 2) 0;
    padding: calc(1rem * var(--scale-up)) calc(3rem * var(--scale-up)) calc(1rem * var(--scale-up)) calc(1rem * var(--scale-up));
    line-height: calc(1.6 * var(--scale-down));
    text-overflow: ellipsis;
    transform: scale(var(--scale-down));
    transform-origin: 0;
}

#search_detail_page input[type="text"].disabled {
    color: #9c9c9c;
    background-color: #c3c3c3;
    pointer-events: none;
}

.Condition__input-text {
    position: relative;
    width: 100%;
    border: 1px solid #888;
    border-radius: 0.4rem;
    font-size: 1.6rem;
    overflow: hidden;
}

.Condition__input-text::after {
    content: "";
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    border-top: 0.2rem solid #c3c3c3;
    border-right: 0.2rem solid #c3c3c3;
    position: absolute;
    top: 50%;
    right: 1.4rem;
    transform: translateY(-50%) rotate(45deg);
}

.Condition__input-text.selected,
.Condition__input-text.selected::after {
    border-color: var(--corporate-color);
}

#search_detail_page input[type="text"]::placeholder {
    color: #999;
}

/* end_input-text */

/* start_Condition__footer */

.Condition__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 8rem;
    padding: 0 1.5rem;
    background: white;
    border-top: 1px solid #e5e5e5;

    z-index: 2;
    position: sticky;
    position: -webkit-sticky;
    /* Safari */
    bottom: 0;
}

.Condition__clear-btn-wrap {
    text-align: center;
    padding: 1.5rem;
}

.Condition__btn--clear {
    display: inline-block;
    font-weight: var(--bold);
    text-align: center;
    border-bottom: 1px solid #333;
}

.Condition__btn--clear::before {
    content: "✕";
    margin-right: 0.4rem;
    font-weight: 600;
    font-size: 1.2rem;
    vertical-align: 0.1rem;
}

.Condition__hit-wrap {
    width: calc((100% - 1rem) / 2);
    font-size: 1.4rem;
    line-height: 1;
}

.Condition__hit-label {
    width: 100%;
    margin-bottom: 0.5rem;
    font-weight: 400;
}

.Condition__hit-num {
    margin-right: 0.3rem;
    color: var(--caution-color);
    font-size: 2.3rem;
    font-weight: var(--bold);
}

.Condition__btn {
    display: inline-block;
    width: calc((100% - 1rem) / 2);
    padding: 1.25rem 0;
    color: white;
    font-size: 1.6rem;
    font-weight: var(--bold);
    text-align: center;
    border-radius: 0.4rem;
    background-color: var(--caution-color);
}

/* end_Condition__footer */

/* --------------------end_条件変更（共通）-------------------- */

/* --------------------start_条件変更（個別）-------------------- */

/* start_交通手段 */

.Condition__group--transport .Condition__radio-label {
    width: calc((100% - 1rem) / 2);
}

.Condition__group--transport .Condition__radio-label:nth-of-type(n + 3) {
    margin-bottom: 0;
}

/* end_交通手段 */

/* start_バス乗車地 */

.Condition__group--bus .Condition__content {
    position: relative;
}

/* start_アラート */

.SearchCourse__alert {
    top: -4.5rem;
    bottom: auto;
    left: auto;
    right: 0;
}

.SearchCourse__alert::before {
    top: auto;
    bottom: -0.8rem;
    left: auto;
    right: 1rem;
    border-width: 0.6rem 0.6rem 0 0.6rem;
    border-color: #c3c3c3 transparent transparent transparent;
}

.SearchCourse__alert::after {
    top: auto;
    bottom: -0.5rem;
    left: auto;
    right: 1.1rem;
    border-width: 0.5rem 0.5rem 0 0.5rem;
    border-color: white transparent transparent transparent;
}

/* start_アラート */
.Condition__group--bus .SearchCourse__alert {
    top: -4.5rem;
    bottom: auto;
    left: auto;
    right: 0;
}

.Condition__group--bus .SearchCourse__alert::before {
    top: auto;
    bottom: -0.8rem;
    left: auto;
    right: 1rem;
    border-width: 0.6rem 0.6rem 0 0.6rem;
    border-color: #c3c3c3 transparent transparent transparent;
}

.Condition__group--bus .SearchCourse__alert::after {
    top: auto;
    bottom: -0.5rem;
    left: auto;
    right: 1.1rem;
    border-width: 0.5rem 0.5rem 0 0.5rem;
    border-color: white transparent transparent transparent;
}

/* end_アラート */

.Condition__group--bus .Condition__input-text {
    background: url(../../attending/common/images/icn_busStop.svg) no-repeat right 1rem center / 1.6rem;
}

.Condition__group--bus .Condition__input-text.selected {
    background-image: url(../../attending/common/images/icn_busStop--selected.svg);
}

.Condition__group--bus .Condition__input-text::after {
    content: none;
}

/* end_バス乗車地 */

/* start_出発日 */
.Condition__group--day .Condition__input-text::after {
    content: none;
}

.Condition__group--day .Condition__input-text {
    background: url(../../attending/common/images/icn_calendar.svg) no-repeat right 1rem center / 1.6rem;
}

.Condition__group--day .Condition__input-text.selected {
    background-image: url(../../attending/common/images/icn_calendar--selected.svg);
}

/* end_出発日 */

/* start_旅行日数 */

.Condition__group--days .Condition__select {
    width: 45%;
}

/* end_旅行日数 */

/* start_旅行代金 */

.Condition__group--price .Condition__select {
    width: 45%;
}

/* end_旅行代金 */

/* start_添乗員 */

.Condition__group--conductor .Condition__radio-label {
    width: calc((100% - 1rem) / 2);
}

.Condition__group--conductor .Condition__radio-label:nth-of-type(n + 3) {
    margin-bottom: 0;
}

/* end_添乗員 */

/* start_キーワード */

.Condition__group--keyword .Condition__input-text::after {
    content: none;
}

.Condition__group--keyword .Condition__content {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
}

.Condition__keyword-input-wrap {
    width: 100%;
    margin-bottom: 1rem;
}

.Condition__keyword-input-wrap .Condition__radio-label:not(:last-of-type) {
    margin-right: 1rem;
}

.Condition__btn-keyword {
    position: relative;
    display: block;
    width: 100%;
    padding: 1rem 0;
    font-size: 1.4rem;
    text-align: center;
    border: 1px solid #c3c3c3;
    border-radius: 0.4rem;
}

/* end_キーワード */

/* start_催行状況 */

.Condition__group--decide .Condition__radio-label {
    width: calc((100% - 1rem) / 2);
    margin-bottom: 0;
}

.Condition__group--decide .Condition__radio-label:nth-of-type(n + 3) {
    margin-bottom: 0;
}

/* end_催行状況 */

/* --------------------end_条件変更（個別）-------------------- */

/* --------------------start_CommonModal（共通）-------------------- */

.CommonModal--search {
    width: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 2;
    transition: left 0.3s;
    background: white;
}

.CommonModal--search.active {
    left: 0;
}

.CommonModal--search__close {
    position: relative;
    display: block;
    width: 5.5rem;
    height: 100%;
    background: #888;
}

.CommonModal--search__close::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    border-top: 0.2rem solid white;
    border-left: 0.2rem solid white;
    transform: translate(-40%, -50%) rotate(-45deg);
}

.CommonModal--search__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1.2rem;
    height: 0.2rem;
    background: white;
    transform: translate(-35%, -50%);
}

.CommonModal--search .Condition__checkbox-label {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin: -1px 0 0 0;
    border-color: #e5e5e5;
    border-right: none;
    border-left: none;
    border-radius: 0;
}

#search_detail_page .CommonModal--search input[type="checkbox"]:checked + .Condition__checkbox-label {
    border-color: #e5e5e5;
}

.CommonModal__contents-inner {
    padding: 0;
}

.Condition__checkbox-txt {
    width: calc(100% - 2.5rem);
}

.CommonModal__set-btn-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(8rem + 1px);
    margin-top: -1px;
    border-top: 1px solid #e5e5e5;

    z-index: 3;
    position: sticky;
    position: -webkit-sticky;
    /* Safari */
    bottom: 0;
    background: #ffffff;
}

.CommonModal__set-btn {
    display: inline-block;
    padding: 1.25rem 4.85rem;
    color: white;
    font-size: 1.6rem;
    font-weight: var(--bold);
    border-radius: 0.4rem;
    background-color: var(--caution-color);
}

/* --------------------end_CommonModal（共通）-------------------- */

/* --------------------start_CommonModal（個別）-------------------- */

/* start_キーワード検索について */

#ConditionModal--keyword {
    z-index: 51;
}

#ConditionModal--keyword .CommonModal__contents-inner {
    padding: 2rem;
}

#ConditionModal--keyword figure {
    margin-top: 1.6rem;
    border: 1px solid #e5e5e5;
}

/* end_キーワード検索について */

/* start_出発地 */

.ConditionModal--departure-ac-btn {
    position: relative;
    display: block;
    padding: 1.5rem;
    font-weight: var(--bold);
    line-height: 1;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--departure-ac-btn.active {
    background-color: #f5f5f5;
}

.ConditionModal--departure-ac-contents {
    display: none;
    box-shadow: 0px -1px 0px 0px #e5e5e5 inset;
}

.ConditionModal--departure-ac-contents-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#ConditionModal--departure .Condition__checkbox-label {
    width: 50%;
}

#ConditionModal--departure .Condition__checkbox-label:first-of-type {
    width: 100%;
    font-weight: var(--bold);
}

#ConditionModal--departure .Condition__checkbox-label:nth-of-type(even) {
    border-right: 1px solid #e5e5e5;
}

/* end_出発地 */

/* start_バス乗車地 */

.ConditionModal--bus-label {
    display: block;
    width: 100%;
    padding: 1.5rem;
    color: #666;
    font-size: 1.4rem;
    font-weight: var(--bold);
    background: #f5f5f5;
}

/* end_バス乗車地 */

/* start_目的地 */

.ConditionModal--destination-ac-btn {
    position: relative;
    display: block;
    padding: 1.5rem;
    font-weight: var(--bold);
    line-height: 1;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--destination-ac-btn.active {
    background: #f5f5f5;
}

.ConditionModal--destination-ac-btn[data-lv="2"] {
    font-weight: 400;
}

.ConditionModal--destination-ac-contents {
    display: none;
}

.ConditionModal--destination-ac-contents > .Condition__checkbox-label,
.ConditionModal--destination-ac-contents-inner > .Condition__checkbox-label {
    font-weight: var(--bold);
}

.ConditionModal--destination-ac-contents-subcategory .Condition__checkbox-label:first-child {
    font-weight: var(--bold);
    background-color: #f5f5f5;
}

.ConditionModal--destination-ac-contents-subcategory .Condition__checkbox-label:not(:first-child) {
    padding-left: 6rem;
}

.ConditionModal--destination-ac-contents-inner .Condition__checkbox-label {
    padding-left: 3rem;
    display: block;
}

.ConditionModal--destination-ac-contents-inner .Condition__checkbox-li {
    display: block;
}

/* end_目的地 */

/* start_出発空港 */

.ConditionModal--departure-airpoint-ac-btn {
    position: relative;
    display: block;
    padding: 1.5rem;
    font-weight: var(--bold);
    line-height: 1;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--departure-airpoint-ac-btn.active {
    background-color: #f5f5f5;
}

.ConditionModal--departure-airpoint-ac-contents {
    display: none;
    box-shadow: 0px -1px 0px 0px #e5e5e5 inset;
}

.ConditionModal--departure-airpoint-ac-contents-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#ConditionModal--departure-airpoint .Condition__checkbox-label {
    width: 50%;
}

#ConditionModal--departure-airpoint .Condition__checkbox-label:first-of-type {
    width: 100%;
    font-weight: var(--bold);
}

#ConditionModal--departure-airpoint .Condition__checkbox-label:nth-of-type(even) {
    border-right: 1px solid #e5e5e5;
}

.ConditionModal--arrival-airport-ac-btn {
    position: relative;
    display: block;
    padding: 1.5rem;
    font-weight: var(--bold);
    line-height: 1;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--arrival-airport-ac-btn.active {
    background-color: #f5f5f5;
}

.ConditionModal--arrival-airport-ac-contents {
    display: none;
    box-shadow: 0px -1px 0px 0px #e5e5e5 inset;
}

.ConditionModal--arrival-airport-ac-contents-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#ConditionModal--arrival-airport .Condition__checkbox-label {
    width: 50%;
}

#ConditionModal--arrival-airport .Condition__checkbox-label:first-of-type {
    width: 100%;
    font-weight: var(--bold);
}

#ConditionModal--arrival-airport .Condition__checkbox-label:nth-of-type(even) {
    border-right: 1px solid #e5e5e5;
}

/* end_出発空港 */

/* start_出発日 */

.ConditionModal-day-wrap {
    padding: 1.5rem;
}

.ConditionModal-day-month:not(:last-of-type) {
    margin-bottom: 3rem;
}

.ConditionModal-day-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.ConditionModal-day-ttl {
    font-size: 1.5rem;
    font-weight: var(--bold);
}

.ConditionModal-day-select-month {
    padding: 1.3rem 1.5rem;
    color: #666;
    font-size: 1.3rem;
    font-weight: var(--bold);
    line-height: 1;
    border: 1px solid #c3c3c3;
    border-radius: 5rem;
}

.ConditionModal-day-table th,
.ConditionModal-day-table td {
    width: calc((345rem / 7) / 10);
    height: calc((345rem / 7) / 10);
    font-size: 1.3rem;
    font-weight: var(--bold);
    letter-spacing: 0;
    line-height: 1;
    border: 1px solid #e5e5e5;
    display: table-cell;
}

.ConditionModal-day-table th:first-child,
.ConditionModal-day-table td:first-child {
    color: var(--caution-color);
}

.ConditionModal-day-table th:last-child,
.ConditionModal-day-table td:last-child {
    color: var(--corporate-color);
}

.ConditionModal-day-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    /* width: 100%;
  height: 100%; */
    width: 100%;
    height: 100%;
}

.ConditionModal-day-bg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    background: transparent;
    border-radius: 50%;
    cursor: pointer;
}

.ConditionModal-day-table th .ConditionModal-day-bg {
    background: #f5f5f5;
}

.ConditionModal-day-bg:hover,
.ConditionModal-day-table th .ConditionModal-day-bg:hover {
    background: var(--active-color);
}

.ConditionModal-day-bg.active,
.ConditionModal-day-table th .ConditionModal-day-bg.active {
    color: white;
    background: var(--corporate-color);
}

.ConditionModal-day-empty {
    background: #e5e5e5;
}

.ConditionModal-day-g.out {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.ConditionModal-day-g {
    opacity: 0.5;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* end_出発日 */

/* start_ホテルランク */

.ConditionModal--hotel-rank-note {
    width: calc(100% - 3rem);
    margin: 1.5rem auto 0 auto;
    border: 1px solid #e5e5e5;
    border-radius: 0.6rem;
}

.ConditionModal--hotel-rank-label {
    padding: 1.5rem;
    color: #666;
    font-size: 1.4rem;
    font-weight: var(--bold);
    line-height: 1;
    background-color: #f5f5f5;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--hotel-rank-txt {
    padding: 1.5rem;
}

/* end_ホテルランク */

/* start_クルーズ船 */

#ConditionModal--cruise .Condition__checkbox-txt {
    width: calc(85% - 2.5rem);
}

.ConditionModal__btn-detail {
    position: absolute;
    top: 50%;
    right: 1.5rem;
    padding: 0.5rem 1rem 0.5rem 1.2rem;
    color: var(--corporate-color);
    font-size: 1.2rem;
    font-weight: var(--bold);
    line-height: 1;
    border: 1px solid #7ecff3;
    border-radius: 50rem;
    background: white;
    transform: translateY(-50%);
    transition: background-color 0.3s;
}

/* end_クルーズ船 */

/* start_ホテル・旅館 */

/* start_タブ */

.ConditionModal--hotel-tab-items {
    display: flex;
    width: 100%;
    height: 4.5rem;
    background: white;
}

.ConditionModal--hotel-tab-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    color: #666;
    font-size: 1.4rem;
    font-weight: var(--bold);
    border-bottom: 0.2rem solid #c3c3c3;
}

.ConditionModal--hotel-tab-item:not(.active) {
    transition: color 0.3s;
    cursor: pointer;
}

.ConditionModal--hotel-tab-item.active {
    color: var(--corporate-color);
    background: var(--active-color);
    border-color: var(--corporate-color);
}

/* end_タブ */

#ConditionModal--hotel .CommonModal__scroll-area {
    height: calc((var(--vh, 1vh) * 100) - 5.5rem - 4.5rem - 8rem);
}

/* start_絞り込み */
.ConditionModal--hotel-sort-wrap {
    padding: 1.5rem;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--hotel-sort-ttl {
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
    font-weight: var(--bold);
}

/* start_ランク */
.ConditionModal--hotel-sort-group--rank .ConditionModal--hotel-sort-content {
    padding: 0.1rem 0 1.5rem 0;
    overflow-x: auto;
}

.ConditionModal--hotel-sort-items {
    display: flex;
    justify-content: flex-start;
}

.ConditionModal--hotel-sort-item:not(:last-child) {
    margin-right: 0.5rem;
}

.ConditionModal--hotel-sort-group--rank .Condition__checkbox-label {
    padding: 0.8rem 0.6rem;
    font-size: 1.3rem;
    font-weight: var(--bold);
    white-space: nowrap;
    border: 1px solid #e5e5e5;
    border-radius: 0.4rem;
}

#search_detail_page .ConditionModal--hotel-sort-wrap input[type="checkbox"]:checked + .Condition__checkbox-label {
    color: var(--corporate-color);
}

/* end_ランク */

/* start_ホテル名 */
.ConditionModal--hotel-sort-group--name {
    margin-top: 0.5rem;
}

.ConditionModal--hotel-sort-group--name .ConditionModal--hotel-sort-content {
    display: flex;
    justify-content: space-between;
}

.ConditionModal--hotel-sort-group--name .Condition__input-text {
    width: 68%;
}

.ConditionModal--hotel-sort-group--name .Condition__input-text::after {
    content: none;
}

.ConditionModal--hotel-sort-name-btn-clear {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 4.5rem;
    height: 4.5rem;
    cursor: pointer;
}

.ConditionModal--hotel-sort-name-btn-clear:hover {
    opacity: 0.7;
}

.ConditionModal--hotel-sort-name-btn-clear::before,
.ConditionModal--hotel-sort-name-btn-clear::after {
    content: "";
    display: block;
    width: 1.2rem;
    height: 0.2rem;
    background: #888;
    position: absolute;
    top: 50%;
    left: 50%;
}

.ConditionModal--hotel-sort-name-btn-clear::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.ConditionModal--hotel-sort-name-btn-clear::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.ConditionModal--hotel-sort-btn-narrow {
    width: 30%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    background: #f5f5f5;
    border: 1px solid #e5e5e5;
    border-radius: 5rem;
}

.ConditionModal--hotel-sort-btn-narrow::before {
    content: "";
    display: inline-block;
    width: 1.7rem;
    height: 1.7rem;
    margin-right: 0.5rem;
    vertical-align: -0.3rem;
    background: url(../../sharing/common21/images/icn_search--black.svg) no-repeat center / contain;
    opacity: 0.8;
}

/* end_ホテル名 */
/* end_絞り込み */

.ConditionModal--hotel-tab-contents {
    display: none;
}

.ConditionModal--hotel-tab-contents.active {
    display: block;
}

/* start_一覧から選択 */

.ConditionModal--hotel-list-prefecture-ac-btn {
    position: relative;
    display: block;
    padding: 1.5rem;
    font-weight: var(--bold);
    line-height: 1;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--hotel-list-prefecture-ac-btn.active {
    background-color: #f5f5f5;
}

.ConditionModal--hotel-list-prefecture-inner {
    display: none;
    border-right: 1rem solid #e5e5e5;
}

.ConditionModal--hotel-list-ac-btn {
    position: relative;
    display: block;
    padding: 1.5rem;
    font-weight: var(--bold);
    line-height: 1;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--hotel-list-ac-btn:not(.js_condition-modal-ac-btn),
.ConditionModal--hotel-list-ac-btn.active {
    background-color: #f5f5f5;
}

.ConditionModal--hotel-list-ac-contents {
    display: none;
}

.Condition__hotel-list-rank-label {
    display: block;
    width: 100%;
    padding: 1.5rem;
    color: #666;
    font-size: 1.4rem;
    font-weight: var(--bold);
    background: #f5f5f5;
}

.ConditionModal--hotel-tab-contents--list .Condition__checkbox-label:not(:first-of-type) .Condition__checkbox-txt {
    width: calc(85% - 2.5rem);
}

.ConditionModal--hotel-tab-contents--list .Condition__checkbox-label:first-of-type {
    font-weight: var(--bold);
}

.ConditionModal--hotel-list-prefecture-inner dl dt {
    padding-left: 40px;
}

.ConditionModal--hotel-list-prefecture-inner .Condition__hotel-list-rank-label {
    padding-left: 40px;
}

.ConditionModal--hotel-list-prefecture-inner .Condition__checkbox-label {
    padding-left: 40px;
}

/* end_一覧から選択 */

/* start_地図から選択 */

.CommonModal__contents--map .ConditionModal--hotel-sort-wrap {
    height: 9.5rem;
}

.CommonModal__contents--map .ConditionModal--hotel-sort-group--name {
    display: none;
}

.ConditionModal--hotel-map-wrap {
    position: relative;
    min-height: 380px;
    height: calc((var(--vh, 1vh) * 100) - 5.5rem - 4.5rem - 9.5rem - 7.5rem - 8rem);
    /*
  5.5rem / モーダルヘッダーの高さ
  4.5rem / モーダルタブの高さ
  9.5rem / 絞り込みの高さ
  7.5rem / アコーディオンボタン領域の高さ
  8rem / 設定するボタン領域の高さ
  */
    background: #fafafa;
}

/* start_地図上ホテル枠 */
.ConditionModal--hotel-map-info-content {
    position: relative;
    top: 0;
    right: 0;
    width: 0;
}

.ConditionModal--hotel-map-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: absolute;
    top: -8rem;
    left: -17rem;
    width: 29rem;
    min-height: 19rem;
    padding: 1.5rem;
    background: white;
    border-radius: 0.6rem;
    box-shadow: 0 0 0.4rem 0.1rem rgb(0 0 0 / 5%);
}

.ConditionModal--hotel-map-info-btn-close {
    position: relative;
    top: -6.5rem;
    left: 10.5rem;
    display: block;
    width: 2.6rem;
    height: 2.6rem;
    background: #888;
    border-radius: 50%;
    z-index: 999;
}

.ConditionModal--hotel-map-info-btn-close::before,
.ConditionModal--hotel-map-info-btn-close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1.2rem;
    height: 0.2rem;
    background-color: white;
}

.ConditionModal--hotel-map-info-btn-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.ConditionModal--hotel-map-info-btn-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.ConditionModal--hotel-map-info-ttl {
    width: 100%;
    margin-bottom: 1rem;
    font-size: 1.5rem;
    font-weight: var(--bold);
    background: url(/search/images/new_search/map_marker_b_sm_icon.png) left 2px no-repeat;
    background-size: 1.3rem;
    padding-left: 2rem;
}

.ConditionModal--hotel-map-info-img {
    width: 10rem;
}

.ConditionModal--hotel-map-info-img img {
    border: 1px solid #e5e5e5;
}

.ConditionModal--hotel-map-info-txt {
    width: calc(100% - 11rem);
}

.ConditionModal--hotel-map-info-rank {
    color: var(--sub-corporate-color);
    font-size: 1.2rem;
    font-weight: var(--bold);
}

.ConditionModal--hotel-map-info-description {
    margin-bottom: 1rem;
    font-size: 1.3rem;
}

.ConditionModal--hotel-map-info-btn-items {
    display: flex;
    justify-content: flex-end;
}

.ConditionModal--hotel-map-info-btn-item {
    padding: 0.8rem;
    font-size: 1.2rem;
    font-weight: var(--bold);
    line-height: 1;
    white-space: nowrap;
    border-radius: 5rem;
}

.ConditionModal--hotel-map-info-btn-item--detail {
    color: var(--corporate-color);
    border: 1px solid #7fcff4;
}

.ConditionModal--hotel-map-info-btn-item--add {
    color: white;
    background-color: var(--corporate-color);
}

.ConditionModal--hotel-map-info-btn-item.hotel_map_add {
    color: white;
    background-color: var(--corporate-color);
}

.ConditionModal--hotel-map-info-btn-item:first-child {
    margin-right: 0.5rem;
}

/* end_地図上ホテル枠 */

.ConditionModal--hotel-selected-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 3rem);
    height: 4.5rem;
    margin: 1.5rem auto;
    font-size: 1.4rem;
    background: #f5f5f5;
    border-radius: 0.4rem;
}

.ConditionModal--hotel-selected-num {
    position: absolute;
    top: -0.6rem;
    left: -0.6rem;
    width: 2.2rem;
    height: 2.2rem;
    color: white;
    font-size: 1rem;
    font-weight: var(--bold);
    letter-spacing: 0;
    line-height: 2.2rem;
    text-align: center;
    border-radius: 50%;
    background-color: var(--corporate-color);
}

.ConditionModal--hotel-selected-items {
    /* display: none; */
    border-top: 1px solid #e5e5e5;
}

.ConditionModal--hotel-selected-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--hotel-selected-item-name {
    line-height: 1.3;
    width: 68%;
}

.ConditionModal--hotel-selected-item-btn-wrap {
    display: flex;
    justify-content: space-between;
    width: 31%;
}

.ConditionModal--hotel-selected-item-btn {
    display: block;
    padding: 0.8rem 1.2rem;
    color: var(--corporate-color);
    font-size: 1.2rem;
    font-weight: var(--bold);
    line-height: 1;
    border: 1px solid #7fcff4;
    border-radius: 5rem;
}

.ConditionModal--hotel-selected-item-btn--delete {
    color: #666;
    border-color: #c9c9c9;
}

/* end_地図から選択 */

/* end_ホテル・旅館 */

/* start_テーマ */

.ConditionModal--theme-ac-btn {
    position: relative;
    display: block;
    padding: 1.5rem;
    font-weight: var(--bold);
    line-height: 1;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--theme-ac-btn.active {
    background-color: #f5f5f5;
}

.ConditionModal--theme-ac-contents {
    display: none;
}

/* end_テーマ */

/*-------------------edit by access start---------------*/

.tdr_usj .Condition__checkbox-btn {
    border-radius: 50%;
    margin-left: 2rem;
}

#search_detail_page input[type="radio"]:disabled + .Condition__checkbox-label {
    color: var(--disable-font-color);
}

#search_detail_page input[type="radio"]:disabled + .Condition__radio-label--simple {
    color: var(--disable-font-color);
}

#search_detail_page input[type="checkbox"]:disabled + .Condition__checkbox-label {
    color: var(--disable-font-color);
}

#search_detail_page input[type="checkbox"]:disabled + .Condition__checkbox-label .Condition__checkbox-btn {
    border: none;
    background-color: var(--disable-color);
}

#search_detail_page input[type="radio"]:disabled + .Condition__checkbox-label .Condition__checkbox-btn {
    border: none;
    background-color: var(--disable-color);
}

#search_detail_page input[type="checkbox"]:disabled + .Condition__checkbox-li .Condition__checkbox-btn {
    border: none;
    background-color: var(--disable-color);
}

#search_detail_page input[type="checkbox"]:disabled + .Condition__checkbox-label--simple {
    color: var(--disable-font-color);
}

#search_detail_page .ConditionModal--hotel-sort-wrap input[type="checkbox"]:disabled + .Condition__checkbox-label {
    color: var(--disable-font-color);
}

#search_detail_page input[type="radio"]:disabled + .Condition__radio-label {
    color: var(--disable-font-color);
}

#search_detail_page input[type="radio"]:disabled + .Condition__radio-label .Condition__radio-btn {
    border: none;
    background-color: var(--disable-color);
}

.form-control:disabled {
    background-color: #e9ecef;
    opacity: 1;
}

.ConditionModal--hotel-map-info .ConditionModal--hotel-map-info-ttl.active {
    background: url(/search/images/new_search/map_marker_r_sm_icon.png) left 2px no-repeat;
    background-size: 1.3rem;
    padding-left: 2rem;
}

.ConditionModal--hotel-tab-contents--list .Condition__checkbox-ul .Condition__checkbox-label {
    font-weight: 500 !important;
}

.ConditionModal--hotel-tab-contents--list .Condition__checkbox-ul .Condition__checkbox-label .Condition__checkbox-txt-name {
    display: block;
    max-width: 24rem;
}

.ConditionModal--hotel-map-info-btn-item--delete {
    color: #fff;
    background-color: #868e96;
    border-color: #868e96;
}

.ConditionModal-day-table td.hol {
    color: var(--caution-color);
}

.ConditionModal-day-table td.calendar_link {
    font-weight: var(--bold);
    text-decoration: underline;
}

/*-------------------edit by access end---------------*/

/* --------------------end_CommonModal（個別）-------------------- */

/* --------------------start_モーダル海外のみ-------------------- */

/* start_特別代金プラン */

#ConditionModal--special-price .CommonModal__contents-inner {
    padding: 1.5rem;
}

.ConditionModal--special-price-caution {
    margin-top: 1rem;
    color: var(--sub-corporate-color);
    font-size: 1.3rem;
    font-weight: var(--bold);
}

.ConditionModal--special-price-note {
    margin: 1.5rem auto 2rem auto;
    border: 1px solid #e5e5e5;
    border-radius: 0.6rem;
    overflow: hidden;
}

.ConditionModal--special-price-label {
    padding: 1rem 1.5rem;
    color: #666;
    font-size: 1.4rem;
    font-weight: var(--bold);
    background: #f5f5f5;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--special-price-txt {
    padding: 1.5rem;
}

.ConditionModal--special-price-table-ttl {
    margin-bottom: 1rem;
    padding-left: 0.5rem;
    font-weight: var(--bold);
    line-height: 1;
    border-left: 0.4rem solid var(--corporate-color);
}

.ConditionModal--special-price-table {
    width: 100%;
}

.ConditionModal--special-price-table th,
.ConditionModal--special-price-table td {
    padding: 0.5rem 0.8rem;
    font-size: 1.3rem;
    border: 1px solid #e5e5e5;
}

.ConditionModal--special-price-table th {
    color: white;
    font-weight: var(--bold);
    background: #666;
}

.ConditionModal--special-price-table th:last-child {
    text-align: right;
}

.ConditionModal--special-price-table td:last-child {
    font-weight: var(--bold);
    text-align: right;
}

.ConditionModal--special-price-unit {
    font-size: 1.3rem;
}

.ConditionModal--special-price-request {
    margin-left: 0.5rem;
    padding: 0.3rem;
    color: var(--sub-corporate-color);
    font-size: 1.1rem;
    font-weight: var(--bold);
    border: 1px solid var(--sub-corporate-color);
}

/* end_特別代金プラン */

/* start_航空会社 */

#ConditionModal--airplane-i .CommonModal__scroll-area {
    height: calc((var(--vh, 1vh) * 100) - 5.5rem - 5.5rem - 8rem);
}

.ConditionModal--airplane-label {
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
    color: #666;
    font-size: 1.4rem;
    font-weight: var(--bold);
    border-bottom: 1px solid #e5e5e5;
    background-color: #f5f5f5;
}

#ConditionModal--airplane-i .CommonModal__contents-inner:not(:last-of-type) .Condition__checkbox-label:first-of-type {
    font-weight: var(--bold);
    width: 100%;
}

.ConditionModal--airplane-logo {
    width: 3rem;
    height: 3rem;
    margin-right: 0.5rem;
    vertical-align: -1rem;
    border: 1px solid #e5e5e5;
}

.Condition__airplane-input-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 5.5rem;
    padding: 1.5rem;
    margin-top: -1px;
    border-top: 1px solid #e5e5e5;
}

.Condition__airplane-input-ttl {
    margin-right: 1rem;
    font-size: 1.3rem;
    font-weight: var(--bold);
}

.Condition__airplane-input-wrap .Condition__radio-label {
    margin: 0 1rem 0 0;
    font-size: 1.4rem;
}

/* end_航空会社 */

/* start_出発時間帯 */

.ConditionModal--time-zone-label {
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
    color: #666;
    font-size: 1.4rem;
    font-weight: var(--bold);
    border-bottom: 1px solid #e5e5e5;
    background-color: #f5f5f5;
}

/* end_出発時間帯 */

/* start_船会社・客船 */
.ConditionModal--ship-company-label {
    display: block;
    width: 100%;
    padding: 1rem 1.5rem;
    color: #666;
    font-size: 1.4rem;
    font-weight: var(--bold);
    border-bottom: 1px solid #e5e5e5;
    background-color: #f5f5f5;
}

.ConditionModal--ship-company-ac-btn {
    position: relative;
    display: block;
    padding: 1.5rem;
    font-weight: var(--bold);
    line-height: 1;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--ship-company-ac-btn.active {
    background-color: #f5f5f5;
}

.ConditionModal--ship-company-ac-contents {
    display: none;
    box-shadow: 0px -1px 0px 0px #e5e5e5 inset;
}

.ConditionModal--ship-company-ac-contents-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#ConditionModal--ship-company .Condition__checkbox-label {
    padding-right: 7rem;
}

#ConditionModal--ship-company .Condition__checkbox-label:first-of-type {
    width: 100%;
    font-weight: var(--bold);
}

/* end_船会社・客船 */

/* start_ホテルグレード */
.ConditionModal--hotel-grade-note {
    width: calc(100% - 3rem);
    margin: 1.5rem auto 0 auto;
    border: 1px solid #e5e5e5;
    border-radius: 0.6rem;
}

.ConditionModal--hotel-grade-label {
    padding: 1.5rem;
    color: #666;
    font-size: 1.4rem;
    font-weight: var(--bold);
    line-height: 1;
    background-color: #f5f5f5;
    border-bottom: 1px solid #e5e5e5;
}

.ConditionModal--hotel-grade-txt {
    padding: 1.5rem;
}

/* end_ホテルグレード */

/* --------------------end_モーダル海外のみ-------------------- */

#loadMask {
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 500;
}

.bgStyle {
    opacity: 0.5;
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: lightgray;
    z-index: 999;
}

.maskStyle {
    position: absolute;
    top: 0%;
    left: 0%;
    text-align: center;
    vertical-align: middle;
    width: 100%;
    height: 100%;
    z-index: 1002;
}

.maskStyle img {
    -webkit-animation: spin 1s linear infinite;
    -moz-animation: spin 1s linear infinite;
    -ms-animation: spin 1s linear infinite;
    -o-animation: spin 1s linear infinite;
    animation: spin 1s linear infinite;
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@-moz-keyframes spin {
    0% {
        -moz-transform: rotate(0deg);
    }

    100% {
        -moz-transform: rotate(360deg);
    }
}

@-ms-keyframes spin {
    0% {
        -ms-transform: rotate(0deg);
    }

    100% {
        -ms-transform: rotate(360deg);
    }
}

@-o-keyframes spin {
    0% {
        -o-transform: rotate(0deg);
    }

    100% {
        -o-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.Condition__group--conductor .Condition__checkbox-label,
.Condition__group--do .Condition__checkbox-label {
    width: calc((100% - 1rem) / 2);
}

.ConditionModal--hotel-grade-note,
.ConditionModal--hotel-rank-note {
    padding: 1rem;
}

.ConditionModal--bus .CommonModal__scroll-area .no_bus_boarding {
    padding: 1rem;
}

#search_detail_page input[type="checkbox"]:disabled + .Condition__checkbox-li {
    color: var(--disable-font-color);
}

.fromCoupon {
    max-width: calc(100vw - 3.2rem);
    margin: 0 auto 2rem auto;
    padding: 1.6rem;
    border: 0.2rem solid var(--caution-color);
    background-color: white;
}

.fromCoupon__item {
    padding-left: 1.5rem;
    font-size: 1.4rem;
    text-indent: -1.5rem;
}

.item-two-line {
    text-overflow: -o-ellipsis-lastline;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.hidden {
    display: none !important;
}

#ConditionModal--ship input[type="checkbox"]:disabled + .Condition__checkbox-label .Condition__checkbox-btn {
    border: none;
    background-color: var(--disable-color);
}

.Search__clear {
    /*margin-top: 0.5rem;*/
    padding: 0.5rem 1rem;
    color: #fff;
    font-size: 1.4rem;
    font-weight: var(--bold);
    text-align: center;
    background-color: #8e8e8e;
    border-radius: 0.3rem;
}

.Search__clear span {
    font-size: 1.8rem;
    margin-right: 3px;
    font-weight: 300;
    line-height: 0;
}

.price-model {
    width: 100%;
}

#search_destination .SelectArea__alert {
    bottom: -0.8rem !important;
    right: 0 !important;
    left: unset !important;
}

#search_destination .Condition__content {
    position: relative !important;
}

.price-model td {
    border: 1px solid #e5e5e5;
    font-size: 10px;
    padding-left: 5px;
}

.graystyle:not(input[type="text"]):not(select) {
    color: #808080 !important;
}

.price-model th {
    color: white;
    font-weight: 600;
    background: #666;
    padding-left: 5px;
}

.price-model th:last-child {
    text-align: right;
    padding-right: 5px;
}

.price-model tr td:last-child {
    text-align: right;
    padding-right: 5px;
    width: 22%;
    vertical-align: middle;
}

.price-model tr td:first-child {
    text-align: left;
    padding-left: 5px;
    width: 18%;
    vertical-align: middle;
}

.CommonModal-day-control-wrap {
    display: flex;
    justify-content: center;
    width: calc(100% - 80px);
    padding: 15px 0;
    margin: 0 auto;
}

.CommonModal-day-control {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 30px;
    background-color: #f5f5f5;
    border-radius: 50px;
}

.CommonModal-day-control--g {
    opacity: 0.3;
}

.CommonModal-day-control:not(.CommonModal-day-control--g) {
    cursor: pointer;
    transition: box-shadow 0.3s, background-color 0.3s;
}

.CommonModal-day-control:not(.CommonModal-day-control--g):hover {
    box-shadow: 0px 0px 0px 1px var(--corporate-color) inset;
    background-color: var(--active-color);
}

.checked-hotel.show:after,
.checked-hotel.show:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1rem;
    height: 0.7rem;
    border-left: 0.2rem solid white;
    border-bottom: 0.2rem solid white;
    transform: translate(-50%, -70%) rotate(-45deg);
}

.CommonModal-day-control::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--sub-corporate-color);
    border-right: 2px solid var(--sub-corporate-color);
    transform: rotate(45deg);
}

.CommonModal-day-control--prev {
    margin-right: 15px;
}

.CommonModal-day-control--prev::before {
    transform: rotate(-135deg);
}

/*220823*/

#ConditionModal--special-price .CommonModal__contents-inner .tableAreaContents p {
    border-left: 4px solid var(--corporate-color);
    margin: 2.5rem 0 1rem;
    padding-left: 0.5rem;
    font-weight: var(--bold);
    line-height: 1;
}

#ConditionModal--special-price .price-model th {
    text-align: center;
    font-size: 1.3rem;
    padding: 0.5rem 0.8rem;
    border: 1px solid #e5e5e5;
    vertical-align: middle;
}

#ConditionModal--special-price .price-model td {
    padding: 0.5rem 0.8rem;
    vertical-align: middle;
    text-align: center;
    font-size: 1.3rem;
    border: 1px solid #e5e5e5;
}

#ConditionModal--special-price .price-model td:first-child {
    /* text-align: left; */
    vertical-align: middle;
}

#ConditionModal--special-price .price-model td:last-child {
    font-weight: bold;
    /* text-align: right; */
    white-space: nowrap;
}

#ConditionModal--special-price .price-model--air td[colspan="2"] {
    /* text-align: left; */
}

.Calendar-head_icon-txt {
    margin-bottom: 1.5rem;
    text-align: right;
}

.Calendar-head_icon-txt a {
    display: inline-block;
    width: 100%;
    padding: 0.5rem 1.6rem 0.5rem 0;
    font-size: 1.4rem;
    line-height: 1;
}

.Calendar-head_icon-txt a::after {
    content: "";
    display: inline-block;
    width: 0.8rem;
    height: 0.8rem;
    margin-left: 0.4rem;
    vertical-align: 0.1rem;
    border-top: 0.2rem solid #333;
    border-right: 0.2rem solid #333;
    transform: rotate(45deg);
}

.Calendar-head__tag-item {
    display: inline-block;
    margin: 0 0.5rem 0.5rem 0;
    padding: 0.5rem;
    color: var(--sub-corporate-color);
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1;
    border: 1px solid #99cae1;
}

.CommonModal__contents {
    overflow: scroll;
}

#Explain-Icons .CommonModal__contents-inner {
    display: flex;
    padding: 0 2rem;
}

#Explain-Icons .CommonModal__contents-inner:first-child {
    padding-top: 2rem;
}

#Explain-Icons .CommonModal__contents-inner:last-child {
    padding-bottom: 2rem;
}

#Explain-Icons.CommonModal.active {
    max-height: calc((var(--vh, 1vh) * 100));
}

#Explain-Icons .CommonModal__scroll-area {
    padding-bottom: 0 !important;
}

.Icons__icon,
.Icons__icon-th {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-color: #e5e5e5;
    width: 43%;
    height: auto;
    min-height: 45px;
    padding: 10px 5px;
    border: 1px solid #c3c3c3;
    border-top: none;
}

.Icons__ex,
.Icons__ex-th {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    border-color: #e5e5e5;
    width: 57%;
    height: auto;
    min-height: 45px;
    padding: 10px 5px;
    border: 1px solid #c3c3c3;
    border-left: none;
    border-top: none;
}

.Icons__ex span {
    font-size: 1.3rem;
}

.Icons__icon-th {
    justify-content: center;
    border: 1px solid #c3c3c3;
    background: #f5f5f5;
}

.Icons__ex-th {
    justify-content: center;
    border: 1px solid #c3c3c3;
    border-left: none;
    background: #f5f5f5;
}

#Explain-Icons .Calendar-head__tag-item {
    font-size: 1.1rem;
    margin: 0;
}

.MapModal__close-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: calc(8rem + 1px);
    border-top: 1px solid #e5e5e5;
    transform: translateY(-1px);
}

.MapModal__close-btn {
    display: inline-block;
    padding: 0.8rem 2rem;
    background: #f5f5f5;
    border-radius: 0.3rem;
}

.MapModal__close-btn-icn {
    display: inline-block;
    position: relative;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: 0.5rem;
}

.MapModal__close-btn-icn::before,
.MapModal__close-btn-icn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1.2rem;
    height: 0.2rem;
    background-color: #333;
}

.MapModal__close-btn-icn::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.MapModal__close-btn-icn::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

body.fixed {
    position: fixed;
    width: 100%;
    left: 0;
    overflow-y: scroll;
}

/* end_アイコンモーダル  */

/* start_Recommend/Remind */

#ppz_kaigai_search_remind01,
#ppz_kokunai_search_remind01,
#ppz_kaigai_search_recommend01,
#ppz_kokunai_search_recommend01 {
    margin-bottom: 4.5rem;
}

/* end_Recommend/Remind */
