:root {
    --gold-color: #9d895f; /*figma上：gold*/
    --border-color: #dee4ea; /*figma上：navy_3S*/
    --red-color: #d65856; /*figma上：red*/
    --bg-gray-color: #f1f3f6; /*figma上：navy_4S*/
    --body-color: #3b4b5b; /*figma上：navy_D*/
    --dark-border-color: #8198ae; /*figma上：navy_1S*/

    --gold_D: #81704d;
    --gold_1S: #baac8f;
    --gold_2S: #cec4af;
    --gold_3S: #e2dccf;
    --gold_4S: #f5f3ef;
    --gold_5S: #f9f7f2;
    --red_3S: #f7dedd;
    --red_4S: #fbf0f0;
    --navy: #536a80;
    --navy_1S: #8198ae;
    --navy_2S: #b0becc;
    --navy_3S: #dee4ea;
    --navy_4S: #f1f3f6;
    --navy_5S: #f8f9fa;
    --navy_D: #3b4b5b;

    /*	以下はfigmaで登録していない色*/
    --second-color: #003866;
    --second-hover-color: #0062b3;
}

body {
    color: var(--navy_D);
}

.sp {
    display: none !important;
}

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

.m0a {
    margin: 0 auto;
}

a {
    text-decoration: none; /* 下線を消す */
    color: inherit;
    transition: 0.15s ease-in-out;
}
a:hover {
    opacity: 0.7;
}
input,
button,
label {
    cursor: pointer;
}
.cursor-pointer {
    cursor: pointer;
}
i {
    color: var(--gold-color);
}
.i-red {
    color: var(--red-color);
}
.i-dark {
    color: var(--body-color);
}
.fa-star.i-dark {
    color: var(--navy_2S);
}

html,
body {
    height: 100%; /* ページ全体の高さを100%にする */
    margin: 0;
    font-family: "Hiragino Kaku Gothic Pro", sans-serif, HelveticaNeue;
    font-size: 14px;
}
body {
    overflow-x: hidden;
    overflow-y: scroll;
}
.modal::-webkit-scrollbar {
    display: none;
}

.container {
    max-width: 1080px;
    width: 100%;
    padding: 0;
    margin: 0 auto;
}
@media (max-width: 1080px) {
    .container {
        width: 100%;
        min-width: 320px;
        padding: 0 16px;
    }
    .result-button-add .d-none {
        display: none !important;
    }
    .result-button-add .d-md-none {
        display: block !important;
    }
}
.content {
    flex: 1; /* コンテンツエリアを可変にする */
}

/* body内の構造をflexboxに */
body {
    display: flex;
    flex-direction: column;
    color: var(--body-color);
}
/*ヘッダー部分*/
header {
    border-bottom: solid 1px var(--border-color);
}
.header-container {
    padding: 16px;
}
.header-description {
    font-size: 12px;
    color: var(--navy_1S);
}
.header-link {
    color: var(--gold-color);
    font-size: 16px;
    font-weight: 700;
}
.header-container img {
    max-width: 140px;
    max-height: 38px;
}
.site-title{
    font-size: 12px;
    color: var(--navy_1S);
}
.btn-inquiry-list {
    background-color: var(--gold-color);
    color: #fff;
    padding: 12px;
    transition: opacity 0.3s ease;
    font-weight: 700;
}
.btn-inquiry-list i {
    color: #fff;
}
.btn-inquiry-list:hover {
    opacity: 0.7;
    background-color: var(--gold-color);
    color: #fff;
}
footer {
    flex-shrink: 0; /* フッターを縮小させない */
}

.foot-title {
    font-weight: 700;
    font-size: 16px;
    color: var(--navy_D);
    border-bottom: 1px solid var(--gold_2S);
    padding-bottom: 0.4rem;
    margin-top: 4rem;
    margin-bottom: 1rem;
}


.foot-area-link {
    font-size: 12px;
    color: var(--gold-color);
    white-space: nowrap;
    margin-right: 1rem;
}
.foot-link-opp-btn {
    border: 1px solid var(--navy_2S);
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.foot-meetingoptions,
.foot-capacityoptions,
.foot-budgetoptions,
.foot-halltypeoptions {
    display: flex;
    flex-wrap: wrap;
    column-gap: 8px;
}

.footer-info {
    background-color: var(--navy_5S);
    border-top: solid 1px var(--navy_2S);
    border-bottom: solid 1px var(--navy_2S);
    box-sizing: border-box;
    padding: 32px 0;
    color: var(--navy_D);
}
.footer-links {
    display: flex;
    flex-wrap: wrap;
    column-gap: 32px;
    row-gap: 24px;
    margin: 32px 0;
}
.footer-links.bottom {
    margin: 8px 0 0;
}
.footer-links a {
    text-decoration: underline;
    color: var(--body-color);
}

.foot-area-img {
    width: 100%;
    aspect-ratio: 252 / 116;
    object-fit: cover;
    border-radius: 4px;
}

.foot-area-prefecture{
    margin-top: 8px;
}

.foot-area-item-link {
    position: relative;
    display: block;
    text-decoration: none;
    overflow: hidden;
    border-radius: 4px;

}

.foot-area-item-link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
    pointer-events: none;
}

.foot-area-item-link .foot-area-img {
    display: block;
    width: 100%;
    position: relative;
    z-index: 0;
        border-radius: 4px !important;

}

.foot-area-item-link .foot-area-name-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    width: 90%;
    padding: 5px 0;
    margin: 0;
    line-height: 1.2;
    z-index: 2;
}

.copyright {
    font-size: 10px;
    color: var(--navy);
    background-color: #fff;
}

.bc-arrow {
    width: 16px;
    text-align: center;
}

.navbar {
    width: 100%;
    background-color: #fff !important;
    border-bottom: 1px solid var(--border-color);
}

.nav-sp {
    margin-top: 60px;
}

.breadcrumb nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.breadcrumb nav > * {
    white-space: nowrap;
}

.lead-txt {
    font-size: 14px;
    font-weight: 400;
}

.parm-link-top {
    background-image: url(/usr/img/parm-link.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    z-index: -2;
}
.parm-link-top::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    top: 0;
    left: 0;
    z-index: -1;
}

.parm-link-top h1 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    width: 100%;
    margin: 0;
    color: white;
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    padding: 8px;
}
.foot-title-icon {
    width: 24px;
    margin-right: 8px;
    vertical-align: middle;
}
/* footerのaccordion */

.accordion-toggle-icon {
    width: 16px;
    height: auto;
    transition: transform 0.2s ease-in-out;
}

.footer-info .foot-title.accordion-trigger {
    cursor: default;
    display: block;
    margin-bottom: 12px;
}
.footer-info .foot-title.accordion-trigger .accordion-toggle-icon {
    display: none;
}


@media (max-width: 1080px) {
    .parm-link-top h1 {
        height: 80px;
        font-size: 16px;
    }
    .header-link {
        font-size: 12px;
    }
    .site-title{
        font-size: 10px;
    }
    .foot-area-img {
        aspect-ratio: 358 / 120;
        object-fit: cover;
    }
    /* footerのaccordion */
    .footer-info .foot-title.accordion-trigger {
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
        margin-top: 1.5rem;
        margin-bottom: 0;
    }

    .footer-info .foot-title.accordion-trigger .accordion-toggle-icon {
        display: inline-block;
    }

    .footer-info .foot-title.accordion-trigger[aria-expanded="true"] .accordion-toggle-icon {
        transform: rotate(180deg);
    }
}


/**日付を選ぶ */
.empty::before {
    content: "日付を選ぶ";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: var(--body-color);
    pointer-events: none;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    right: 10px;
    z-index: 2;
    background: transparent;
    cursor: pointer;
}

.thumbnail {
    transition: filter 0.3s ease;
}

.thumbnail:hover {
    opacity: 0.4;
}

.event-card.custom-event-card-gold {
    border: 1px solid #9d895f;
}
.table-plan.table {
    width: calc(800px - 48px);
    margin: 8px -16px -16px;
}
.table-plan.table p {
    margin-bottom: 0;
}
.table-plan.table th {
    display: table-cell;
    width: 160px;
    padding: 16px;
    background-color: var(--navy_5S);
}
.table-plan.table td {
    padding: 16px;
}
.button-grid .scene-btn {
    cursor: inherit;
    pointer-events: none;
}
.button-grid .scene-btn:hover {
    opacity: 1 !important;
}
.vcard-model-edit {
    padding: 12px 16px;
    height: auto;
    max-height: calc(100vh - 130px);
}
.vcard-model-edit .venue-header {
    padding: 12px 16px;
}
.vcard-model-edit .venue-header > span {
    flex-grow: 2; /* This makes the first item take up twice the space of the others */
}
.vcard-model-edit .price-container {
    margin-top: 0px;
    margin-right: 16px;
}
.vcard-model-edit .event-card.custom-event-card-gold {
    overflow: hidden;
}
.vcard-model-edit .event-normal-price {
    color: #3b4b5b;
    margin-top: 32px;
}
.vcard-model-edit .event-card {
    margin-top: 16px;
}
.gallery-pn-btn .btn-prev,
.gallery-pn-btn .btn-next {
    background-color: transparent;
}
.venue-header-edit .venue-header {
    height: 67px;
    font-size: 14px;
}
.venue-header-edit .selectPlanMarg {
    max-width: 420px;
    height: 32px;
    margin-left: 16px;
    border-radius: 4px;
    padding: 10px 12px;
    /* font-size: 14px;
	line-height: 21px; */
}
.venue-header-edit .price-info {
    font-size: 14px;
    line-height: 21px;
}
.venue-header-edit .price-subtext {
    font-size: 12px;
    line-height: 18px;
    color: #8198ae;
}
.venue-header-edit .sp-only {
    display: none;
}
.venue-header-edit .adj-theTb-position {
    width: calc(800px - 31px);
    margin: 8px -16px 0px;
}
.venue-header-edit .plan-select-price-container {
    margin-top: auto;
    margin-left: auto;
}
.venue-header-edit .plan-expand-border {
    width: 768px;
}
.modal-body .table-plan.table {
    width: calc(100% + 32px);
    margin: 8px -16px 0;
}
.modal-body .table-plan.table th {
    border-left: none;
}
.modal-body .table-plan.table td {
    border-right: none;
}
.modal-body .table-bordered > :not(caption) > * {
    border-bottom: none;
}
@media (max-width: 1080px) {
    .modal.show .modal-dialog {
        margin: 40px 16px;
        max-width: inherit;
    }
    .modal-header {
        width: calc(100vw - 51px);
    }
    .modal-body .venue-header {
        flex-wrap: wrap;
    }
    .modal-body .venue-header span {
        width: 100%;
    }
    .modal-body .plan-image {
        width: 64px;
        height: 64px;
        position: absolute;
        right: 0;
    }
    .modal-body .plan-info,
    .modal-body .plan-tags {
        width: calc(100vw - 64px);
        margin: 0 calc(50% - 50vw + 32px) 10px;
        padding: 0 16px;
    }
    .modal-body .custom-btn-white {
        max-width: 240px;
        width: 100%;
    }
    .table-plan.table {
        width: calc(100vw - 63px);
    }
    .table-plan.table th {
        width: 96px;
    }
    .vcard-model-edit .plan-info,
    .vcard-model-edit .plan-tags {
        width: auto;
    }
    .venue-header-edit .venue-header {
        height: auto;
    }
    .venue-header-edit .price-info {
        font-size: 12px;
        line-height: 18px;
    }
    .venue-header-edit .price-subtext {
        font-size: 10px;
        line-height: 15px;
    }
    .venue-header-edit .adj-theTb-position {
        width: calc(100vw - 63px);
    }
    .venue-header-edit .pc-only {
        display: none;
    }
    .venue-header-edit .sp-only {
        display: flex;
    }
    .modal-body .event-content {
        position: relative;
    }
    .modal-body .event-details {
        padding-right: 0;
    }
    .modal-body .event-details .event-label {
        width: calc(100% - 72px);
    }
    .modal-body .event-details h5 {
        width: calc(100% - 72px);
    }
}
/* モーダルの調整用 */
@media (max-width: 1080px) {
    .modal-header {
        width: calc(100vw - 34px);
    }
}

/*パンくずリスト*/
.breadcrumb nav {
    display: flex;
    flex-wrap: wrap;
    word-break: keep-all;
    justify-content: flex-start;
    align-items: center;
    font-size: 10px;
    color: var(--gold_D);
    line-height: 1;
}

@media (max-width: 1080px) {
    .breadcrumb nav {
        text-align: left;
        justify-content: flex-start !important;
    }
}

.breadcrumb nav p {
    color: var(--body-color);
}
/*** TOP用　*********************/
.top-mv {
    position: relative;
    width: 100%;
    height: 460px; /* 高さを固定 */
    margin-bottom: 110px;
}

.sub-title {
    position: relative;
    z-index: 1;
}
.top-mv-search-container {
    position: absolute;
    bottom: -270px;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    z-index: 2;
}
.top-mv-search-container .search-container {
    margin: 0;
    width: 1080px;
}
.sub-title-text {
    font-weight: bold;
    font-size: 24px;
    line-height: 1.5;
}

.mv-slick .slick-slide {
    aspect-ratio: 3 / 2;
    position: relative;
    overflow: hidden;
}

.mv-slick .slick-slide img {
    height: 460px;
    width: 100%;
    object-fit: cover;
    padding: 0 4px;
}
.top-mv .clip-path {
    position: absolute;
    background-color: hsl(0deg 0% 100% / 90%);
    clip-path: polygon(0 0, 80% 0%, 100% 100%, 0% 100%);
    height: 460px;
    width: 25%;
    z-index: 2;
    min-width: 470px;
}
.top-mv .mv-title {
    position: absolute;
    z-index: 3;
    width: 1080px;
    top: 140px;
    left: 45%;
    transform: translateY(-50%) translateX(-50%);
}
.top-mv .sub-title-text {
    padding: 4px 8px;
    background-color: #9d895f;
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    font-family: "Hiragino Mincho Pro", "游明朝", "Yu Mincho", serif;
    width: fit-content;
    margin-bottom: 8px;
}
.top-label-tags {
    display: flex;
    gap: 8px;
    margin: 12px 0;
    flex-wrap: wrap;
}

.top-label-tag {
    border: 1px solid #9d895f;
    padding: 4px 8px;
    font-size: 18px;
    color: var(--gold-color);
    background-color: #fff;
    font-weight: 600;
    font-family: "Hiragino Mincho ProN", "游明朝", "Yu Mincho", serif;
}

.sub-title-note {
    font-size: 18px;
    font-family: "Hiragino Mincho ProN", "游明朝", "Yu Mincho", serif;
    color: var(--navy_D);
    margin-top: 8px;
    font-weight: 600;
}

.sub-title-note .gold-text {
    color: var(--gold-color);
}

.sub-title-note .gold-text.large {
    font-size: 28px;
    font-weight: bold;
}

.sub-title-note .gold-text.small {
    font-size: 18px;
    font-weight: 600;
}

@media (min-width: 1800px) {
    .top-mv .mv-title {
        left: 40%;
    }
}
@media (max-width: 1080px) {
    .top-mv {
        height: 600px;
        margin-bottom: 25rem;
        margin-top: 2rem;
    }

    .top-mv-search-container {
        bottom: -28rem;
    }

    .top-mv-search-container .search-container {
        background-color: hsl(0deg 0% 100% / 90%);
        width: inherit;
    }


    .mv-slick .slick-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        padding: 0;
        position: absolute;
        top: 0;
        left: 0;
    }

    .top-mv .clip-path {
        display: none;
    }

    .top-mv .mv-title {
        position: static;
        width: 100%;
        left: 0;
        transform: none;
        padding: 0;
        top: 30px;
    }

    .top-mv .sub-title-text {
        font-size: 16px;
    }

    .top-label-tags {
        margin-left: 1rem;
    }

    .top-label-tag {
        font-size: 14px;
        padding: 2px 8px;
    }

    .sub-title-note {
        font-size: 16px;
        margin-left: 1rem;
    }

    .sub-title-note .gold-text {
        font-size: 18px;
    }
}

.search-container {
    border: 1px solid var(--border-color);
    border-radius: 4px;
    padding: 24px;
    background-color: #fff;
    margin-top: 276px;
}
.search-container .search-uppart {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 8px;
    margin-bottom: 16px;
}
.search-container .search-uppart .form-control {
    padding: 10px 12px 10px 12px;
    /* padding-right: 26px; */
}
.search-container .search-downpart {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.search-container .search-radio {
    display: flex;
    column-gap: 8px;
}
.search-container .search-radio input[type="checkbox"] + label {
    display: inline-block;
    cursor: pointer;
    display: grid;
    place-content: center;
    border-radius: 100px;
    height: 32px;
    padding: 0 12px;
    background-color: var(--navy_5S);
    border: solid 1px var(--border-color);
    color: var(--body-color);
}

.search-container .search-radio input[type="checkbox"] {
    display: none;
}

.search-container .search-radio input[type="checkbox"]:checked + label {
    display: inline-block;
    cursor: pointer;
    display: grid;
    place-content: center;
    border-radius: 100px;
    height: 32px;
    padding: 0 12px;
    background-color: var(--gold-color);
    border: solid 1px var(--gold-color);
    color: #ffffff;
}
.search-container .input-group {
    height: 52px;
    background-color: #ffffff;
}
.search-container .input-group-text {
    background-color: #fff;
    border-radius: 0px;
    padding: 2px 4px 2px 12px;
}
.search-container .form-control {
    border-radius: 0px;
}
.search-container .form-control {
    border-left: none; /* 左側のボーダーを非表示に */
}

.search-container i {
    color: var(--gold-color);
}

/* 1. 人数セレクトの矢印を非表示 */
.select-wrapper::after {
    display: none !important;
}

input[name="areas"],
input[name="budget_all"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: none !important; /* 念のため */
}

input[name="areas"]::-webkit-calendar-picker-indicator,
input[name="budget_all"]::-webkit-calendar-picker-indicator {
    display: none !important;
    -webkit-appearance: none !important;
}

.search-submit {
    display: flex;
    justify-content: center;
    align-items: center;
}

.br-none {
    border-right: none;
}

.select-wrapper {
    position: relative;
}

.select-wrapper select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background: transparent; /* 念のため背景も透明に */
}

/* 矢印 */
.select-wrapper::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 12px;
    height: 12px;
    border-right: 2px solid var(--body-color);
    border-bottom: 2px solid var(--body-color);
    pointer-events: none;
}

@media screen and (min-width: 1080px) {
    .pc-width {
        max-width: 320px;
    }
}

.btn-top-submit {
    width: 240px;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background-color: var(--gold-color);
    color: #fff;
    line-height: 1;
    font-size: 16px;
    font-weight: bold;
    border: none;
}
.btn-top-submit small {
    font-size: 12px;
    font-weight: 400;
}

.btn-top-submit:hover {
    filter: brightness(1.2); /* hover時に20%明るく */
}
.btn-top-detail,
.btn-bottom-detail {
    background-color: #fff;
    border: solid 1px var(--navy_2S);
    width: 120px;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    color: var(--body-color);
    line-height: 1;
    margin-right: 8px;
    font-size: 14px;
    transition: opacity 0.15s ease-in-out;
}
.btn-top-detail:hover,
.btn-bottom-detail:hover {
    filter: brightness(1.2);
}
@media (max-width: 1080px) {
    .search-container {
        margin-top: 112px;
    }
    .search-container .search-uppart {
        grid-template-columns: 1fr 1fr;
    }
    .search-container .search-radio {
        column-gap: 4px;
    }
    .search-container .search-downpart {
        display: block;
    }
    .search-container .search-radio input[type="checkbox"] + label {
        font-size: 12px;
        padding: 0 10px;
    }
    .search-container .search-radio input[type="checkbox"]:checked + label {
        font-size: 12px;
        padding: 0 10px;
    }
    .search-submit {
        display: grid;
        grid-template-columns: 4fr 8fr;
        gap: 8px;
        margin-top: 32px;
    }
    .btn-top-submit {
        max-width: 167px;
        font-size: 14px;
    }
    .btn-top-submit small {
        font-size: 10px;
    }
    .btn-top-detail {
        max-width: 110px;
    }

    .area-radio-box label {
        padding: 10px;
        height: 80px !important;
    }
}

.inquiry-all-title {
    font-weight: 700;
    font-size: 22px;
    color: var(--navy_D);
}

.inquiry-all-sub {
    font-weight: 700;
    font-size: 14px;
    color: var(--navy_D);
}

.btn-inquiry-all {
    width: 320px;
    font-weight: 700;
}

.list-all-del {
    margin: 0 20px;
    font-size: 14px;
    font-weight: 700;
    color: var(--navy);
    text-decoration: underline;
}

.list-box {
    border: 1px solid var(--navy_3S);
    border-radius: 4px;
    padding: 10px;
    text-align: center;
    width: 100%;
}

.list-title {
    font-weight: 700;
    font-size: 14px;
    text-decoration: underline;
    color: var(--navy_D);
}

.list-area {
    font-size: 10px;
    margin-bottom: 5px;
}

.list-del {
    font-size: 12px;
    text-decoration: underline;
    color: var(--navy);
}

.list-container {
    width: 100%;
    margin: 0 auto;
}

.list-box-img {
    width: 90%; /* 横幅を90% */
    aspect-ratio: 3 / 2; /* 画像比率を3:2 (150:100) */
    object-fit: cover; /* 必要ならトリミングして比率を維持 */
    display: block;
    margin: 0 auto;
}

.page-item {
    display: flex;
    align-items: center; /* 縦方向の中央寄せ */
    justify-content: center; /* 横方向の中央寄せ */
    width: 44px;
    height: 44px;
}

.bg-custom-color {
    background-color: var(--gold-color) !important;
    border-color: var(--gold-color) !important;
    border-radius: 4px;
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center; /* 縦方向の中央寄せ */
    justify-content: center; /* 横方向の中央寄せ */
    width: 44px;
    height: 44px;
}

.no-active-pn {
    background-color: var(--navy_4S) !important;
    border-color: var(--navy_4S) !important;
    color: var(--navy_D);
    border-radius: 4px;
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center; /* 縦方向の中央寄せ */
    justify-content: center; /* 横方向の中央寄せ */
    width: 44px;
    height: 44px;
}

.pagination {
    gap: 8px; /* 🔹 ページネーションの間隔を設定 */
}

/*プレースホルダーが表示されるが、選択後に日付が表示されなくなる*/
/*.search-uppart .form-control::before {*/
/*  content: attr(placeholder);*/
/*}*/
/* .search-uppart .form-control::-webkit-datetime-edit-fields-wrapper {*/
/*  display: none;*/
/*}*/
.search-uppart .form-control::-webkit-calendar-picker-indicator {
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.top-lead-title {
    padding: 0;
    color: #3b4b5b;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    margin: 0 0 32px 0;
}
.top-detail-block {
    padding: 40px 72px 24px;
    background-color: #f3f3f3;
    border-radius: 4px;
    width: 812px;
    margin-bottom: 80px;
}

@media (max-width: 1080px) {
    .top-detail-block {
        width: 100%;
        margin-bottom: 64px;
    }
}
.top-detail-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 40px;
    row-gap: 48px;
}

@media (max-width: 1080px) {
    .top-detail-container {
        grid-template-columns: 1fr;
    }
}
.top-detail-card {
    width: 132px;
    margin: 0 auto;
}
.top-detail-circle {
    text-align: center;
    margin-bottom: 0.8rem;
    width: 132px;
}

.top-detail-circle img {
    width: 100%;
}

.top-detail-text div {
    width: 94px;
    text-align: left;
}

.top-detail-btn {
    border: none;
    width: 500px;
    padding: 15px;
    font-size: 18px;
    flex-direction: row;
    color: #fff;
    background-color: var(--second-color);
}

.top-detail-btn:hover {
    color: #fff;
    background-color: var(--second-hover-color);
}

/** 詳細条件モーダルcss */
.Desired-date-title,
.guest-detail-title,
.budget-detail-title,
.type-detail-title,
.scene-detail-title,
.cuisine-detail-title,
.meal-style-title {
    font-size: 12px;
    font-weight: 700;
}

.Desired-date {
    display: flex;
    margin-bottom: 24px;
    background-color: unset;
    border: var(--bs-border-width) solid var(--bs-border-color);
}
.Desired-date .input-group-text {
    border: none;
    border-radius: unset;
    background-color: unset;
}
.Desired-date input[type="date"] {
    padding: 15.5px 12px;
    border: none;
    border-radius: unset;
    background-color: none;
}

input[type="date"].empty {
    position: relative;
}

.modal-content .search-radio {
    justify-content: center;
}
.modal-content #content-syutoken-detail {
    margin-bottom: 24px;
}

.guest-items .form-select,
.budget-items .form-select {
    width: 360px;
}

.type-search-radio {
    display: flex;
    margin-bottom: 24px;
}
.type-search-radio input[type="checkbox"] {
    display: none;
}
.type-search-radio input[type="checkbox"] + label {
    display: inline-block;
    cursor: pointer;
    display: grid;
    place-content: center;
    border-radius: 100px;
    height: 32px;
    padding: 0 12px;
    margin-right: 8px;
    background-color: var(--navy_5S);
    border: solid 1px var(--border-color);
    color: var(--body-color);
}
.type-search-radio input[type="checkbox"]:checked + label {
    display: inline-block;
    cursor: pointer;
    display: grid;
    place-content: center;
    border-radius: 100px;
    height: 32px;
    padding: 0 12px;
    background-color: var(--gold-color);
    border: solid 1px var(--gold-color);
    color: #ffffff;
}
.usage-scene,
.cuisine-type,
.meal-style {
    margin-bottom: 24px;
}
#scene-select,
#cuisine-select,
#meal-style-select {
    height: 52px;
}

.meal-style-ontion {
    display: flex;
    align-items: center;
}
.meal-style-ontion > div {
    display: flex;
    align-items: center;
}
.meal-style-ontion input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--gold-color);
}
.meal-style-ontion label {
    padding-left: 7px;
    margin-right: 24px;
}
.detail-reset {
    width: 320px;
    height: 52px;
    border: solid #dee4ea 1px;
    font-size: 16px;
    font-weight: 700;
    color: #8198ae;
}

.btn-primary {
    width: 320px;
    height: 52px;
    background-color: var(--gold-color);
    border: solid 1px var(--gold-color);
    font-weight: 700;
    color: #ffffff;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 700;
}

.btn-primary:hover {
    opacity: 0.7;
    background-color: var(--gold-color);
    border: solid 1px var(--gold-color);
    font-weight: 700;
    color: #ffffff;
    border-radius: 4px;
}

.detail-reset {
    width: 320px;
    height: 52px;
    border: solid #dee4ea 1px;
    font-size: 16px;
    font-weight: 700;
    color: #8198ae;
}

.detail-reset:hover {
    opacity: 0.7;
    border: solid #dee4ea 1px;
    color: #8198ae;
}

.modal-footer {
    justify-content: center;
}

@media (max-width: 1080px) {
    .modal-content .search-radio {
        width: 100%;
    }
    .modal-content .search-radio > div {
        width: 33%;
    }
    .modal-content .search-radio label {
        width: auto;
    }
    .meal-style-ontion {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }
    .meal-style-ontion > div {
        margin-bottom: 24px;
    }
    .detail-reset,
    .btn-primary {
        width: 160px;
        font-size: 14px;
    }
    .type-search-radio {
        flex-wrap: wrap;
    }
    .type-search-radio input[type="checkbox"] + label {
        margin-bottom: 8px;
    }

    .search-container .form-control,
    .form-select {
        font-size: 0.9rem;
        display: flex;
        align-items: center;
    }
    .custom-date-input::after {
        width: 8px;
        height: 8px;
        right: 12px;
    }
    .modal-footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin: 0 8px;
    }
}

/* 金額選択css */
.search-container {
    margin-bottom: 126px;
}
.form-select,
.input-group {
    color: var(--navy) !important;
}

.dropdown-menu#budget-select {
    width: 80%;
    min-width: 320px;
    padding: 8px !important;
}
.budget-header {
    display: flex;
    margin-bottom: 8px;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
.budget-header h5 {
    margin-bottom: 0;
    font-weight: 700;
}
.budget-items {
    display: flex;
    margin-bottom: 12px;
}
.budget-items .form-select {
    height: 52px;
}
.budget-items > span {
    margin: auto 15px;
}
.budget-footer {
    display: flex;
    justify-content: flex-end;
}
#save-budget {
    width: 120px !important;
    height: 40px;
    background-color: var(--gold-color);
    border: solid 1px var(--gold-color);
    font-weight: 700;
    color: #ffffff;
    border-radius: 4px;
}

/*トップ　ピックアップ会場*/
.pickup-hall-container .category-container {
    margin-bottom: 48px;
}
.pickup-hall-container .category-container .category-radio {
    display: flex;
    justify-content: center;
    column-gap: 8px;
    margin-bottom: 24px;
}
.pickup-hall-container
    .category-container
    .category-radio
    input[type="checkbox"] {
    display: none;
}
.top-pick-btn {
    display: inline-block;
    cursor: pointer;
    place-content: center;
    border-radius: 4px;
    height: 44px;
    padding: 0 4px;
    background-color: var(--navy_5S);
    border: solid 1px var(--border-color);
    color: var(--body-color);
    width: 96px;
    text-align: center;
}
.top-pick-btn.active {
    display: inline-block;
    cursor: pointer;
    place-content: center;
    border-radius: 4px;
    height: 44px;
    padding: 0 4px;
    background-color: var(--gold-color) !important;
    border: solid 1px var(--gold-color) !important;
    color: #ffffff;
    width: 96px;
    text-align: center;
}

.top-pick-btn:hover {
    background-color: var(--gold-color) !important;
    border: solid 1px var(--gold-color) !important;
    color: #ffffff;
    opacity: 0.7;
}

.nav-pills {
    gap: 8px;
}

.pickup-hall-container .item-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 1080px;
}
.pickup-hall-container .pickup-item {
    border: solid 1px #dee4ea;
    height: 100%;
    border-radius: 8px;
}
.pickup-hall-container .item-container::after {
    display: block;
    content: "";
    width: calc((1080px - 48px) / 3);
}
.pickup-hall-container .item-container-hidden {
    display: none;
}
.pickup-hall-container .pickup-photo img {
    object-fit: cover;
    width: 100%;
    aspect-ratio: 3 / 2;
    border-radius: 8px 8px 0 0;
}
.pickup-hall-container .pickup-info {
    padding: 8px 16px 16px;
}
.pickup-hall-container .pickup-info .pickup-spot {
    font-size: 12px;
    margin: 4px 0;
    color: var(--navy);
}
.pickup-hall-container .pickup-info a {
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    transition: 0.15s ease-in-out;
}
.pickup-hall-container .pickup-info a:hover {
    opacity: 0.7;
}
.pickup-hall-container .pickup-info .mwed-review-box {
    margin: 8px 0 12px;
    color: var(--navy);
}
.pickup-hall-container .pickup-info .list-recommend-box {
    margin-top: 4px;
    display: flex;
    justify-content: space-between;
    /* max-height: 130px; */
    font-weight: normal;
}
.pickup-info .list-recommend-box {
    text-decoration: none !important;
}
.pickup-hall-container .pickup-info .list-recommend-box img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    margin: 0;
}
.recommend-plan-title {
    font-size: 12px;
    margin-bottom: 8px;
    font-weight: bold;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.pickup-hall-container .list-recommend.rec-style-original {
    /*	margin-top: 40px; */
}
.top-search-main-area .search-radio {
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
}
.hall-no-plan.no-plan {
    text-align: center;
}
.hall-no-plan.no-plan .plan-inquiry-text {
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #536a80;
    padding: 16px 0px;
}
.hall-no-plan.no-plan .venue-inquiry-btn {
    width: 320px;
    height: 44px;
    max-width: 320px;
    border: none;
    border-radius: 4px;
    background-color: #9d895f;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;
    text-align: center;
    color: #ffffff;
    transition: opacity 0.15s ease-in-out;
}
.hall-no-plan.no-plan .venue-inquiry-btn:hover {
    opacity: 0.7;
}

.pickup-hall {
    padding: 80px 0;
}
.pickup-hall-explanation {
    text-align: center;
    margin-top: 22%;
}
.pickup-hall-explanation p {
    margin-bottom: 0;
}
.pickup-hall-explanation-title {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-bottom: 24px;
    font-weight: bold;
}
.pickup-hall-explanation-title img {
    margin-right: 16px;
}
/*トップ　３つの特徴*/
.three-features {
    padding: 80px 0;
    position: relative;
    width: 100vw;
    height: 560px;
    margin: 0 calc(50% - 50vw);
    object-fit: cover;
    background: url("../img/top/three-features.webp");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 0;
}
.three-features::before {
    background: rgba(255, 255, 255, 0.8);
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.three-features-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 1080px;
}
.features-container {
    display: flex;
    justify-content: space-between;
}
.features-info {
    position: relative;
    width: calc((1080px - 32px) / 3);
    background-color: #fff;
    border: solid 1px #9d895f;
    padding: 16px;
}
.features-num {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    width: 40px;
    height: 40px;
    background-color: #baac8f;
    border-radius: 4px;
    text-align: center;
}
.features-image {
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}
.features-info .title {
    font-size: 18px;
    text-align: center;
    font-weight: 700;
}
.features-info .red {
    color: #d65856;
}
.features-info .gold {
    color: #9d895f;
}
.features-info .indent {
    font-size: 12px;
    margin: 0;
}
/*トップ　ご利用の流れ*/
.use-flow {
    padding: 80px 0;
}
.container .under-bar::before {
    position: absolute;
    content: "";
    display: block;
    width: 80px;
    height: 4px;
    background-color: #f1f3f6;
    bottom: 0px;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}
.container .under-bar::after {
    position: absolute;
    content: "";
    display: block;
    width: 24px;
    height: 4px;
    background-color: #d65856;
    bottom: 0px;
    left: calc(50% - 28px);
    transform: translateY(-50%) translateX(-50%);
}
.use-flow-step {
    display: flex;
    justify-content: space-between;
    background-color: #f9f7f2;
    border: solid 1px #cec4af;
    padding: 24px 32px;
    border-radius: 8px;
    margin-bottom: 32px;
}
.use-flow-step:last-of-type {
    margin-bottom: 0;
}
.use-flow-step .flow-image {
    width: 500px;
    margin-left: 32px;
    border: solid 1px #cec4af;
}
.use-flow-step .title {
    font-size: 24px;
    font-weight: 700;
    color: #9d895f;
    line-height: 1.4;
    margin-bottom: 8px;
}
.use-flow-step .sub-point {
    color: #9d895f;
    font-weight: bold;
    border: solid 1px #9d895f;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 9px 0;
    width: 220px;
}
.use-flow-step .sub-point + p {
    margin-bottom: 24px;
}
/*トップ　会場検索*/
.bottom-search {
    position: relative;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    height: 460px;
    object-fit: cover;
    background: url("../img/top/bottom-search.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 0;
}
.bottom-search::before {
    background: rgba(0, 0, 0, 0.22);
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.bottom-search .search-container {
    margin: 0;
    max-width: 1080px;
}
.bottom-search .top-lead-title {
    color: #fff;
}
.bottom-search-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 1080px;
}

.btn-reset-link {
    background: none;
    border: none;
    color: var(--navy_1S);
    text-decoration: underline;
    font-size: 14px;
    cursor: pointer;
    padding: 8px;
}

.btn-reset-pc {
    background-color: var(--navy_5S);
    border: solid 1px var(--navy_3S);
    width: 120px;
    height: 52px;
    color: var(--navy_D);
    border-radius: 4px;
    padding: 0.5rem 0.7rem;
    font-size: 1rem;
    cursor: pointer;
    transition: opacity 0.15s ease-in-out;
}

.btn-reset-pc:hover {
    opacity: 0.7;
}

.container .under-bar {
    position: relative;
    padding: 0 0 16px;
}
.container .bottom-search .under-bar::before {
    position: absolute;
    content: "";
    display: block;
    width: 80px;
    height: 4px;
    background-color: #fff;
    bottom: 0px;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

@media (max-width: 1080px) {
    /*トップ　ピックアップ会場*/
    .pickup-hall-container .category-container .category-radio {
        flex-wrap: wrap;
        justify-content: center;
        font-size: 12px;
    }
    .pickup-hall-container
        .category-container
        .category-radio
        input[type="checkbox"]
        + label {
        margin: 4px 0;
        width: 64px;
    }
    .pickup-hall-container
        .category-container
        .category-radio
        input[type="checkbox"]:checked
        + label {
        margin: 4px 0;
        width: 64px;
    }
    .pickup-hall-container .item-container {
        width: inherit;
    }
    .pickup-hall-container .pickup-item {
        width: 100%;
    }
    .pickup-hall-explanation {
        text-align-last: left;
        margin-top: -20%;
    }

    /*トップ　３つの特徴*/
    .features-container {
        display: block;
        padding: 0 16px;
    }
    .three-features-inner {
        position: relative;
        width: inherit;
        top: inherit;
        left: inherit;
        transform: inherit;
    }
    .features-info {
        width: inherit;
        margin-bottom: 16px;
    }
    .features-info:last-of-type {
        margin-bottom: 0;
    }
    .three-features {
        height: inherit;
    }
    /*トップ　ご利用の流れ*/
    .use-flow-step {
        display: block;
    }
    .use-flow-step .flow-image {
        width: 100%;
        margin: 0;
    }
    /*トップ　会場検索*/
    .bottom-search {
        min-height: 532px;
    }

    .bottom-search-inner {
        position: relative;
        width: inherit;
        padding: 2.5rem 1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 100%;
        transform: none;
        top: auto;
        left: auto;
    }
    .bottom-search .search-container {
        background-color: hsl(0deg 0% 100% / 90%);
    }
}

/* エリア選択モーダルcss */
.modal .modal-dialog {
    /*
    width: 800px;
    max-width: 800px;
    */
}
.search-main-area .modal-title {
    text-align: center;
    font-weight: 700;
    margin-top: 10px;
    margin-bottom: 24px;
    font-size: 18px;
}
.modal-content .search-radio {
    display: flex;
    justify-content: center;
}
.modal-content .search-radio div:not(:first-child) {
    margin-left: 6px;
}
.modal-content .search-radio input[type="radio"] {
    display: none;
}
.modal-content .search-radio label {
    display: grid;
    width: 120px;
    height: 44px;
    margin-bottom: 8px;
    place-items: center;
    background-color: #f8f9fa;
    border: 1px #dee4ea solid;
    border-radius: 4px;
    user-select: none;
    cursor: pointer;
}
.modal-content .search-radio input[type="radio"]:checked + label {
    background-color: var(--gold-color);
    border: solid 1px var(--gold-color);
    color: #ffffff;
}

.modal-content .search-checkbox .search-checkbox-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-left: 16px;
}
.modal-content .search-checkbox .search-checkbox-inner > div {
    display: flex;
    align-items: center;
    padding: 8px;
    height: 40px;
    margin-bottom: 8px;
    align-content: center;
    background-color: #f8f9fa;
    cursor: pointer;
}
.modal-content .search-checkbox .search-checkbox-inner > div {
    margin-left: 8px;
}
.modal-content .search-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--gold-color);
}
.modal-content .search-checkbox label {
    padding-left: 7px;
}
.pref-all-select {
    display: flex;
    align-items: center;
    padding: 8px;
    height: 40px;
    margin-top: 16px;
    margin-bottom: 8px;
    grid-column: span 3;
    width: 100%;
    background-color: #f8f9fa;
}

.area-content {
    display: none;
} /* 初期状態は非表示 */
.visible {
    display: block;
} /* 選択時に表示 */
.hidden {
    visibility: hidden;
}
.bottom-search-inner .modal-content .search-main-area p {
    width: max-content;
    margin: 24px 0;
    cursor: pointer;
    text-decoration: underline;
}

@media (max-width: 1080px) {
    .modal-content .search-radio div:not(:first-child) {
        margin-left: 0;
    }
}

/*決定ボタン*/
.btn-submit {
    width: 320px;
    height: 52px;
    margin: auto;
    margin-bottom: 22px;
    background-color: var(--gold-color);
    border: solid 1px var(--gold-color);
    font-weight: 700;
    color: #ffffff;
    border-radius: 4px;
}
.btn-submit:hover {
    filter: brightness(1.2);
}

.btn-submit:disabled {
    background-color: var(--border-color);
    border: solid 1px var(--border-color);
}
.btn-submit:disabled:hover {
    background-color: var(--border-color);
    border: solid 1px var(--border-color);
    filter: none;
}

.area-modal .modal-body,
.detail-modal .modal-body {
    max-height: 70vh;
    overflow-y: auto;
    padding-bottom: 5rem;
}

.area-modal .modal-footer,
.detail-modal .modal-footer {
    margin-top: 24px;
    position: sticky;
    bottom: 0;
    background-color: #fff;
    z-index: 10;
    padding: 1rem;
    border-top: 1px solid #ddd;
}

@media (max-width: 1080px) {
    .modal .modal-dialog {
        width: auto;
    }
    .modal-content .search-radio {
        width: 100%;
        justify-content: flex-start;
    }
    .modal-content .search-radio > div {
        width: 32%;
        padding: 0 3px;
    }
    .modal-content .search-radio label {
        width: auto;
    }
    .modal-content .search-checkbox .search-checkbox-inner {
        display: block;
    }
}

/*** 会場一覧（検索結果）・会場詳細共通　*********************/
.hall-list-empty {
    background-color: var(--navy_5S);
    width: 100%;
    text-align: center;
    padding: 40px 16px;
    font-size: 16px;
}

.hall-list-empty-title {
    font-weight: 700;
    font-size: 22px;
    color: var(--navy);
    margin-bottom: 1rem;
}

.bottom-personal-data {
    background-color: #00000050;
    position: fixed;
    bottom: 0;
    width: 100%;
    max-width: 1080px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 0;
    gap: 24px;
    z-index: 1000;
}
.bottom-personal-data::before,
.bottom-personal-data::after {
    content: "";
    position: absolute;
    width: calc((100vw - 1080px) / 2);
    height: 100%;
    background-color: #00000050;
    top: 50%;
    transform: translate(0, -50%);
}
.bottom-personal-data::before {
    left: calc(540px - 50vw);
}
.bottom-personal-data::after {
    right: calc(540px - 50vw);
}
.bottom-link {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.bottom-personal-data .check-count {
    display: flex;
    color: #ffffff;
    font-size: 16px;
    justify-content: center;
}
.bottom-personal-data .check-count .number {
    font-weight: 700;
    font-size: 18px;
    display: flex;
}
.bottom-personal-data .list-check,
.bottom-personal-data .all-check {
    height: 56px;
    line-height: 1;
    display: grid;
    place-content: center;
    border-radius: 4px;
    width: 296px;
    font-weight: 700;
    font-size: 16px;
    position: relative;
}
.bottom-personal-data .all-check.disabled {
    background-color: var(--navy_2S);
    color: white;
    border: solid 2px white;
    pointer-events: none;
}

.bottom-personal-data .list-check {
    background-color: #ffffff;
    color: var(--navy);
    border: solid 2px var(--navy);
}
.bottom-personal-data .all-check {
    background-color: var(--gold-color);
    color: #ffffff;
    border: solid 2px #ffffff;
}
.bottom-personal-data .list-check span {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 1000px;
    border: solid 1px #ffffff;
    background-color: var(--red-color);
    font-size: 12px;
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    top: -4px;
    right: -4px;
    font-weight: 400;
    padding: 0 0 2px;
}

.result-count {
    font-size: 16px;
}

@media (max-width: 1080px) {
    .bottom-personal-data {
        display: block;
        width: calc(100vw - 32px);
    }
    .bottom-personal-data::before,
    .bottom-personal-data::after {
        width: 16px;
    }
    .bottom-personal-data::before {
        left: -16px;
    }
    .bottom-personal-data::after {
        right: -16px;
    }
    .bottom-link {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .bottom-personal-data .check-count {
        font-size: 12px;
        margin-bottom: 8px;
    }
    .bottom-personal-data .check-count .number {
        font-size: 14px;
    }
    .bottom-personal-data .list-check,
    .bottom-personal-data .all-check {
        height: 44px;
        width: 100%;
        font-size: 12px;
    }
}

/*** 会場一覧（検索結果）用　*********************/
.search-result-col {
    display: grid;
    grid-template-columns: 272px 784px;
    column-gap: 24px;
    margin: 24px 0 56px;
}

.search-result-about .number {
    font-size: 18px;
    color: var(--body-color);
    font-weight: bold;
}
.search-result-about .conditions {
    font-size: 12px;
    color: var(--dark-border-color);
    margin-top: 4px;
}
.search-result-container {
    margin-top: 24px;
}
.search-result-container .result-item:not(:first-child) {
    margin-top: 24px;
}
.search-result-container .result-item {
    border: solid 1px var(--border-color);
    margin-top: 24px;
    border-radius: 8px;
}
.search-result-container .result-item-title {
    padding: 16px 16px 12px;
    border-bottom: solid 1px var(--border-color);
    font-size: 16px;
}
.search-result-container .result-item-detail {
    padding: 24px 16px;
    border-bottom: solid 1px var(--border-color);
}
.search-result-container .result-item-detailblock {
    display: grid;
    grid-template-columns: 272px 1fr;
    column-gap: 24px;
}
.list-hall-name {
    text-decoration: underline;
    color: var(--gold-color);
    font-size: 22px;
}
.list-hall-name h3 {
    font-weight: bold;
}

.main-image {
    max-height: 500px;
    object-fit: contain;
    width: 100%;
}

.thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumbnail,
.more-button {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    cursor: pointer;
}

.thumb-box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 4px;
    margin-top: 4px;
}
.btn-detail-see {
    color: var(--gold-color) !important;
    font-size: 12px;
    text-decoration: underline !important;
}

.label-box {
    background-color: var(--gold_5S);
    padding: 2px 4px;
    line-height: 1.4;
    font-size: 12px;
}
/* 会場一覧会場カードプラン */
.pc-layout {
    display: block;
}
.sp-layout {
    display: none;
}

/* 会場一覧会場カードSP */

@media (max-width: 1080px) {
    .search-container.result {
        margin: 4px 0 24px;
    }
    .container.is-result {
        padding: 0 0;
    }
    .search-result-col {
        display: block;
        margin: 16px 0 0;
        font-size: 16px;
    }
    .search-result-about .conditions {
        font-size: 10px;
    }
    .search-result-container .result-item-title {
        font-size: 12px;
        position: relative;
        padding-right: 48px;
    }
    .search-result-container .result-item-detail {
        padding: 8px 16px 16px;
        border-bottom: solid 1px var(--border-color);
    }
    .search-result-container .result-item-detailblock {
        display: block;
    }
    .list-hall-name {
        font-size: 18px;
    }
    .result-item-title form {
        position: absolute;
        top: 12px;
        right: 12px;
        margin: 0;
    }
    .pc-layout {
        display: none;
    }
    .sp-layout {
        display: block;
    }
    .list-info-capacity > .d-flex {
        flex-wrap: nowrap;
        align-items: center;
    }

    .label-box {
        display: inline-flex;
        align-items: center;
        font-size: 14px;
        padding: 2px 4px;
        white-space: nowrap;
        line-height: 1.2;
    }

    .list-info-capacity img {
        width: 1.5rem;
        height: 1.5rem;
        flex-shrink: 0;
    }

    .list-info-capacity .ps-1,
    .list-info-capacity .ps-2 {
        padding-left: 6px !important;
    }

    .list-recommend-perprice {
        margin-top: 8px;
    }

    .list-recommend-box .recommend-plan-price,
    .list-recommend-box .recommend-discount {
        font-size: 14px;
    }

    .price-detail-box {
        font-size: 12px;
        margin-top: 2px;
    }
    .sp-layout .recommend-plan-title {
        display: block;
        width: 100%;
        font-size: 14px;
        font-weight: bold;
        line-height: 1.4;
        word-break: break-word;
        white-space: normal;
        overflow-wrap: break-word;
        margin-bottom: 4px;
    }
    .sp-layout .search-list {
        display: block;
        width: 100%;
    }
    .sp-layout .menu-cnt {
        display: inline-block;
        margin-top: 4px;
    }
    .sp-layout .list-recommend-perprice .text-end {
        width: 100%;
    }
}

.text-day-num {
    color: rgb(59, 75, 91);
}

/* 会場詳細 */
.thumb-box-d {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    padding: 0;
    margin: 8px 0 0;
    gap: 8px;
}

.thumb-box-d .thumbnail,
.more-button {
    aspect-ratio: 3 / 2;
}

.more-button {
    position: relative;
    background: url("/usr/img/chapel.jpg") center/cover no-repeat;
    border: none;
    color: white;
    font-size: 12px;
    text-align: center;
}

.more-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}
.more-button span {
    position: relative;
    display: flex;
    align-items: center;
    line-height: 1.2;
    white-space: nowrap;
}

.more-button svg {
    margin-bottom: 2px;
    fill: white;
}
.more-button p {
    font-size: 10px;
}

.list-info-box {
    border: 1px solid var(--border-color);
    padding: 12px 8px;
    color: var(--gold_D);
    font-weight: bold;
}
.list-info-capacity {
    display: flex;
    column-gap: 4px;
}
.list-recommend {
    margin-top: 16px;
}

.list-recommend a {
    text-decoration: none;
}

.list-recommend-title {
    font-weight: bold;
    color: var(--red-color);
    font-size: 12px;
}

.list-recommend-box {
    border-radius: 4px;
    border: 1px solid var(--red-color);
    padding: 8px;
    margin-top: 8px;
    display: grid;
    grid-template-columns: 1fr 128px;
    column-gap: 4px;
    letter-spacing: 0.05em;
}

.list-recommend-box.nomal {
    border: 1px solid var(--gold-color);
}

.menu-cnt {
    padding: 0.2rem 0.5rem;
    background-color: var(--border-color);
    font-size: 12px;
}
.recommend-plan-title {
    font-size: 14px;
}

.recommend-price-lead {
    font-size: 10px;
    color: #808080;
}

.recommend-plan-ex {
    text-decoration: line-through;
    font-size: 10px;
    margin-right: 0.1rem;
    margin-bottom: 0.1rem;
    color: #808080;
    display: flex;
    align-items: flex-end;
}

.recommend-plan-price {
    font-size: 16px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: var(--red-color);
}

.recommend-plan-price.nomal {
    color: var(--navy_D);
}

.mwed-review-box {
    margin: 16px 0 0;
    padding: 8px;
    background-color: var(--navy_5S);
    font-size: 12px;
}

.mw-review-logo {
    width: 112px;
    margin-right: 8px;
}

.mwed-review-content {
    background-color: #fff;
    padding: 8px;
    grid-template-columns: 5fr 1fr;
    gap: 8px;
}

.mwed-reviewer-data {
    font-size: 12px;
    font-weight: 400;
    color: var(--navy_D);
}

.mwed-reviewer-box {
    font-size: 12px;
    line-height: 18px;
    font-weight: 400;
    color: var(--navy_1S);
}

.rec-style-original .list-recommend-box {
    border-color: #dee4ea;
}
.rec-style-special .list-recommend-box {
    grid-template-columns: 1fr 157px;
}
.rec-style-special .list-recommend-title {
    line-height: 21px;
}

.rec-style-special .recommend-plan-price {
    font-size: 14px;
    letter-spacing: 0em;
    line-height: 21px;
}

.rec-style-special .recommend-plan-price.nomal {
    color: var(--gold-color);
}

.rec-style-special .recommend-discount {
    width: 76px;
    background-color: #d65856;
    padding: 2px 8px;
    border-radius: 2px;
    font-size: 10px;
    line-height: 15px;
    color: #ffffff;
}

.rec-style-original .recommend-discount {
    width: 76px;
    background-color: var(--navy);
    padding: 2px 8px;
    border-radius: 2px;
    font-size: 10px;
    line-height: 15px;
    color: #ffffff;
}
.price-detail-box {
    display: flex;
    justify-content: flex-end;
}

.top-price-detail-box {
    display: flex;
}

.rec-style-special .recommend-plan-ex {
    color: #3b4b5b;
}
.rec-style-original .list-recommend-box,
.rec-style-popular .list-recommend-box {
    grid-template-columns: 1fr 104px;
}
.rec-style-original .recommend-price-wrapper,
.rec-style-popular .recommend-price-wrapper {
    text-align: right;
}
.rec-style-original .recommend-plan-price,
.rec-style-popular .recommend-plan-price {
    font-size: 14px;
    text-align: right;
    line-height: 21px;
    letter-spacing: 0em;
    color: #3b4b5b;
}
.rec-style-original .menu-cnt,
.rec-style-popular .menu-cnt,
.rec-style-special .menu-cnt {
    background-color: #f1f3f6;
    padding: 2px 8px;
}
.rec-style-original .recommend-plan-for,
.rec-style-popular .recommend-plan-for,
.rec-style-special .recommend-plan-for {
    font-size: 10px;
    line-height: 15px;
    color: #8198ae;
}
.back-link {
    color: var(--gold-color);
    font-weight: 500;
    text-decoration: none;
    display: inline-block;
    margin-bottom: 12px;
}

.back-link:hover {
    text-decoration: underline;
}

@media (max-width: 1080px) {
    .thumb-box-d {
        grid-template-columns: repeat(5, 1fr);
        margin: 4px 0 0;
        gap: 4px;
    }
    .thumb-box-d .thumbnail:nth-child(5),
    .thumb-box-d .thumbnail:nth-child(6),
    .thumb-box-d .thumbnail:nth-child(7) {
        display: none;
    }
    .more-button {
        font-size: 10px;
    }
    .list-info-box {
        margin-top: 8px;
        padding: 8px;
    }
    .list-info-capacity {
        display: block;
        column-gap: 4px;
    }
    .list-recommend {
        margin-top: 12px;
    }
    .list-recommend-box {
        grid-template-columns: 1fr 1fr;
        row-gap: 2px;
        column-gap: 8px;
    }

    .grid-contents {
        display: contents;
    }
    .recommend-plan-title {
        grid-area: 1 / 1 / 2 / 3;
        font-size: 12px;
    }
    .menu-cnt {
        grid-area: 2 / 1 / 3 / 2;
        font-size: 10px;
    }
    .list-recommend-perprice {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-end;
        gap: 4px;
    }
    .pickup-info .list-recommend-perprice {
        display: block;
    }
    .mwed-review-box {
        margin: 12px 0 0;
    }
    .mwed-review-content {
        display: block;
    }
    .rec-style-original .list-recommend-box,
    .rec-style-popular .list-recommend-box {
        grid-template-columns: 1fr 1fr;
        align-self: start;
    }
    .rec-style-original .mt-0,
    .rec-style-popular .mt-0,
    .rec-style-special .mt-0 {
        align-self: start;
    }
    .venue-table-scroll {
        overflow-x: scroll;
    }
}
.button-container {
    margin-top: 16px;
    width: 100%; /* 親要素いっぱいに広げる */
}
.button-container .result-button-container {
    display: grid;
    grid-template-columns: 178px 1fr 1fr;
    gap: 8px;
    height: 44px;
}

@supports (-webkit-hyphens: none) {
    .button-container .result-button-container {
        display: grid;
        gap: 8px;
        height: 44px;
        align-items: center !important; /* ← 垂直方向の位置を揃える */
        justify-items: stretch !important; /* ← 幅方向の配置を明示 */
    }

    .button-container .btn-list {
        white-space: nowrap;
        padding: 10px 4px;
        height: 44px;
        font-size: 14px;
        display: flex !important; /* ← 内容の高さも制御 */
        align-items: center !important;
        justify-content: center !important;
    }
}

.button-container .btn-list {
    padding: 10px 4px;
    font-size: 14px;
    text-align: center;
    font-weight: 700;
    border-radius: 4px;
    width: 100%;
}

.button-container .btn-list:hover {
    filter: brightness(1.3);
}

.result-button-add {
    word-break: keep-all;
}
.btn-list-add {
    border: 1px solid var(--dark-border-color);
    background-color: #fff;
    color: var(--dark-border-color);
    box-sizing: border-box;
}
.btn-list-add i {
    color: var(--dark-border-color);
}

.btn-list-text {
    display: block;
    white-space: normal;
    line-height: 1.6;
    text-align: center;
    font-size: 14px;
}

.btn-list-add.already {
    border: 1px solid var(--gold-color);
    background-color: #fff;
    color: var(--gold-color);
    box-sizing: border-box;
    height: 100%;
    align-items: center;
}
.btn-list-add.already i {
    color: var(--gold-color);
}
.btn-list-add:not(.already) {
    border: 1px solid var(--dark-border-color) !important;
    background-color: #fff;
    color: var(--dark-border-color);
}

.btn-list-apply {
    border: 1px solid var(--gold-color);
    background-color: var(--gold-color);
    color: #fff;
    box-sizing: border-box;
}

.btn-list-detail {
    border: 1px solid var(--navy);
    background-color: #fff;
    color: var(--navy);
    box-sizing: border-box;
}

/* リスト追加ブックマーク */
.btn-inquiry-toggle {
    width: 44px !important;
    height: 44px !important;
}

@media (max-width: 1080px) {
    .btn-inquiry-toggle {
        width: 32px !important;
        height: 32px !important;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.list-calender-box {
    font-size: 10px;
    padding: 8px 16px;
}

.list-calender-box i {
    font-size: 1.2rem;
}

/* カレンダーの日付ボックス */
.list-calendar-container {
    display: grid;
    grid-template-columns: 1fr 76px;
    gap: 8px;
    align-items: center;
    width: 100%;
    margin-bottom: 8px;
}

/* カレンダーの日付部分全体 */
.list-calendar-dates {
    display: grid;
    grid-template-columns: repeat(14, 1fr);
    border-collapse: collapse;
    font-size: 12px;
}

/* カレンダーの日付ボックス */
.list-calendar-date {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    background-color: #fff;
    flex-shrink: 0;
    box-sizing: border-box;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    border-right: 1px solid var(--border-color);
    padding: 3px;
    font-size: 12px;
}

.list-calendar-date.day-x {
    background-color: var(--bg-gray-color);
}

.list-calendar-date:first-child {
    border-left: 1px solid var(--border-color);
}

/* 土曜日 */
.list-calendar-date.saturday {
    color: blue;
}
/* 日曜日 */
.list-calendar-date.sunday {
    color: red;
}

/* その他の日程ボタン */
.list-calendar-other {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    border: 1px solid var(--gold-color); /* ボーダー */
    border-radius: 4px;
    flex-shrink: 0; /* 幅を固定 */
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
    text-align: center;
    padding: 4px;
    font-size: 10px;
}
.list-calender-bottom {
    margin-top: 8px;
}

.calendar-table td.active {
    position: relative;
}

.calendar-table td.active::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid var(--gold-color);
    pointer-events: none;
    z-index: 1;
}

@media (max-width: 1080px) {
    .button-container {
        margin-top: 12px;
        width: 100%;
    }

    .button-container .result-button-container {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 8px;
        max-width: 320px;
        margin: 0 auto;
    }

    .button-container .btn-list {
        height: auto;
        min-height: 44px;
        padding: 6px 4px;
        font-size: 12px;
        white-space: normal;
        line-height: 1.2;
        text-align: center;
        word-break: break-word;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        flex-direction: column;
        border-radius: 4px;
    }

    .btn-list-add {
        background-color: #fff;
        color: var(--dark-border-color);
        border: 1px solid var(--dark-border-color);
    }

    .btn-list-add.already {
        background-color: #fff;
        color: var(--gold-color);
        border: 1px solid var(--gold-color);
    }

    .btn-list-add.already i {
        color: var(--gold-color);
    }

    .btn-list-text {
        display: block;
        font-size: 12px;
        line-height: 1.2;
        white-space: normal;
        word-break: break-word;
        text-align: center;
    }

    /* カレンダー調整 */
    .list-calendar-container {
        grid-template-columns: 1fr 48px;
    }

    .list-calendar-dates {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        font-size: 12px;
    }

    .list-calendar-date:nth-child(n + 8) {
        display: none;
    }
}

/**カレンダーモーダル */
[id^="calendarModal"] .modal-header {
    width: auto;
}

[id^="calendarModal"] .modal-body {
    padding: 0;
}
[id^="calendarModal"] .desired-date-container {
    padding: 16px 24px 32px 24px;
}
[id^="calendarModal"] .desired-date-title {
    font-weight: 400;
}

[id^="calendarModal"] .input-group {
    border-radius: 0;
    margin-bottom: 16px;
}
[id^="calendarModal"] .input-group-text {
    background-color: unset;
    border-radius: unset;
}
[id^="calendarModal"] .form-control {
    border-radius: unset;
}
[id^="calendarModal"] .empty::before {
    top: 8px;
}
[id^="calendarModal"] .info-box {
    margin-bottom: 16px;
    border: none;
    background-color: var(--bg-gray-color);
    border-radius: 4px;
}

.list-calendar-date:not(.day-x) {
    cursor: pointer;
}

[id^="calendarModal"] .desired-date-inner h4.text-center {
    margin-bottom: 0;
}
[id^="calendarModal"] .desired-date-inner .btn-outline-secondary {
    font-weight: 700;
    border: none;
    color: var(--body-color);
}

.search-condition-menu {
    padding: 0 16px 24px;
    border: solid 1px var(--border-color);
}
.search-condition-menu label {
    position: relative;
}
.search-condition-menu select {
    color: var(--body-color);
    -webkit-appearance: none;
    appearance: none;
}
.search-condition-title {
    font-size: 12px;
    margin: 24px 0 8px;
    font-weight: 700;
}
.search-condition-date {
    height: 44px;
}
.search-condition-date input {
    width: 100%;
    height: 100%;
    border: solid 1px var(--border-color);
    padding: 10px 12px;
}
.search-condition-pulldown {
    height: 44px;
}
.search-condition-pulldown input {
    width: 100%;
    height: 100%;
    border: solid 1px var(--border-color);
    padding: 10px 12px;
}
.search-condition-range {
    height: 44px;
    display: grid;
    grid-template-columns: 1fr 12px 1fr;
    gap: 4px;
}
.search-condition-range label select {
    width: 100%;
    height: 100%;
    border-radius: 0;
    border: solid 1px var(--border-color);
    padding: 10px 12px;
}
.search-condition-pulldown {
    height: 44px;
}
.search-condition-pulldown label {
    width: 100%;
    height: 100%;
}
.search-condition-pulldown label select {
    width: 100%;
    height: 100%;
    border: solid 1px var(--border-color);
    padding: 10px 12px;
}
.search-condition-range label::before,
.search-condition-pulldown label::before {
    position: absolute;
    content: "";
    right: 11px;
    top: 36%;
    width: 8px;
    height: 8px;
    border-top: solid 2px var(--body-color);
    border-right: solid 2px var(--body-color);
    transform: rotate(135deg);
}
.search-condition-container {
    position: relative;
}
.search-condition-container .search-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.search-condition-container .search-radio input[type="checkbox"] + label {
    display: inline-block;
    cursor: pointer;
    display: grid;
    place-content: center;
    border-radius: 100px;
    height: 40px;
    padding: 0 16px;
    background-color: var(--navy_5S);
    border: solid 1px var(--border-color);
    color: var(--body-color);
}

.search-condition-container .search-radio input[type="checkbox"] {
    display: none;
}

.search-condition-container
    .search-radio
    input[type="checkbox"]:checked
    + label {
    display: inline-block;
    cursor: pointer;
    display: grid;
    place-content: center;
    border-radius: 100px;
    height: 40px;
    padding: 0 16px;
    background-color: var(--gold-color);
    border: solid 1px var(--gold-color);
    color: #ffffff;
}
.search-condition-container .custom-date-input::before {
    position: absolute;
    content: "";
    right: 11px;
    top: 36%;
    width: 8px;
    height: 8px;
    border-top: solid 2px var(--body-color);
    border-right: solid 2px var(--body-color);
    transform: rotate(135deg);
    z-index: 1;
}
.search-condition-checkbox {
    margin: 24px 0;
}
.search-condition-checkbox div {
    display: flex;
    align-items: center;
    gap: 4px;
}
.search-condition-checkbox div:not(:first-child) {
    margin-top: 24px;
}
.search-condition-checkbox input {
    line-height: 1;
    accent-color: var(--gold-color);
    width: 16px;
    height: 16px;
    margin: 2px;
}

.form-index-height {
    height: 44px;
}

/*** Hall詳細用　*********************/
.hall-col {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 48px;
}
/* .hall-col.home {
	display: block;
}

.hall-col.home .calendar-box {
    display: none;
} */

@media (max-width: 1080px) {
    .hall-col {
        display: flex;
        flex-direction: column-reverse;
    }
}
.hall-col-mainphoto .img-fluid,
.thumb-box-d .thumbnail {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.show-tab .nav-tabs {
    border: none;
}

.show-tab .nav-item {
    width: 20%;
    border: none;
}

.show-tab .nav-link {
    width: 100%;
    text-align: center;
    color: inherit;
    border: none;
    font-size: 14px;
    padding: 1rem;
    transition: opacity 0.15s ease-in-out;
}

.show-tab .nav-link:hover {
    opacity: 0.7;
}

.show-tab .nav-link.active {
    color: var(--gold-color);
    border-bottom: 5px solid var(--gold-color);
    font-weight: bold;
}

.show-head {
    box-shadow: 0px 12px 8px -8px rgba(0, 0, 0, 0.1);
    margin-bottom: 32px;
    position: sticky;
    top: -160px;
    background-color: #ffffff;
    z-index: 1;
}
.show-head::before {
    content: "";
    position: absolute;
    width: calc(50vw - 516px);
    height: 100%;
    top: 0;
    left: 1064px;
    box-shadow: 0px 12px 8px -8px rgba(0, 0, 0, 0.1);
}
.show-head::after {
    content: "";
    position: absolute;
    width: calc(50vw - 516px);
    height: 100%;
    top: 0;
    right: 1064px;
    box-shadow: 0px 12px 8px -8px rgba(0, 0, 0, 0.1);
}
.show-head h2 {
    font-size: 24px;
    font-weight: 700;
}
.show-head .gold {
    color: var(--gold-color);
}
.show-head-detail__title {
    word-break: keep-all;
}
.show-head-detail__info {
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
}
.show-head-addlist {
    background-color: var(--gold_5S);
    padding: 16px;
    text-align: center;
    border-radius: 4px;
}
.show-head-addlist button {
    display: grid;
    place-content: center;
    background-color: #ffffff;
    color: var(--gold_D);
    border: solid 1px var(--gold-color);
    border-radius: 4px;
    width: 100%;
    padding: 12px;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 12px;
    transition: opacity 0.15s ease-in-out;
}
.show-head-addlist a {
    text-decoration: underline;
}
.show-head-addlist button:hover {
    opacity: 0.7;
}
@media (max-width: 1080px) {
    .hall-col-mainphoto .img-fluid {
        width: 100vw;
        max-width: 100vw;
        aspect-ratio: 3 / 2;
        object-fit: cover;
        margin-left: -16px;
    }
    .show-tab .nav-link {
        padding: 1.8rem 0.1rem;
    }

    .show-head {
        box-shadow: 0px 4px 6px 0 rgba(0, 0, 0, 0.1);
        width: 100vw;
        translate: -16px 0;
        padding: 0 16px;
        font-size: 12px;
        top: -336px;
    }
    .show-head h1 {
        font-size: 18px;
    }
}

/* 会場詳細 */
.calendar-container {
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 16px;
    border-radius: 8px;
    position: sticky;
    top: 80px;
    width: 100%;
}
.calendar-container .date-title .date {
    font-size: 16px;
    font-weight: 700;
    padding-top: 4px;
}
.calendar-container .date-title button {
    border: none;
    color: var(--body-color);
}
.calendar-table {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
}

.calendar-table th {
    font-weight: 400;
    padding: 5px;
}
.calendar-table tr {
    border: 2px solid #fff;
}
.calendar-table tr .highlight {
    outline: solid 1px var(--gold-color);
}
.calendar-table td {
    text-align: center;
    padding: 10px;
    cursor: pointer;
    position: relative;
    border: 2px solid #fff;
    background-color: var(--navy_5S);
}

.calendar-table tr td:first-child {
    color: #e73613;
}
.calendar-table tr td:last-child {
    color: #1298d1;
}
.unavailable {
    background-color: var(--border-color) !important;
}

tr .available {
    background-color: var(--navy_5S);
}

tr .available:hover {
    background-color: var(--gold_4S);
    transition: background-color 0.3s ease;
}

.inquiry-mark,
.inquiry-icon {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-size: contain;
}
.notable-mark::before {
    content: "×";
    display: inline-block;
    color: var(--body-color);
    width: 16px;
    height: 16px;
    background-size: contain;
    font-weight: bold;
}
.circle-mark {
    content: "";
    display: inline-block;
    color: var(--gold-color);
    width: 16px;
    height: 16px;
    background-size: contain;
    font-weight: bold;
}
.calendar-container .info-box {
    background-color: var(--bg-gray-color);
    padding: 8px;
    border: none;
    font-size: 10px;
}

.btn-gold {
    background-color: var(--gold-color);
    color: #fff;
    border: none;
    padding: 10px;
    font-size: 16px;
    border-radius: 5px;
}

.btn-gold:hover {
    background-color: var(--gold-color);
}

.button-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    justify-content: center;
    max-width: 100%;
    margin: auto;
    padding: 0;
    margin: 0;
}

.scene-btn {
    width: 100%;
    padding: 5px;
    text-align: center;
    border-radius: 5px;
    font-size: 14px;
    border: none;
    background-color: #fff;
    border: 1px solid var(--border-color);
    color: var(--border-color);
    height: 48px;
}
.scene-btn.active {
    background-color: var(--gold_4S);
    color: var(--gold-color);
    border: 1px solid var(--gold-color);
}
.show-top-singular .no-plan {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.show-top-singular .no-plan .plan-inquiry-text {
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #536a80;
    padding: 16px 0px;
}
.show-top-singular .no-plan .venue-inquiry-btn {
    width: 320px;
    height: 44px;
    max-width: 320px;
    border: none;
    border-radius: 4px;
    background-color: #9d895f;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;
    text-align: center;
    color: #ffffff;
}
.show-top-singular .review-container {
    padding: 24px 16px;
}
.show-top-singular .review-header {
    font-size: 18px;
    font-weight: 400;
}
.show-top-singular .review-tabs {
    margin-top: 24px;
}
.show-top-singular .tab {
    font-size: 12px;
    border-radius: 4px;
    padding: 4px 8px;
    border: 1px solid #dee4ea;
}
.show-top-singular .tab.active {
    border: none;
}
.show-top-singular .review-summary {
    background-color: #f8f9fa;
    border-radius: 4px;
    padding: 16px 0px;
    margin-top: 24px;
    font-weight: 400;
}
.show-top-singular .review-note {
    font-size: 10px;
    line-height: 16px;
    color: #536a80;
    margin-bottom: 0;
}
.show-top-singular .review-title {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #d65856;
}
.show-top-singular .review-score {
    color: #d65856;
    font-size: 16px;
    line-height: 27px;
}
.show-top-singular .score-red {
    color: #d65856;
    font-weight: 400;
}
.show-top-singular .review-rocomi {
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    line-height: 21px;
    color: #536a80;
}
.show-top-singular .review-category {
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;
    color: #536a80;
}
.show-top-singular .review-user {
    color: #3b4b5b;
}
.show-top-singular .review-body {
    display: flex;
}
.show-top-singular .review-text {
    color: #3b4b5b;
    line-height: 22.4px;
    padding-bottom: 19px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}
.show-top-singular .review-image {
    width: 72px;
    height: 72px;
    margin-left: 8px;
}
.show-top-singular .user-link {
    text-decoration: underline;
}
.show-top-singular .plan-card {
    padding: 16px;
}
.show-top-singular .plan-description {
    color: #81704d;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}
.show-top-singular .plan-tags {
    margin-top: 12px;
    flex-wrap: wrap;
}
.show-top-singular .tag {
    border-radius: 0px;
    font-size: 10px;
    line-height: 21px;
    background-color: #f1f3f6;
    padding: 2px 8px;
}
.show-top-singular .plan-image-pc {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 4px;
    margin-right: 15px;
}
.show-top-singular .plan-content-pc {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}
.show-top-singular .plan-txtbox-pc {
    flex: 1;
}
.show-top-singular .plan-price-pc {
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}
.show-top-singular .preprice-edit-pc {
    margin-top: 16px;
    justify-content: flex-end;
    align-items: end;
}
.show-top-singular .rec-planprice-edit-pc {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 27px;
}
.show-top-singular .rec-disc-pc {
    width: 76px;
    background-color: #d65856;
    padding: 2px 8px;
    border-radius: 2px;
    font-size: 10px;
    line-height: 15px;
    color: #ffffff;
}
.show-top-singular .detailbox-edit-pc {
    margin-top: 4px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}
.show-top-singular .rec-planex-pc {
    color: #3b4b5b;
}
.show-top-singular .rec-planfor-pc {
    font-size: 10px;
    line-height: 15px;
    color: #8198ae;
}
.show-top-singular .plan-card.everyone-special {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    background: #fff;
    border-radius: 4px;
    padding: 16px;
    border: 0.5px solid var(--gold-color);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    width: 680px;
    margin: 0 auto;
}
.show-top-singular .everyone-special-level {
    margin-bottom: 10px;
}
.show-top-singular .every-special {
    width: 100%;
    display: flex;
}
.show-top-singular .rec-usual-preprice {
    justify-content: flex-end;
    margin-top: 16px;
}
.show-top-singular .usual-pc {
    font-size: 18px;
    letter-spacing: 0em;
    line-height: 27px;
    color: #3b4b5b;
}
.show-top-singular .sp-only {
    display: none;
}
.calendar-container .btn-gold {
    transition: opacity 0.15s ease-in-out;
}
.calendar-container .btn-gold:hover {
    opacity: 0.7;
    color: #fff;
}

@media (max-width: 1080px) {
    .button-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .scene-btn {
        font-size: 12px;
    }
    .show-top-singular .p-text {
        font-size: 12px;
        line-height: 19.2px;
    }
    .scenes-btn-tlt {
        font-size: 14px !important;
        font-weight: 900 !important;
        line-height: 21px !important;
        margin-top: 32px !important;
    }
    .show-top-singular .scene-btn {
        border-radius: 4px;
        padding: 8px;
        color: #b0becc;
    }
    .show-top-singular .scene-btn.active {
        background-color: #f9f7f2;
        color: #81704d;
    }
    .show-top-singular .plan-title {
        padding-top: 48px;
        padding-bottom: 4px;
    }
    .show-top-singular .review-container {
        border-width: 2px;
    }
    .show-top-singular .review-title {
        font-size: 14px;
        font-weight: 400;
        line-height: 21px;
    }
    .show-top-singular .review-rocomi {
        display: block;
        font-size: 12px;
        line-height: 18px;
    }
    .show-top-singular .review-header {
        font-size: 14px;
    }
    .show-top-singular .review-card {
        border: 1px solid #dee4ea;
        border-radius: 4px;
        padding: 8px;
        margin-bottom: 8px;
    }
    .show-top-singular .review-body {
        display: block;
    }
    .show-top-singular .review-text {
        line-height: 19.2px;
    }
    .show-top-singular .user-link {
        text-decoration: underline;
    }
    .show-top-singular .review-more {
        margin-top: 16px;
        color: #81704d;
        line-height: 21px;
    }
    .show-top-singular .fa-arrow-up-right-from-square {
        color: #81704d;
        width: 11.33px;
        height: 11.33px;
    }
    .show-top-singular .plan-content {
        margin-right: 15px;
    }
    .show-top-singular .plan-image {
        width: 80px;
        height: 80px;
        margin-right: 0px;
        border-radius: 4px;
        align-self: flex-start;
    }
    .show-top-singular .plan-card {
        border: 1px solid #cec4af;
        border-radius: 4px;
        padding: 16px;
        width: 100% !important;
    }
    .show-top-singular .list-recommend-perprice {
        margin-top: 16px;
    }
    .show-top-singular .tag {
        font-size: 12px;
        line-height: 18px;
    }
    .show-top-singular .price-detail-box {
        margin-top: 4px;
    }
    .show-top-singular .plan-description {
        color: #81704d;
        padding-top: 0px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .show-top-singular .recommend-plan-price {
        font-size: 18px;
        letter-spacing: 0em;
        line-height: 27px;
    }
    .show-top-singular .usual {
        font-size: 18px;
        letter-spacing: 0em;
        line-height: 27px;
        color: #3b4b5b;
    }
    .show-top-singular .recommend-discount {
        width: 76px;
        background-color: #d65856;
        padding: 2px 8px;
        border-radius: 2px;
        font-size: 10px;
        line-height: 15px;
        color: #ffffff;
    }
    .show-top-singular .price-detail-box {
        display: flex;
        align-items: flex-end;
    }
    .show-top-singular .recommend-plan-ex {
        color: #3b4b5b;
    }
    .show-top-singular .recommend-plan-for {
        font-size: 10px;
        line-height: 15px;
        color: #8198ae;
    }
    .show-top-singular .plan-more-link {
        color: #81704d;
    }
    .show-top-singular .pc-only {
        display: none;
    }
    .show-top-singular .sp-only {
        display: flex;
    }
    .show-top-singular .plan-card.everyone-special.pc-only {
        display: none;
    }
    .show-top-singular .info-table th {
        border-right: 1px solid var(--border-color);
    }
}

/* レスポンシブ対応 */
@media (max-width: 1080px) {
    .d-flex {
        flex-wrap: wrap;
    }

    .calendar-table td {
        padding: 0.4rem;
    }

    .btn-gold {
        font-size: 0.9rem;
        padding: 0.6rem;
    }
}
/* 詳細プラン */
.detail-title {
    text-align: center;
    font-size: 1.3rem;
    font-weight: bold;
    margin: 80px 0 40px;
}
.detail-title-en {
    text-align: center;
    font-size: 0.8rem;
    font-weight: bold;
    color: var(--red-color);
    letter-spacing: 1px;
}
.plan-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 100%;
    margin: auto;
    padding: 1rem;
    background: var(--navy_5S);
}

.plan-image {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
    margin-right: 15px;
}

.plan-content {
    flex: 1;
}

.plan-tags {
    display: flex;
    gap: 8px;
    margin-bottom: 5px;
}

.tag {
    background: var(--border-color);
    color: var(--body-color);
    font-size: 0.8rem;
    padding: 3px 8px;
    border-radius: 5px;
}

.plan-description {
    font-size: 1rem;
    color: var(--gold-color);
    font-weight: bold;

    margin: 5px 0;
}

.plan-price {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

.original-price {
    text-decoration: line-through;
    color: var(--navy);
    font-size: 0.9rem;
}

.discount-price {
    color: red;
    font-size: 1.4rem;
    font-weight: bold;
}
/* 宴会場 */
.venue-table {
    width: 100%;
    min-width: 712px;
    border-collapse: collapse;
    text-align: center;
    overflow-x: auto;
    white-space: nowrap;
}
.venue-table thead {
    background-color: var(--navy_5S);
    color: var(--navy);
}
.venue-table th,
.venue-table td {
    border: 1px solid #ddd;
    padding: 6px;
}
.venue-table td p {
    color: var(--navy_1S);
    font-size: 10px;
    margin-top: 0.6rem;
}

.venue-table .venue-name {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    max-width: 100%;
}

.venue-table .venue-name img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 3px;
}

.venue-main-img {
    width: 664px !important;
    height: 441px !important;
}

.venue-table .venue-name span {
    font-size: 0.9rem;
    font-weight: bold;
    margin-top: 5px;
}
.venue-name {
    text-align: center;
}

.venue-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: underline;
    color: var(--gold-color);
    width: 100%;
    height: 100%;
    padding: 10px;
    box-sizing: border-box;
}
.venue-link img {
    max-width: 100%;
    height: auto;
}

.venue-link:hover {
    color: var(--second-hover-color);
}
.plan-more {
    text-align: right;
    margin-top: 1rem;
}

.plan-more-link {
    color: var(--gold-color);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: color 0.3s ease;
}

.plan-more-link:hover {
    color: var(--second-hover-color);
}
.plan-more .plan-more-link:hover {
    color: var(--gold-color);
}
@media (max-width: 1080px) {
    .venue-main-img {
        width: 100% !important;
        height: 100% !important;
    }
}

/* 口コミ */
.review-container {
    border: 1px solid #2da9a7;
    padding: 15px;
    margin-top: 5rem;
}
.review-header {
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: bold;
    justify-content: center;
}

.review-header img {
    height: 24px;
    margin-right: 8px;
}

.review-site-link {
    font-size: 16px;
    color: var(--gold-color);
    text-decoration: none;
}
.review-summary {
    text-align: center;
    margin: 15px 0;
}

.review-score-container {
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    margin-bottom: 4px;
    gap: 4px;
}
@media (max-width: 1080px) {
    .review-score-container {
        display: block;
    }
}
.review-score {
    color: red;
    font-size: 18px;
}

.review-note {
    font-size: 12px;
    color: #666;
}

/* タブメニュー */
.review-tabs {
    display: flex;
    gap: 10px;
    margin: 15px 0;
}

.tab {
    padding: 8px 12px;
    border: 1px solid var(--mwed-color);
    border-radius: 20px;
    font-size: 14px;
    cursor: pointer;
    color: var(--mwed-color);
    transition: all 0.3s ease;
    margin-right: 8px;
}

.tab.active {
    background-color: var(--gold-color) !important;
    color: white !important;
}

/* 口コミ */
.review-card {
    border: 1px solid #ddd;
    padding: 0.5rem;
    margin-bottom: 0.5rem;
    border-radius: 0.5rem;
}
.review-container a {
    text-decoration: none !important;
}

.review-category {
    font-weight: bold;
    color: #d9534f;
}

.review-score {
    font-weight: bold;
    margin-left: 5px;
}

.review-user {
    font-size: 14px;
    color: #555;
    text-decoration: underline;
}
.review-text {
    font-size: 14px;
    margin: 5px 0;
}

/* 口コミをもっと見る */
.review-more {
    text-align: right;
    margin-top: 15px;
}

.review-more-link {
    color: var(--gold-color);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.info-box {
    border: 0.5px solid var(--border-color);
    padding: 15px;
    margin-top: 20px;
}

.info-box ul {
    padding-left: 20px;
    margin: 10px 0;
}

.info-box ul li {
    margin-bottom: 5px;
}
.info-table table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--border-color);
}

.info-table th,
.info-table td {
    border-bottom: 1px solid var(--border-color);
    padding: 16px 16px 18px;
    text-align: left;
}

.info-table th {
    background-color: #f8f8f8;
    font-weight: bold;
    width: 30%;
}

.info-table a {
    text-decoration: underline;
    word-break: break-word;
}

.info-table a:hover {
    color: var(--second-hover-color);
}

.tel-txt {
    color: var(--gold_D);
}
.facility-table {
    width: 100%;
    margin-top: 20px;
}

.facility-table table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--border-color);
}

.facility-table th,
.facility-table td {
    border: 1px solid var(--border-color);
    padding: 16px;
    text-align: left;
}

.facility-table th {
    background-color: #f8f8f8;
    font-weight: bold;
    width: 30%;
}

.tag-flag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    min-width: 60px;
}

.tag-yes {
    background-color: #ebf9f5;
}

.tag-no {
    background-color: var(--navy_5S);
}

/* SVGの大きさを整える（必要に応じて） */
.icon-yes svg,
.icon-no svg {
    display: inline-block;
    vertical-align: middle;
}

/* ラベル色 */
.text-yes {
    color: var(--navy_D);
}

.text-no {
    color: var(--navy_1S);
}

/********* 問合せ　************************/
.inquery .table-bordered td:not(:last-child),
.inquery .table-bordered th:not(:last-child) {
    border-right: 0;
}

.inquery th {
    background-color: var(--navy_5S);
    white-space: nowrap;
    width: 300px;
    padding: 2rem;
}

.inquery td {
    vertical-align: middle !important;
    padding-left: 2rem;
}

.input-title {
    font-size: 1.5rem;
    font-weight: bold;
}

.custom-line {
    border: 0; /* デフォルトの枠線を削除 */
    height: 4px; /* 線の太さ */
    opacity: 1 !important;
    margin-top: 0.3rem;
    background: linear-gradient(
        to right,
        var(--gold-color) 0,
        var(--gold-color) 100px,
        var(--bg-gray-color) 100px,
        var(--bg-gray-color) 100%
    ) !important;
}

.inquery .date {
    width: 200px;
}

.inquery .name {
    width: 200px;
}
/* 会場詳細プラン一覧 */

.venue-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.2rem;
    margin-bottom: 10px;
    border: 1px solid var(--border-color);
    /*    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);*/
    padding: 16px;
    font-weight: bold;
    border-radius: 5px;
}
@media (max-width: 1080px) {
    .price-top-outerwarp span {
        font-size: 14px;
    }
    .venue-header .price-container .price-info {
        font-size: 12px;
    }
    .venue-header .price-container span {
        font-size: 10px;
    }
}
.plan-card-detail {
    display: flex;
    align-items: center;
    border-radius: 8px;
    padding: 10px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    flex-direction: column;
}

.price-container {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-left: auto;
    margin-right: 1rem;
}
.price-subtext {
    font-size: 0.8rem;
    color: var(--dark-border-color);
}
.special-offer {
    background: var(--bg-gray-color);
    padding: 10px;
    border-radius: 5px;
    border-left: 5px solid var(--red-color);
    display: flex;
    align-items: center;
    gap: 8px;
}

.special-offer svg {
    width: 1em;
    height: 1em;
}

.venue-header .btn-gold {
    transition: opacity 0.15s ease-in-out;
}
.venue-header .btn-gold:hover {
    opacity: 0.7;
    color: #fff;
}
.plan-btn-light,
.plan-btn-gold {
    transition: opacity 0.15s ease-in-out;
}
.plan-btn-light:hover {
    opacity: 0.7;
    border-color: #3b4b5b;
}
.plan-btn-gold:hover {
    opacity: 0.7;
    color: #fff !important;
    background-color: var(--gold-color) !important;
}

a.plan-btn-gold:hover {
    opacity: 0.7;
    color: #fff !important;
    background-color: var(--gold-color) !important;
}

.image-container {
    width: 272px;
    height: 272px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f0f0f0;
}

.image-content {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1080px) {
    .image-container {
        position: relative;
        width: 100%;
        padding-top: 66.66%; /*3:2の比率 */
        height: auto;
        overflow: hidden;
    }

    .image-content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/************ CTA *********************/
.bottom-cta-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000; /* ヘッダーなどに埋もれないように */
    background-color: white; /* 必要なら背景を明示的に */
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); /* 上に影がついて良い感じに */
    padding: 12px 16px;
}

/*
** 一括問合せフォーム入力画面
*/
.bulk-inq {
    padding-top: 49px;
}
.bulk-inq input[type="date"] {
    padding-top: 10px;
    padding-right: 12px;
    padding-bottom: 10px;
    padding-left: 12px;
    border-width: 1px;
}
.bulk-inq textarea {
    padding-top: 10px;
    padding-right: 12px;
    padding-bottom: 10px;
    padding-left: 12px;
    border-width: 1px;
}
.bulk-inq select {
    padding-top: 10px;
    padding-right: 12px;
    padding-bottom: 10px;
    padding-left: 12px;
}
.bulk-inq button[type="submit"] {
    padding-top: 10px;
    padding-right: 12px;
    padding-bottom: 10px;
    padding-left: 12px;
}
.bulk-inq th {
    padding-top: 32px;
    padding-right: 24px;
    padding-bottom: 32px;
    padding-left: 24px;
    border: 1px solid #dee4ea;
    border-right: none;
    color: #3b4b5b;
}
.bulk-inq td {
    padding-top: 32px;
    padding-right: 16px;
    padding-bottom: 32px;
    padding-left: 16px;
    border: 1px solid #dee4ea;
    border-left: none;
}
.bulk-text-dblu {
    color: #3b4b5b;
}
.custom-sel-color {
    color: #8198ae;
}
.custom-sel-color option:not(:first-of-type) {
    color: black;
}
.my-input::placeholder {
    color: #b0becc;
}
.inq-step-box {
    padding-bottom: 6px;
}
.bulk-inq .inq-step-box {
    padding-bottom: 24px;
}
.bulk-inq .padding-adjust {
    padding-top: 48px;
}
.bulk-inq .hr-margin {
    margin-bottom: 24px;
}
.input-top-title {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
}
.parent-container {
    display: flex;
    justify-content: space-around;
    gap: 8px;
    padding: 10px;
    flex-wrap: wrap;
    max-width: 560px;
    margin: 0 auto;
}
.inq-steps {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border-radius: 8px;
    overflow: hidden;
}
.inq-circle-num {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background-color: #b0becc;
    border-radius: 14px;
    color: white;
    font-size: 16px;
    font-weight: bold;
}
.circleactive {
    background-color: #9d895f;
}
.inq-circle-num div {
    text-align: center;
}
.inq-circle-tlt {
    font-size: 16px;
    line-height: 24px;
    font-weight: normal;
}
.req-red {
    margin-left: 8px;
    margin-right: 8px;
    border: 2px solid #d65856;
    padding-left: 8px;
    padding-right: 8px;
    background-color: #d65856;
    text-align: center;
    color: white;
    font-size: 12px;
}
.extraedit {
    display: inline;
}
.add-datebox {
    display: inline;
    font-size: 14px;
    line-height: 21px;
    margin-left: 12px;
    vertical-align: middle;
    color: #9d895f;
    text-decoration: underline;
    text-decoration-style: solid;
    text-underline-offset: auto;
}
.form-check-items {
    display: inline;
    min-height: 1.5rem;
    margin-bottom: 0.125rem;
    color: #3b4b5b;
}
.form-check-items:not(:first-child) {
    padding-left: 1.5em;
}
.chk-r-default[type="checkbox"] {
    border-radius: 0;
    border-color: #8198ae;
}
.r-default {
    border-radius: 0;
}
.btn-pad {
    padding-top: 40px;
}
.btn-inqall {
    font-size: 16px;
    border: 1px solid #b0becc;
    background-color: #b0becc;
    width: 320px;
    height: 56px;
}
.bulk-inq .btn-inqall {
    font-size: 16px;
    border: 1px solid #b0becc !important;
    background-color: #b0becc !important;
    width: 320px;
    height: 56px;
}
.btn-inqall-active {
    font-size: 16px;
    border: 1px solid #9d895f;
    background-color: #9d895f;
    width: 320px;
    height: 56px;
}
.bulk-inq .btn-inqall-active {
    font-size: 16px;
    border: 1px solid #9d895f !important;
    background-color: #9d895f !important;
    width: 320px;
    height: 56px;
}
.custom-chk-color:checked {
    background-color: #9d895f;
    border-color: #9d895f;
}
.custom-chk-color:checked {
    border-color: #9d895f;
}
.custom-radio {
    appearance: none;
    position: relative;
    cursor: pointer;
    width: 1em;
    height: 1em;
    border: 1px solid #9d895f;
    border-radius: 50%;
    transition: border-color 0.3s ease;
    float: left;
    margin-left: -1.5em;
    margin-top: 0.25em;
}
.custom-radio:checked {
    border: 1px solid #9d895f;
}
/* Change the checkmark color (inner dot) when checked */
.custom-radio:checked::after {
    content: "";
    position: absolute;
    top: 25%;
    left: 25%;
    width: 50%;
    height: 50%;
    border-radius: 50%;
    background-color: #9d895f;
}
.add-flex {
    display: flex;
}
.inquery-form.table th {
    display: table-cell;
    width: 256px;
    padding: 32px 24px;
}
.inquery-form.table th p {
    margin: 0;
    display: inline-block;
}
.inquery select.custom-2col:has(option:checked[value=""]) {
    color: #8198ae;
}
.inquery-form.table textarea {
    padding: 10px 12px;
}
.inquery-form.table .form-control {
    padding: 16px 12px;
}
.inquery-form.table .custom-1col {
    width: 70%;
}
.inquery select.form-select.custom-2col {
    padding: 10px 32px 10px 12px;
}
.inquery-form input::placeholder {
    color: #8198ae;
}
.inquery-form textarea::placeholder {
    color: #8198ae;
}

@media (max-width: 1080px) {
    /* .input-title-sp {
		font-size: 16px;
		padding-top: 8px;
	}
	.custom-line-sp {
		padding-bottom: 4px;
	}
	.bulk-inq  {
		max-width: 1080px;
		font-size: 14px;
		width: 100%;
		min-width: 320px;
		padding: 0 16px;
	}

	..bulk-inq th,.bulk-inq  td {
		font-size: 12px;
	}

	.bulk-inq  th {
		width: auto;
		padding: 6px 4px;
	}
	.bulk-inq td {
		width: auto;
		padding: 6px 3px;
	}
	select.form-select.date.r-default {
		padding: 10px 12px;
	}
	.d-flex {
		justify-content: unset;
	}

	.form-check-items:first-child {
		display: block;
		padding: 6px 3px;
	}

	.form-check-items:not(:first-child) {
		display: block;
		padding: 6px 3px;
	}
	.bulk-inq .table-wrapper {
		overflow-x: auto;
	}
	.bulk-inq .table-wrapper {
		overflow-x: auto;
	}
	.add-datebox {
		display: block;
		font-size: 12px;
		line-height: 18px;
		padding-top: 10px;
		padding-bottom: 10px;
	} */
    .inquery-form.table {
        width: 100%;
        min-width: inherit;
        table-layout: fixed;
    }
    .inquery-form.table th {
        width: 30%;
        display: table-cell;
        word-wrap: break-word;
        white-space: normal;
        padding: 24px 16px;
    }
    .inquery-form.table td {
        width: 70%;
        padding: 24px 12px;
    }
    .inquery-form.table .req-red {
        margin: 4px 0 0 0;
        display: block;
        width: fit-content;
    }
    .form-steps .inq-circle-tlt {
        font-size: 14px;
    }
    .parent-container.form-steps {
        gap: 0;
        padding: 0;
        margin: 24px 0 0;
    }
    .form-step-box {
        margin: 8px 0 56px;
        padding: 0;
    }
    .parent-container.form-steps .inq-steps {
        padding: 0;
        width: 33%;
    }
    .inquery .custom-2col {
        width: calc(50% - 13px);
    }
    .inquery .normal-2col {
        width: calc(50% - 4px);
    }
    .inquery-form.table .form-control {
        margin: 0;
    }
    .spDisNon {
        display: none;
    }
    .inquery-form.table .custom-1col {
        width: 100%;
    }
    .inquery-form.table .form-check-items {
        display: block;
        margin-bottom: 10px;
    }
    .inquery-form.table .form-check-items:not(:first-child) {
        padding-left: 0;
    }
    .inquery-form.table .form-check-items:last-of-type {
        margin-bottom: 0;
    }
    .inquery-form.table .add-datebox {
        display: block;
        margin: 16px 0 0 0;
    }
}
/********* 一括問合せフォーム入力画面ここまで ************************/

/*
** 一括問合せフォーム確認画面
*/
#inqall-conf {
    padding-top: 49px;
}
.confirm-table {
    width: 1080px;
    margin: 0 auto;
    border-collapse: collapse; /* Remove table spacing */
    background-color: #fff;
}
.confirm-table tbody {
    all: unset;
}
.confirm-table th,
.confirm-table td {
    border: 1px solid #dee4ea;
}
.confirm-table th {
    width: 256px;
    height: 85px;
    gap: 12px;
    padding-top: 32px;
    padding-right: 24px;
    padding-bottom: 32px;
    padding-left: 24px;
    background-color: #f8f9fa;
    text-align: left;
    color: #3b4b5b;
    font-size: 14px;
    font-weight: 400;
    border-right: none;
}
.confirm-table td {
    width: 824px;
    height: 85px;
    gap: 10px;
    padding-top: 32px;
    padding-right: 16px;
    padding-bottom: 32px;
    padding-left: 16px;
    text-align: left;
    color: #3b4b5b;
    font-weight: 400;
    border-left: none;
    border-top: 1px solid #dee4ea;
}
.conf-box {
    padding-top: 40px;
    text-align: center;
}
.button-container {
    justify-content: center;
    gap: 12px;
    width: 100%; /* Full width of the parent container */
    margin-top: 10px;
}
.text-dblu {
    color: #3b4b5b;
}
.underline {
    text-decoration: underline;
    text-decoration-style: solid;
    text-underline-offset: auto;
}
.conf-btn {
    width: 320px;
    height: 56px;
    max-width: 320px;
    border-radius: 4px;
    border-width: 2px;
    padding-top: 10px;
    padding-right: 12px;
    padding-bottom: 10px;
    padding-left: 12px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    transition: opacity 0.15s ease-in-out;
}
.conf-btn:hover {
    opacity: 0.7;
}
.btn-back {
    border: 2px solid #536a80;
    background-color: #ffffff;
    color: #536a80;
}
.btn-forward {
    border: 2px solid #9d895f;
    background-color: #9d895f;
    color: #ffffff;
}
.btn-back:hover {
    background-color: #ffffff;
    color: #536a80;
    border-color: #536a80;
}
.btn-forward:hover {
    background-color: #9d895f;
    color: #ffffff;
    border-color: #9d895f;
}
.finish-button-container .finish-btn {
    transition: opacity 0.15s ease-in-out;
}
.finish-button-container .finish-btn:hover {
    border: 2px solid #536a80;
    background-color: #ffffff;
    color: #536a80;
    opacity: 0.7;
}

@media (max-width: 1080px) {
    #inqall-conf {
        padding-top: 0px;
    }
    .confirm-table {
        width: 100%;
        margin: 10px 0;
    }
    .confirm-table th {
        min-width: 96px;
        max-width: 96px;
    }
    .confirm-table th,
    .confirm-table td {
        padding: 24px 16px;
        text-align: left;
        color: #3b4b5b;
        font-weight: 400;
        white-space: normal;
    }
    .button-container {
        align-items: center;
        gap: 8px;
    }
    .inquiry-all-form-confirm .button-container {
        margin-top: 16px;
    }
    .conf-btn {
        width: 100%;
        max-width: 100%;
        margin-bottom: 10px;
    }
    .inquiry-all-form-confirm .conf-btn {
        font-size: 14px;
        font-weight: 700;
        line-height: 21px;
        margin-bottom: 0px;
    }
    .inquiry-all-form-confirm .sp12 {
        font-size: 12px;
    }
}
/********* 一括問合せフォーム確認画面ここまで　************************/

/*
** 一括問合せフォーム完了画面
*/
#inqall-finish {
    padding-top: 49px;
}
#inqall-finish .inq-step-box {
    padding-bottom: 48px;
}
.finish-box {
    margin: auto;
    width: 100%;
    max-width: 720px;
    height: auto;
    gap: 24px;
    border-radius: 8px;
    padding: 24px;
    background-color: #f8f9fa;
    box-sizing: border-box;
}
.fbox-sec1 {
    text-align: center;
}
.finish-img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.finish-tlt {
    font-size: 18px;
    font-weight: 700;
    color: #9d895f;
    text-align: center;
}
.finish-ps {
    font-size: 14px;
    color: #3b4b5b;
    text-align: center;
}
.fbox-sec2 {
    font-size: 14px;
    color: #3b4b5b;
    line-height: 22.4px;
    padding-top: 10px;
}
.inquiry-all-form-finish .fbox-sec2 {
    padding-top: 24px;
}
.finish-button-container {
    display: flex;
    justify-content: center;
    gap: 12px;
    width: 100%; /* Full width of the parent container */
    margin-top: 40px;
}
.finish-btn {
    width: 320px;
    height: 56px;
    max-width: 320px;
    border: 2px solid #536a80;
    background-color: #ffffff;
    color: #536a80;
    padding: 10px 12px;
}
.inquiry-all-form-finish p {
    margin-bottom: 0px;
}

@media (max-width: 1080px) {
    #inqall-finish {
        padding-top: 0px;
    }
    #inqall-finish .inq-step-box {
        padding-bottom: 0px;
    }
    .finish-box {
        width: 100%;
        padding: 24px;
    }
    .finish-button-container {
        align-items: center;
        gap: 10px;
    }
    .bk-top-btn {
        max-width: 320px;
        padding: 10px 12px;
    }
}
/********* 一括問合せフォーム完了画面ここまで　************************/

/*
** 個別問合せフォーム入力画面
*/
#individual-inq {
    padding-top: 49px;
}
#individual-inq input[type="date"] {
    padding: 10px 12px;
    border-width: 1px;
}
#individual-inq textarea {
    padding: 10px 12px;
    border-width: 1px;
}
.indi-txtarea {
    height: 65px;
}
#individual-inq select {
    padding: 10px 12px;
}
#individual-inq button[type="submit"] {
    padding: 10px 12px;
}
#individual-inq th {
    padding: 10px;
    border: 1px solid #dee4ea;
    border-right: none;
    color: #3b4b5b;
    vertical-align: middle;
}
#individual-inq td {
    /*	padding: 32px 24px; */
    padding: 20px;
    border: 1px solid #dee4ea;
    border-left: none;
}
.indi-custom-sel-color {
}
.indi-custom-sel-color option:not(:first-of-type) {
    color: black;
}
.indi-my-input::placeholder {
    color: #b0becc;
}

.indi-inq-step-box {
    padding-bottom: 24px;
}
.indi-input-top-title {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
}
.indi-parent-container {
    display: flex;
    justify-content: space-around;
    gap: 8px;
    padding: 10px;
    flex-wrap: wrap;
    max-width: 560px;
    margin: 0 auto;
}
.indi-inq-steps {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    /* height: 16px;  */
    padding: 10px;
    border-radius: 8px;
    overflow: hidden;
    width: 144px;
}
.indi-inq-circle-num {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background-color: #b0becc;
    border-radius: 14px;
    color: white;
    font-size: 10px;
    font-weight: bold;
}
.indi-circleactive {
    background-color: #9d895f;
}
.indi-inq-circle-num div {
    text-align: center;
    font-size: 16px;
}
.indi-inq-circle-tlt {
    font-size: 16px;
    line-height: 24px;
    font-weight: normal;
}
.indi-sub-tlt {
    padding-top: 48px;
}
.indi-input-tlt {
    font-size: 22px;
    font-weight: bold;
}
.indi-input-gap {
    margin-bottom: 24px;
}
.indi-input-point {
    font-size: 16px;
}
.indi-text-dblu {
    color: #3b4b5b;
}
.indi-req-red {
    margin-left: 8px;
    margin-right: 8px;
    border: 2px solid #d65856;
    padding-left: 8px;
    padding-right: 8px;
    background-color: #d65856;
    text-align: center;
    color: white;
    font-size: 12px;
}
.indi-extraedit {
    /*	display: inline;*/
}
.indi-add-datebox {
    display: inline;
    font-size: 14px;
    line-height: 21px;
    margin-left: 12px;
    vertical-align: middle;
    color: #9d895f;
    text-decoration: underline;
    text-decoration-style: solid;
    text-underline-offset: auto;
}
.indi-form-check-items {
    display: inline;
    min-height: 1.5rem;
    margin-bottom: 0.125rem;
    color: #3b4b5b;
}
.indi-form-check-items:not(:first-child) {
    padding-left: 1.5em;
}
.indi-chk-r-default[type="checkbox"] {
    border-radius: 0;
    border-color: #8198ae;
}
.indi-r-default {
    border-radius: 0;
}
.indi-plan-radio {
    padding-bottom: 20px;
}

.indi-btn-pad {
    padding-top: 40px;
}
.indi-btn-inqall {
    font-size: 16px;
    border: 1px solid #b0becc !important;
    background-color: #b0becc !important;
    width: 320px;
    height: 56px;
}
.indi-btn-inqall-active {
    font-size: 16px;
    border: 1px solid #9d895f !important;
    background-color: #9d895f !important;
    width: 320px;
    height: 56px;
    transition: opacity 0.15s ease-in-out;
}
.indi-btn-inqall-active:hover {
    opacity: 0.7;
}
.indi-custom-chk-color:checked {
    background-color: #9d895f;
    border-color: #9d895f;
}
.indi-custom-chk-color:checked {
    border-color: #9d895f;
}
.indi-custom-radio {
    appearance: none;
    position: relative;
    cursor: pointer;
    width: 1em;
    height: 1em;
    border: 1px solid #9d895f;
    border-radius: 50%;
    transition: border-color 0.3s ease;
    float: left;
    margin-left: -1.5em;
    margin-top: 0.25em;
}
.indi-custom-radio:checked {
    border: 1px solid #9d895f;
}
/* Change the checkmark color (inner dot) when checked */
.indi-custom-radio:checked::after {
    content: "";
    position: absolute;
    top: 25%;
    left: 25%;
    width: 50%;
    height: 50%;
    border-radius: 50%;
    background-color: #9d895f;
}
.indi-customer-txtbox {
    width: 432px;
    height: 56px;
    max-width: 432px;
}
.indi-customer-namebox {
    width: 212px;
    height: 56px;
    max-width: 432px;
}
.indi-inq-txtbox {
    width: 200px;
    height: 56px;
    max-width: 200;
}

#planSelectModal .modal-dialog {
    max-width: 800px;
}
.plan-select {
    margin-bottom: 48px;
}
.plan-select-box {
    /*	border: 1px solid #DEE4EA;*/
    width: 432px;
    padding: 8px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-right: 16px;
}
.plan-select-btn {
    width: 72px;
    height: 32px;
    line-height: 32px;
    font-size: 12px;
    padding: 0;
    align-items: center;
    transition: opacity 0.15s ease-in-out;
}
.plan-select-btn:hover {
    opacity: 0.7;
    color: #fff;
}
.selectPlanMarg {
    transition: opacity 0.15s ease-in-out;
}
.selectPlanMarg:hover {
    opacity: 0.7;
    color: #fff;
}
.plan-select-box img {
    width: 64px;
    height: 64px;
    margin: 0;
}
.plan_select_title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 3em;
    line-height: 1.5em;
}
.plan-red-title {
    width: 100%;
    margin-bottom: 0;
    font-size: 10px;
    font-weight: bold;
    color: #d65856;
}
.plan-info-01 {
    padding: 0 0 0 16px;
    width: calc(100% - 175px);
}
.plan-info-02 {
    width: 113px;
    font-size: 10px;
    color: #8198ae;
    text-align: right;
}
.plan-info-02 > span {
    display: block;
}
.plan-tags.custom-plan-tags {
    display: block;
    margin-bottom: 0;
}
.custom-tag-text {
    font-size: 10px;
    color: #8198ae;
    margin-bottom: 2px;
}
.custom-plan-price {
    font-size: 16px;
    color: #3b4b5b;
    font-weight: bold;
}
.custom-plan-detail {
    font-size: 12px;
    color: #9d895f;
    text-decoration: underline;
    transition: 0.15s ease-in-out;
    display: block;
    margin-top: 4px;
}
.custom-plan-detail:hover {
    opacity: 0.7;
}
.custom-plan + .indi-text-dblu {
    margin: 16px 0 0 0;
    color: #8198ae;
}
.custom-plan-select-box .plan-box {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
@media (max-width: 1080px) {
    #individual-inq {
        padding-top: 0px;
    }
    .indi-sub-tlt {
        padding-top: 32px;
    }
    .indi-input-gap {
        margin-bottom: 16px;
    }
    .indi-add-datebox {
        display: block;
        margin: 16px 0 0 0;
    }
    .indi-input-tlt {
        font-size: 16px;
    }
    .form-steps .indi-inq-circle-tlt {
        font-size: 14px;
    }
    .indi-parent-container.form-steps {
        gap: 0;
        padding: 0;
        margin: 24px 0 0;
    }
    .indi-inq-steps {
        padding: 0;
        width: 33%;
    }
    .indi-inq-step-box {
        margin: 8px 0;
        padding: 0;
    }
    #individual-inq .inquery-form.table th {
        padding: 24px 16px;
    }
    #individual-inq .inquery-form.table td {
        padding: 24px 12px;
    }
    #individual-inq .inquery-form.table .indi-req-red {
        margin: 4px 0 0 0;
        display: block;
        width: fit-content;
    }
    #individual-inq .indi-add-datebox {
        display: block;
        margin: 16px 0 0 0;
    }
    #individual-inq select.form-select.custom-2col {
        padding: 10px 32px 10px 12px;
    }
    #individual-inq .custom-d-flex {
        flex-wrap: nowrap;
    }
    #individual-inq .custom-plan .plan-select-box,
    #individual-conf .custom-plan .plan-select-box {
        margin-right: 0;
        margin-bottom: 8px;
        gap: 8px;
        width: 100%;
    }
    .custom-plan .plan-select-box > div {
        width: 100%;
    }
    .custom-plan + .indi-text-dblu {
        margin: 8px 0 0;
        font-size: 12px;
    }
    .custom-indi-txtarea {
        height: inherit;
    }
    .plan-select-box img {
        display: none;
    }
    .custom-plan .plan-select-box .plan-info-01 {
        width: 100%;
        padding: 0;
    }
    .custom-plan .plan-select-box .plan-info-02 {
        padding-top: 16px;
        margin-left: auto;
    }
    .custom-plan-detail {
        text-align: right;
    }
    .custom-plan-select-box .plan-box {
        flex-wrap: wrap;
    }
    #planSelectModal .modal-dialog {
        max-width: inherit;
    }
}
/********* 個別問合せフォーム入力画面ここまで　************************/

/*
** 個別問合せフォーム確認画面
*/
#individual-conf {
    padding-top: 49px;
}
.inquire-form-planitems #confirm-fade-txt {
    color: #8198ae;
    line-height: 21px;
}
.inq-conf-privacy-box .privacy-policy-txtbox {
    background-color: #f8f9fa;
    padding: 16px;
}
.inq-conf-privacy-box .privacy-policy-container {
    height: 200px;
    overflow-y: auto;
    padding: 16px;
    gap: 10px;
    background-color: #ffffff;
}
.inq-conf-privacy-box .privacy-policy-text {
    font-size: 14px;
    font-weight: 400;
    line-height: 22.4px;
    color: #3b4b5b;
}
.inq-conf-privacy-box .privacy-policy-check {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    text-align: center;
    gap: 4px;
    margin-top: 12px;
}
.inquire-form-planitems .confirm-plan-container {
    max-width: 464px;
}
.inquire-form-planitems .confirm-plan-box {
    width: 432px;
    max-width: 432px;
    border-radius: 4px;
    border: 1px solid #dee4ea;
    padding: 16px;
    gap: 4px;
}
.inquire-form-planitems .conf-plan-container {
    width: 400px; /* Total width of the container */
    display: flex; /* Use flexbox to align items horizontally */
    justify-content: space-between; /* Distribute space between the parts */
    align-items: center; /* Vertically center the content */
    gap: 16px;
}
.inquire-form-planitems .left-part {
    width: 68px;
    text-align: left;
}
.inquire-form-planitems .middle-part {
    width: 224px;
    text-align: left;
}
.inquire-form-planitems .right-part {
    width: 80px;
    text-align: right;
}
.inquire-form-planitems .image {
    object-fit: cover;
}
.inquire-form-planitems .plan-pragh-style {
    font-size: 14px;
    line-height: 22.4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.inquire-form-planitems .plan-tag-style {
    font-size: 10px;
    line-height: 15px;
    padding: 2px 8px;
    display: inline-block;
    background-color: #f1f3f6;
}
.inquire-form-planitems .right-price {
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
}
.inquire-form-planitems #right-txt {
    font-size: 10px;
    line-height: 15px;
    font-weight: 400;
}
.inquire-form-planitems #right-link {
    font-size: 12px;
    line-height: 18px;
    text-decoration: underline;
    color: #9d895f;
}
.inquire-form-planitems #plan-txtmargin {
    margin-top: 12px;
}
.inquire-form-planitems .margin-plan {
    margin-top: 12px;
}

@media (max-width: 1080px) {
    #individual-conf {
        padding-top: 0px;
    }
    .inq-conf-privacy-box .privacy-policy-text {
        font-size: 12px;
        line-height: 19.2px;
    }
    .inq-conf-privacy-box .privacy-policy-check {
        font-size: 14px;
    }
    .inquire-form-conf .sp12 {
        font-size: 12px;
    }
    .inquire-form-planitems .conf-plan-container {
        flex-direction: column;
        align-items: flex-start;
    }
    .inquire-form-planitems .left-part {
        display: none;
    }
    .inquire-form-planitems .middle-part,
    .right-part {
        width: 100%;
    }
    .inquire-form-planitems .middle-part {
        text-align: center;
    }
    .inquire-form-planitems .right-part {
        text-align: right;
    }
    .inquire-form-planitems .plan-pragh-style {
        font-size: 12px;
        line-height: 18px;
    }
    .inquire-form-planitems .plan-tag-style {
        font-size: 12px;
        line-height: 18px;
        margin-left: 8px;
    }
}

/********* 個別問合せフォーム確認画面はここまで　************************/

/*
** 個別問合せフォーム完了画面
*/
#individual-finish {
    padding-top: 49px;
}
#individual-finish .inq-step-box {
    padding-bottom: 48px;
}
#indi-fbox-sec2 {
    padding: 24px;
    margin-top: 16px;
    border-radius: 8px;
    background-color: #ffffff;
}
.indi-fade-txt {
    font-size: 12px;
    color: #8198ae;
    line-height: 19.2px;
}
#indi-fade-email {
    color: #9d895f;
    text-decoration: underline;
}
#individual-finish .finish-btn {
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    border-radius: 4px;
}
@media (max-width: 1080px) {
    #individual-finish {
        padding-top: 0px;
    }
    #individual-finish .inq-step-box {
        padding-bottom: 0px;
    }
}
/********* 個別問合せフォーム完了画面はここまで　************************/

/****** 一覧の一括問合せボタン ***************/
/* 全体を中央揃え＆横並び */
.bottom-personal-data {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 20px;
    row-gap: 2px;
    padding: 14px 0 12px;
    margin-top: 20px;
}

@media (max-width: 1080px) {
    .bottom-personal-data {
        flex-wrap: wrap;
    }
}

/* チェック会場とボタンを横並びで均等配置 */
.check-count,
.bottom-link {
    font-weight: 700;
}

/* 数字部分（1 / 10）も横並び */
.check-number {
    display: flex;
    align-items: center;
    gap: 3px; /* 数字とスラッシュの間隔 */
}
.bottom-link {
    display: flex;
    gap: 10px; /* ボタンの間隔を調整 */
}
@media (max-width: 1080px) {
    .bottom-personal-data .bottom-link {
        width: 100%;
    }
}
/* 一括問合せ帯会場詳細SP用 */

/* 非表示：デフォルト */
.sp-inquiry-footer-wrapper,
.bottom-personal-data {
    display: none;
}

/* SPサイズで表示切替（1080px以下） */
@media screen and (max-width: 1080px) {
    .bottom-personal-data.is-from-show {
        display: none !important;
    }

    .bottom-personal-data.is-from-show::before,
    .bottom-personal-data.is-from-show::after {
        display: none !important;
        content: none !important;
        width: 0 !important;
        height: 0 !important;
        background: none !important;
    }

    .sp-inquiry-footer-wrapper {
        display: block;
    }

    .sp-inquiry-footer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 10px 12px;
        background: #fff;
        z-index: 1000;
        border-top: 1px solid #ddd;
        display: flex;
        align-items: center;
        gap: 10px;
        justify-content: center;
        max-width: 100%;
    }

    .btn-add-to-list {
        border: 1px solid var(--navy_1S);
        background: none;
        border-radius: 6px;
        padding: 8px;
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .btn-add-to-list .icon-bookmark svg {
        display: block;
    }

    .btn-inquiry {
        background: var(--gold-color);
        color: #fff;
        font-weight: bold;
        padding: 10px 16px;
        border-radius: 6px;
        text-align: center;
        text-decoration: none;
        flex: 1;
        max-width: 320px;
        font-size: 14px;
    }

    .btn-check-list {
        height: 44px;
        max-width: 420px;
        position: absolute;
        white-space: nowrap;
        text-align: center;
        top: -4rem;
        left: 1rem;
        font-size: 12px;
        color: var(--navy);
        background: #fff;
        padding: 10px 12px;
        border: 1px solid var(--navy);
        border-radius: 4px;
        text-decoration: none;
        font-weight: bold;
    }
    .btn-check-list span {
        content: "";
        position: absolute;
        width: 20px;
        height: 20px;
        border-radius: 1000px;
        border: solid 1px #ffffff;
        background-color: var(--red-color);
        font-size: 12px;
        color: #ffffff;
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1;
        top: -4px;
        right: -4px;
        font-weight: 400;
        padding: 0 0 2px;
    }
}

/* ボタンデザイン */
.list-check,
.all-check {
    padding: 10px 15px;
    text-decoration: none;
    background: #007bff;
    color: white;
    border-radius: 5px;
    white-space: nowrap; /* 改行防止 */
    text-align: center;
}

/******** エリア選択　**************************************/
/* 全体を中央寄せ */
.area-container {
    display: flex;
    flex-wrap: wrap; /* 自動で改行 */
    justify-content: center; /* 中央揃え */
    gap: 10px; /* アイテム間の余白 */
    max-width: 700px; /* 最大幅（調整可能） */
    margin: auto; /* 画面中央 */
}

/* 各エリアのアイテム */
.area-item {
    display: flex;
    align-items: center;
    gap: 5px; /* ラジオボタンとテキストの間隔 */
}

/* 改行専用の要素 */
.break {
    flex-basis: 100%; /* 強制改行 */
    height: 0;
}

/*============【プランタブ】plan.blade.phpのCSS ============-*/
.detail-event-card {
    border: 1px solid var(--border-color);
    background-color: #fff;
    border-radius: 5px;
    margin-bottom: 1.5rem;
}

.plan-head-box {
    padding: 16px 16px 0 16px;
}

.plan-main-box {
    display: flex;
    align-items: flex-start; /* タイトルと画像の上端を揃える */
    width: 100%;
    gap: 22px; /* 間隔を開ける */
}

.contact-plan-box .plan-main-box {
    gap: 80px; /* 間隔を開ける */
}

.plan-main {
    width: 536px; /* 左側のタイトルとタグの固定幅 */
}

.plan-main-img {
    width: 120px; /* 右側の画像の固定幅 */
    flex-shrink: 0; /* 画像のサイズを固定して縮小させない */
}

.detail-event-image {
    width: 120px !important;
    height: 120px !important;
    object-fit: cover;
}

.detail-event-image-container {
    flex-shrink: 0;
    margin-left: 20px;
}

.price-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 10px;
}

.event-price-container {
    display: inline-block;
}

.event-price {
    font-size: 1.9rem;
    font-weight: bold;
    color: var(--red-color);
    display: inline;
    margin-right: 8px;
}

.event-price.nomal {
    color: var(--navy_D);
}

.detail-original-price {
    text-decoration: line-through;
    color: var(--body-color);
    font-size: 14px;
    display: inline;
}

.detail-price-subtext {
    font-size: 0.8rem;
    color: var(--navy_2S);
    display: inline;
    font-weight: normal;
}

.detail-discount {
    background-color: var(--red-color);
    color: white;
    font-size: 12px;
    height: 22px;
    padding: 2px 8px;
    border-radius: 2px;
    display: inline-block;
    line-height: 1.8;
    margin-bottom: 5px;
}

.event-label {
    color: var(--red-color);
    font-weight: bold;
    font-size: 0.9rem;
}

.event-highlight {
    border: 3px solid var(--red_3S);
    border-radius: 5px;
}

.highlight-header {
    background-color: var(--red_4S);
    color: var(--red-color);
    font-weight: bold;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.highlight-header svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}
/* ゴールド特典枠 */
.gold-highlight {
    border: 3px solid var(--gold_3S);
    border-radius: 5px;
    margin-top: 15px;
}

.gold-highlight-header {
    background-color: var(--gold_4S);
    color: var(--gold-color);
    font-weight: bold;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.highlight-content {
    background-color: #fff;
    color: var(--body-color);
    padding: 0.5rem;
}

.gold-icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
}
.event-btn {
    text-align: center;
}
.plan-btn-light {
    border: 1px solid var(--navy);
    color: var(--navy);
    padding: 10px;
}
.plan-btn-gold {
    background-color: var(--gold-color);
    color: #fff;
    border: none;
    padding: 10px;
    font-size: 16px;
    border-radius: 5px;
}

.event-btn-container {
    background-color: var(--gold_5S);
    padding: 0 0.5rem 0.8rem;
    text-align: center;
    border-top: 1px solid var(--gold_3S);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.plan-table {
    width: 100%;
    border-collapse: collapse;
    border-left: none;
    border-right: none;
    margin-bottom: 0;
}

.plan-table th,
.plan-table td {
    border-top: 1px solid var(--border-color);
    border-bottom: none;
    border-left: none;
    border-right: none;
    padding: 10px;
    text-align: left;
    margin-bottom: 0;
}

.plan-table th {
    font-weight: normal;
    width: 30%;
    background-color: var(--navy_5S);
}
.plan-table td {
    width: 70%;
    /*    border-left: 1px solid var(--border-color);*/
}

.plan-table.table p {
    margin-bottom: 0;
}

.plan-table tbody {
    vertical-align: baseline;
}

#toggle-detail-btn {
    border: 1px solid var(--navy_3S);
    padding: 10px;
    cursor: pointer;
    transition: box-shadow 0.2s ease-in-out;
}

.plan-tab-edit .event-btn .plan-btn-light {
    margin-bottom: 1rem;
    align-items: flex-start;
}

.plan-tab-edit .venue-header-padding-only {
    padding: 12px 16px;
}
.plan-tab-edit .price-top-outerwarp {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 90%;
}
.plan-tab-edit .price-container-mvright {
    margin-left: auto;
}

.plan-tab-edit .event-label {
    font-size: 12px;
    line-height: 18px;
}
.plan-tab-edit .detail-eventdetails-tlt {
    font-size: 16px;
    line-height: 24px;
}
.plan-tab-edit .detail-event-imgEdit {
    width: 120px;
    height: 120px;
    border-radius: 0;
    margin-top: 0;
}
.detail-tag,
.detail-info-tag {
    padding: 2px 8px;
    border-radius: 0px;
    font-size: 12px;
    line-height: 18px;
    background-color: var(--navy_4S);
    display: inline-block;
    margin-bottom: 8px;
    margin-right: 8px;
    text-align: center;
    white-space: nowrap;
}
.detail-event-details-toprow {
    position: relative;
}
.detail-event-image-container {
    position: absolute;
    right: 0;
    top: 0;
}

@media (max-width: 1080px) {
    .detail-event-details {
        width: 100%;
    }
    .plan-tab-edit .detail-eventdetails-tlt {
        width: calc(100% - 90px);
    }
    .detail-plan-tags,
    .detail-plan-info {
        width: 100%;
    }
    .plan-main-box {
        gap: 8px !important; /* 間隔を開ける */
    }
    .plan-tab-edit .price-top-outerwarp {
        flex-direction: column;
        align-items: flex-start;
        width: auto;
    }
    .plan-tab-edit .btn-sp-align {
        /* align-self: flex-start;  */
        float: right;
        margin-top: 10px;
    }
    .plan-tab-edit .detail-event-card {
        margin-top: 24px;
    }
    .plan-tab-edit .detail-event-content {
        flex-direction: column;
    }
    .plan-tab-edit .detail-event-details-toprow {
        display: flex;
        /* max-width: 326px;
        width: 100%; */
    }
    .plan-tab-edit .detail-event-imgEdit {
        width: 64px;
        height: 64px;
    }
    .plan-tab-edit .detail-eventdetails-tlt {
        margin-top: 8px;
        width: 100%;
    }
    .plan-tab-edit .fw-bold {
        font-size: 14px;
        line-height: 21px;
    }
    .plan-tab-edit .detail-plan-info {
        margin-top: 8px;
        flex-wrap: nowrap;
    }
    .plan-tab-edit .detail-plan-tags {
        flex-wrap: nowrap;
    }
    .plan-tab-edit .price-section {
        margin-top: 14px;
    }
    .plan-tab-edit .detail-tag,
    .plan-tab-edit .detail-info-tag {
        padding: 2px 8px;
        border-radius: 0px;
        font-size: 12px;
    }
    .plan-tab-edit .detail-discount {
        padding: 2px 8px;
        font-size: 12px;
        line-height: 18px;
    }

    /******** 一括問い合わせ　**************************************/
    /**　モーダル */
    #inquiry-all-Modal .modal-dialog {
        width: 920px;
        max-width: 920px;
    }
    #inquiry-all-Modal .modal-body {
        padding: 24px 16px 32px 16px;
    }
    #inquiry-all-Modal .inquiry-all-title {
        font-size: 22px;
        font-weight: 700;
        text-align: center;
    }
    #inquiry-all-Modal .inquiry-all-sub {
        font-size: 14px;
        font-weight: 700;
        text-align: center;
    }
    #inquiry-all-Modal .list-btn {
        display: flex;
        margin-bottom: 24px;
        justify-content: center;
        align-items: baseline;
    }
    #inquiry-all-Modal .list-all-del {
        margin: auto 24px;
        color: var(--navy);
        text-decoration: underline;
        font-weight: 700;
    }
    #inquiry-all-Modal .btn-inquiry-all {
        width: 320px;
        font-weight: 700;
        min-width: 160px;
    }

    #inquiry-all-Modal .list-container {
        display: flex;
        padding: 0 20px;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    #inquiry-all-Modal .list-box:not(:nth-child(4n)) {
        margin-right: 15px;
    }

    #inquiry-all-Modal .list-box .list-title {
        margin-bottom: 4px;
        font-size: 14px;
        font-weight: 700;
        color: var(--navy);
        text-decoration: underline;
    }
    #inquiry-all-Modal .list-box .list-sub {
        font-size: 10px;
    }
    #inquiry-all-Modal .list-box > p {
        margin-bottom: 0.6rem;
    }
    #inquiry-all-Modal .list-box img {
        display: block;
        max-width: 100%;
        max-height: 100px;
        margin: 8px auto;
        border-radius: 4px;
    }
    #inquiry-all-Modal .list-box .list-del {
        position: relative;
        display: block;
        font-size: 12px;
        text-align: center;
        text-decoration: underline;
    }

    .inq-plan-modal {
        width: 800px;
    }

    @media (max-width: 1080px) {
        #area.modal .modal-dialog,
        #inquiry-all-Modal .modal-dialog {
            width: auto;
        }
        #inquiry-all-Modal .list-btn {
            justify-content: space-between;
        }
        #inquiry-all-Modal .btn-inquiry-all {
            width: 60%;
        }
        #inquiry-all-Modal .list-all-del {
            margin-left: 0;
        }
        #inquiry-all-Modal .list-container {
            padding: 0;
        }

        #inquiry-all-Modal .list-box:nth-child(2n + 1) {
            margin-bottom: 10px;
        }
    }

    .select-plan-container {
        display: flex; /* 横並び */
        align-items: center; /* 縦方向の中央揃え */
        gap: 10px; /* 画像とテキストの間の余白 */
    }

    /* 左側の画像 */
    .select-plan-img {
        width: 64px; /* 画像の固定幅 */
        height: 64px; /* 画像の固定高さ */
        object-fit: cover; /* 画像の比率を維持しつつトリミング */
        border-radius: 5px; /* 角丸（必要なら） */
    }

    /* 右側のテキスト */
    .plan-content {
        flex-grow: 1; /* 残りのスペースを占有 */
        display: flex;
        flex-direction: column; /* タイトルと価格を縦に並べる */
        justify-content: center; /* 中央揃え（必要なら変更可） */
    }

    .plan-title {
        font-size: 16px;
        font-weight: bold;
        color: #333;
    }

    .plan-price {
        font-size: 14px;
        color: #777;
    }
}
/* 宴会場とプランが無い時のタブ */
.nav-tabs .nav-link.disabled {
    color: #ccc !important;
    cursor: not-allowed !important;
    opacity: 0.6;
}

/********** 問合せ　*****************************/
/**日付を選ぶ */
.empty::before {
    content: "日付を選ぶ";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: var(--body-color);
    pointer-events: none;
}

.empty::-webkit-datetime-edit,
.empty::-webkit-inner-spin-button,
.empty::-webkit-clear-button {
    display: none;
}

.date-input::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 16px;
    height: 15px;
    background: url("/usr/img/calendar.svg") no-repeat center;
    background-size: contain;
    pointer-events: none;
}

.date-input {
    position: relative;
}

.date-input::-webkit-calendar-picker-indicator {
    opacity: 0;
}

.tr-disabled {
    opacity: 0.5; /* 半透明にする */
    pointer-events: none; /* クリック・ホバーなどのイベントを無効化 */
}

.every-special {
    display: flex; /* 横並び */
    align-items: center; /* 縦方向の中央揃え */
    gap: 10px; /* 画像とテキストの間の余白 */
}

/* 左側の画像 */
.select-plan-img {
    width: 64px; /* 画像の固定幅 */
    height: 64px; /* 画像の固定高さ */
    object-fit: cover; /* 画像の比率を維持しつつトリミング */
    border-radius: 5px; /* 角丸（必要なら） */
}

/* 右側のテキスト */
.plan-content {
    width: 240px;
}

.plan-title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
}

.plan-price {
    font-size: 14px;
    color: #777;
}

.inq-plan-name {
    font-size: 14px;
    color: var(--navy_D);
}

.inq-plan-tag {
    font-size: 10px;
    color: var(--navy_1S);
}

.inq-price-box {
    width: 90px;
    text-align: right;
}
.inq-plan-per-label {
    font-size: 10px;
    color: var(--navy_D);
}

.inq-plan-price {
    font-size: 16px;
    color: var(--navy_D);
    font-weight: 700;
}
