@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.pc-mv {
    background-image: url();
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    background-color: #d4f099;
    justify-content: center;
    align-items: center;
}

.pc-mv img {
    max-width: 100%;
    height: auto;
}

.sp-mv {
    background-image: url();
    background-size: cover;
}

/* 769px以上のとき */
@media screen and (min-width: 769px) {
    .sp-only {
        display: none;
    }
}

/* 768px以下のとき */
@media screen and (max-width: 768px) {
    .pc-only {
        display: none;
    }
}

.shinagawa-service-container {
    max-width: 100%;
    overflow-x: hidden;
}

/* 対応地域セクション */
.shinagawa-area-section {
    background-color: #f5f5f5;
    padding: 60px 20px;
}

.shinagawa-area-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-area-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
    color: #333;
}

.shinagawa-area-title i {
    color: #2e7d32;
    margin-right: 10px;
}

.shinagawa-area-title span {
    color: #2e7d32;
}

.shinagawa-area-subtitle {
    background-color: #2e7d32;
    color: white;
    text-align: center;
    padding: 20px;
    font-size: 18px;
    margin-bottom: 40px;
}

.shinagawa-area-content {
    background: white;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.shinagawa-area-grid {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 22px;
    align-items: start;
    margin-bottom: 22px;
}

.shinagawa-area-label {
    background-color: #2e7d32;
    color: white;
    padding: 15px 20px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    border-radius: 4px;
}

.shinagawa-area-cities {
    line-height: 2;
    font-size: 16px;
}

.shinagawa-area-cities span {
    display: inline-block;
    margin-right: 15px;
    position: relative;
    padding-right: 15px;
}

.shinagawa-area-cities span:not(:last-child)::after {
    content: '/';
    position: absolute;
    right: 0;
    color: #999;
}

.shinagawa-area-note {
    margin-top: 22px;
    padding: 20px;
    background-color: #f9f9f9;
    font-size: 14px;
    color: #666;
}

.shinagawa-area-map {
    text-align: center;
    margin-top: 22px;
}

.shinagawa-area-map img {
    max-width: 50%;
    height: auto;
}

/* 実績セクション */
.shinagawa-achievement-section {
    background: #dbf0b9;
    padding: 80px 20px;
    text-align: center;
}

.shinagawa-achievement-title {
    font-size: 26px;
    margin-bottom: 22px;
    color: #1b5e20;
}

.shinagawa-achievement-title span {
    color: #2e7d32;
    font-size: 30px;
    font-weight: bold;
}

.shinagawa-achievement-badges {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.shinagawa-achievement-badge {
    background-color: #2e7d32;
    color: white;
    padding: 15px 22px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: bold;
}

.shinagawa-achievement-content {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.shinagawa-achievement-text h3 {
    font-size: 20px;
    margin-bottom: 20px;
    color: #1b5e20;
    text-align: left;
}

.shinagawa-achievement-text p {
    text-align: left;
    line-height: 2;
    color: #333;
    font-size: 16px;
}

.shinagawa-achievement-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* 悩みセクション */
.shinagawa-problem-section {
    padding: 80px 20px;
    background-color: #fff;
}

.shinagawa-problem-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-problem-title {
    text-align: center;
    font-size: 24px;
    color: #333;
}

.shinagawa-problem-title span {
    color: #ff8f00;
}

.shinagawa-problem-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.shinagawa-problem-item {
    background-color: #fff;
    padding: 25px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.shinagawa-problem-item i {
    color: #ff8f00;
    font-size: 24px;
    min-width: 22px;
}

.shinagawa-problem-cta {
    background-color: #2e7d32;
    color: white;
    padding: 40px;
    text-align: center;
    border-radius: 8px;
    margin-top: 40px;
}

.shinagawa-problem-cta h3 {
    font-size: 24px;
    margin-bottom: 20px;
}

.shinagawa-problem-cta p {
    font-size: 18px;
    margin-bottom: 22px;
}

.shinagawa-problem-cta-button {
    display: inline-block;
    background-color: #ff6f00;
    color: white;
    padding: 20px 60px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    transition: background-color 0.3s;
}

.shinagawa-problem-cta-button:hover {
    background-color: #e65100;
}

/* 比較セクション */
.shinagawa-comparison-section {
    padding: 80px 20px;
    background-color: #fff;
}

.shinagawa-comparison-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-comparison-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
    color: #333;
}

.shinagawa-comparison-title i {
    color: #2e7d32;
    margin-right: 10px;
}

.shinagawa-comparison-title span {
    color: #2e7d32;
}

.shinagawa-comparison-subtitle {
    background-color: #2e7d32;
    color: white;
    text-align: center;
    padding: 20px;
    font-size: 18px;
    margin-bottom: 40px;
}

.shinagawa-comparison-table-container {
    overflow-x: auto;
}

.shinagawa-comparison-table {
    width: 100%;
    border-collapse: collapse;
    background-color: white;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.shinagawa-comparison-table th,
.shinagawa-comparison-table td {
    padding: 20px;
    text-align: center;
    border: 1px solid #e0e0e0;
}

.shinagawa-comparison-header-empty {
    background-color: #f5f5f5;
}

.shinagawa-comparison-header-main {
    background-color: #2e7d32;
    color: white;
    font-size: 16px;
}

.shinagawa-comparison-header-other {
    background-color: #757575;
    color: white;
}

.shinagawa-comparison-label {
    background-color: #f5f5f5;
    font-weight: bold;
}

.shinagawa-comparison-main {
    background-color: #dbf0b9;
    color: #1b5e20;
    font-weight: bold;
}

/* お客様の声セクション */
.shinagawa-voice-section {
    background: #dbf0b9;
    padding: 80px 20px;
}

.shinagawa-voice-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-voice-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 60px;
    color: #333;
}

.shinagawa-voice-title span {
    color: #2e7d32;
}

.shinagawa-voice-item {
    background-color: white;
    border-radius: 8px;
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}

.shinagawa-voice-customer {
    display: inline-block;
    background-color: #2e7d32;
    color: white;
    padding: 8px 20px;
    border-radius: 4px;
    font-weight: bold;
    margin-bottom: 20px;
}

.shinagawa-voice-subtitle {
    font-size: 24px;
    margin-bottom: 22px;
    color: #333;
    font-weight: bold;
}

.shinagawa-voice-images {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 20px;
    align-items: center;
    margin-bottom: 22px;
}

.shinagawa-voice-image-box {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}

.shinagawa-voice-image-box img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.shinagawa-voice-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: #424242;
    color: white;
    padding: 8px 16px;
    font-weight: bold;
    border-radius: 4px;
}

.shinagawa-voice-badge-after {
    background-color: #ff8f00;
}

.shinagawa-voice-arrow {
    font-size: 48px;
    color: #2e7d32;
}

.shinagawa-voice-content {
    display: flex;
    gap: 22px;
    align-items: flex-start;
}

.shinagawa-voice-avatar {
    min-width: 100px;
}

.shinagawa-voice-avatar img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
}

.shinagawa-voice-text {
    line-height: 2;
    color: #555;
}

.shinagawa-voice-highlight {
    color: #2e7d32;
    font-weight: bold;
}

/* サービス紹介セクション */
.shinagawa-service-intro-section {
    background-color: #f5f5f5;
    padding: 80px 20px;
}

.shinagawa-service-intro-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-service-intro-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
    color: #333;
}

.shinagawa-service-intro-title span {
    color: #2e7d32;
}

.shinagawa-service-intro-hero {
    background-color: white;
    border-radius: 8px;
    padding: 50px;
    margin-bottom: 60px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.shinagawa-service-intro-hero-image img {
    width: 100%;
    border-radius: 8px;
}

.shinagawa-service-intro-hero-text h3 {
    font-size: 20px;
    margin-bottom: 20px;
    color: #1b5e20;
}

.shinagawa-service-intro-hero-text p {
    line-height: 2;
    color: #555;
}

.shinagawa-service-intro-hero-text .shinagawa-service-highlight {
    color: #2e7d32;
    font-weight: bold;
}

.shinagawa-service-main-title {
    text-align: center;
    font-size: 20px;
    margin-bottom: 40px;
    color: #333;
    padding-bottom: 20px;
    border-bottom: 3px solid #2e7d32;
}

.shinagawa-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 60px;
}

.shinagawa-service-card {
    background-color: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.shinagawa-service-card-header {
    background-color: #2e7d32;
    color: white;
    padding: 15px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.shinagawa-service-card-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.shinagawa-service-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shinagawa-service-card-body {
    padding: 25px;
}

.shinagawa-service-card-body p {
    line-height: 1.8;
    color: #555;
    font-size: 15px;
}

.shinagawa-service-other-title {
    text-align: center;
    font-size: 20px;
    margin-bottom: 40px;
    color: #333;
}

.shinagawa-service-other-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.shinagawa-service-other-card {
    background-color: white;
    border-radius: 8px;
    padding: 25px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.shinagawa-service-other-icon {
    width: 80px;
    min-width: 80px;
}

.shinagawa-service-other-icon img {
    width: 100%;
    border-radius: 4px;
}

.shinagawa-service-other-content h4 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #1b5e20;
}

.shinagawa-service-other-content p {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
}

/* 料金セクション */
.shinagawa-price-section {
    background-color: #fff;
    padding: 80px 20px;
}

.shinagawa-price-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-price-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 60px;
    color: #333;
}

.shinagawa-price-title span {
    color: #2e7d32;
}

.shinagawa-price-intro {
    background: #dbf0b9;
    border-radius: 8px;
    padding: 50px;
    margin-bottom: 60px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.shinagawa-price-intro-image img {
    width: 100%;
    border-radius: 8px;
}

.shinagawa-price-intro-text h3 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #1b5e20;
}

.shinagawa-price-intro-text p {
    line-height: 2;
    color: #555;
}

.shinagawa-price-campaign {
    margin-bottom: 60px;
}

.shinagawa-price-campaign img {
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.shinagawa-pack-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 22px;
    color: #333;
}

.shinagawa-pack-subtitle {
    text-align: center;
    font-size: 16px;
    margin-bottom: 50px;
    color: #555;
}

.shinagawa-pack-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 40px;
}

.shinagawa-pack-card {
    background-color: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.shinagawa-pack-header {
    background-color: #2e7d32;
    color: white;
    padding: 15px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.shinagawa-pack-image {
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.shinagawa-pack-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shinagawa-pack-details {
    padding: 25px;
}

.shinagawa-pack-info {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
}

.shinagawa-pack-info-label {
    background-color: #2e7d32;
    color: white;
    padding: 5px 15px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: bold;
}

.shinagawa-pack-info-value {
    font-weight: bold;
    color: #333;
}

.shinagawa-pack-price {
    text-align: center;
    margin: 20px 0;
}

.shinagawa-pack-price-label {
    background-color: #ff8f00;
    color: white;
    padding: 8px 16px;
    display: inline-block;
    border-radius: 4px;
    font-weight: bold;
    margin-bottom: 10px;
}

.shinagawa-pack-price-amount {
    font-size: 20px;
    color: #ff8f00;
    font-weight: bold;
}

.shinagawa-pack-price-tax {
    font-size: 14px;
    color: #666;
}

.shinagawa-pack-description {
    text-align: center;
    padding: 15px;
    background-color: #f5f5f5;
    border-radius: 4px;
    font-size: 14px;
    color: #555;
}

/* 料金プラン特徴セクション */
.shinagawa-plan-features-section {
    background-color: #f5f5f5;
    padding: 80px 20px;
}

.shinagawa-plan-features-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-plan-features-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 60px;
    color: #333;
}

.shinagawa-plan-features-title span {
    color: #2e7d32;
}

.shinagawa-plan-feature-item {
    background-color: white;
    border-radius: 8px;
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.shinagawa-plan-feature-item:nth-child(even) .shinagawa-plan-feature-image {
    order: 2;
}

.shinagawa-plan-feature-number {
    display: inline-block;
    background-color: #2e7d32;
    color: white;
    padding: 10px 20px;
    border-radius: 22px;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
}

.shinagawa-plan-feature-content h3 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #1b5e20;
}

.shinagawa-plan-feature-content p {
    line-height: 2;
    color: #555;
}

.shinagawa-plan-feature-highlight {
    color: #2e7d32;
    font-weight: bold;
}

.shinagawa-plan-feature-image img {
    width: 100%;
    border-radius: 8px;
}

/* 選ばれる理由セクション */
.shinagawa-reasons-section {
    background-color: #f5f5f5;
    padding: 80px 20px;
}

.shinagawa-reasons-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-reasons-header {
    text-align: center;
    margin-bottom: 60px;
}

.shinagawa-reasons-header h2 {
    font-size: 24px;
    margin-bottom: 15px;
    color: #333;
}

.shinagawa-reasons-header p {
    font-size: 20px;
    color: #2e7d32;
    font-weight: bold;
}

.shinagawa-reasons-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.shinagawa-reason-item {
    background-color: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.shinagawa-reason-image {
    width: 100%;
    height: 250px;
    overflow: hidden;
    position: relative;
}

.shinagawa-reason-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shinagawa-reason-number {
    position: absolute;
    top: 20px;
    left: 20px;
    background-color: #2e7d32;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
}

.shinagawa-reason-content {
    padding: 22px;
}

.shinagawa-reason-content h3 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #1b5e20;
}

.shinagawa-reason-content p {
    line-height: 1.8;
    color: #555;
    font-size: 15px;
}

/* レスポンシブデザイン */

@media (max-width: 768px) {
    .shinagawa-achievement-badge {
        width: 45%;
    }

    .shinagawa-comparison-table {
        font-size: 12px;
    }

    .shinagawa-comparison-table th,
    .shinagawa-comparison-table td {
        padding: 10px 5px;
    }

    .shinagawa-voice-images {
        grid-template-columns: 1fr;
    }

    .shinagawa-voice-arrow {
        transform: rotate(90deg);
        text-align: center;
    }

    .shinagawa-voice-content {
        flex-direction: column;
    }

    .shinagawa-service-intro-hero {
        grid-template-columns: 1fr;
        padding: 22px 20px;
    }

    .shinagawa-service-grid,
    .shinagawa-service-other-grid {
        grid-template-columns: 1fr;
    }

    .shinagawa-price-intro {
        grid-template-columns: 1fr;
        padding: 22px 20px;
    }

    .shinagawa-pack-grid {
        grid-template-columns: 1fr;
    }

    .shinagawa-plan-feature-item {
        grid-template-columns: 1fr;
        padding: 22px 20px;
    }

    .shinagawa-plan-feature-item:nth-child(even) .shinagawa-plan-feature-image {
        order: 1;
    }

    .shinagawa-area-title {
        font-size: 24px;
    }

    .shinagawa-area-subtitle {
        font-size: 16px;
        padding: 15px;
    }

    .shinagawa-area-content {
        padding: 20px;
    }

    .shinagawa-area-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .shinagawa-achievement-title {
        font-size: 20px;
    }

    .shinagawa-achievement-title span {
        font-size: 26px;
    }

    .shinagawa-achievement-badges {
        gap: 20px;
    }

    .shinagawa-achievement-content {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .shinagawa-problem-grid {
        grid-template-columns: 1fr;
    }

    .shinagawa-reasons-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .shinagawa-problem-cta {
        padding: 22px 20px;
    }

    .shinagawa-problem-cta h3 {
        font-size: 20px;
    }

    .shinagawa-problem-cta p {
        font-size: 16px;
    }

    .shinagawa-problem-cta-button {
        padding: 15px 40px;
        font-size: 16px;
    }

    .shinagawa-area-map img {
        max-width: 100%;
    }
}

.shinagawa-additional-container {
    max-width: 100%;
    overflow-x: hidden;
}

/* 作業事例セクション */
.shinagawa-cases-section {
    background: #dbf0b9;
    padding: 80px 20px;
}

.shinagawa-cases-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-cases-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 60px;
    color: #333;
}

.shinagawa-cases-title i {
    color: #2e7d32;
    margin-right: 10px;
}

.shinagawa-cases-title span {
    color: #2e7d32;
}

.shinagawa-case-item {
    background-color: white;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 40px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.shinagawa-case-header {
    background-color: #2e7d32;
    color: white;
    padding: 20px 22px;
    font-size: 22px;
    font-weight: bold;
}

.shinagawa-case-header-label {
    font-size: 16px;
    opacity: 0.9;
    margin-right: 15px;
}

.shinagawa-case-content {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.shinagawa-case-image {
    position: relative;
}

.shinagawa-case-image img {
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.shinagawa-case-details {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.shinagawa-case-customer {
    font-size: 20px;
    font-weight: bold;
    color: #1b5e20;
    padding-bottom: 15px;
    border-bottom: 3px solid #2e7d32;
}

.shinagawa-case-customer-label {
    color: #2e7d32;
    font-size: 14px;
    margin-left: 10px;
}

.shinagawa-case-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.shinagawa-case-info-box {
    background-color: #f5f5f5;
    padding: 15px;
    border-radius: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.shinagawa-case-info-label {
    font-weight: bold;
    color: #555;
}

.shinagawa-case-info-value {
    font-weight: bold;
    color: #2e7d32;
    font-size: 18px;
}

.shinagawa-case-price-box {
    background: linear-gradient(135deg, #2e7d32 0%, #43a047 100%);
    color: white;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
}

.shinagawa-case-price-label {
    font-size: 14px;
    margin-bottom: 10px;
}

.shinagawa-case-price-amount {
    font-size: 22px;
    font-weight: bold;
}

.shinagawa-case-testimony {
    background-color: #dbf0b9;
    padding: 22px;
}

.shinagawa-case-testimony-content {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.shinagawa-case-avatar {
    width: 80px;
    min-width: 80px;
}

.shinagawa-case-avatar img {
    width: 100%;
    border-radius: 50%;
}

.shinagawa-case-testimony-text {
    line-height: 2;
    color: #333;
}

.shinagawa-case-staff-section {
    background-color: #f5f5f5;
    padding: 22px;
    margin-top: 20px;
}

.shinagawa-case-staff-title {
    color: #2e7d32;
    font-weight: bold;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.shinagawa-case-staff-content {
    display: flex;
    gap: 22px;
    align-items: center;
}

.shinagawa-case-staff-image {
    width: 100px;
    min-width: 100px;
}

.shinagawa-case-staff-image img {
    width: 100%;
    border-radius: 8px;
}

.shinagawa-case-staff-text {
    line-height: 2;
    color: #555;
}

.shinagawa-case-note {
    background-color: #fff8e1;
    padding: 20px;
    border-radius: 4px;
    font-size: 14px;
    color: #666;
    margin-top: 22px;
}

/* その他の作業事例 */
.shinagawa-other-cases-section {
    background-color: #fff;
    padding: 80px 20px;
}

.shinagawa-other-cases-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-other-cases-title {
    text-align: center;
    font-size: 20px;
    margin-bottom: 50px;
    color: #333;
}

.shinagawa-other-cases-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.shinagawa-other-case-card {
    background-color: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s;
}

.shinagawa-other-case-card:hover {
    transform: translateY(-5px);
}

.shinagawa-other-case-image {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.shinagawa-other-case-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shinagawa-other-case-badge {
    position: absolute;
    top: 15px;
    left: 0;
    background-color: #2e7d32;
    color: white;
    padding: 8px 20px;
    font-weight: bold;
    font-size: 14px;
}

.shinagawa-other-case-body {
    padding: 25px;
}

.shinagawa-other-case-date {
    color: #2e7d32;
    font-size: 14px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.shinagawa-other-case-location {
    color: #666;
    font-size: 14px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.shinagawa-other-case-service {
    background-color: #2e7d32;
    color: white;
    padding: 8px 15px;
    border-radius: 4px;
    text-align: center;
    margin-bottom: 15px;
    font-weight: bold;
}

.shinagawa-other-case-specs {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.shinagawa-other-case-spec {
    background-color: #2e7d32;
    color: white;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}

.shinagawa-other-case-price {
    text-align: center;
    padding: 15px;
    background-color: #f5f5f5;
    border-radius: 4px;
}

.shinagawa-other-case-price-badge {
    background-color: #ff8f00;
    color: white;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 12px;
    display: inline-block;
    margin-bottom: 10px;
}

.shinagawa-other-case-price-amount {
    font-size: 24px;
    color: #ff8f00;
    font-weight: bold;
}

.shinagawa-other-cases-note {
    background-color: #f5f5f5;
    padding: 22px;
    border-radius: 8px;
    margin-top: 40px;
    text-align: center;
    line-height: 2;
    color: #666;
}

/* サービスの流れセクション */
.shinagawa-flow-section {
    background: #dbf0b9;
    padding: 80px 20px;
}

.shinagawa-flow-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-flow-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 60px;
    color: #333;
}

.shinagawa-flow-title i {
    color: #2e7d32;
    margin-right: 10px;
}

.shinagawa-flow-title span {
    color: #2e7d32;
}

.shinagawa-flow-container {
    background-color: white;
    border-radius: 12px;
    padding: 60px 40px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.shinagawa-flow-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 22px;
    position: relative;
}

.shinagawa-flow-step {
    text-align: center;
}

.shinagawa-flow-number {
    width: 60px;
    height: 60px;
    background-color: #2e7d32;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    margin: 0 auto 20px;
}

.shinagawa-flow-image {
    width: 100%;
    height: 150px;
    margin-bottom: 20px;
    border-radius: 8px;
    overflow: hidden;
}

.shinagawa-flow-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shinagawa-flow-step-title {
    font-size: 18px;
    font-weight: bold;
    color: #1b5e20;
    margin-bottom: 15px;
}

.shinagawa-flow-step-description {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
}

/* FAQ セクション */
.shinagawa-faq-section {
    background-color: #fff;
    padding: 80px 20px;
}

.shinagawa-faq-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-faq-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 60px;
    color: #333;
}

.shinagawa-faq-title i {
    color: #2e7d32;
    margin-right: 10px;
}

.shinagawa-faq-title span {
    color: #2e7d32;
}

.shinagawa-faq-item {
    background-color: white;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}

.shinagawa-faq-question {
    background-color: #f5f5f5;
    padding: 25px 22px;
    font-size: 18px;
    font-weight: bold;
    color: #2e7d32;
    display: flex;
    align-items: center;
    gap: 15px;
}

.shinagawa-faq-question-icon {
    font-size: 24px;
    font-weight: bold;
}

.shinagawa-faq-answer {
    padding: 22px;
    background-color: white;
    line-height: 2;
    color: #555;
}

/* 企業情報セクション */
.shinagawa-company-section {
    background: #dbf0b9;
    padding: 80px 20px;
}

.shinagawa-company-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-company-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 60px;
    color: #333;
}

.shinagawa-company-title i {
    color: #2e7d32;
    margin-right: 10px;
}

.shinagawa-company-title span {
    color: #2e7d32;
}

.shinagawa-company-table-container {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.shinagawa-company-table-header {
    background-color: #2e7d32;
    color: white;
    padding: 20px;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
}

.shinagawa-company-table {
    width: 100%;
}

.shinagawa-company-table tr {
    border-bottom: 1px solid #e0e0e0;
}

.shinagawa-company-table tr:last-child {
    border-bottom: none;
}

.shinagawa-company-table th {
    background-color: #f5f5f5;
    padding: 25px 22px;
    text-align: left;
    font-weight: bold;
    color: #333;
    width: 30%;
}

.shinagawa-company-table td {
    padding: 25px 22px;
    color: #555;
    line-height: 2;
}

.shinagawa-company-license {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.shinagawa-company-license-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.shinagawa-company-license-item i {
    color: #2e7d32;
}

.shinagawa-reasons-hero-container {
    max-width: 100%;
    overflow-x: hidden;
}

/* メインバナー */
.shinagawa-main-banner {
    background: linear-gradient(135deg, #1b5e20 0%, #2e7d32 100%);
    color: #fff;
    padding: 22px 20px;
    text-align: center;
    position: relative;
}

.shinagawa-main-banner::after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #2e7d32;
}

.shinagawa-main-banner-text {
    font-size: 26px;
    font-weight: bold;
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-main-banner-highlight {
    color: #ffd700;
}

/* 装飾的な背景要素 */
.shinagawa-background-decoration {
    position: relative;
}

.shinagawa-background-decoration::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, transparent 0%, #e0e0e0 50%, transparent 100%);
}

.center {
    text-align: center;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {

    .shinagawa-achievement-section,
    .shinagawa-problem-section,
    .shinagawa-comparison-section,
    .shinagawa-voice-section,
    .shinagawa-service-intro-section,
    .shinagawa-price-section,
    .shinagawa-plan-features-section,
    .shinagawa-reasons-section,
    .shinagawa-cases-section,
    .shinagawa-other-cases-section,
    .shinagawa-flow-section,
    .shinagawa-faq-section,
    .shinagawa-greeting-section,
    .shinagawa-company-section {
        padding: 40px 20px;
    }

    .shinagawa-main-banner {
        padding: 20px 15px;
    }

    .shinagawa-main-banner-text {
        font-size: 24px;
    }

    .shinagawa-case-content {
        grid-template-columns: 1fr;
    }

    .shinagawa-case-info-grid {
        grid-template-columns: 1fr;
    }

    .shinagawa-case-testimony-content {
        flex-direction: column;
    }

    .shinagawa-case-staff-content {
        flex-direction: column;
    }

    .shinagawa-other-cases-grid {
        grid-template-columns: 1fr;
    }

    .shinagawa-flow-steps {
        grid-template-columns: 1fr;
    }

    .shinagawa-company-table th,
    .shinagawa-company-table td {
        display: block;
        width: 100%;
    }

    .shinagawa-company-table th {
        padding-bottom: 10px;
    }

    .shinagawa-company-table td {
        padding-top: 10px;
    }
}

/*エリアページ用*/

/* 品川不用品回収センター専用CSS - 画像通りのデザイン */
.fuyohin-shinagawa-recovery-section {
    background-color: #dbf0b9;
    padding: 50px 20px;
    font-family: 'Noto Sans JP', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', sans-serif;
}

.fuyohin-shinagawa-recovery-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* 料金プランボックス */
.fuyohin-shinagawa-pricing-box {
    margin-bottom: 60px;
}

.fuyohin-shinagawa-pricing-header {
    background-color: #2e7d32;
    border-radius: 15px 15px 0 0;
    padding: 25px 22px;
    text-align: center;
}

.fuyohin-shinagawa-main-heading {
    color: #ffffff;
    font-size: 26px;
    font-weight: bold;
    margin: 0;
}

.fuyohin-shinagawa-pricing-content {
    background: #ffffff;
    border: 2px solid #2e7d32;
    border-top: none;
    border-radius: 0 0 15px 15px;
    padding: 40px 22px;
}

.fuyohin-shinagawa-point-row {
    display: flex;
    gap: 22px;
    align-items: flex-start;
    margin-bottom: 40px;
}

.fuyohin-shinagawa-point-row:last-child {
    margin-bottom: 0;
}

.fuyohin-shinagawa-point-image-left,
.fuyohin-shinagawa-point-image-right {
    flex: 0 0 380px;
}

.fuyohin-shinagawa-point-text-left,
.fuyohin-shinagawa-point-text-right {
    flex: 1;
}

.fuyohin-shinagawa-image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

.fuyohin-shinagawa-point-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.fuyohin-shinagawa-point-number {
    background-color: #2e7d32;
    color: #ffffff;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: bold;
    flex-shrink: 0;
}

.fuyohin-shinagawa-point-heading {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    margin: 0;
}

.fuyohin-shinagawa-point-description {
    font-size: 15px;
    line-height: 1.8;
    color: #333;
    margin: 0;
}

/* 賢い家庭での不用品回収術セクション */
.fuyohin-shinagawa-guide-section {
    margin-bottom: 60px;
}

.fuyohin-shinagawa-guide-header {
    background-color: #2e7d32;
    padding: 18px 25px;
}

.fuyohin-shinagawa-guide-heading {
    color: #ffffff;
    font-size: 22px;
    font-weight: bold;
    margin: 0;
}

.fuyohin-shinagawa-guide-content {
    background: #ffffff;
    padding: 35px;
}

.fuyohin-shinagawa-municipal-block {
    margin-bottom: 45px;
}

.fuyohin-shinagawa-subsection-heading {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    margin: 0 0 20px 0;
}

.fuyohin-shinagawa-municipal-row {
    display: flex;
    gap: 25px;
    margin-bottom: 25px;
    align-items: flex-start;
}

.fuyohin-shinagawa-municipal-image {
    flex: 0 0 320px;
}

.fuyohin-shinagawa-municipal-text {
    flex: 1;
}

.fuyohin-shinagawa-municipal-text p {
    font-size: 14px;
    line-height: 1.8;
    color: #333;
    margin: 0;
}

.fuyohin-shinagawa-alert-boxes {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.fuyohin-shinagawa-alert-box {
    flex: 1;
    background-color: #dbf0b9;
    padding: 15px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.fuyohin-shinagawa-alert-num {
    background-color: #2e7d32;
    color: #ffffff;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
    font-size: 14px;
}

.fuyohin-shinagawa-alert-box p {
    font-size: 13px;
    line-height: 1.7;
    color: #333;
    margin: 0;
}

.fuyohin-shinagawa-explanation-text {
    font-size: 14px;
    line-height: 1.8;
    color: #333;
    margin: 0;
}

/* 比較セクション */
.fuyohin-shinagawa-compare-block {
    margin-top: 35px;
}

.fuyohin-shinagawa-compare-intro {
    display: flex;
    gap: 25px;
    margin-bottom: 22px;
    align-items: flex-start;
}

.fuyohin-shinagawa-compare-text {
    flex: 1;
}

.fuyohin-shinagawa-compare-text p {
    font-size: 14px;
    line-height: 1.8;
    color: #333;
    margin: 0;
}

.fuyohin-shinagawa-compare-img {
    flex: 0 0 280px;
}

.fuyohin-shinagawa-table-container {
    overflow-x: auto;
    margin-bottom: 25px;
}

.fuyohin-shinagawa-compare-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}

.fuyohin-shinagawa-compare-table thead {
    background-color: #2e7d32;
}

.fuyohin-shinagawa-th-empty {
    width: 100px;
    background-color: #2e7d32;
    padding: 15px;
}

.fuyohin-shinagawa-th-col {
    color: #ffffff;
    font-weight: bold;
    padding: 15px;
    text-align: center;
    font-size: 15px;
    border-left: 1px solid #ffffff;
}

.fuyohin-shinagawa-td-label {
    background-color: #dbf0b9;
    color: #333;
    font-weight: bold;
    padding: 20px 15px;
    text-align: center;
    font-size: 15px;
    vertical-align: top;
}

.fuyohin-shinagawa-td-content {
    padding: 20px 15px;
    border: 1px solid #e0e0e0;
    vertical-align: top;
}

.fuyohin-shinagawa-benefit-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fuyohin-shinagawa-benefit-list li {
    font-size: 13px;
    line-height: 1.7;
    color: #333;
    margin-bottom: 8px;
    padding-left: 15px;
    position: relative;
}

.fuyohin-shinagawa-benefit-list li:last-child {
    margin-bottom: 0;
}

.fuyohin-shinagawa-benefit-list li::before {
    content: "・";
    position: absolute;
    left: 0;
}

.fuyohin-shinagawa-conclusion-text {
    font-size: 14px;
    line-height: 1.8;
    color: #333;
    margin: 0;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
    .fuyohin-shinagawa-recovery-section {
        padding: 22px 15px;
    }

    .fuyohin-shinagawa-main-heading {
        font-size: 20px;
    }

    .fuyohin-shinagawa-pricing-content {
        padding: 25px 20px;
    }

    .fuyohin-shinagawa-point-row {
        flex-direction: column;
        gap: 20px;
        margin-bottom: 35px;
    }

    .fuyohin-shinagawa-point-image-left,
    .fuyohin-shinagawa-point-image-right {
        flex: none;
        max-width: 100%;
    }

    .fuyohin-shinagawa-guide-content {
        padding: 25px 20px;
    }

    .fuyohin-shinagawa-municipal-row {
        flex-direction: column;
        gap: 15px;
    }

    .fuyohin-shinagawa-municipal-image {
        flex: none;
        max-width: 100%;
    }

    .fuyohin-shinagawa-alert-boxes {
        flex-direction: column;
        gap: 15px;
    }

    .fuyohin-shinagawa-compare-intro {
        flex-direction: column;
        gap: 15px;
    }

    .fuyohin-shinagawa-compare-img {
        flex: none;
        max-width: 100%;
    }

    .fuyohin-shinagawa-table-container {
        margin-left: -20px;
        margin-right: -20px;
    }

    .fuyohin-shinagawa-th-col {
        font-size: 12px;
        padding: 10px 8px;
    }

    .fuyohin-shinagawa-td-label {
        font-size: 13px;
        padding: 15px 10px;
    }

    .fuyohin-shinagawa-td-content {
        padding: 15px 10px;
    }

    .fuyohin-shinagawa-benefit-list li {
        font-size: 12px;
    }
}

@media screen and (max-width: 480px) {
    .fuyohin-shinagawa-main-heading {
        font-size: 18px;
    }

    .fuyohin-shinagawa-point-number {
        width: 38px;
        height: 38px;
        font-size: 18px;
    }

    .fuyohin-shinagawa-point-heading {
        font-size: 16px;
    }

    .fuyohin-shinagawa-guide-heading {
        font-size: 18px;
    }

    .fuyohin-shinagawa-subsection-heading {
        font-size: 17px;
    }
}


/* cta */

.fixed-phone-footer {
    display: none;
}

@media (max-width: 768px) {
    .fixed-phone-footer {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        border-top: 1px solid #e0e0e0;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        z-index: 1000;
    }

    .fixed-phone-footer img {
        width: 100%;
        height: auto;
        display: block;
    }
}

@media (min-width: 576px) {
    .sp {
        display: none;
    }
}

@media (max-width: 577px) {
    .pc {
        display: none;
    }
}



.contact-cta-section {
    background: #2e7d32;
    padding: 60px 20px;
}

.contact-cta-container {
    max-width: 1200px;
    margin: 0 auto;
}

.contact-cta-title {
    color: white;
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 40px 0;
    letter-spacing: 0.05em;
}

.contact-cta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
}

.contact-cta-card {
    background: white;
    border-radius: 16px;
    padding: 32px 24px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.contact-cta-label {
    text-align: center;
    color: #333;
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 20px 0;
}

.contact-cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 18px 24px;
    border-radius: 50px;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    gap: 8px;
}

.contact-cta-btn-phone {
    background: #f5a511;
    color: white;
}

.contact-cta-btn-phone:hover {
    background: #de7e00;
    transform: translateY(-2px);
}

.contact-cta-btn-email {
    background: #2e7d32;
    color: white;
}

.contact-cta-btn-email:hover {
    background: #1b551e;
    transform: translateY(-2px);
}

.contact-cta-icon {
    font-size: 20px;
}


.contact-cta-note {
    text-align: center;
    color: #666;
    font-size: 13px;
    margin: 12px 0 0 0;
}

/* タブレット以下 */
@media (max-width: 768px) {
    .contact-cta-section {
        padding: 40px 16px;
    }

    .contact-cta-title {
        font-size: 22px;
        margin-bottom: 28px;
    }

    .contact-cta-grid {
        gap: 20px;
    }

    .contact-cta-card {
        padding: 24px 20px;
    }

    .contact-cta-btn {
        font-size: 18px;
        padding: 16px 20px;
    }
}

/* スマートフォン */
@media (max-width: 480px) {
    .contact-cta-section {
        padding: 32px 12px;
    }

    .contact-cta-title {
        font-size: 20px;
        margin-bottom: 24px;
    }

    .contact-cta-card {
        padding: 20px 16px;
    }

    .contact-cta-btn {
        font-size: 18px;
        padding: 14px 16px;
    }

    .contact-cta-icon {
        font-size: 18px;
    }
}

/*contact*/

/* フォーム全体のコンテナ */
.mw_wp_form {
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}

/* コンタクトセクション */
.contact {
    background: #fff;
    border-radius: 8px;
}

/* タイトル */
.contact_title {
    background: #f5f5f5;
    padding: 15px 20px;
    font-size: 18px;
    font-weight: bold;
    color: #333;
    border-radius: 8px 8px 0 0;
    border-bottom: 2px solid #e0e0e0;
}

/* コンタクトラップ */
.contact_wrap {
    padding: 20px;
}

/* テーブル */
.contact_wrap table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.contact_wrap tr {
    border-bottom: 1px solid #e0e0e0;
}

/* th（ラベル）スタイル */
.contact_wrap th {
    width: 35%;
    padding: 30px 15px;
    text-align: left;
    vertical-align: top;
    background: none;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.8;
}

/* td（入力欄）スタイル */
.contact_wrap td {
    padding: 30px 15px;
    vertical-align: top;
}

/* 必須・任意バッジ */
.hissu,
.ninni {
    display: inline-block;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: bold;
    border-radius: 3px;
    margin-right: 8px;
    line-height: 1;
    vertical-align: middle;
}

.hissu {
    background: #f5a511;
    color: #fff;
}

.ninni {
    background: #9e9e9e;
    color: #fff;
}

/* 小さいテキスト */
.small_text {
    display: block;
    font-size: 12px;
    color: #666;
    line-height: 1.6;
    margin-top: 5px;
}

/* 入力フィールド共通 */
input[type="text"],
input[type="email"],
textarea,
select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    font-family: inherit;
    transition: border-color 0.3s;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: #4CAF50;
}

/* プレースホルダー */
input::placeholder,
textarea::placeholder {
    color: #999;
}

/* 電話番号フィールド */
.mwform-tel-field {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mwform-tel-field input[type="text"] {
    width: auto;
    flex: 1;
    max-width: 80px;
}

/* 郵便番号フィールド */
.mwform-zip-field {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mwform-zip-field input[type="text"] {
    width: auto;
    flex: 1;
    max-width: 80px;
}

/* セレクトボックスラッパー */
.select_wrap {
    position: relative;
}

.select_wrap select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 35px;
}

/* チェックボックスラップ */
.checkbox_wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 20px;
}

.mwform-checkbox-field {
    display: inline-flex;
    align-items: center;
}

.mwform-checkbox-field label {
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 6px;
}

.mwform-checkbox-field input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    margin: 0;
}

.mwform-checkbox-field-text {
    font-size: 14px;
    color: #333;
}

/* テキストエリア */
textarea {
    min-height: 150px;
    resize: vertical;
}

/* ボタンラップ */
.btn_wrap {
    text-align: center;
    margin-top: 30px;
}

/* 送信ボタン */
button[type="submit"] {
    background: #f5a511;
    color: #fff;
    border: none;
    padding: 15px 50px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s;
}

button[type="submit"]:hover {
    background: #e89333;
    transform: translateY(-2px);
}

button[type="submit"]:active {
    transform: translateY(0);
}

/* レスポンシブデザイン - タブレット */
@media screen and (max-width: 768px) {

    .contact_title {
        font-size: 16px;
        padding: 12px 15px;
    }

    .contact_wrap {
        padding: 15px;
    }



    .checkbox_wrap {
        gap: 10px 15px;
    }
}

/* レスポンシブデザイン - スマートフォン */
@media screen and (max-width: 480px) {

    .contact_title {
        font-size: 15px;
        padding: 10px;
    }

    .contact_wrap {
        padding: 10px;
    }

    /* スマホではテーブルをブロック表示に */
    .contact_wrap table,
    .contact_wrap tbody,
    .contact_wrap tr,
    .contact_wrap th,
    .contact_wrap td {
        display: block;
        width: 100%;
    }

    .contact_wrap th {
        padding: 10px 8px;
    }


    /* 電話番号フィールドの調整 */
    .mwform-tel-field {
        flex-wrap: nowrap;
    }

    .mwform-tel-field input[type="text"] {
        max-width: none;
        min-width: 50px;
    }

    /* 郵便番号フィールドの調整 */
    .mwform-zip-field input[type="text"] {
        max-width: none;
        min-width: 60px;
    }

    /* チェックボックスを縦並びに */
    .checkbox_wrap {
        flex-direction: column;
        gap: 10px;
    }

    /* ボタンサイズ調整 */
    button[type="submit"] {
        width: 100%;
        padding: 15px 20px;
        font-size: 15px;
    }

    .small_text {
        font-size: 11px;
    }

    input[type="text"],
    input[type="email"],
    textarea,
    select {
        font-size: 16px;
        /* iOSのズーム防止 */
    }
}

/* 極小画面対応 */
@media screen and (max-width: 360px) {
    .contact_title {
        font-size: 14px;
    }

    .hissu,
    .ninni {
        font-size: 10px;
        padding: 3px 8px;
    }

    input[type="text"],
    input[type="email"],
    textarea,
    select {
        padding: 10px;
    }
}

#online_mitumori td,
#online_mitumori th {
    border: none;
}


/*voiceページ*/

/* コンテナ */
.voice-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 0px;
}

/* ========================================
   一覧ページスタイル
   ======================================== */

/* グリッドレイアウト */
.voice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

/* カードデザイン */
.voice-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.voice-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

/* カードヘッダー */
.voice-card-header {
    background: linear-gradient(135deg, #2e7d32 0%, #2e7d32 100%);
    padding: 20px;
    color: #fff;
}

.voice-card-title {
    margin: 0;
    font-size: 18px;
    font-weight: bold;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.voice-area {
    font-size: 16px;
}

.voice-initial {
    font-size: 16px;
}

/* カードコンテンツ */
.voice-card-content {
    padding: 20px;
    flex: 1;
}

/* メッセージプレビュー */
.voice-message-preview {
    margin-bottom: 20px;
}

.voice-message-title {
    font-size: 14px;
    color: #666;
    margin: 0 0 10px 0;
    font-weight: normal;
}

.voice-message-text {
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    margin: 0;
}

/* Before/After画像 */
.voice-images {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #f5f5f5;
    padding: 15px;
    border-radius: 4px;
}

.voice-image-item {
    flex: 1;
    position: relative;
}

.voice-image-label {
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 8px;
    color: #333;
}

.voice-image-item.before .voice-image-label {
    background: #424242;
    color: #fff;
    padding: 4px 8px;
    border-radius: 2px;
    display: inline-block;
}

.voice-image-item.after .voice-image-label {
    background: #ff8f00;
    color: #fff;
    padding: 4px 8px;
    border-radius: 2px;
    display: inline-block;
}

.voice-image-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.voice-arrow {
    font-size: 24px;
    color: #f59e0b;
    font-weight: bold;
    flex-shrink: 0;
}

/* カードフッター */
.voice-card-footer {
    padding: 0 20px 20px;
}

.voice-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: #2e7d32;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.3s ease;
    width: 100%;
    justify-content: center;
}

.voice-read-more:hover {
    background: #2e7d32;
}

.voice-read-more .arrow {
    font-size: 18px;
    transition: transform 0.3s ease;
}

.voice-read-more:hover .arrow {
    transform: translateX(4px);
}

/* ページネーション */
.voice-pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.voice-pagination a,
.voice-pagination span {
    padding: 10px 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
}

.voice-pagination a:hover {
    background: #2e7d32;
    color: #fff;
    border-color: #2e7d32;
}

.voice-pagination .current {
    background: #2e7d32;
    color: #fff;
    border-color: #2e7d32;
}

/* 投稿なし */
.voice-no-posts {
    text-align: center;
    padding: 60px 20px;
    color: #666;
}

/* ========================================
   個別ページスタイル
   ======================================== */

.voice-single {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
}

.voice-content {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* ヘッダー */
.voice-header {
    background: linear-gradient(135deg, #2e7d32 0%, #2e7d32 100%);
    color: #fff;
}

.voice-header-inner {
    padding: 30px;
}

.voice-title {
    margin: 0;
    font-size: 24px;
    font-weight: bold;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
}

/* ボディ */
.voice-body {
    padding: 40px 30px;
}

.voice-section {
    margin-bottom: 40px;
}

.voice-section:last-child {
    margin-bottom: 0;
}

.voice-section-inner {
    position: relative;
}

.voice-section-title {
    background: #2e7d32;
    color: #fff;
    padding: 12px 20px;
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: bold;
    border-radius: 4px;
}

.staff-message .voice-section-title {
    background: #2e7d32;
}

/* メッセージコンテンツ */
.voice-message-content {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.voice-survey-image {
    flex-shrink: 0;
    width: 120px;
}

.voice-survey-image img {
    height: auto;
}

.voice-message-text {
    flex: 1;
}

.voice-message-text p {
    font-size: 15px;
    line-height: 1.8;
    color: #333;
    margin: 0;
}

/* Before/After比較 */
.voice-comparison {
    border-radius: 8px;
    margin: 30px 0;
}

.voice-comparison-wrapper {
    display: flex;
    align-items: center;
    gap: 30px;
    justify-content: center;
}

.voice-comparison-item {
    flex: 1;
    max-width: 400px;
}

.voice-comparison-label {
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 15px;
    padding: 8px 16px;
    border-radius: 4px;
}

.voice-comparison-item.before .voice-comparison-label {
    background: #424242;
    color: #fff;
}

.voice-comparison-item.after .voice-comparison-label {
    background: #ff8f00;
    color: #fff;
}

.voice-comparison-image {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.voice-comparison-image img {
    width: 100%;
    height: auto;
    display: block;
}

.voice-comparison-arrow {
    font-size: 36px;
    color: #f59e0b;
    font-weight: bold;
    flex-shrink: 0;
}

/* フッター */
.voice-footer {
    padding: 30px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
}

.voice-navigation {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.voice-nav-button {
    padding: 12px 32px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    display: inline-block;
}

.voice-nav-button.back {
    background: #fff;
    color: #2e7d32;
    border: 2px solid #2e7d32;
}

.voice-nav-button.back:hover {
    background: #2e7d32;
    color: #fff;
}

.voice-nav-button.list {
    background: #2e7d32;
    color: #fff;
    border: 2px solid #2e7d32;
}

.voice-nav-button.list:hover {
    background: #19631e;
    border-color: #19631e;
}

/* ========================================
   voice-single 追加スタイル
   ユニークprefix: vsf- (voice-single-footer)
   ======================================== */

/* ----------------------------------------
   フッターボタン（一覧＋CTA）
   ---------------------------------------- */
.vsf-nav-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.vsf-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 28px;
    border-radius: 50px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
    white-space: nowrap;
}

/* 一覧に戻るボタン */
.vsf-nav-btn--list {
    background: #fff;
    color: #2e7d32;
    border: 2px solid #2e7d32;
}

.vsf-nav-btn--list:hover {
    background: #2e7d32;
    color: #fff;
    transform: translateY(-2px);
}

/* 無料見積もりCTAボタン */
.vsf-nav-btn--cta {
    background: #f59e0b;
    color: #fff;
    border: 2px solid #f59e0b;
}

.vsf-nav-btn--cta:hover {
    background: #d97706;
    border-color: #d97706;
    transform: translateY(-2px);
}

/* ----------------------------------------
   関連する回収実績
   ---------------------------------------- */
.vsf-related {
    max-width: 1000px;
    margin: 40px auto 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 30px;
}

.vsf-related__title {
    font-size: 20px;
    font-weight: bold;
    color: #2e7d32;
    margin: 0 0 24px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.vsf-related__title-icon {
    font-size: 18px;
    color: #f59e0b;
}

/* Font Awesome アイコン共通 */
.vsf-nav-btn i,
.vsf-related__title i {
    display: inline-block;
    vertical-align: middle;
}

/* 画像なしプレースホルダー FA アイコン */
.vsf-related__img-wrap--empty i {
    font-size: 40px;
    color: #d1d5db;
}

/* 3カラムグリッド */
.vsf-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* カード */
.vsf-related__card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.vsf-related__card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    transform: translateY(-3px);
}

/* サムネイル */
.vsf-related__img-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f3f4f6;
}

.vsf-related__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.vsf-related__card:hover .vsf-related__img-wrap img {
    transform: scale(1.04);
}

/* 画像なしプレースホルダー */
.vsf-related__img-wrap--empty {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* カードテキスト */
.vsf-related__card-body {
    padding: 12px 14px;
}

.vsf-related__card-area {
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 4px 0;
}

.vsf-related__card-type {
    font-size: 12px;
    color: #6b7280;
    margin: 0 0 8px 0;
}

.vsf-related__card-link {
    font-size: 13px;
    color: #2e7d32;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ========================================
   レスポンシブ
   ======================================== */

/* タブレット */
@media (max-width: 768px) {
    .vsf-nav-buttons {
        gap: 10px;
    }

    .vsf-nav-btn {
        padding: 11px 22px;
        font-size: 14px;
    }

    .vsf-related {
        padding: 24px 20px;
        margin: 30px 15px 0;
    }

    .vsf-related__title {
        font-size: 18px;
    }

    .vsf-related__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

/* スマートフォン */
@media (max-width: 480px) {
    .vsf-nav-buttons {
        flex-direction: column;
        align-items: stretch;
        padding: 0 10px;
    }

    .vsf-nav-btn {
        width: 100%;
        padding: 13px 20px;
        font-size: 14px;
        border-radius: 6px;
    }

    .vsf-related {
        padding: 20px 15px;
        margin: 24px 10px 0;
        border-radius: 6px;
    }

    .vsf-related__title {
        font-size: 16px;
        margin-bottom: 16px;
    }

    .vsf-related__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .vsf-related__card {
        flex-direction: row;
        align-items: center;
    }

    .vsf-related__img-wrap {
        width: 100px;
        min-width: 100px;
        aspect-ratio: 1 / 1;
    }

    .vsf-related__card-body {
        padding: 10px 12px;
    }
}

/* ========================================
   レスポンシブデザイン
   ======================================== */

/* タブレット */
@media (max-width: 768px) {
    .voice-container {
        padding: 40px 15px;
    }

    .voice-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        gap: 20px;
    }

    .voice-card-title {
        font-size: 16px;
    }

    .voice-area,
    .voice-initial {
        font-size: 15px;
    }

    .voice-images {
        flex-direction: column;
        gap: 10px;
    }

    .voice-arrow {
        transform: rotate(90deg);
        font-size: 20px;
    }

    /* 個別ページ */
    .voice-single {
        padding: 30px 15px;
    }

    .voice-header-inner {
        padding: 20px;
    }

    .voice-title {
        font-size: 20px;
        gap: 10px;
    }

    .voice-body {
        padding: 30px 20px;
    }

    .voice-message-content {
        flex-direction: column;
    }

    .voice-survey-image {
        width: 100%;
        max-width: 350px;
        margin: 0 auto;
    }

    .voice-comparison {
        padding: 20px;
    }

    .voice-comparison-wrapper {
        flex-direction: column;
        gap: 20px;
    }

    .voice-comparison-arrow {
        transform: rotate(90deg);
        font-size: 28px;
    }

    .voice-footer {
        padding: 20px;
    }
}

/* スマートフォン */
@media (max-width: 480px) {
    .voice-container {
        padding: 40px 10px;
    }

    .voice-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .voice-card-header {
        padding: 15px;
    }

    .voice-card-content {
        padding: 15px;
    }

    .voice-card-footer {
        padding: 0 15px 15px;
    }

    .voice-read-more {
        padding: 10px 20px;
        font-size: 13px;
    }

    .voice-pagination a,
    .voice-pagination span {
        padding: 8px 12px;
        font-size: 14px;
    }

    /* 個別ページ */
    .voice-single {
        padding: 20px 10px;
    }

    .voice-header-inner {
        padding: 15px;
    }

    .voice-title {
        font-size: 18px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .voice-body {
        padding: 20px 15px;
    }

    .voice-section {
        margin-bottom: 30px;
    }

    .voice-section-title {
        font-size: 16px;
        padding: 10px 15px;
    }

    .voice-message-text p {
        font-size: 14px;
    }

    .voice-comparison {
        padding: 15px;
    }

    .voice-comparison-label {
        font-size: 16px;
        padding: 6px 12px;
    }

    .voice-footer {
        padding: 15px;
    }

    .voice-navigation {
        flex-direction: column;
    }

    .voice-nav-button {
        padding: 10px 24px;
        font-size: 14px;
        text-align: center;
        width: 100%;
    }
}

/* 印刷用スタイル */
@media print {

    .voice-navigation,
    .voice-pagination {
        display: none;
    }

    .voice-card {
        box-shadow: none;
        border: 1px solid #e5e7eb;
        page-break-inside: avoid;
    }
}

/* ご挨拶セクション全体 */
.greeting-section {
    background: #f8f9fa;
}

/* メインコンテンツエリア */
.greeting-main {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    margin-top: 40px;
}

/* 左側テキストエリア */
.greeting-content {
    flex: 1;
}

.greeting-subtitle {
    text-align: center;
    border-bottom: 2px solid #2e7d32;
    padding-bottom: 15px;
    margin-bottom: 40px;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.greeting-text {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 25px;
}


/* 右側画像エリア */
.greeting-image {
    flex: 1;
    text-align: center;
}

.greeting-image img {
    width: 100%;
    max-width: 600px;
    height: auto;
    border-radius: 8px;
}

/* ========================================
           レスポンシブ対応
        ======================================== */
@media (max-width: 768px) {

    .greeting-main {
        flex-direction: column;
        gap: 40px;
    }

    .greeting-content {
        order: 2;
    }

    .greeting-image {
        order: 1;
    }

    .greeting-text {
        font-size: 15px;
    }

}

@media (max-width: 480px) {
    .greeting-subtitle {
        font-size: 16px;
        padding-bottom: 12px;
        margin-bottom: 30px;
    }

    .greeting-text {
        font-size: 14px;
    }

}




/* ===============================================
           フッター - 品川不用品回収サービス
        =============================================== */
.site-footer {
    background: #1b5e20;
    color: #fff;
}

.footer-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px 40px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px;
}

/* 会社情報 */
.footer-company {
    padding-right: 20px;
}

.footer-logo {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-logo i {
    color: #dbf0b9;
    font-size: 1.6rem;
}

.footer-info {
    font-size: 0.9rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 20px;
}

.footer-info p {
    margin-bottom: 8px;
}

.footer-info i {
    color: #dbf0b9;
    width: 20px;
    margin-right: 8px;
}

.footer-licenses {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.footer-licenses li {
    list-style: none;
    margin-bottom: 5px;
}

/* フッター画像 */
.footer-image {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.footer-image img {
    max-width: 100%;
    height: auto;
    max-height: 180px;
    object-fit: contain;
}

.footer-image-placeholder {
    width: 100%;
    height: 150px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85rem;
}

/* ナビゲーション */
.footer-nav-section {
    padding-left: 20px;
}

.footer-nav-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #ffd700;
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-nav-title i {
    color: #ffd700;
}

.footer-nav-list {
    list-style: none;
}

.footer-nav-list li {
    margin-bottom: 12px;
}

.footer-nav-list a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s;
}

.footer-nav-list a::before {
    content: '›';
    color: #fff;
    font-size: 1.1rem;
}

.footer-nav-list a:hover {
    color: #fff;
    padding-left: 5px;
}

.footer-hours {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 15px;
}

/* コピーライト */
.footer-bottom {
    background: rgba(0, 0, 0, 0.2);
    padding: 20px;
    text-align: center;
}


/* ===============================================
           レスポンシブ - タブレット (1024px以下)
        =============================================== */
@media (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 35px;
    }

    .footer-company {
        grid-column: 1 / -1;
        padding-right: 0;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 30px;
        align-items: start;
    }

    .footer-image {
        grid-column: auto;
    }

    .footer-nav-section {
        padding-left: 0;
    }
}

/* ===============================================
           レスポンシブ - スマートフォン (768px以下)
        =============================================== */
@media (max-width: 768px) {
    .footer-main {
        padding: 40px 20px 30px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-company {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-info {
        text-align: left;
    }

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

    .footer-image {
        order: -1;
    }

    .footer-image-placeholder {
        height: 120px;
        max-width: 250px;
        margin: 0 auto;
    }

    .footer-licenses {
        text-align: left;
    }

    .footer-nav-section {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        padding-top: 25px;
    }

    .footer-nav-title {
        font-size: 1rem;
        margin-bottom: 15px;
    }

    .footer-nav-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px 20px;
    }

    .footer-nav-list li {
        margin-bottom: 0;
    }
}


:root {
    --shinagawa-purchase-primary-green: #1b5e20;
    --shinagawa-purchase-light-green: #dbf0b9;
    --shinagawa-purchase-accent-orange: #ff8f00;
    --shinagawa-purchase-white: #ffffff;
    --shinagawa-purchase-light-bg: #f5faf0;
    --shinagawa-purchase-text-dark: #333333;
    --shinagawa-purchase-text-gray: #666666;
}

.shinagawa-purchase-section {
    padding: 60px 20px;
}

.shinagawa-purchase-container {
    max-width: 1100px;
    margin: 0 auto;
}

/* セクションタイトル */
.shinagawa-purchase-section-title {
    text-align: center;
    margin-bottom: 50px;
}

.shinagawa-purchase-section-title .shinagawa-purchase-sub-title {
    color: var(--shinagawa-purchase-primary-green);
    font-size: 1rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.shinagawa-purchase-section-title .shinagawa-purchase-sub-title::before,
.shinagawa-purchase-section-title .shinagawa-purchase-sub-title::after {
    content: '';
    width: 30px;
    height: 2px;
    background: var(--shinagawa-purchase-primary-green);
}

.shinagawa-purchase-section-title h2 {
    font-size: 2rem;
    font-weight: 900;
    margin-top: 10px;
}

.shinagawa-purchase-section-title h2 .shinagawa-purchase-highlight {
    color: var(--shinagawa-purchase-accent-orange);
}

/* 買取について紹介セクション */
.shinagawa-purchase-kaitori-intro {
    background-color: var(--shinagawa-purchase-white);
}

.shinagawa-purchase-intro-card {
    background: var(--shinagawa-purchase-white);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 4px 20px rgba(27, 94, 32, 0.1);
    margin-bottom: 40px;
}

.shinagawa-purchase-intro-content {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.shinagawa-purchase-intro-text {
    flex: 1;
}

.shinagawa-purchase-intro-text h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    position: relative;
    padding-left: 20px;
}

.shinagawa-purchase-intro-text h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 80%;
    background: var(--shinagawa-purchase-primary-green);
    border-radius: 3px;
}

.shinagawa-purchase-intro-text h3 .shinagawa-purchase-accent {
    color: var(--shinagawa-purchase-accent-orange);
}

.shinagawa-purchase-intro-text p {
    color: var(--shinagawa-purchase-text-gray);
    font-size: 0.95rem;
}

.shinagawa-purchase-intro-image {
    width: 280px;
    flex-shrink: 0;
}

.shinagawa-purchase-intro-image img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 12px;
}

/* 特徴カード */
.shinagawa-purchase-feature-section {
    background: var(--shinagawa-purchase-light-bg);
}

.shinagawa-purchase-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.shinagawa-purchase-feature-card {
    background: var(--shinagawa-purchase-white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(27, 94, 32, 0.08);
}

.shinagawa-purchase-feature-header {
    background: var(--shinagawa-purchase-primary-green);
    color: var(--shinagawa-purchase-white);
    padding: 16px 24px;
    font-size: 1.1rem;
    font-weight: 700;
}

.shinagawa-purchase-feature-body {
    padding: 24px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.shinagawa-purchase-feature-body img {
    width: 120px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

.shinagawa-purchase-feature-content h4 {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.shinagawa-purchase-feature-content h4 .shinagawa-purchase-highlight {
    color: var(--shinagawa-purchase-accent-orange);
}

.shinagawa-purchase-feature-content p {
    font-size: 0.9rem;
    color: var(--shinagawa-purchase-text-gray);
}

/* 費用削減セクション */
.shinagawa-purchase-cost-section {
    background: var(--shinagawa-purchase-white);
}

.shinagawa-purchase-cost-card {
    background: var(--shinagawa-purchase-light-green);
    border-radius: 20px;
    padding: 40px;
}

.shinagawa-purchase-cost-content {
    display: flex;
    gap: 40px;
    align-items: center;
}

.shinagawa-purchase-cost-image {
    width: 320px;
    flex-shrink: 0;
}

.shinagawa-purchase-cost-image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.shinagawa-purchase-cost-text {
    flex: 1;
}

.shinagawa-purchase-cost-text h3 {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.shinagawa-purchase-cost-text h3 .shinagawa-purchase-highlight {
    color: var(--shinagawa-purchase-accent-orange);
    display: block;
    font-size: 1.6rem;
}

.shinagawa-purchase-cost-text p {
    color: var(--shinagawa-purchase-text-gray);
    font-size: 0.95rem;
    margin-bottom: 20px;
}

.shinagawa-purchase-cost-note {
    background: var(--shinagawa-purchase-white);
    padding: 16px 20px;
    border-radius: 8px 8px;
}

.shinagawa-purchase-cost-note h4 {
    color: var(--shinagawa-purchase-primary-green);
    font-size: 0.95rem;
    margin-bottom: 8px;
}

.shinagawa-purchase-cost-note p {
    font-size: 0.85rem;
    margin-bottom: 0;
}

/* 買取品目セクション */
.shinagawa-purchase-items-section {
    background: var(--shinagawa-purchase-light-bg);
}

.shinagawa-purchase-items-intro {
    background: var(--shinagawa-purchase-white);
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 40px;
    display: flex;
    gap: 30px;
    align-items: center;
    box-shadow: 0 4px 15px rgba(27, 94, 32, 0.08);
}

.shinagawa-purchase-items-intro-text {
    flex: 1;
}

.shinagawa-purchase-items-intro-text h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.shinagawa-purchase-items-intro-text h3 .shinagawa-purchase-highlight {
    color: var(--shinagawa-purchase-accent-orange);
}

.shinagawa-purchase-items-intro-text p {
    color: var(--shinagawa-purchase-text-gray);
    font-size: 0.95rem;
}

.shinagawa-purchase-items-intro-image {
    width: 300px;
    flex-shrink: 0;
}

.shinagawa-purchase-items-intro-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 12px;
}

.shinagawa-purchase-items-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.shinagawa-purchase-item-card {
    background: var(--shinagawa-purchase-white);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(27, 94, 32, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.shinagawa-purchase-item-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(27, 94, 32, 0.15);
}

.shinagawa-purchase-item-header {
    background: var(--shinagawa-purchase-primary-green);
    color: var(--shinagawa-purchase-white);
    padding: 12px;
    text-align: center;
    font-weight: 700;
    font-size: 0.95rem;
}

.shinagawa-purchase-item-body {
    padding: 20px 15px;
    text-align: center;
}

.shinagawa-purchase-item-body p {
    font-size: 0.85rem;
    color: var(--shinagawa-purchase-text-gray);
    line-height: 1.6;
}

.shinagawa-purchase-item-body .shinagawa-purchase-item-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    border-radius: 50%;
}

.shinagawa-purchase-item-body .shinagawa-purchase-item-icon i {
    font-size: 2.2rem;
    color: var(--shinagawa-purchase-primary-green);
}

/* CTAボタン */
.shinagawa-purchase-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--shinagawa-purchase-primary-green);
    color: var(--shinagawa-purchase-white);
    padding: 18px 50px;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 700;
    text-decoration: none;
    margin-top: 40px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(27, 94, 32, 0.3);
}

.shinagawa-purchase-cta-button:hover {
    background: #2e7d32;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(27, 94, 32, 0.4);
}

.shinagawa-purchase-cta-button::after {
    content: '›';
    font-size: 1.4rem;
}

.shinagawa-purchase-text-center {
    text-align: center;
}

/* レスポンシブデザイン */
@media (max-width: 1024px) {
    .shinagawa-purchase-items-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .shinagawa-purchase-section {
        padding: 40px 15px;
    }

    .shinagawa-purchase-section-title h2 {
        font-size: 1.5rem;
    }

    .shinagawa-purchase-intro-content {
        flex-direction: column;
    }

    .shinagawa-purchase-intro-image {
        width: 100%;
    }

    .shinagawa-purchase-intro-image img {
        height: 200px;
    }

    .shinagawa-purchase-feature-grid {
        grid-template-columns: 1fr;
    }

    .shinagawa-purchase-feature-body {
        flex-direction: column;
    }

    .shinagawa-purchase-feature-body img {
        width: 100%;
        height: 150px;
    }

    .shinagawa-purchase-cost-content {
        flex-direction: column;
    }

    .shinagawa-purchase-cost-image {
        width: 100%;
    }

    .shinagawa-purchase-items-intro {
        flex-direction: column;
    }

    .shinagawa-purchase-items-intro-image {
        width: 100%;
    }

    .shinagawa-purchase-items-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .shinagawa-purchase-intro-card {
        padding: 25px;
    }

    .shinagawa-purchase-cost-card {
        padding: 25px;
    }

    .shinagawa-purchase-items-intro {
        padding: 25px;
    }

    .shinagawa-purchase-cta-button {
        padding: 15px 35px;
        font-size: 1rem;
    }
}


/*page-companyページ*/

/* 会社概要ページ専用CSS */
.company-page-wrapper {
    width: 100%;
    overflow-x: hidden;
}

/* 共通セクションスタイル */
.company-section {
    padding: 60px 20px;
}

.company-section-inner {
    max-width: 1000px;
    margin: 0 auto;
}

.company-section-title {
    text-align: center;
    font-size: 26px;
    margin-bottom: 40px;
    color: #333;
    position: relative;
    padding-bottom: 15px;
}

.company-section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: #2e7d32;
}

/* イントロダクション */
.company-intro-section {
    background-color: #fff;
}

.intro-lead {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #2e7d32;
    margin-bottom: 30px;
    line-height: 1.6;
}

.intro-text p {
    margin-bottom: 20px;
    line-height: 2;
    color: #333;
}

/* 運営者情報 (テーブル) */
.company-details-section {
    background-color: #f5f5f5;
}

.info-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
}

.info-table tr {
    border-bottom: 1px solid #e0e0e0;
}

.info-table tr:last-child {
    border-bottom: none;
}

.info-table th {
    background-color: #2e7d32;
    color: #fff;
    padding: 20px;
    text-align: left;
    width: 30%;
    font-weight: bold;
    vertical-align: top;
}

.info-table td {
    padding: 20px;
    color: #333;
    line-height: 1.8;
    vertical-align: top;
}

.info-table ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.info-table ul li {
    position: relative;
    padding-left: 1em;
    margin-bottom: 5px;
}

.info-table ul li::before {
    content: "・";
    position: absolute;
    left: 0;
    color: #2e7d32;
}

/* 私たちのお約束 */
.service-promise-section {
    background-color: #fff;
}

.promise-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.promise-item {
    background: #fff;
    border: 2px solid #dbf0b9;
    /* 薄い緑 */
    border-radius: 12px;
    padding: 30px;
    transition: transform 0.3s ease;
}

.promise-item:hover {
    transform: translateY(-5px);
    border-color: #2e7d32;
}

.promise-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

.promise-icon {
    font-size: 24px;
    color: #2e7d32;
    margin-right: 15px;
    width: 40px;
    text-align: center;
}

.promise-item h3 {
    font-size: 20px;
    color: #2e7d32;
    margin: 0;
}

.promise-item p {
    line-height: 1.8;
    color: #555;
    margin: 0;
}


/* レスポンシブ対応 */
@media (max-width: 768px) {
    .company-section {
        padding: 40px 15px;
    }

    .company-section-title {
        font-size: 22px;
    }

    /* テーブル */
    .info-table th,
    .info-table td {
        display: block;
        width: 100%;
    }

    .info-table th {
        padding: 15px;
        font-size: 16px;
    }

    .info-table td {
        padding: 15px;
        padding-top: 10px;
    }

    /* 約束グリッド */
    .promise-grid {
        grid-template-columns: 1fr;
    }

    .promise-item {
        padding: 20px;
    }

}


/*処分系ページ*/

.cap_box_content {
    border: 1px solid #2e7d32;
    clear: both;
    margin-top: -2px;
    padding: 1.25em;
    position: relative;
    z-index: 0;
}

.-list-under-dashed>li,
.border_bottom>li {
    border-bottom: 1px dashed hsla(0, 0%, 78%, .5);
    margin-bottom: 0.75em;
    padding-bottom: 0.75em;
    padding-left: 40px;
}

.is-style-check_list li:before {
    color: #2e7d32;
    font-family: "Font Awesome 5 Free" !important;
    content: "\f00c";
    font-weight: 900;
    position: absolute;
    left: 15px;
}

.single_content table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 1.6;
    max-width: 100%;
    text-align: left;
    width: 100%;
}

.single_content th {
    background: #2e7d32;
    color: #fff;
    vertical-align: middle;
}

.single_content td,
.single_content th {
    border: 1px solid #dcdcdc;
    padding: 0.5em;
}

.cushion {
    font-size: 12px;
    padding: 4px 6px;
    background-color: #F57C00;
    color: #fff;
    font-weight: bold;
    border-radius: 18px;
}

.table-center {
    text-align: center !important;
}

.double {
    color: #ff5050;
}

.symbol {
    font-size: 40px;
    display: block;
    text-align: center;
    margin: 0 auto;
    font-family: system-ui;
}

.batsu {
    color: #007eff;
}

.single-cicrle {
    color: #ff9000;
}

.triangle {
    color: #05788d;
}

.memo {
    margin-bottom: 1.5em;
    padding: 1em;
    background: #fff3e5;
    color: #545454;
}

.memo_ttl {
    margin-bottom: 5px;
    color: #ffb36b;
    font-size: 1.2em;
    font-weight: bold;
}

.memo p {
    margin-bottom: 0;
}

.memo_ttl:before {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 0 3px 0 0;
    border-radius: 50%;
    background: #ffb36b;
    color: #fff;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    text-align: center;
    vertical-align: middle;
    content: "\f303";
}

.memo.alert {
    background: #ffebeb;
    margin-top: 20px;
}

.memo.alert .memo_ttl {
    color: #ff8376;
}

.memo.alert .memo_ttl:before {
    background: #ff8376;
    content: "\f12a";
}

.li-check {
    border: 2px solid #069856;
    margin-bottom: 20px;
}

.li-check ul {
    background: none;
    position: relative;
    padding: 20px;
}

.li-mainbdr ul,
.li-mainbdr ol,
.li-mainbdr ul,
.li-mainbdr ol {
    border-color: #069856;
}

.li-check li:before {
    position: absolute;
    left: 1em;
    color: #069856;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    content: "\f00c";
    left: 19px;
}

.li-check li {
    line-height: 2.4em;
    border-bottom: 1px dashed hsla(0, 0%, 78%, .9);
    padding-left: 24px;
}

.sgb-css-id-8 .sng-box {
    border: none;
    max-width: 800px;
    margin: 8px auto;
    font-weight: unset;
}

.sgb-css-id-8 .wp-block-columns {
    box-shadow: var(--wp--custom--shadow--medium, 0 6px 13px -3px rgba(0, 12, 66, 0.1), 0 0px 1px rgba(0, 30, 100, 0.1));
    background: #fff;
    padding: 0;
    display: flex;
    margin-bottom: 0;
    border-radius: calc(var(--sgb--custom--box-radius, 6)* 1px);
    box-sizing: border-box;
    flex-wrap: nowrap;
    gap: 0;
    overflow: hidden;
}

.sgb-css-id-8 .wp-block-columns>* {
    width: 100%;
}

.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
}

.sgb-css-id-8 .sgb-heading {
    margin: 0 !important;
}

.sgb-css-id-8 .sng-box ul,
.sgb-css-id-8 .sng-box ol {
    margin: 16px 0;
    padding: 0.2em 1.45em;
    border: none;
}

.sgb-css-id-8 li:last-child {
    border-bottom: 0;
}

.li-chevron li,
.li-check li,
.li-yubi li,
.li-niku li {
    list-style-type: none !important;
    padding: 0.5em 0;
    line-height: 1.5;
    padding-left: 40px;

}

.li-check .sgb-css-id-4 li:before {
    content: "\f111" !important;
    font-weight: 300 !important;
    position: absolute;
    left: 0px;
    font-family: "Font Awesome 5 Free" !important;
    width: 1.25em;
    color: #069856 !important;
    display: block !important;
    transform: none;
}

.sgb-heading__inner {
    display: block;
    font-weight: 900;
    line-height: 1.4;
}

.li-check .sgb-css-id-7 li:before {
    content: "\f00d" !important;
    font-weight: 900;
    position: absolute;
    left: 0px;
    font-family: "Font Awesome 5 Free" !important;
    width: 1.25em;
    color: #f7931f !important;
    transform: none;
}

.sgb-css-id-8 {
    border: none;
    max-width: 800px;
    margin: 8px auto;
    font-weight: unset;
}

.sgb-css-id-8 .wp-block-columns.is-not-stacked-on-mobile>.wp-block-column:not(:first-child) {
    margin-left: 0;
    margin-top: 0 !important;
}

ul.sgb-css-id-4,
ul.sgb-css-id-7 {
    padding: 0 10px 0 10px;
}

.sgb-css-id-8 li,
.sgb-css-id-7 li {
    border-bottom: dashed 2px #dadada;
    font-size: 15px;
    padding-left: 1.4em !important;
    margin-top: 0 !important;
}

.outline-blockmerit {
    background-color: #b4e0fa24;
    padding: 0 !important;
}

.li-check ul {
    background: none;
}

.wp-block-sgb-list {
    margin-top: 6px !important;
}

.inline-blockmerit {
    background-color: #069856;
    border-color: transparent;
    font-size: 1em;
    text-align: center;
}

.outline-blockdemerit {
    background-color: #ffebeb52;
    padding: 0 !important;
}

.inline-blockdemerit {
    background-color: #f7931f;
    border-color: transparent;
    font-size: 1em;
    text-align: center;
}

.box1 {
    padding: 0;
}

.sgb-heading--type2 {
    border: 2px solid transparent;
    border-radius: 2px;
    padding: 0.75em 0.65em;
}

.meritto,
.demeritto {
    position: relative;
    padding: 20px 20px 20px 30px;
    margin: 4em 0 2em !important;
}

.meritto {
    border: 3px solid #069856;
}

.demeritto {
    border: 3px solid #f7931f;
}

.meritto .box-title,
.demeritto .box-title {
    position: absolute;
    top: -42px;
    left: -3px;
    color: white;
    line-height: 32px;
    padding: 5px 13px 3px;
    border-radius: 10px 10px 0 0;
}

.meritto .box-title {
    background: #069856;
}

.demeritto .box-title {
    background: #f7931f;
}

.meritto .box-title:before,
.demeritto .box-title:before {
    margin-right: 10px;
    font-size: 1.2em;
}

.meritto .box-title:before {
    content: "\f599";
}

.demeritto .box-title:before {
    content: "\f119";
}

.meritto ul,
.demeritto ul {
    list-style: none;
}

.meritto li,
.demeritto li {
    padding: .5em 0 !important;
    padding-left: 6px !important;
}

.meritto li:before,
.demeritto li:before {
    margin-left: -20px;
    margin-right: 10px;
}

.meritto li:before {
    content: "\f164" !important;
    color: #069856 !important;
    transform: none !important;
    font-size: 16px;
}

.demeritto li:before {
    content: "\f165" !important;
    color: #f7931f !important;
    transform: none !important;
    font-size: 16px;
}

.meritto li:before,
.meritto .box-title:before,
.demeritto li:before,
.demeritto .box-title:before {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
}

.wp-block-sgb-list .li-check {
    border: none;
}

.js-scrollable td,
.js-scrollable th {
    white-space: normal;
    min-width: 166px;
    max-width: 330px
}

.js-scrollable table {
    margin-bottom: 0;
}

.js-scrollable {
    margin-bottom: 30px;
}

.scroll-hint-icon {
    width: 150px;
    height: 100px;
}

.scroll-hint-text {
    font-size: 14px;
    margin-top: 10px;
}

.js-scrollable th {
    background: #2e7d32;
}

.tate thead td {
    background: #2e7d32;
}

.js-scrollable td,
.js-scrollable th {
    text-align: center;
}

table.tate .fixed01 {
    position: sticky;
    left: 0;
    color: #fff;
    background: #2e7d32 !important;
    font-weight: bold;
    text-align: center;
    z-index: 9999;
}

/*吹き出し（会話形式）[say]*/
.say {
    display: table;
    overflow: hidden;
    width: 100%;
    margin: 1.5em 0;
}

.faceicon {
    display: table-cell;
    width: 110px;
    padding-right: 20px;
    text-align: center;
    vertical-align: top;
}

.faceicon img {
    width: 100%;
    background: #fff;
    height: auto;
    border: solid 3px #eaedf2;
    border-radius: 50%;
}

.faceicon span {
    font-size: 11px;
    font-weight: bold;
    margin-top: 0;
    line-height: 1;
    display: block;
    text-align: center;
}

.chatting {
    display: table-cell;
    position: relative;
    width: calc(100% - 100px);
    font-size: 0.95em;
    vertical-align: top;
}

.sc {
    display: inline-block;
    text-align: left;
    padding: 13px;
    font-size: 16px;
    border: solid 2px #d5d5d5;
    border-radius: 12px;
    background: #fff;
    word-break: break-word;
}

.sc:before {
    display: inline-block;
    position: absolute;
    top: 18px;
    left: -23px;
    border: 12px solid transparent;
    border-right: 12px solid #d5d5d5;
    content: "";
}

.sc:after {
    display: inline-block;
    position: absolute;
    top: 18px;
    left: -20px;
    border: 12px solid transparent;
    border-right: 12px solid #fff;
    content: "";
}

.sc p {
    margin: 5px 0;
    padding: 0;
}

/*吹き出し（右）*/
.right {
    text-align: right;
}

.right .faceicon {
    padding: 0 0 0 20px;
}

.right .sc:before,
.right .sc:after {
    right: -23px;
    left: auto;
    border: 12px solid transparent;
    border-left: 12px solid #d5d5d5;
}

.right .sc:after {
    right: -20px;
    border-left-color: #fff;
}

.box-title {
    font-weight: bold;
}

.box29 .box-title {
    display: inline-block;
    position: relative;
    top: 0px;
    padding: 2px 9px;
    background: #2e7d32;
    color: #fff;
    font-size: 17px;
    line-height: 1.5;
}

.sng-box .li-check ul,
.sng-box .li-check {
    border: none !important;
}

.box29 .box-title:before {
    padding-right: 4px;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    content: "\f0eb";
}

.box29 {
    margin: 2em 0;
    border: solid 2px #2e7d32;
    background: #fff;
}


:root {
    --kr-main-color: #333;
    --kr-accent-color: #ff8f00;
    --kr-bg-color: #f9f9f9;
    --kr-card-bg: #fff;
    --kr-border-radius: 8px;
    --kr-shadow: 0 4px 6px rgba(0, 0, 0, .05);
    --kr-guide-bg: #fffbf0;
    --kr-table-header: #f0f0f0;
    --kr-item-bg: #fdfdfd;
}

.kr-grid-section {
    background: #f4f4f4;
    padding: 80px 20px;
}

.kr-grid-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.kr-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.kr-card {
    background: var(--kr-card-bg);
    border-radius: var(--kr-border-radius);
    box-shadow: var(--kr-shadow);
    overflow: hidden;
    transition: transform .3s, box-shadow .3s;
    border: 1px solid #eee;
    display: flex;
    flex-direction: column;
}

.kr-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 15px rgba(0, 0, 0, .1);
}

.kr-image-box {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #f0f0f0;
    position: relative;
}

.kr-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s;
}

.kr-card:hover .kr-image-box img {
    transform: scale(1.05);
}

.kr-content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.kr-area-tag {
    display: inline-block;
    background: #eee;
    color: #666;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 4px;
    margin-bottom: 10px;
    align-self: flex-start;
}

.kr-title {
    font-size: 16px;
    font-weight: bold;
    color: var(--kr-main-color);
    margin: 0 0 15px;
    line-height: 1.5;
}

.kr-price-area {
    margin-top: auto;
    text-align: right;
    border-top: 1px dashed #ddd;
    padding-top: 10px;
}

.kr-price-label {
    font-size: 12px;
    color: #888;
    margin-right: 5px;
}

.kr-price {
    font-size: 24px;
    font-weight: bold;
    color: var(--kr-accent-color);
    font-family: Arial, sans-serif;
    letter-spacing: -.5px;
}

.kr-yen {
    font-size: 14px;
    font-weight: bold;
    color: var(--kr-main-color);
    margin-left: 2px;
}


@media (max-width: 768px) {
    .kr-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .kr-grid-section {
        padding: 40px 20px;
    }

}



/* 回収実績表示用スタイル（シンプル版） */

/* Case Studies Grid */
.case-studies-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

.case-study-card {
    background: white;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    border: 1px solid #E5E7EB;
    padding: 1.5rem;
    transition: box-shadow 0.3s;
}

.case-study-card:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Case Header */
.case-header {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.customer-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.customer-avatar {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.customer-name {
    font-weight: 600;
    color: #111827;
    font-size: 1.1rem;
    margin-bottom: 0.25rem;
}

.customer-meta {
    font-size: 0.875rem;
    background: #F3F4F6;
    border-radius: 1rem;
    padding: 0.25rem 0.75rem;
    color: #374151;
}

.case-meta {
    text-align: right;
    display: flex;
}

.service-tag,
.time-info {
    display: inline-block;
    background: #DBEAFE;
    color: #1E40AF;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.service-tag {
    margin-right: 10px;
}

/* Before/After Images */
.before-after {
    margin-bottom: 1.5rem;
}

.image-section {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.image-container {
    position: relative;
    flex: 1;
    min-width: 200px;
    max-width: 100%;
}

.case-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 0.5rem;
    border: 2px solid #E5E7EB;
}

.image-label {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: white;
}

.image-label.before {
    background: #919191;
}

.image-label.after {
    background: #2e7d32;
}

.arrow {
    font-size: 1.5rem;
    font-weight: 700;
    color: #2e7d32;
    flex-shrink: 0;
}

/* Case Details */
.case-details {
    display: grid;
    gap: 1rem;
}

.case-date {
    font-size: 0.75rem;
    color: #9CA3AF;
    text-align: right;
    margin-top: 0.5rem;
}

/* Step Note (回収物) */
.step-note {
    background: #e6f7ec;
    border: 1px solid #2e7d32;
    border-radius: 0.5rem;
    padding: 0.75rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
}

.step-note span {
    color: #2e7d32;
}

/* Staff Comment */
.staff-comment {
    position: relative;
    margin-top: 20px;
}

.staff-info {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.staff-avatar {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: #2e7d32;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 1.1rem;
}

.staff-name {
    font-weight: 700;
    color: #2e7d32;
    font-size: 0.95rem;
}

.comment-bubble {
    background: white;
    border: 1px solid #e9ecef;
    border-radius: 16px;
    padding: 18px 22px;
    position: relative;
    line-height: 1.7;
    color: #555;
    font-size: 0.95rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.comment-bubble::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 24px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #e9ecef;
}

.comment-bubble::after {
    content: '';
    position: absolute;
    top: -5px;
    left: 25px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid white;
}

/* Responsive Design */
@media (max-width: 768px) {
    .case-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .case-meta {
        text-align: left;
    }

    .image-section {
        flex-direction: column;
        gap: 0.5rem;
    }

    .arrow {
        transform: rotate(90deg);
    }

    .image-container {
        max-width: 100%;
    }
}

/* ========================================
   品川エリア アンケートグラフセクション
======================================== */
.shinagawa-survey-section {
    background-color: #fff;
    padding: 60px 20px;
    border-bottom: 1px solid #eee;
}

.shinagawa-survey-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.shinagawa-survey-title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
    color: #333;
}

.shinagawa-survey-title i {
    color: #2e7d32;
    margin-right: 10px;
}

.shinagawa-survey-title span {
    color: #2e7d32;
}

.shinagawa-survey-lead {
    text-align: center;
    margin-bottom: 40px;
    color: #666;
    font-size: 15px;
}

.shinagawa-survey-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.shinagawa-survey-card {
    background: #fff;
    border-radius: 8px;
    padding: 25px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    border: 1px solid #e0e0e0;
    transition: transform 0.3s ease;

    /* スマホではみ出し防止 */
    width: 100%;
    box-sizing: border-box;
}

.shinagawa-survey-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(46, 125, 50, 0.15);
    /* 緑系の影 */
    border-color: #2e7d32;
}

/* 棒グラフは横幅いっぱい（PC時） */
.shinagawa-survey-full {
    grid-column: 1 / -1;
}

.shinagawa-survey-question {
    font-size: 18px;
    font-weight: 700;
    color: #2e7d32;
    /* メインカラー緑 */
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #2e7d32;
    /* 薄い緑 */
    text-align: center;
}

.shinagawa-survey-question::before {
    content: 'Q.';
    font-size: 20px;
    font-weight: 900;
    margin-right: 8px;
    color: #2e7d32;
    /* アクセントカラー オレンジ */
}

/* チャートコンテナ */
.chart-container {
    position: relative;
    width: 100%;
    height: 260px;
    /* PCでの基本高さ */
    margin-bottom: 20px;
}

.chart-container.bar-chart {
    height: 300px;
}

.shinagawa-survey-result {
    background: #f9f9f9;
    /* 薄い緑背景 */
    padding: 15px;
    border-radius: 6px;
    font-size: 14px;
    color: #333;
    line-height: 1.7;
    text-align: justify;
    /* アクセント オレンジ */
}

/* レスポンシブ対応 (スマホ) */
@media (max-width: 768px) {
    .shinagawa-survey-section {
        padding: 40px 15px;
    }

    .shinagawa-survey-grid {
        grid-template-columns: 1fr;
        /* 1カラム強制 */
        gap: 30px;
    }

    .shinagawa-survey-full {
        grid-column: auto;
        /* 全幅解除 */
    }

    .shinagawa-survey-card {
        padding: 20px 15px;
    }

    .chart-container {
        /* スマホでは凡例が下に来る分、高さを確保 */
        height: 320px;
    }

    .chart-container.bar-chart {
        height: 280px;
    }

    .shinagawa-survey-title {
        font-size: 20px;
    }

    .shinagawa-survey-question {
        font-size: 16px;
    }
}


/* ===================================================
   那覇市不用品回収 独自コンポーネントスタイル
   =================================================== */

.shinagawa-container {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 20px;
    font-family: var(--swl-font_family);
    color: #333;
}

/* ===== ヘッダー ===== */
.shinagawa-main-header {
    text-align: center;
    margin-bottom: 40px;
}

.shinagawa-main-header h2 {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin-bottom: 15px;
}

.shinagawa-main-header-sub {
    color: #888;
    font-weight: bold;
}

.shinagawa-main-header .shinagawa-marker-red {
    background: linear-gradient(transparent 60%, #fff8e1 60%);
    text-decoration-color: #fff8e1;
    text-decoration-thickness: 8px;
}

/* ===== アイコンカード ===== */
.shinagawa-icon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 50px;
}

.shinagawa-icon-card {
    background: #ffffff;
    padding: 25px 15px;
    border-radius: 8px;
    text-align: center;
    border: 2px solid #f5f5f5;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.shinagawa-icon-card i {
    font-size: 40px;
    margin-bottom: 15px;
    color: #2e7d32;
}

.shinagawa-icon-card h3 {
    margin: 0 !important;
    font-size: 1.1em !important;
}

.shinagawa-icon-card p {
    font-size: 11px;
    color: #666;
    margin: 0;
}

/* ===== アイコン色 ===== */
.shinagawa-icon-orange {
    color: #f5a511;
}

.shinagawa-icon-cream {
    color: #fff8e1;
}

.shinagawa-icon-gray {
    color: #ccc;
}

.shinagawa-icon-top {
    margin-top: 5px;
}

/* ===== 料金表・持込案内 ===== */
.shinagawa-flex-row {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 60px;
}

.shinagawa-flex-box {
    flex: 1;
    min-width: 300px;
}

.shinagawa-price-card {
    background: #ffffff;
    border-radius: 8px;
    padding: 30px;
    border: 1px solid #eee;
}

.shinagawa-price-card h3 {
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 25px;
    margin-top: 0px !important;
    display: flex;
    align-items: center;
    gap: 10px;
}

.shinagawa-price-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.shinagawa-price-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #f5f5f5;
    padding-bottom: 8px;
}

.shinagawa-price-item span {
    font-size: 11px;
    font-weight: bold;
}

.shinagawa-price-tatami-label {
    color: #f5a511;
}

.shinagawa-price-note {
    font-size: 10px;
    color: #aaa;
    margin-top: 20px;
}

.shinagawa-badge {
    background: #f5f5f5;
    color: #424242;
    font-size: 12px;
    padding: 2px 10px;
    border-radius: 8px;
}

.shinagawa-badge-gold {
    background: #f5a511;
    color: #fff;
}

/* ===== 持込案内（ブルー） ===== */
.shinagawa-info-card {
    background: #2e7d32;
    color: #fff;
    border-radius: 8px;
    padding: 35px;
}

.shinagawa-info-label-wrap {
    margin-bottom: 15px;
}

.shinagawa-info-inner-label {
    background: rgba(255, 255, 255, 0.2);
    display: inline-block;
    padding: 2px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: bold;
}

.shinagawa-info-heading {
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 15px;
}

.shinagawa-info-body {
    font-size: 13px;
    opacity: 0.9;
    margin-bottom: 20px;
}

.shinagawa-info-card .shinagawa-accent-gold {
    color: #ffd700;
}

.shinagawa-facility-box {
    background: rgba(255, 255, 255, 0.15);
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 10px;
}

.shinagawa-facility-box p {
    font-size: 12px;
    margin: 0;
}

.shinagawa-facility-box-title {
    color: #fff;
    font-weight: bold;
}

/* ===== 施設拠点一覧テーブル ===== */
.shinagawa-table-wrap {
    background: #fff;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid #eee;
    margin-bottom: 50px;
}

.shinagawa-table-head {
    background: #f5f5f5;
    padding: 15px 25px;
    font-weight: 900;
}

.shinagawa-data-table {
    width: 100%;
    border-collapse: collapse;
}

.shinagawa-data-table th,
.shinagawa-data-table td {
    padding: 15px;
    font-size: 13px;
    border-bottom: 1px solid #eee;
    text-align: left;
}

.shinagawa-data-table th {
    background: #fafafa;
    color: #888;
}

.shinagawa-tel-link {
    color: #2e7d32;
    font-weight: 900;
    text-decoration: none;
}

/* ===== 1箇所のみの大型案内 ===== */
.shinagawa-single-facility {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #eee;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    margin: 40px auto;
}

.shinagawa-single-left {
    flex: 1;
    padding: 40px;
    min-width: 280px;
}

.shinagawa-facility-label {
    color: #2e7d32;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 2px;
}

.shinagawa-facility-name {
    font-size: 28px;
    font-weight: 900;
    margin: 10px 0 20px;
}

.shinagawa-facility-row {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-bottom: 15px;
}

.shinagawa-facility-info-title {
    font-weight: bold;
    font-size: 14px;
    margin: 0;
}

.shinagawa-facility-info-text {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.shinagawa-facility-tel {
    font-size: 20px;
    color: #2e7d32;
    font-weight: 900;
    margin: 0;
}

.shinagawa-facility-hours {
    border-top: 1px dashed #eee;
    padding-top: 15px;
    margin-top: 15px;
    font-size: 12px;
    color: #999;
}

.shinagawa-single-right {
    flex: 1;
    background: #dbf0b9;
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 280px;
}

/* ===== 回収不可一覧リスト ===== */
.shinagawa-list-wrapper {
    max-width: 1100px;
    margin: 40px auto;
    font-family: "Noto Sans JP", sans-serif;
}

.shinagawa-table-card {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid #eee;
    overflow: hidden;
    margin-bottom: 40px;
}

.shinagawa-table-head-bar {
    background: #2e7d32;
    padding: 20px 30px;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.shinagawa-table-head-bar h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 900;
    display: flex;
    align-items: center;
    gap: 10px;
}

.shinagawa-table-head-bar .shinagawa-count-tag {
    font-size: 12px;
    opacity: 0.8;
    font-weight: bold;
}

.shinagawa-scroll-area {
    max-height: 500px;
    overflow-y: auto;
    padding: 10px 30px 30px;
    scrollbar-width: thin;
    scrollbar-color: #f5a511 #f5f5f5;
}

.shinagawa-scroll-area::-webkit-scrollbar {
    width: 6px;
}

.shinagawa-scroll-area::-webkit-scrollbar-track {
    background: #f5f5f5;
}

.shinagawa-scroll-area::-webkit-scrollbar-thumb {
    background-color: #f5a511;
    border-radius: 8px;
}

.shinagawa-list-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.shinagawa-list-table thead th {
    position: sticky;
    top: 0;
    background: #2e7d32;
    padding: 15px 10px;
    font-size: 12px;
    color: #fff;
    border-bottom: 1px solid #eee;
    z-index: 5;
}

.shinagawa-col-name {
    width: 35%;
}

.shinagawa-col-note {
    width: 65%;
}

.shinagawa-list-table tbody td {
    padding: 18px 10px;
    border-bottom: 1px solid #f9f9f9;
    font-size: 14px;
    vertical-align: middle;
}

.shinagawa-list-table tr:hover {
    background-color: #fff8e1;
}

.shinagawa-cat-tag {
    font-size: 10px;
    padding: 3px 10px;
    border-radius: 4px;
    font-weight: bold;
    margin-right: 8px;
    display: inline-block;
    white-space: nowrap;
}

.shinagawa-tag-diff {
    background-color: #dbf0b9;
    color: #2e7d32;
}

.shinagawa-tag-danger {
    background-color: #f5f5f5;
    color: #424242;
}

.shinagawa-tag-recyc {
    background-color: #ffecd4;
    color: #ff8f00;
}

.shinagawa-item-name {
    font-weight: 900;
    color: #222;
}

.shinagawa-item-note {
    color: #666;
    font-size: 13px;
}

.shinagawa-table-footer {
    padding: 20px;
    text-align: center;
    font-size: 12px;
    color: #aaa;
    background: #fafafa;
    border-top: 1px solid #eee;
    font-weight: bold;
}

/* ===== レスポンシブ ===== */
@media (max-width: 768px) {
    .shinagawa-main-header h2 {
        font-size: 24px;
    }

    .shinagawa-price-list {
        grid-template-columns: 1fr;
    }

    .shinagawa-single-left {
        padding: 30px;
    }

    .shinagawa-scroll-area {
        padding: 10px 15px 20px;
    }

    .shinagawa-table-head-bar {
        padding: 15px 20px;
    }
}