/*! 絞り込みpc用 */

/* --------------------start_index.css上書き-------------------- */
 body {
    font-size: 1.6rem;
}

div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, img, fieldset, form, label, legend, caption, tbody, tfoot, thead, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    color: #333;
    font-size: inherit;
}

button, input, optgroup, select, textarea {
    font: inherit;
}

a:hover {
    text-decoration: none;
    color: inherit;
}

.Keyword__link:visited {
    color: inherit;
}

.Common21__fill-btn:visited {
    color: white;
}

.Common21__fill-btn:hover {
    color: var(--corporate-color);
}

.Gnav__link--active::after {
    content: '';
    display: block;
    background-color: var(--corporate-color);
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    position: absolute;
    top: 3px;
    left: 3px;
    border-radius: 4px;
    z-index: -1;  
}

.BreadCrumb__items .breadcrumb__item span.BreadCrumb__current {
    line-height: 2rem;
}

/* --------------------end_index.css上書き-------------------- */

.Result-wrap {
    padding-top: 15px;
    position: relative;
}

.Result-notfound .Result-wrap {
    padding-top: 0;
}

.PageBanner-top {
    display: block;
    max-width: 1024px;
    margin-inline: auto;
    transition: opacity 0.3s;
}

.Result-notfound .PageBanner-top {
    display: none;
}

.PageBanner-top:hover {
    opacity: 0.7;
}

#PageName {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 85px;
}

.reArr_Form li{
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

/* --------------------start_現在選択中-------------------- */

.condition-open {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    position: relative;
    width: 230px;
    padding: 15px 0;
    color: var(--corporate-color);
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    border: 1px solid var(--corporate-color);
    border-radius: 4px;
    transition: background-color 0.3s;
}

.Result-notfound .condition-open {
    display: none;
}

.condition-open .Search__icn-plus {
    position: relative;
    right: auto;
    transform: none;
}

.condition-open:not(.open):hover {
    background-color: var(--active-color);
}

.condition-open.open {
    color: white;
    background-color: #767676;
    border: none;
}

.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: 8px;
    width: 1024px;
    margin: 0 auto 16px auto;
    padding: 16px 20px;
    border: 4px solid #e5e5e5;
}

#CurrentCondition.open {
    display: flex;
}

.CurrentCondition__inner {
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px;
    margin-bottom: 32px;
}

.CurrentCondition__heading {
    width: 100%;
    font-weight: 600;
}

.CurrentCondition__p {
    display: flex;
    font-size: 1.4rem;
}

.CurrentCondition__span {
    flex-shrink: 0;
    font-weight: 600;
}

.CurrentCondition__reset {
    align-self: flex-end;
    font-size: 1.4rem;
    border-bottom: 1px solid #333;
}

.CurrentCondition__reset::before {
    content: "✕";
    margin-right: 4px;
    font-weight: 600;
    font-size: 1.2rem;
    vertical-align: 1px;
}

.CurrentCondition__reset:hover {
    border-color: transparent;
}

/* --------------------end_現在選択中-------------------- */

.Main__inner {
    --margin-LR: calc((100% - 1024px) / 2);
    display: flex;
    gap: 40px;
    margin: 0 auto 20px auto;
    background-color: #fafafa;
    border-top: 1px solid #c3c3c3;
    border-bottom: 1px solid #c3c3c3;
}

.Result-notfound .Main__inner {
    justify-content: center;
}

#Result {
    margin-bottom: 60px;
    padding: 40px 0;
    position: relative;
}

#Result.standBy::before {
    content: "「絞り込む」ボタンを押してください。\A条件に該当するツアー一覧が表示されます。";
    display: grid;
    place-content: center;
    position: sticky;
    top: 50%;
    z-index: 2;
    width: 400px;
    height: 110px;
    margin-inline: auto;
    color: white;
    text-align: center;
    white-space: pre;
    background-color: #404040;
}

#Result.standBy::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0.7;
    background-color: #fafafa;
}

.Result__inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 764px;
    margin: 0 auto;
}

#Result.standBy .Result__inner {
    margin-top: -110px;
}

.Result-notfound-txt {
    display: none;
}

.Result__search_nohit {
    font-size: 1.6rem;
}

.Result__back-link {
    color: #0000EE;
    text-decoration: underline;
    font-size: 1.4rem;
}

.Result-notfound .Result-notfound-txt {
    display: block;
    color: #db2100;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 20px;
}

/* --------------------start_件数 / ソート-------------------- */

.Result__heading {
    display: flex;
    justify-content: space-between;
}

/* start_件数 */

.Result__number-wrap {
    font-size: 1.4rem;
    font-weight: 600;
}

.Result__number {
    margin: 0 3px;
    color: var(--caution-color);
    font-size: 2.6rem;
    letter-spacing: 0;
}

/* start_ソート */

.Result__sort-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-size: 1.4rem;
}

/* start_条件 */

.Result__sort-condition {
    position: relative;
    border: 1px solid #888;
    border-radius: 4px;
    background: white;
}

.Result__sort-condition::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #c3c3c3;
    border-bottom: 2px solid #c3c3c3;
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-80%) rotate(45deg);
}

.Result__sort-condition-select {
    width: 100%;
    height: 100%;
    padding: 10px 30px 10px 10px;
}

.tourOneBlockDefault {
    margin-top: 0;
    padding-top: 0;
}

.Result__tour {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px;
    background-color: white;
    box-shadow: 0px 0px 6px 2px rgb(0 0 0 / 5%);
}

.Result__tour:not(:last-child) {
    margin-bottom: 40px;
}

.Result__tour-heading {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e5e5;
}

.Result__tour-heading-inner {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 4px;
}

.Result__tour-ttl {
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.3;
}

.Result__tour-ttl:hover {
    color: inherit;
    text-decoration: underline;
}

.Result__tour-ttl:visited {
    color: inherit;
}

.Result__tour-caption {
    margin-bottom: 8px;
    font-size: 1.5rem;
}

.Result__tour-info-wrap {
    margin-bottom: 8px;
}

.Result__tour-info {
    font-size: 1.3rem;
    font-weight: 400;
}

.Result__tour-info-label {
    display: inline-block;
    font-weight: 400;
}

.Result__tour-info-label:not(:first-child) {
    margin-left: 10px;
}

.Result__tour-info-content {
    display: inline-block;
}

.Result__tour-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.Result__tour-tag {
    padding: 5px 10px;
    color: var(--sub-corporate-color);
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1;
    border: 1px solid #99cae1;
}

.Result__tour-tag:not(:first-child) {
    margin-left: 5px;
}

.Result__tour-left-group {
    width: 374px;
}

.Result__tour-photo-wrap {
    display: flex;
    justify-content: space-between;
}

.Result__tour-photo {
    width: 186px;
    height: 140px;
}

.Result__tour-photo img {
    aspect-ratio: 4/3;
}

.Result__tour-right-group {
    width: 310px;
}

.Result__tour-price-box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

.Result__tour-price-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    font-weight: 600;
}

.Result__tour-price-ttl {
    margin-right: 5px;
    font-size: 1.3rem;
    font-weight: 600;
}

.Result__tour-price {
    color: var(--caution-color);
    font-size: 2rem;
    letter-spacing: 0.01em;
}

.Result__tour-price-unit {
    font-size: 1.8rem;
}

.Result__tour-period {
    margin-bottom: 4px;
    padding: 8px 10px;
    font-size: 1.3rem;
    line-height: 1;
    background-color: #f5f5f5;
}

.Result__tour-period-label {
    display: inline-block;
    margin-right: 10px;
    font-weight: 500;
}

.Result__tour-period-content {
    display: inline-block;
}

.Result__tour-table {
    width: 100%;
    margin-bottom: 16px;
    font-size: 1.3rem;
}

.Result__tour-table caption {
    padding: 2px;
    color: #666;
    font-size: 1.2rem;
    font-weight: 600;
    text-align: center;
    background: #f5f5f5;
    border: 1px solid #c9c9c9;
    border-bottom: 0;
}

.Result__tour-table th,
.Result__tour-table td {
    padding: 5px 10px;
    border: 1px solid #c9c9c9;
}

.Result__tour-table th {
    width: 80px;
    font-weight: 400;
}

.Result__tour-table td {
    width: calc(100% - 80px);
}

.Result__tour-table td p {
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.Result__tour-table-txtlink {
    color: inherit;
    text-decoration: underline;
}

.Result__tour-table-txtlink:visited {
    color: inherit;
}

.Result__tour-table-txtlink:hover {
    color: var(--corporate-color);
    text-decoration: underline;
}



.Result__tour-reserve-wrap {
    text-align: right;
}

.Result__tour-reserve {
    display: inline-block;
    padding: 15px 70px;
    color: white;
    font-weight: 500;
    background-color: var(--caution-color);
    border-radius: 3px;
    transition: opacity 0.3s;
}

.Result__tour-reserve:hover {
    color: white;
    text-decoration: none;
    opacity: 0.7;
    background-color: var(--caution-color);
}

.Result__tour-reserve:visited {
    color: white;
    text-decoration: none;
    background-color: var(--caution-color);
}
/* --------------------start_pager-------------------- */

.Result__pager-items {
    text-align: center;
}

.Result__pager-items li {
    display: inline-block;
    margin: 0 6px;
}

.Result__pager-item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    color: var(--sub-corporate-color);
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1;
    border-radius: 3px;
    background-color: white;
    transition: box-shadow 0.3s;
}

.Result__pager-item:not(.active):hover {
    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: 10px;
    height: 10px;
    border-top: 2px solid var(--sub-corporate-color);
    border-right: 2px solid var(--sub-corporate-color);
}

.Result__pager-item--prev::before {
    transform: translateX(2px) rotate(-135deg);
}

.Result__pager-item--next::before {
    transform: translateX(-2px) rotate(45deg);
}

.Result__pager-item.active {
    cursor: default;
    pointer-events: none;
    color: white;
    background-color: var(--sub-corporate-color);
}

/* --------------------start_詳細条件-------------------- */

#Condition {
    width: calc(220px + var(--margin-LR));
    padding: 40px 15px 40px var(--margin-LR);
    background-color: white;
    border-right: 1px solid #c3c3c3;
}

.Result-notfound #Condition {
    display: none;
}

/* start_共通 */

#Condition ::placeholder {
    color: #333;
}

/* start_ラジオボタン（枠あり） */

#Condition input[type="radio"] {
    display: none;
}

.Condition__radio-label {
    display: inline-block;
    height: 45px;
    padding: 10px;
    border: 1px solid #c3c3c3;
    border-radius: 4px;
}

#Condition input[type="radio"]:checked + .Condition__radio-label {
    border-color: var(--corporate-color);
}

.Condition__radio-btn {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 5px;
    vertical-align: -4px;
    border-radius: 50%;
    border: 2px solid #888;
    background-color: white;
}

#Condition input[type="radio"]:checked + .Condition__radio-label .Condition__radio-btn {
    border: 5px solid var(--corporate-color);
}

#ConditionModal--theme .CommonModal__nonSelect-input .Condition__radio-label {
    width: 112px;
    position: absolute;
    top: 50%;
    left: 4rem;
    translate: 0 -50%;
    border: 0;
    padding: 0;
}
/* start_モーダルオープンボタン */

.Condition__modal-open {
    position: relative;
    display: inline-block;
    overflow: hidden;
    width: 100%;
    height: 45px;
    padding: 9px 30px 8px 10px;
    line-height: 24px;
    text-overflow: ellipsis;
    white-space: nowrap;
    border: 1px solid #888;
    border-radius: 4px;
}

.Condition__modal-open::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #c3c3c3;
    border-right: 2px solid #c3c3c3;
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%) rotate(45deg);
}

.Condition__modal-open.selected,
.Condition__modal-open.selected::after {
    border-color: var(--corporate-color);
}

.Condition__modal-open.disabled {
    color: #9c9c9c;
    background-color: #c3c3c3;
    pointer-events: none;
}

/* start_チェックボックス（枠あり） */

#Condition input[type="checkbox"] {
    display: none;
}

.Condition__checkbox-label {
    display: inline-block;
    width: 100%;
    height: 45px;
    padding: 10px 15px;
    border: 1px solid #c3c3c3;
    border-radius: 4px;
}

#Condition input[type="checkbox"]:checked + .Condition__checkbox-label {
    border-color: var(--corporate-color);
}

.Condition__checkbox-btn {
    flex-shrink: 0;
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 5px;
    vertical-align: -4px;
    border-radius: 4px;
    border: 2px solid #888;
    background-color: white;
}

#Condition input[type="checkbox"]:checked + .Condition__checkbox-label .Condition__checkbox-btn {
    border: none;
    background-color: var(--corporate-color);
}

#Condition input[type="checkbox"]:checked + .Condition__checkbox-label .Condition__checkbox-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 10px;
    height: 7px;
    border-left: 2px solid white;
    border-bottom: 2px solid white;
    transform: translate(-50%, -70%) rotate(-45deg);
}

/* start_セレクトボックス */

.Condition__select {
    width: 100%;
    position: relative;
    border: 1px solid #888;
    border-radius: 4px;
}

.Condition__select::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #c3c3c3;
    border-bottom: 2px solid #c3c3c3;
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-80%) rotate(45deg);
}

.Condition__select.selected,
.Condition__select.selected::after {
    border-color: var(--corporate-color);
}

#Condition select {
    width: 100%;
    height: 45px;
    padding: 8px 30px 8px 10px;
}

/* end_共通 */

.Condition__heading {
    position: relative;
    margin-bottom: 25px;
    padding: 16px;
    color: white;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center;
    background-color: var(--corporate-color);
}

.Condition__heading::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: calc(50% - 6px);
    width: 12px;
    height: 6px;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    background-color: var(--corporate-color);
}

.Condition__item {
    padding-bottom: 20px;
}

.Condition__item:not(:last-child) {
    margin-bottom: 20px;
    border-bottom: 1px dashed #c3c3c3;
}

.Condition__item-label {
    margin-bottom: 10px;
    font-size: 1.3rem;
    font-weight: 600;
}

.Condition__item-content {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    font-size: 1.5rem;
}

/* start_交通手段 */

.Condition__item--transport label {
    width: calc(50% - 4px);
}

.Condition__item--transport label:first-of-type {
    width: 100%;
}

/* start_出発地 */

.Condition__item--departure {
    width: 100%;
    border-top: none;
}

/* start_旅行日数 */

.Condition__item--days .Condition__select {
    width: calc(100% - 2.2rem);
}

.Condition__tilde {
    font-size: 1.4rem;
    letter-spacing: 0;
}

/* start_footer */

.Condition__footer {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 20px 0 72px 0;
    border-top: 1px dashed #c3c3c3;
}

.Condition__btn--clear {
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: center;
    border-bottom: 1px solid #333;
}

.Condition__btn--clear::before {
    content: "✕";
    margin-right: 4px;
    font-weight: 600;
    font-size: 1.2rem;
    vertical-align: 1px;
}

.Condition__btn--clear:hover {
    border-bottom-color: white;
}

.Condition__footer--inner {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 8px;
    padding: 15px;
    width: 100%;
}

.Condition__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 0;
    color: white;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
    background-color: var(--caution-color);
    border-radius: 3px;
    transition: opacity 0.3s;
    width: 100%;
}

.Condition__btn::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 5px;
    vertical-align: -2px;
    background: url(https://www.hankyu-travel.com/sharing/common21/images/icn_search--white.svg) no-repeat center / contain;
}

.Condition__btn:hover {
    opacity: 0.7;
}

.Condition__footer--inner.fixed {
    position: fixed;
    bottom: 0;
    left: max(0px, calc((100% - 1024px) / 2));
    width: 220px;
    color: white;
    border: none;
    background-color: rgba(0, 0, 0, 0.75);
    /* transform: translateX(-512px); */
}

/* --------------------start_モーダル-------------------- */

.CommonModal {
    width: 700px;
}

.CommonModal__contents {
    position: relative;
}

.CommonModal__contents-inner {
    box-shadow: 0px -1px 0px 0px #e5e5e5 inset;
    padding: 0;
}

.CommonModal .Condition__checkbox-label {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    border-color: #e5e5e5;
    height: auto;
    min-height: 45px;
}

#Condition .CommonModal input[type="checkbox"]:checked + .Condition__checkbox-label {
    border-color: #e5e5e5;
}

.Condition__checkbox-txt {
    width: calc(100% - 25px);
    line-height: 1.3;
}

.CommonModal .CommonModal__set-btn-wrap {
    transform: translateY(-1px);
}

.CommonModal .Search__icn-plus {
    right: 15px;
}

/* 特別代金プランモーダル */
#ConditionModal--special-price .CommonModal__contents-inner {
    padding: 20px;
}
  
.ConditionModal--special-price .CommonModal__contents-inner {
    padding: 20px;
}
  
.ConditionModal--special-price-caution {
    color: var(--sub-corporate-color);
    font-size: 1.3rem;
    font-weight: 600;
}
  
.ConditionModal--special-price-note {
    margin: 15px auto 20px auto;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    overflow: hidden;
}
  
.ConditionModal--special-price-label {
    padding: 10px 15px;
    color: #666;
    font-size: 1.4rem;
    font-weight: 600;
    background: #f5f5f5;
    border-bottom: 1px solid #e5e5e5;
}
  
.ConditionModal--special-price-txt {
    padding: 15px;
}
  
.ConditionModal--special-price-table-ttl {
    margin-bottom: 10px;
    padding-left: 5px;
    font-weight: 600;
    line-height: 1;
    border-left: 4px solid var(--corporate-color);
}
  
.ConditionModal--special-price-table {
    width: 100%;
}
  
.ConditionModal--special-price-table th,
.ConditionModal--special-price-table td {
    padding: 10px 20px;
    border: 1px solid #e5e5e5;
}
  
.ConditionModal--special-price-table th {
    color: white;
    font-weight: 600;
    background: #666;
}
  
.ConditionModal--special-price-table th:last-child {
    text-align: right;
}
  
.ConditionModal--special-price-table td:last-child {
    font-weight: 600;
    text-align: right;
}
  
.ConditionModal--special-price-unit {
    font-size: 1.3rem;
}

/* end_特別代金プランモーダル  */

/* start_テーマ */

#ConditionModal--theme .CommonModal__contents-inner {
    display: flex;
    flex-wrap: wrap;
    margin-top: -1px;
}

.ConditionModal--theme-label {
    display: block;
    width: 100%;
    padding: 10px 15px;
    font-size: 1.4rem;
    font-weight: 600;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    background-color: #f5f5f5;
}

#ConditionModal--theme .Condition__radio-label {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    border-color: #e5e5e5;
    height: auto;
    min-height: 45px;
    width: calc(100% / 3);
    margin: 0;
    border-radius: 0;
    border-top: none;
}

#ConditionModal--theme .Condition__radio-label {
    border-left: none;
}

#ConditionModal--theme .Condition__radio-label:nth-of-type(3n) {
    border-right: none;
}

#ConditionModal--theme input[type="radio"]:checked + .Condition__radio-label {
    border-color: #e5e5e5;
}

#ConditionModal--theme input[type="radio"]:checked + .Condition__radio-label .Condition__radio-btn {
    border: 5px solid var(--corporate-color);
}

/* --------------------end_モーダル-------------------- */

/* css 追加　2021/09/14 */

.CommonModal input[type="checkbox"]:disabled + .Condition__checkbox-label {
    color: var(--disable-font-color);
    pointer-events: none;
}

.CommonModal input[type="checkbox"]:disabled + .Condition__checkbox-label .Condition__checkbox-btn {
    border: none;
    background-color: var(--disable-color);
}

#Condition input[type="radio"]:disabled + .Condition__radio-label {
    color: var(--disable-font-color);
}

#Condition input[type="radio"]:disabled + .Condition__radio-label .Condition__radio-btn {
    border: none;
    background-color: var(--disable-color);
}

#Condition input[type="text"]:disabled {
    background-color: var(--disable-color);
}

input::-webkit-input-placeholder {
    color: #333 !important;
}

input::-moz-input-placeholder {
    color: #333 !important;
}

input::-ms-input-placeholder {
    color: #333 !important;
}

.Gnav__item.active {
    color: white;
    background: #4cbcef;
    pointer-events: none;
}

.tourOneBlockDefault:not(:last-child) {
    margin-bottom: 40px;
}


input::placeholder {
    color: #333 !important;
    opacity: 1;
    /* Firefox */
}

:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #333 !important;
}

input::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #333 !important;
}

.CommonModal {
    position: fixed;
    top: 50%;
    left: 50%;
    opacity: 0;
    z-index: 100;
    width: 700px;
    font-size: 1.5rem;
    background: white;
    border-radius: 6px;
    transform: translate(-50%, calc(-50% + 20px));
    transition: opacity 0.3s, transform 0.3s;
    pointer-events: none;
}

.CommonModal.active {
    opacity: 1;
    transform: translate(-50%, -50%);
    pointer-events: auto;
}

.CommonModal__ttl-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 50px;
    border-bottom: 1px solid #e5e5e5;
}

.CommonModal__ttl {
    margin-left: 20px;
    font-size: 1.8rem;
    font-weight: 600;
}

.CommonModal__scroll-area {
    height: calc(100vh - 40px - 50px - 85px);
    max-height: calc(700px - 50px - 85px);
    overflow-y: auto;
}

.js_commonModal-close {
    cursor: pointer;
}

.CommonModal__close {
    display: block;
    position: relative;
    width: 50px;
    height: 100%;
    background: #888;
    border-radius: 0 5px 0 0;
    cursor: pointer;
    transition: opacity 0.3s;
}

.CommonModal__close:hover {
    opacity: 0.7;
}

.CommonModal__close::before,
.CommonModal__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 20px;
    height: 2px;
    background-color: white;
}

.CommonModal__close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.CommonModal__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.CommonModal__set-btn-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 85px;
    border-top: 1px solid #e5e5e5;
    transform: translateY(-1px);
    position: relative;
}

.CommonModal__set-btn {
    width: 240px;
    padding: 10px 0;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-align: center;
    border-radius: 3px;
    background-color: var(--caution-color);
    transition: opacity 0.3s;
}

.CommonModal__set-btn a {
    color: inherit;
}

.CommonModal__set-btn:hover {
    opacity: 0.7;
}

/* start_Main__footer */
#Main__footer {
    max-width: 1024px;
    margin-inline: auto;
}

.main-footer-keyword {
    padding-top: 60px;
}

.PageBanner-bottom {
    display: block;
    transition: opacity 0.3s;
}

.PageBanner-bottom:hover {
    opacity: 0.7;
}

.Result-notfound .PageBanner-bottom {
    display: none;
}

.Footer_note {
	width: 1024px;
	margin: 40px auto 5px;
	font-size: 1.2rem;
}

.recommended_title {
    font-weight: 600;
    font-size: 2.4rem;
    margin-top: 24px;
}