/* ヘッダーカスタマイズ */
.l-header__customBtn.sp_ {
    background-color: #e50012;
}

/* 目次非表示 */
.p-fixBtnWrap {
    display: none;
}

/* 共通 */
.space-x-5 > * + * {
    margin-left: 5px;
}

.space-x-20 > * + * {
    margin-left: 20px;
}

.mininote{font-size:smaller;}

.vendor-section-title-wrapper {
    text-align: center;
}

.vendor-section-title-white {
    display: inline-block;
    position: relative;
    min-width: 300px;
    width: fit-content;
    padding: 5px 20px;
    margin: 0 auto;
    background-color: #fff;
    color: #000;
    border-radius: 5px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.vendor-section-title-white::after {
    content: '';
    position: absolute;
    bottom: -19px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 10px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}

.vendor-section-title-blue {
    display: inline-block;
    position: relative;
    min-width: 300px;
    width: fit-content;
    padding: 5px 20px;
    margin: 0 auto;
    background-color: #005cb2;
    color: #fff;
    border-radius: 5px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.vendor-section-title-blue::after {
    content: '';
    position: absolute;
    bottom: -19px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 10px;
    border-style: solid;
    border-color: #005cb2 transparent transparent transparent;
}

.vendor-section-title-light-blue {
    display: inline-block;
    position: relative;
    min-width: 300px;
    width: fit-content;
    padding: 5px 20px;
    margin: 0 auto;
    background-color: #86c2fb;
    color: #005cb2;
    border-radius: 5px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.vendor-section-title-light-blue::after {
    content: '';
    position: absolute;
    bottom: -19px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 10px;
    border-style: solid;
    border-color: #86c2fb transparent transparent transparent;
}

#vendor-section-title-tail::after{
    border-color: #005cb2 transparent transparent transparent;
}

.vendor-cta .vendor-cta-pc {
    position: relative;
    margin: 30px 0;
    width: 100%;
}

.vendor-cta .vendor-cta-pc .vendor-cta-button {
    display: inline-block;
    text-decoration: none;
    width: 100%;
}

.vendor-cta .vendor-cta-pc .vendor-cta-button img {
    width: 100%;
}

.vendor-cta .vendor-cta-pc .vendor-cta-phone-number {
    position: absolute;
    top: 0;
    right: 295px;
    height: 82px;
    font-family: sans-self, arial;
    font-size: 60px;
    font-weight: bold;
    letter-spacing: 2px;
}

.vendor-cta .vendor-cta-pc .vendor-cta-note {
    font-size: 12px;
    text-align: left;
}

.toggle {
    margin-top: 10px;
    text-align: center;
}

.toggle .toggle-btn {
    display: inline-block;
    width: fit-content;
    min-width: 300px;
    margin: 0;
    padding: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--color_main, #0073e6);
    background-color: #fff;
    border: solid 1px var(--color_main, #0073e6);
    border-radius: 5px;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.3s;
}

.toggle-icon {
    content: '';
    display: inline-block;
    border: solid currentColor;
    border-width: 0 1px 1px 0;
    padding: 3px;
    margin-left: 10px;
    transform: translateY(-50%) rotate(45deg);
}

.toggle-icon.close {
    transform: translateY(0%) rotate(-135deg);
}

.hidden {
    display: none !important;
}

/* MV */
.vendor-detail .mv-wrapper {
    margin: 10px 0 15px 0 !important;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-bottom: 15px;
    margin-bottom: 10px;
    border-bottom: 2px;
    border-bottom-style: dotted;
    border-bottom-color: #005cb2;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .vendor-title-wrapper {
    display: flex;
    justify-content: space-between;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .vendor-title {
    display: flex;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .vendor-title-img {
    margin-right: 20px;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .vendor-title-name {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .vendor-title-name span {
    font-size: .875rem;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .total-review {
    display: flex;
    align-items: center;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-icon img {
    vertical-align: top;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-title {
    color: #005cb2;
    font-weight: bold;
    font-size: 20px;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-star,
.vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-star-rating {
    color: #ff5300;
    font-size: 20px;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-star .star-rating {
    display: inline-block;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-star .star {
    font-size: 20px;
    color: #e4e4e4;
    position: relative;
    display: inline-block;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-star .full-star {
    color: #ff5300;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-star .half-star {
    color: #ddd;
    background: linear-gradient(90deg, #ff5300 50%, #e4e4e4 50%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-star .empty-star {
    color: #e4e4e4;
}

.vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-count a {
    color: #005cb2;
}

.vendor-detail .contents-wrapper .contents-header .section-links-pc .section-link-inner {
    display: flex;
}

.vendor-detail .contents-wrapper .contents-header .section-links-pc .section-link {
    font-size: 0.875rem;
}

.vendor-detail .contents-wrapper .contents-header .section-links-pc .section-link.active {
    color: #005cb2;
    text-decoration: none;
}

/* 基本情報 */
#vendor-info-section {
    padding: 30px 0;
}

#vendor-info-section .vendor-service-type {
    margin-bottom: 10px;
}

#vendor-info-section .vendor-services,
#vendor-info-section .vendor-service-type {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

#vendor-info-section .vendor-service-box {
    flex: 1 1 calc(16.6667% - 10px);
    max-width: calc(16.6667% - 10px);
    background-color: #e4e4e4;
    color: #bbb7b7;
    text-align: center;
    border-radius: 5px;
    padding: 5px;
    font-size: 1rem;
    font-weight: bold;
}

#vendor-info-section .vendor-service-box.active {
    background-color: #005cb2;
    color: #fff;
}

#vendor-info-section .vendor-service-box.service-type {
    background-color: #ff5300;
    color: #fff;
}

#vendor-info-section .vendor-description {
    padding: 20px 0;
    letter-spacing: .1px;
    line-height: 1.6;
}

#vendor-info-section .vendor-description .vendor-description-title {
    color: #005cb2;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
}

#vendor-info-section .vendor-description .vendor-description-text {
    font-size: 14px;
}

#vendor-info-section .vendor-info .info-table-pc {
    width: 100%;
    border-collapse: collapse;
    border: none;
}

#vendor-info-section .vendor-info .info-table-pc td {
    border-left: 1px solid #333;
    border-right: 1px solid #333;
    padding: 8px;
    font-size: 1rem;
}

#vendor-info-section .vendor-info .info-table-pc tr:first-child td:nth-child(-n+4) {
    border-top: 1px solid #333;
    border-bottom: 1px dashed #333;
}

#vendor-info-section .vendor-info .info-table-pc tr:nth-child(2) td:nth-child(-n+2) {
    border-bottom: 1px dashed #333;
}

#vendor-info-section .vendor-info .info-table-pc tr:nth-child(2) td:nth-child(n+3) {
    border-bottom: 1px solid #333;
}

#vendor-info-section .vendor-info .info-table-pc tr:last-child td:nth-child(-n+4) {
    border-bottom: 1px solid #333;
}

#vendor-info-section .vendor-info .info-table-pc .item-name {
    background-color: #f0f6fb;
    color: #005cb2;
    font-weight: bold;
    white-space: nowrap;
}

#vendor-info-section .vendor-info .info-table-pc .item-value {
    width: 35%;
}

#vendor-info-section .vendor-info .info-table-pc .vendor-service-area {
    text-decoration: none;
}

#vendor-info-section .vendor-info .item-value .vendor-service-area-link {
    color: var(--color_deep02);
    text-decoration: underline;
}

/* 3つの特徴、選ばれる理由、3つの強み */
#vendor-points-section .vendor-point-pc-inner {
    max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
    margin: 0 auto;
    padding-left: var(--swl-pad_container, 0);
    padding-right: var(--swl-pad_container, 0);
}

#vendor-points-section .vendor-point-feature-pc {
    background-color: #005cb2;
}

#vendor-points-section .vendor-point-feature-pc .vendor-point-title span {
    font-size: 16px;
    font-weight: normal;
}

#vendor-points-section .vendor-point-feature-pc .vendor-points-box {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

#vendor-points-section .vendor-point-feature-pc .vendor-point-card {
    background-color: #fff;
    border-radius: 5px;
    padding: 5px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

#vendor-points-section .vendor-point-feature-pc .vendor-point-card .vendor-point-card-inner {
    padding: 15px;
}

#vendor-points-section .vendor-point-feature-pc .vendor-point-card .vendor-point-img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 5px 5px 0 0;
}

#vendor-points-section .vendor-point-feature-pc .vendor-point-subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    color: #005cb2;
    border-bottom: 2px dotted #005cb2;
    padding-bottom: 10px;
    width: 100%;
}

#vendor-points-section .vendor-point-feature-pc .vendor-point-subtitle img {
    margin-right: 5px;
}

#vendor-points-section .vendor-point-feature-pc .vendor-point-text {
    margin-top: 10px;
    font-size: 14px;
    font-weight: bold;
    text-align: left;
}

#vendor-points-section .vendor-point-reasons-pc {
    background-color: #f0f6fb;
    padding: 10px 0 40px 0;
}



#vendor-points-section .vendor-point-reasons-pc .vendor-point-title {
    margin: 0 auto;
    color: #000;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

#vendor-points-section .vendor-point-reasons-pc .vendor-point-title span {
    font-size: 16px;
    font-weight: normal;
}

#vendor-points-section .vendor-point-reasons-pc .vendor-points-box {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

#vendor-points-section .vendor-point-reasons-pc .vendor-point-card {
    background-color: #fff;
    border-radius: 5px;
    padding: 5px;
    width: 100%;
    text-align: center;
}

#vendor-points-section .vendor-point-reasons-pc .vendor-point-card-inner {
    position: relative;
    border-radius: 5px;
    padding: 30px 10px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}



#vendor-points-section .vendor-point-reasons-pc .vendor-point-card .vendor-point-card-body {
    position: relative;
    padding: 15px;
    border-radius: 5px;
    background-color: #fff;
    opacity: 0.9;
    height: 100%;
}

#vendor-points-section .vendor-point-reasons-pc .vendor-point-card .vendor-point-bookmark-icon {
    position: absolute;
    top: -2.5px;
    left: 8px;
}

#vendor-points-section .vendor-point-reasons-pc .vendor-point-subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    color: #005cb2;
    border-bottom: 2px dotted #005cb2;
    padding-bottom: 10px;
    width: 100%;
}

#vendor-points-section .vendor-point-reasons-pc .vendor-point-subtitle img {
    margin-right: 5px;
}

#vendor-points-section .vendor-point-reasons-pc .vendor-point-text {
    margin-top: 10px;
    font-size: 14px;
    font-weight: bold;
    text-align: left;
}

#vendor-points-section .vendor-point-strong-pc {
    background-color: #f0f6fb;
}



#vendor-points-section .vendor-point-strong-pc .vendor-point-title {
    border: 1px solid #b8b7b7;
}

#vendor-points-section .vendor-point-strong-pc .vendor-point-title::before {
    content: '';
    position: absolute;
    bottom: -21px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 10px;
    border-style: solid;
    border-color: #b8b7b7 transparent transparent transparent;
}

#vendor-points-section .vendor-point-strong-pc .vendor-point-title span {
    font-size: 16px;
    font-weight: normal;
}

#vendor-points-section .vendor-point-strong-pc .vendor-points-box {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

#vendor-points-section .vendor-point-strong-pc .vendor-point-card {
    background-color: #fff;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border: 2px solid #005cb2;
}

#vendor-points-section .vendor-point-strong-pc .vendor-point-subtitle {
    display: flex;
    align-items: center;
    justify-content: start;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background-color: #005cb2;
    padding: 0 15px;
    width: 100%;
}

#vendor-points-section .vendor-point-strong-pc .vendor-point-subtitle .vendor-point-number {
    color: #e50012;
    font-size: 20px;
    border-right: 1px solid #fff;
    margin-right: 5px;
    padding: 10px 15px 10px 0;
}

#vendor-points-section .vendor-point-strong-pc .vendor-point-card .vendor-point-card-inner {
    padding: 15px;
}

#vendor-points-section .vendor-point-strong-pc .vendor-point-card .vendor-point-img {
    width: 100%;
    height: 160px;
    object-fit: cover;
}

#vendor-points-section .vendor-point-strong-pc .vendor-point-text {
    margin-top: 10px;
    font-size: 14px;
    font-weight: bold;
    text-align: left;
}

/* 対応サービス料金表 */
#vendor-service-price-section {
    padding-top: 30px;
}

#vendor-service-price-section .vendor-section-name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0;
    color: #005CB2;
    font-size: 20px;
    font-weight: bold;
}

#vendor-service-price-section .vendor-section-name img {
    margin-right: 10px;
}

#vendor-service-price-section .vendor-service-price-contents {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 15px;
}

#vendor-service-price-section .vendor-service-price-contents .vendor-service-price-card {
    width: 100%;
    padding: 10px;
    margin: 0;
    display: flex;
    align-items: start;
    background-color: #fff;
    border-radius: 5px;
    border: 1px solid #e4e4e4;
}

#vendor-service-price-section .vendor-service-price-contents .vendor-service-price-img {
    position: relative;
    margin-right: 20px;
}

#vendor-service-price-section .vendor-service-price-contents .vendor-service-price-img img {
    object-fit: cover;
    border-radius: 5px;
    min-width: 250px;
    min-height: 150px;
}

#vendor-service-price-section .vendor-service-price-contents .vendor-service-price-img .vendor-service-price-img-label {
    width: 120px;
    position: absolute;
    bottom: 20px;
    left: 0;
    padding: 5px 0;
    background-color: #005cb2;
    color: #fff;
    border-radius: 0 20px 20px 0;
    font-size: 14px;
    text-align: center;
}

#vendor-service-price-section .vendor-service-price-contents .vendor-service-price-items {
    display: flex;
    flex-direction: column;
    width: 100%;
}

#vendor-service-price-section .vendor-service-price-contents .vendor-service-price-items > *:nth-child(n+2) {
    border-top: 2px dotted #005cb2;
}

#vendor-service-price-section .vendor-service-price-contents .vendor-service-price-item {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
}

#vendor-service-price-section .vendor-service-price-contents .vendor-service-price-item-label {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
}

#vendor-service-price-section .vendor-service-price-contents .vendor-service-price-item-value {
    color: #e50012;
    font-size: 20px;
    font-weight: bold;
}

#vendor-service-price-section .vendor-service-price-contents .vendor-service-price-item-value span {
    font-size: 14px;
}

/* 口コミ */
#vendor-reviews-section .vendor-section-title-light-blue.strong,
#vendor-reviews-section .vendor-section-title-light-blue.reasons {
    background-color: #005cb2;
    color: #fff;
}

#vendor-reviews-section .vendor-section-title-light-blue.strong::after,
#vendor-reviews-section .vendor-section-title-light-blue.reasons::after {
    border-color: #005cb2 transparent transparent transparent;
}

#vendor-reviews-section .vendor-section-name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}

#vendor-reviews-section .vendor-section-name.strong,
#vendor-reviews-section .vendor-section-name.reasons {
    color: #005cb2;
}

#vendor-reviews-section .vendor-section-name img {
    margin-right: 10px;
}

#vendor-reviews-section .vendor-review-contents {
    margin-top: 30px;
}

#vendor-reviews-section .vendor-review-graph {
    width: 100%;
    padding: 10px 10px 0 10px;
    margin: 0;
    background-color: #fff;
    border-radius: 5px;
}

#vendor-reviews-section .vendor-review-graph-header {
    padding: 10px 0;
    display: flex;
    text-align: center;
    justify-content: center;
    gap: 10px;
    color: #005CB2;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 2px dotted #005cb2;
}

#vendor-reviews-section .vendor-review-graph-body {
    padding: 10px 0;
}

#vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row {
    display: flex;
    text-align: center;
    justify-content: center;
    gap: 15px;
    padding: 2.5px 0;
    margin-bottom: 2.5px;
    height: 25px;
}

#vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-star {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 12%;
}

#vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-star .star {
    font-size: 16px;
}

#vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-star .star.full-star {
    color: #ff5300;
}

#vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-star .star.empty-star {
    color: #e4e4e4;
}

#vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-line {
    width: 25%;
    height: 100%;
    background: #e4e4e4;
    margin-left: 5px;
    position: relative;
}

#vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-line .vendor-review-line-filled {
    height: 100%;
    background-color: #ff5300;
}

#vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-count {
    font-size: 16px;
    font-weight: bold;
    width: 6%;
    display: flex;
    justify-content: end;
}

#vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-per {
    font-size: 16px;
    font-weight: bold;
    color: #ff5300;
    width: 6%;
    display: flex;
    justify-content: end;
}

#vendor-reviews-section .vendor-review-card-box {
    padding: 0 0 10px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

#vendor-reviews-section .vendor-review-card {
    width: calc(50% - 10px);
    background-color: #fff;
    padding: 10px;
    border-radius: 5px;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-header {
    display: flex;
    justify-content: space-between;
    padding-bottom: 5px;
    border-bottom: 2px dotted #005cb2;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-header .vendor-review-card-header-left {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-header .vendor-review-card-header-left .vendor-review-item {
    font-size: 14px;
    color: #000;
    font-weight: bold;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-header .vendor-review-card-header-left .vendor-review-item .vendor-review-item-label {
    color: #005CB2;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-header .vendor-review-card-header-right {
    display: flex;
    text-align: end;
    margin-top: auto;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-header .vendor-review-card-header-right img {
    margin-right: 5px;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-header .vendor-review-card-header-right .vendor-review-date {
    font-size: 14px;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-body {
    padding-top: 5px;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-body .vendor-review-card-body-head {
    display: flex;
    justify-content: space-between;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-body .vendor-review-card-body-head {
    font-size: 14px;
    color: #005CB2;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-body .vendor-review-card-body-head .vendor-review-star {
    display: flex;
    font-size: 14px;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-body .vendor-review-card-body-head .vendor-review-star .full-star {
    color: #ff5300;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-body .vendor-review-card-body-head .vendor-review-star .empty-star {
    color: #e4e4e4;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-body .vendor-review-card-body-head .vendor-review-star-rating {
    margin-left: 5px;
    color: #ff5300;
    font-weight: bold;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-body .vendor-review-card-body-head .vendor-review-address a {
    color: #005cb2;
}

#vendor-reviews-section .vendor-review-card .vendor-review-card-body .vendor-review-text {
    padding: 10px 0;
    font-size: 16px;
}


/* 施工事例 */
#vendor-cases-section {
    padding-top: 30px;
}

#vendor-cases-section .vendor-section-name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0;
    color: #005CB2;
    font-size: 20px;
    font-weight: bold;
}

#vendor-cases-section .vendor-section-name img {
    margin-right: 10px;
}

#vendor-cases-section .vendor-case-card-box {
    padding: 0 0 20px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

#vendor-cases-section .vendor-case-card {
    height: 300px;
    width: calc(50% - 10px);
    background-color: #f0f6fb;
    padding: 10px 10px 20px 10px;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-header {
    display: flex;
    justify-content: start;
    gap: 10px;
    padding-bottom: 10px;
    border-bottom: 2px dotted #005cb2;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-header .vendor-case-img img {
    object-fit: cover;
    border-radius: 5px;
    height: 100%;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-header .vendor-case-img img {
    object-fit: cover;
    border-radius: 5px;
    height: 100%;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-header .vendor-case-items {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-header .vendor-case-item {
    font-size: 14px;
    color: #000;
    font-weight: bold;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-header .vendor-case-item .vendor-case-item-label {
    color: #005CB2;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-header .vendor-case-item.vendor-case-item-price {
    font-size: 20px;
    color: #e50012;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-header .vendor-case-item.vendor-case-item-price span {
    font-size: 14px;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 10px;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-body .vendor-case-text {
    padding-bottom: 10px;
    font-size: 14px;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-body .vendor-case-card-body-foot {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: #005CB2;
    margin-top: auto;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-body .vendor-case-card-body-foot .vendor-case-address a {
    color: #005CB2;
}

#vendor-cases-section .vendor-case-card .vendor-case-card-body .vendor-case-card-body-foot .vendor-case-date {
    display: flex;
    text-align: end;
    margin-top: auto;
    color: #333;
    gap: 5px;
}

/* よくある質問 */
#vendor-faq-section {
    margin-top: 20px;
}

#vendor-faq-section .vendor-section-title-white {
    color: #005CB2;
}

#vendor-faq-section .vendor-section-title-white.strong,
#vendor-faq-section .vendor-section-title-white.reasons {
    background-color: #005cb2;
    color: #fff;
}

#vendor-faq-section .vendor-section-title-white.strong::after,
#vendor-faq-section .vendor-section-title-white.reasons::after {
    border-color: #005cb2 transparent transparent transparent;
}

#vendor-faq-section .vendor-section-name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}

#vendor-faq-section .vendor-section-name.strong,
#vendor-faq-section .vendor-section-name.reasons {
    color: #005cb2;
}

#vendor-faq-section .vendor-section-name img {
    margin-right: 10px;
}

#vendor-faq-section .vendor-faq-contents {
    padding: 30px 0;
}

#vendor-faq-section .vendor-faq-wrapper {
    border: 2px solid #005CB2;
    border-radius: 5px;
    background-color: #fff;
    margin-bottom: 15px;
}

#vendor-faq-section .vendor-faq-content-title {
    font-weight: bold;
}

#vendor-faq-section .vendor-faq-content-q:after {
    content: "";
    position: absolute;
    right: 25px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: inline-block;
    vertical-align: middle;
    color: #005CB2;
    line-height: 1;
    width: .7em;
    height: .7em;
    border: 0.15em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
}

#vendor-faq-section .vendor-faq-content-q.active:after {
    transform: translateY(155%) rotate(315deg);
    top: -1.9em;
}

#vendor-faq-section .vendor-faq-content-q {
    position: relative;
    align-items: center;
    font-size: 16px;
    background: none;
    font-weight: bold;
    color: #005CB2;
    padding: 15px 30px 15px 15px;
    line-height: 1.5em;
}

#vendor-faq-section .vendor-faq-content-a {
    display: none;
    background: none;
    border: none;
    line-height: 1.8em;
    font-size: 14px;
    padding: 0 20px 15px 15px;
}

/* メッセージ */
#vendor-message-section {
    padding-top: 30px;
}

#vendor-message-section .vendor-section-name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0;
    color: #005CB2;
    font-size: 20px;
    font-weight: bold;
}

#vendor-message-section .vendor-section-name img {
    margin-right: 10px;
}

#vendor-message-section .vendor-message-box {
    padding: 15px;
    border: 1px solid #005cb2;
    border-radius: 5px;
}

#vendor-message-section .vendor-message-box .vendor-message-header {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 20px;
    border-bottom: 2px dotted #005cb2;
    padding-bottom: 15px;
}

#vendor-message-section .vendor-message-box .vendor-message-header-text {
    font-size: 16px;
    font-weight: bold;
}

#vendor-message-section .vendor-message-box .vendor-message-body {
    padding-top: 15px;
}

#vendor-message-section .vendor-message-box .vendor-message-body .vendor-message-text {
    font-size: 16px;
}

#vendor-message-section .kagi110-message-box {
    position: relative;
    padding: 20px 15px;
    margin-top: 20px;
    background-color: #005cb2;
    display: flex;
    text-align: start;
    gap: 20px;
    border-radius: 5px;
}

#vendor-message-section .kagi110-message-box::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 10px;
    border-style: solid;
    border-color: transparent transparent #005cb2 transparent;
}

#vendor-message-section .kagi110-message-box .kagi110-message-left {
    padding: 10px;
    color: #005cb2;
    background-color: #fff;
    text-align: center;
    font-weight: bold;
}

#vendor-message-section .kagi110-message-box .kagi110-message-left .kagi110-icon-wrapper {
    display: flex;
    align-items: center;
}

#vendor-message-section .kagi110-message-box .kagi110-message-left .kagi110-icon-wrapper span {
    font-size: 14px;
    color: #333;
    font-weight: normal;
}

#vendor-message-section .kagi110-message-box .kagi110-message-right .kagi110-message-text {
    color: #fff;
    font-size: 16px;
}

/* 対応エリア */
#vendor-service-area-section {
    margin: 30px 0;
}

#vendor-service-area-section .vendor-service-area-bg {
    background-color: #f0f6fb;
    padding: 20px;
}

#vendor-service-area-section .vendor-section-title-wrapper .vendor-section-title-light-blue {
    color: #fff;
}

#vendor-service-area-section .vendor-section-name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 10px;
    color: #005cb2;
    font-size: 20px;
    font-weight: bold;
}

#vendor-service-area-section .vendor-section-name img {
    margin-right: 10px;
}

#vendor-service-area-section .vendor-service-area-contents {
    border-top: 2px dotted #005cb2;
    padding: 15px 0;
}

#vendor-service-area-section .vendor-service-area-contents .vendor-service-area-row {
    margin-bottom: 10px;
}

#vendor-service-area-section .vendor-service-area-contents .vendor-service-area-prefecture {
    font-weight: bold;
}

/* 予想到着時間・アクセス */
#vendor-estimated-arrival-time-section {
    margin-top: 30px;
}

#vendor-estimated-arrival-time-section,
#vendor-access-info-section {
    margin-bottom: 30px;
}

#vendor-estimated-arrival-time-section .vendor-section-name,
#vendor-access-info-section .vendor-section-name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0;
    color: #005CB2;
    font-size: 20px;
    font-weight: bold;
}

#vendor-estimated-arrival-time-section .vendor-section-name img,
#vendor-access-info-section .vendor-section-name img {
    margin-right: 10px;
}

#vendor-estimated-arrival-time-section .vendor-field-content,
#vendor-access-info-section .vendor-field-content {
    padding: 10px 0;
}


.vendor_service_select13.active,
.vendor_service_select14.active {
    background-color: #2c93fd !important;
}

.vendor-service-note {
    font-size: 0.9em;
    color: #666;
    margin-top: 0.5em;
}

#vendor-info-section .vendor-info .info-table-pc td.item-value.supporter {
    font-size: 0.9rem;
    position: relative;
}

#vendor_partners {
    margin: 2rem auto;
    width: 96%;
}

#vendor_partners .maker-description h2 {
    font-size: 1.5rem;
    color: #2c2cb6;
}

#vendor_partners .maker-description h3 {
    font-size: 1.2rem;
    margin-left: 0.5rem;
    color: #2c2cb6;
}

#vendor_partners .maker-description p {
    margin-left: 1rem;
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1rem;
}

#vendor_partners .maker-description .product_caption {
    display: block;
    margin-left: 1rem;
    font-size: 0.8rem;
    font-weight: bold;
    margin-top: -1rem;
    margin-bottom: 1rem;
}

button#jumpToSupporter:active {
    background-color: #0056b3;
}

#vendor_partners {
}

#vendor_partners h2 {
    color: #0056b3;
    font-weight: bold;
    font-size: 1.5rem;
}

#vendor_partners .intro-content {
    padding-left: 2em;
    padding-right: 2em;
    margin-bottom: 1em;
}

#vendor_partners .distributor-info {
    padding: 1em;
    background-color: #f9f9f9;
    margin-bottom: 1em;
}

#vendor_partners .distributor-info h3 {
    color: #0056b3;
    font-weight: bold;
    font-size: 1.5em;
}

#vendor_partners　.intro-content .wp-block-heading {
    font-size: 1.5rem;
}

#vendor_partners .distributor-info .distributor-content {
    padding-left: 1em;
    padding-right: 1em;
}

ul.wp-block-list {
    list-style: disc;
    margin-left: 1rem;
}

.distributor-content p {
    line-height: 2rem;
}


/* ============================================================
      スタッフ紹介セクション全体
    ============================================================ */
#vendor_staff_prof {
    margin-bottom: 2rem;
}

#vendor_staff_prof .section-title-bg-blue {
    text-align: center;
    background-color: #005cb2;
    padding: 5px 10px;
}

#vendor_staff_prof .section-title {
    display: inline-block;
    position: relative;
    min-width: 300px;
    width: fit-content;
    padding: 5px 20px;
    margin: 0 auto;
    border-radius: 5px;
    text-align: center;
    font-size: 20px !important;
    font-weight: bold;
    background-color: #005cb2;
}

#vendor_staff_prof .section-title::after {
    content: "";
    position: absolute;
    bottom: -19px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 10px;
    border-style: solid;
}


#vendor_staff_prof .section-title-light-blue{border-color: #005cb2;color:white;}
#vendor_staff_prof .section-title-light-blue::after {
    border-color: #005cb2 transparent transparent transparent;
}


@media (max-width: 959px) {
    #vendor_staff_prof .section-name {
        margin-top:4vw;

        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 20px;
        font-weight: bold;
    }

    #vendor_staff_prof .section-title-light-blue {
        background-color: #86C2FB;
        color: #fff;
        min-width: 100%;
        width: 100%;
        font-size: 4.5vw;
    }
    #vendor_staff_prof .section-title-light-blue::after {
        border-color: #86C2FB transparent transparent transparent;
    }

    #vendor_staff_prof .vendor-section-name img{margin-right:10px;}
}

@media (min-width: 960px) {
    #vendor_staff_prof .section-title {
        top: -20px;
    }
    #vendor_staff_prof .section-name {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 0 20px 0;
        color: #005CB2;
        font-size: 20px;
        font-weight: bold;
    }
}

/* ============================================================
*
* スタッフスライダー全体
*
============================================================ */
.section_staff_prof_wrapper {
    width: 100%;
    margin-top: 1rem;
    overflow: hidden; /* Swiperのチラ見え対策 */
}

/* スタッフカード */
.staff_prof_card {
    background-color: #f0f6fb;
    border-radius: 8px;
    padding: 1rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}

/* Swiper スライド（共通） */
#card_swiper .swiper-slide {
    width: 100% !important;
    flex-shrink: 0;
    box-sizing: border-box;
}

/* Swiper ページネーション */
.swiper .swiper-pagination {
    margin-top: 8px;
    bottom: 5px !important;
}

/* Swiper 矢印（初期非表示） */
.swiper-button-prev,
.swiper-button-next {
    display: none;
    color: #005cb2;
    width: 30px;
    height: 30px;
    transform: scale(1.3);
}

/* ============================================================
=====  モバイル（〜767px）============ */

@media screen and (max-width: 767px) {
    .section_staff_prof_wrapper {
        padding: 0;
    }

    #card_swiper .swiper-slide {
        width: 100% !important;
    }

    .swiper-button-prev,
    .swiper-button-next {
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        width: 30px;
        height: 30px;
        color: #005cb2;
    }
    .swiper-button-prev {
        left: 10px;
    }
    .swiper-button-next {
        right: 10px;
    }

    .staff_imgs,
    .staff_imgs .swiper-wrapper,
    .staff_imgs .swiper-slide {
        width: 100%;
        height: auto;
    }
    .staff_imgs img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }
    .section_staff_prof_wrapper.staff-count-1 .swiper-button-prev,
    .section_staff_prof_wrapper.staff-count-1 .swiper-button-next {
        display: none;
    }
}

/* ============================================================
  Glide用スタイル（モバイル専用）
============================================================ */

@media screen and (max-width: 767px) {
    .section_staff_prof_wrapper {
        position: relative; /* 親要素にしておく */
    }
    #card_glide .glide__slide {
        width: 100%;
        box-sizing: border-box;
    }

    .glide__arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: none;
        border: none;
        font-size: 1.5rem;
        padding: 0;
        z-index: 10;
        color: #005cb2;
        cursor: pointer;
        width: 32px;
        height: 32px;
    }

    .glide__arrow--left {
        left: 5px;
    }

    .glide__arrow--right {
        position:absolute;
        right:0;
    }

    #card_glide .glide__slides {
        padding-inline: 0;
        list-style: none;
    }

    .glide__arrow {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.7);
        color: #005cb2;
        font-size: 20px;
        font-weight: bold;
        display: flex;
        justify-content: center;
        align-items: center;
        border: none;
        cursor: pointer;
        box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
        transition: background 0.2s ease;
    }

    .glide__arrow:hover {
        background: rgba(255, 255, 255, 0.9);
    }

    .glide__arrow--disabled{
        display:none;
        pointer-events: none;
        opacity: 0.3;
    }
}


/* ============================================================
=======  PC（768px以上）======== */

@media screen and (min-width: 768px) {
    #card_swiper .swiper-wrapper {
        display: flex;
        justify-content: space-between; /* ← これを強制的にリセット */
    }
    .section_staff_prof_wrapper.staff-count-1 .swiper-wrapper,
    .section_staff_prof_wrapper.staff-count-2 .swiper-wrapper {
        justify-content: center !important;
    }
    .section_staff_prof_wrapper.staff-count-2 .swiper-wrapper {
        gap:20px;
    }
    .section_staff_prof_wrapper.staff-count-3 .swiper-wrapper {
        justify-content: space-around;
    }
    .section_staff_prof_wrapper.staff-count-4 .swiper-wrapper,
    .section_staff_prof_wrapper.staff-count-5 .swiper-wrapper,
    .section_staff_prof_wrapper.staff-count-6 .swiper-wrapper {
        justify-content: space-between;
    }
    .section_staff_prof_wrapper.staff-count-1 .staff_prof_card {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .section_staff_prof_wrapper.staff-count-2 .staff_prof_card {
        flex: 0 0 calc(40% - 1rem);
    }
    .section_staff_prof_wrapper.staff-count-3 .staff_prof_card {
        flex: 0 0 calc(30% - 1rem);
    }
    .section_staff_prof_wrapper.staff-count-4 .staff_prof_card,
    .section_staff_prof_wrapper.staff-count-5 .staff_prof_card,
    .section_staff_prof_wrapper.staff-count-6 .staff_prof_card {
        flex: 0 0 calc(25% - 1rem);
    }
    .section_staff_prof_wrapper.staff-count-2 .inner-wrapper,
    .section_staff_prof_wrapper.staff-count-1 .inner-wrapper{
        justify-content: start !important;
        gap:0;
    }

    .section_staff_prof_wrapper .inner-wrapper{
        gap:0;
    }

    #vendor_staff_prof .section-title-wrapper .section-name img { margin-right:10px; width:20px; height:20px;}
}

/* ============================================================
========  カード内テキスト ======== */
.staff_name {
    font-weight: bold;
}
.staff_title {
    padding: 3px 10px;
    display: inline-block;
    background-color: #005cb2;
    color: white;
    border-radius: 4px;
    margin-bottom: 0.5rem;
}
.staff_comment {
    max-height: 160px;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.staff_comment::-webkit-scrollbar {
    display: none;
}



/* ================================================
*
*                総合評価＆円グラフ
*
================================================= */
.vendor-review-summary {

}

.overall-rating {
    background-color: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 0.5rem;
}

.overall-rating-title {
    padding: 10px 0;
    display: flex;
    text-align: center;
    justify-content: center;
    gap: 10px;
    color: #005CB2;
    font-size: 1.3rem;
    font-weight: bold;
    border-bottom: 2px dotted #005cb2;
}

.average-score {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top:1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    width: 100%;
}

.average-score-title {
    font-size: 1.6rem;
    font-weight: bold;
}

.review-star .star-rating {
    font-size: 1.5rem;
    color: #ff5300;
}

.average-score .star-rating {
    font-size:2rem;
}

.score-number {
    font-size: 2rem;
    font-weight: bold;
    color: #ff5300;
}

.score-stars {
    color: #ff5300;
    font-size: 1.4rem;
    letter-spacing: 0.2em;
}

.chart-container {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.chart-container canvas {
    width: 200px;
    height: 200px;
}

.chart-legend {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.9rem;
    align-self: center;
}

.chart-legend li {
    display: flex;
    align-items: center;
    gap: 0.4em;
    margin-bottom: 0.4rem;
    font-size: 1.1rem;
}

.legend-dot {
    font-size: 1rem;
}

.legend-star {
    font-family: sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    color: #ff5300;
}

/* === サブ評価（満足度） === */
.sub-ratings {
    display: flex;
    flex-direction: column; /* モバイルでは縦積み */
    gap: 1rem;
    background-color: #f8f9fa;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 1.5rem;
    padding-left:3.4rem;
}
@media screen and (max-width: 767px) {
    .sub-ratings dl {
        display: grid;
        grid-template-columns: auto 1fr;
        row-gap: 0.5em; /* 行の間のスペース（任意） */
        column-gap: 1em; /* dtとddの間のスペース */
        align-items: center;
    }

    .sub-ratings dt {
        text-align: right;
        font-weight: bold;
    }

    .sub-ratings dd {
        margin: 0;
    }
}

@media (min-width: 768px) {
    .sub-ratings dl {
        display: flex;
        flex-wrap: wrap;
        gap: 1em; /* 要素間の隙間 */
        align-items: center;
    }

    .sub-ratings dt,
    .sub-ratings dd {
        margin: 0;
    }

    .sub-ratings dt {
        font-weight: bold;
        text-align: right;
    }

}

.sub-rating {
    font-size: 0.95rem;
    color: #ff5300;
    gap: 0.5rem;
}

/* PCでは横並びに変更 */
@media (min-width: 768px) {
    .sub-ratings {
        flex-direction: row;
        justify-content: space-between;
        margin-bottom:1.5rem;

    }

    .sub-rating {
        flex: 1; /* 均等に幅を持たせる */
        font-weight:bold;
        font-size:1rem;
    }
}

.chart_description{
    text-align:center;
    font-size:0.8rem;
    color:#666;
    margin-top:1rem;
}



/* === ピックアップ口コミ === */
.vendor-pickup-review {
    background-color: #f8f9fa;
    border: 1px solid #ddd;
    padding-bottom: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2rem;
}
.vendor-pickup-review .vendor-case-card{
    padding:1rem 1.5rem;
}

.vendor-review-card-body-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.vendor-review-address {
    order: 2;
}

.vendor-review-star {
    order: 1;
}

.pickup-title {
    padding:0.5rem;
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 1rem;
    background-color:#005cb2;
    color:white;
    text-align:center;
    border-radius:8px 8px 0 0;
}

.sub-rating .star-rating {
    display: inline-block;
    font-size: 1.3rem;
    vertical-align: middle;
    margin: 0 0.3rem;
}

/* === 星表現（基本） === */
.star-rating .star {
    color: #ff5300;
}

.star-rating .half-star{
    color: #ddd;
    background: linear-gradient(90deg, #ff5300 50%, #e4e4e4 50%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.star-rating .empty-star {
    color: #e4e4e4;
}

.vendor-review-star {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.vendor-review-star .star-rating {
    font-size: 1.2rem;
}

.vendor-review-star-rating {
    margin-left: 5px;
    color: #ff5300;
    font-weight: bold;
}


.vendor-review-card-header {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-bottom: 0.2rem;
    border-bottom: 2px dotted #005cb2;
}


.vendor-review-card-header-left {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;

}

.vendor-review-item {
    white-space: nowrap;
    font-weight:bold;
}

.vendor-review-card-header-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: #666;
}

.vendor-review-text{margin-top:1.2rem;}
@media (max-width: 959px){
    .vendor-review-text{font-size:4vw;}
}


.vendor-review-item-label {
    color: #005CB2;
}

.vendor-review-address a {
    color: #005cb2;
}

.vendor-review-date img {
    width: 14px;
    height: 14px;
    vertical-align: middle;
}

/* === レスポンシブ（PC以上） === */
@media (min-width: 768px) {
    .vendor-review-summary {
        flex-direction: row;
        justify-content: space-around;
        align-items: flex-start;
    }

    .sub-ratings {
        text-align: left;
        align-items: flex-start;
        padding-left:3.5rem;
    }

    dd.sub-ratings{
        width:250px;
    }

    .chart-legend {
        text-align: left;
    }

    .vendor-review-card-header {
        flex-wrap: nowrap;
        padding-right:1rem;
        padding-left:1rem;
    }
    .vendor-review-card-body{
        padding-right:1rem;
        padding-left:1rem;
    }
}

/* PC */
@media (min-width: 960px) {
    #vendor-reviews-section {
        position: relative;
        left: calc(50% - 50vw + var(--swl-scrollbar_width, 0px) / 2);
        width: calc(100vw - var(--swl-scrollbar_width, 0px));
        max-width: 100vw !important;
    }

    #vendor-reviews-section.strong {
        background-color: #f0f6fb;
    }

    #vendor-reviews-section .vendor-reviews-bg {
        padding: 30px 0;
    }

    #vendor-reviews-section .vendor-reviews-bg.feature {
        background-color: #005CB2;
    }

    #vendor-reviews-section .vendor-reviews-bg.reasons {
        background-color: #f0f6fb;
    }



    #vendor-reviews-section .vendor-review-inner {
        max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
        margin: 0 auto;
        padding-left: var(--swl-pad_container, 0);
        padding-right: var(--swl-pad_container, 0);
    }

    #vendor-reviews-section .vendor-review-graph-body {
        margin-top: 10px;
    }



    #vendor-cases-section {
        padding-bottom: 10px;
    }

    #vendor-faq-section {
        position: relative;
        left: calc(50% - 50vw + var(--swl-scrollbar_width, 0px) / 2);
        width: calc(100vw - var(--swl-scrollbar_width, 0px));
        max-width: 100vw !important;
    }

    #vendor-faq-section.strong {
        background-color: #f0f6fb;
    }

    #vendor-faq-section .vendor-faq-bg {
        padding: 30px 0;
    }

    #vendor-faq-section .vendor-faq-bg.feature {
        background-color: #005CB2;
    }

    #vendor-faq-section .vendor-faq-bg.reasons {
        background-color: #f0f6fb;
    }



    #vendor-faq-section .vendor-faq-inner {
        max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
        margin: 0 auto;
        padding-left: var(--swl-pad_container, 0);
        padding-right: var(--swl-pad_container, 0);
    }

    #vendor-message-section .kagi110-message-box {
        justify-content: start;
    }

    #vendor-message-section .kagi110-message-box .kagi110-message-left {
        min-width: 175px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
}

/* SP */
@media (max-width: 959px) {
    .vendor-section-title-white,
    .vendor-section-title-blue,
    .vendor-section-title-light-blue {
        min-width: 100%;
        width: 100%;
        font-size: 4.5vw;
    }

    .vendor-section-title-light-blue {
        color: #fff;
    }

    .vendor-section-title-blue-sp {
        background-color: #005cb2;
        padding: 3vw;
    }

    .vendor-section-title-blue-sp .vendor-section-title-blue {
        background-color: #86c2fb;
        color: #fff;
    }

    .vendor-section-title-blue-sp .vendor-section-title-blue::after {
        border-color: #86c2fb transparent transparent transparent;
    }

    .vendor-cta .vendor-cta-sp {
        position: relative;
        margin: 4vw 0;
        max-width: 100%;
    }

    .vendor-cta .vendor-cta-sp .vendor-cta-button {
        color: #fff;
        text-decoration: none;
    }

    .vendor-cta .vendor-cta-sp .vendor-cta-text {
        position: absolute;
        top: 1.5vw;
        left: 27vw;
        font-size: 3.5vw;
    }

    .vendor-cta .vendor-cta-sp .vendor-cta-phone-number {
        position: absolute;
        top: 6vw;
        left: 19vw;
        font-family: sans-self, arial;
        font-size: 9vw;
        font-weight: bold;
        letter-spacing: 1.2px;
    }

    .vendor-cta .vendor-cta-sp .vendor-cta-note {
        font-size: 2.2vw;
    }

    .toggle {
        margin-bottom: 20px;
    }

    .toggle .toggle-btn {
        width: 100%;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner {
        flex-direction: column;
        padding-bottom: 3vw;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .vendor-title-wrapper.affiliated {
        border-bottom: 2px;
        border-bottom-style: dotted;
        border-bottom-color: #005cb2;
        padding-bottom: 3vw;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .vendor-title-img {
        margin-right: 15px;
        width: 30px;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .vendor-title-name {
        flex-direction: column;
        align-items: start;
        font-size: 3.5vw;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .vendor-title-name span {
        font-size: 1.7vw;
    }

    .vendor-detail .contents-wrapper .contents-header .section-links-sp .section-link-inner {
        display: flex;
    }

    .vendor-detail .contents-wrapper .contents-header .section-links-sp .section-link-inner li {
        background-color: #005cb2;
        padding: 5px 2px;
    }

    .vendor-detail .contents-wrapper .contents-header .section-links-sp .section-link {
        display: flex;
        flex-direction: column;
        width: 10.4vw;
        font-size: 0.75rem;
        font-weight: bold;
        color: #fff;
        text-decoration: none;
        text-align: center;
        line-height: 1.2;
        letter-spacing: -0.05em;
    }

    .vendor-detail .contents-wrapper .contents-header .section-links-sp .section-link img {
        margin: 2px auto 0;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .total-review {
        padding-top: 3vw;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-icon img {
        width: 18px;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-star .star {
        font-size: 4vw;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-title {
        font-size: 3.5vw;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-stars {
        position: absolute;
        right: 4vw;
    }

    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-star,
    .vendor-detail .contents-wrapper .contents-header .contents-header-inner .review-star-rating {
        font-size: 4vw;
    }

    #vendor-info-section {
        padding: 1vw 0;
    }

    #vendor-info-section .vendor-service-type {
        margin-bottom: 7px;
    }

    #vendor-info-section .vendor-services,
    #vendor-info-section .vendor-service-type {
        gap: 7px;
    }

    #vendor-info-section .vendor-service-box {
        flex: 1 1 calc(25% - 7px);
        max-width: calc(25% - 7px);
        line-height: 1.2;
        font-size: 2.3vw;
    }

    #vendor-info-section .vendor-description {
        padding: 4vw 0;
        letter-spacing: initial;
    }

    #vendor-info-section .vendor-description .vendor-description-title {
        color: #005cb2;
        font-size: 4.5vw;
        font-weight: bold;
        margin-bottom: 2vw;
        line-height: 1.6;
    }

    #vendor-info-section .vendor-description .vendor-description-text {
        font-size: 3.5vw;
        line-height: 1.8;
    }

    #vendor-info-section .vendor-info .info-table-sp {
        width: 100%;
        border-collapse: collapse;
        border: 1px solid #333;
    }

    #vendor-info-section .vendor-info .info-table-sp td {
        padding: 8px;
        font-size: 3vw;
        border: 1px solid #333;
    }

    #vendor-info-section .vendor-info .info-table-sp .item-name {
        background-color: #f0f6fb;
        color: #005cb2;
        font-weight: bold;
        white-space: nowrap;
        width:15%;
    }

    #vendor-points-section .vendor-point-feature-sp {
        margin-bottom: 4vw;
    }



    #vendor-points-section .vendor-point-feature-sp .vendor-point-title span {
        font-size: 3.5vw;
        font-weight: normal;
    }

    #vendor-points-section .vendor-point-feature-sp .vendor-points-box {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        gap: 15px;
        margin-top: 15px;
    }

    #vendor-points-section .vendor-point-feature-sp .vendor-point-card {
        width: 100%;
        background-color: #f0f6fb;
        border-radius: 5px;
        padding-bottom: 10px;
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    #vendor-points-section .vendor-point-feature-sp .vendor-point-card .vendor-point-card-inner {
        margin-top: 10px;
        padding: 0 10px;
    }

    #vendor-points-section .vendor-point-feature-sp .vendor-point-card .vendor-point-img {
        width: 100%;
        height: 140px;
        object-fit: cover;
        border-radius: 5px 5px 0 0;
    }

    #vendor-points-section .vendor-point-feature-sp .vendor-point-subtitle {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 3.7vw;
        font-weight: bold;
        color: #005cb2;
        border-bottom: 2px dotted #005cb2;
        padding-bottom: 10px;
        width: 100%;
    }

    #vendor-points-section .vendor-point-feature-sp .vendor-point-subtitle img {
        margin-right: 5px;
    }

    #vendor-points-section .vendor-point-feature-sp .vendor-point-text {
        margin-top: 10px;
        font-size: 3.5vw;
        font-weight: bold;
        text-align: left;
    }

    #vendor-points-section .vendor-point-reasons-sp {
        margin-bottom: 4vw;
    }

    #vendor-points-section .vendor-point-reasons-sp .vendor-point-title {
        margin: 0 auto;
        color: #000;
        text-align: center;
        font-size: 4vw;
        font-weight: bold;
    }

    #vendor-points-section .vendor-point-reasons-sp .vendor-point-title span {
        font-size: 3.5vw;
        font-weight: normal;
    }

    #vendor-points-section .vendor-point-reasons-sp .vendor-points-box {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        gap: 15px;
    }

    #vendor-points-section .vendor-point-reasons-sp .vendor-point-card {
        background-color: #fff;
        border-radius: 5px;
        padding: 5px;
        width: 100%;
        text-align: center;
    }

    #vendor-points-section .vendor-point-reasons-sp .vendor-point-card-inner {
        position: relative;
        border-radius: 5px;
        padding: 30px 10px;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }



    #vendor-points-section .vendor-point-reasons-sp .vendor-point-card .vendor-point-card-body {
        position: relative;
        padding: 15px;
        border-radius: 5px;
        background-color: #fff;
        opacity: 0.9;
        height: 100%;
    }

    #vendor-points-section .vendor-point-reasons-sp .vendor-point-card .vendor-point-bookmark-icon {
        position: absolute;
        top: 0;
        left: 8px;
    }

    #vendor-points-section .vendor-point-reasons-sp .vendor-point-subtitle {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 4vw;
        font-weight: bold;
        color: #005cb2;
        border-bottom: 2px dotted #005cb2;
        padding-bottom: 10px;
        width: 100%;
    }

    #vendor-points-section .vendor-point-reasons-sp .vendor-point-subtitle img {
        margin-right: 5px;
    }

    #vendor-points-section .vendor-point-reasons-sp .vendor-point-text {
        margin-top: 10px;
        font-size: 3.5vw;
        font-weight: bold;
        text-align: left;
    }

    #vendor-points-section .vendor-point-strong-sp {
        margin-bottom: 4vw;
    }

    #vendor-points-section .vendor-point-strong-sp .vendor-point-title {
        border: 1px solid #b8b7b7;
        margin-bottom: 4vw;
    }

    #vendor-points-section .vendor-point-strong-sp .vendor-point-title::before {
        content: '';
        position: absolute;
        bottom: -21px;
        left: 50%;
        transform: translateX(-50%);
        border-width: 10px;
        border-style: solid;
        border-color: #b8b7b7 transparent transparent transparent;
    }

    #vendor-points-section .vendor-point-strong-sp .vendor-point-title span {
        font-size: 3.5vw;
        font-weight: normal;
    }

    #vendor-points-section .vendor-point-strong-sp .vendor-points-box {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        gap: 15px;
        margin-top: -6px;
    }

    #vendor-points-section .vendor-point-strong-sp .vendor-point-card {
        background-color: #fff;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        border: 2px solid #005cb2;
    }

    #vendor-points-section .vendor-point-strong-sp .vendor-point-subtitle {
        display: flex;
        align-items: center;
        justify-content: start;
        font-size: 3.7vw;
        font-weight: bold;
        color: #fff;
        background-color: #005cb2;
        padding: 0 15px;
        width: 100%;
    }

    #vendor-points-section .vendor-point-strong-sp .vendor-point-subtitle .vendor-point-number {
        color: #e50012;
        font-size: 4vw;
        border-right: 1px solid #fff;
        margin-right: 5px;
        padding: 10px 15px 10px 0;
    }

    #vendor-points-section .vendor-point-strong-sp .vendor-point-card .vendor-point-card-inner {
        padding: 15px;
    }

    #vendor-points-section .vendor-point-strong-sp .vendor-point-card .vendor-point-img {
        width: 100%;
        height: 140px;
        object-fit: cover;
    }

    #vendor-points-section .vendor-point-strong-sp .vendor-point-text {
        margin-top: 10px;
        font-size: 3.5vw;
        font-weight: bold;
        text-align: left;
    }

    #vendor-service-price-section {
        padding-top: 2vw;
    }

    #vendor-service-price-section .vendor-section-name {
        color: #fff;
        font-size: 4vw;
        margin: 4vw 0 0 0;
    }

    #vendor-service-price-section .vendor-service-price-contents {
        margin-top: 4vw;
    }

    #vendor-service-price-section .vendor-service-price-contents .vendor-service-price-card {
        flex-direction: column;
        padding: 15px;
    }

    #vendor-service-price-section .vendor-service-price-card .vendor-service-price-img {
        width: 100%;
        margin: 0;
    }

    #vendor-service-price-section .vendor-service-price-card .vendor-service-price-img img {
        width: 100%;
        height: 150px;
    }

    #vendor-service-price-section .vendor-service-price-contents .vendor-service-price-item {
        display: flex;
        justify-content: space-between;
        padding: 5px 0;
    }

    #vendor-service-price-section .vendor-service-price-contents .vendor-service-price-item-label {
        font-size: 4.5vw;
        max-width: 45%;
    }

    #vendor-service-price-section .vendor-service-price-contents .vendor-service-price-item-value {
        font-size: 4.5vw;
    }

    #vendor-service-price-section .vendor-service-price-contents .vendor-service-price-item-value span {
        font-size: 3.5vw;
    }

    #vendor-reviews-section .vendor-review-inner {
        padding-bottom: 10px;
    }

    #vendor-reviews-section .vendor-section-title-light-blue {
        background-color: #86c2fb !important;
    }

    #vendor-reviews-section .vendor-section-title-light-blue::after {
        border-color: #86c2fb transparent transparent transparent !important;
    }

    #vendor-reviews-section .vendor-section-name.strong,
    #vendor-reviews-section .vendor-section-name.reasons {
        color: #fff;
    }

    #vendor-reviews-section .vendor-review-contents {
        margin-top: 3vw;
    }

    #vendor-reviews-section .vendor-review-graph {
        border: 1px solid #e4e4e4;
    }

    #vendor-reviews-section .vendor-review-graph-header {
        font-size: 4.5vw;
    }

    #vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row {
        padding: 5px 0;
        justify-content: start;
    }

    #vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-star {
        width: 26vw;
        letter-spacing: .1px;
    }

    #vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-star .star {
        font-size: 3.7vw;
    }

    #vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-line {
        width: 30vw;
    }

    #vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-count {
        font-size: 3.7vw;
        width: 14vw;
    }

    #vendor-reviews-section .vendor-review-graph-body .vendor-review-graph-row .vendor-review-per {
        font-size: 3.7vw;
        width: 13vw;
    }

    #vendor-reviews-section .vendor-review-card-box {
        flex-direction: column;
        padding: 0 0 10px 0;
    }

    #vendor-reviews-section .vendor-review-card {
        width: 100%;
        border: 1px solid #e4e4e4;
    }

    #vendor-reviews-section .vendor-review-card .vendor-review-card-header .vendor-review-card-header-left .vendor-review-item {
        font-size: 3.5vw;
    }

    #vendor-reviews-section .vendor-review-card .vendor-review-card-header .vendor-review-card-header-right .vendor-review-date {
        font-size: 3.5vw;
    }

    #vendor-reviews-section .vendor-review-card .vendor-review-card-body .vendor-review-card-body-head {
        font-size: 3.5vw;
    }

    #vendor-reviews-section .vendor-review-card .vendor-review-card-body .vendor-review-text {
        font-size: 4vw;
    }

    #vendor-cases-section {
        padding-top: 0;
    }

    #vendor-cases-section .vendor-section-name {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 20px;
        margin-bottom: 0;
        color: #fff;
        font-size: 20px;
        font-weight: bold;
    }

    #vendor-cases-section .vendor-case-card-box {
        flex-direction: column;
    }

    #vendor-cases-section .vendor-case-card {
        width: 100%;
        height: auto;
    }

    #vendor-cases-section .vendor-case-card .vendor-case-card-header .vendor-case-items .vendor-case-item {
        font-size: 3.5vw;
    }

    #vendor-cases-section .vendor-case-card .vendor-case-card-header .vendor-case-item.vendor-case-item-price {
        font-size: 4.5vw;
    }

    #vendor-cases-section .vendor-case-card .vendor-case-card-header .vendor-case-item.vendor-case-item-price span {
        font-size: 3.5vw;
    }

    #vendor-cases-section .vendor-case-card .vendor-case-card-body .vendor-case-text {
        font-size: 4vw;
    }

    #vendor-cases-section .vendor-case-card .vendor-case-card-body .vendor-case-card-body-foot .vendor-case-address,
    #vendor-cases-section .vendor-case-card .vendor-case-card-body .vendor-case-card-body-foot .vendor-case-date {
        font-size: 4vw;
    }

    #vendor-faq-section {
        margin-top: 0;
    }

    #vendor-faq-section .vendor-section-title-white {
        color: #fff !important;
        background-color: #86c2fb !important;
    }

    #vendor-faq-section .vendor-section-title-white::after {
        border-color: #86c2fb transparent transparent transparent !important;
    }

    #vendor-faq-section .vendor-section-name {
        color: #fff !important;
    }

    #vendor-faq-section .vendor-faq-contents {
        padding: 4vw 0;
    }

    #vendor-faq-section .vendor-faq-content-q:after {
        right: 8vw;
    }

    #vendor-faq-section .vendor-faq-content-q {
        padding: 4vw 17vw 4vw 6vw;
        font-size: 4vw;
    }

    #vendor-faq-section .vendor-faq-content-a {
        font-size: 3.5vw;
        padding: 0 8vw 4vw 6vw;
    }

    #vendor-message-section {
        padding-top: 0;
    }

    #vendor-message-section .vendor-section-name {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 20px;
        margin-bottom: 0;
        color: #fff;
        font-size: 20px;
        font-weight: bold;
    }

    #vendor-message-section .vendor-message-contents {
        margin-top: 4vw;
    }

    #vendor-message-section .vendor-message-box .vendor-message-header-text {
        font-size: 3.7vw;
    }

    #vendor-message-section .vendor-message-box .vendor-message-body .vendor-message-text {
        font-size: 3.5vw;
    }

    #vendor-message-section .kagi110-message-box {
        flex-direction: column;
        gap: 0;
    }

    #vendor-message-section .kagi110-message-box .kagi110-message-left {
        display: flex;
        font-size: 4vw;
        justify-content: center;
        margin-bottom: 3vw;
    }

    #vendor-message-section .kagi110-message-box .kagi110-message-left .kagi110-icon-wrapper img {
        width: 120px;
        margin-right: 5px;
    }

    #vendor-message-section .kagi110-message-box .kagi110-message-right .kagi110-message-text {
        font-size: 3.5vw;
    }

    #vendor-service-area-section {
        padding-top: 0;
        margin: 4vw 0;
    }

    #vendor-estimated-arrival-time-section {
        margin: 4vw 0;
    }

    #vendor-estimated-arrival-time-section,
    #vendor-access-info-section {
        margin-bottom: 4vw;
    }

    #vendor-estimated-arrival-time-section .vendor-section-name,
    #vendor-access-info-section .vendor-section-name {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 20px;
        margin-bottom: 0;
        color: #fff;
        font-size: 20px;
        font-weight: bold;
    }

    .average-score-title{
        font-size: 1.2rem;
    }
    .score-number {
        font-size: 1.4rem;
    }
    .sub-ratings{
        padding-left:3.4rem;
        margin-bottom:1.5rem
    }
    .chart-container{flex-wrap:nowrap;}
    .sub-rating{font-weight:bold;}
    .chart-legend li{
            margin-bottom: 0.2rem;
            font-size: 0.8rem;
        }
    .legend-dot {
        font-size: 1rem;
    }
    .legend-star {
        font-size: 0.8rem;
        letter-spacing: 0;
    }
    #reviewDonutChart{
        width:140px !important;
        height:140px !important;
    }
    .vendor-review-card-header-left{display:block;}
    .vendor-review-date{ margin-top:auto; }
    .vendor-review-address {
        order: 1;
    }
    .vendor-review-star {
        order: 2;
    }
    .vendor-review-address a {
     font-size:0.8rem
    }
    .vendor-pickup-review .vendor-case-card {
        padding: 10px;
    }
}

