@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: #bae1f5;
    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;
    }
}

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

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

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

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

.ibaraki-area-title i {
    color: #2690c9;
    margin-right: 10px;
}

.ibaraki-area-title span {
    color: #2690c9;
}

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

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

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

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

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

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

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

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

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

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

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

.ibaraki-achievement-title {
    font-size: 26px;
    margin-bottom: 22px;
    color: #2690c9;
}

.ibaraki-achievement-title span {
    color: #2690c9;
    font-size: 30px;
    font-weight: bold;
}

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

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

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

.ibaraki-achievement-text h3 {
    font-size: 20px;
    margin-bottom: 20px;
    color: #2690c9;
    text-align: left;
}

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

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

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

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

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

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

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

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

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

.ibaraki-problem-cta {
    background-color: #2690c9;
    color: white;
    padding: 40px;
    text-align: center;
    border-radius: 8px;
    margin-top: 40px;
}

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

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

.ibaraki-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;
}

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

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

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

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

.ibaraki-comparison-title i {
    color: #2690c9;
    margin-right: 10px;
}

.ibaraki-comparison-title span {
    color: #2690c9;
}

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

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

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

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

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

.ibaraki-comparison-header-main {
    background-color: #2690c9;
    color: white;
    font-size: 16px;
}

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

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

.ibaraki-comparison-main {
    background-color: #bae1f5;
    color: #2690c9;
    font-weight: bold;
}

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

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

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

.ibaraki-voice-title span {
    color: #2690c9;
}

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

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

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

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

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

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

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

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

.ibaraki-voice-arrow {
    font-size: 48px;
    color: #2690c9;
}

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

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

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

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

.ibaraki-voice-highlight {
    color: #2690c9;
    font-weight: bold;
}

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

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

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

.ibaraki-service-intro-title span {
    color: #2690c9;
}

.ibaraki-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;
}

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

.ibaraki-service-intro-hero-text h3 {
    font-size: 20px;
    margin-bottom: 20px;
    color: #2690c9;
}

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

.ibaraki-service-intro-hero-text .ibaraki-service-highlight {
    color: #2690c9;
    font-weight: bold;
}

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

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

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

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

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

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

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

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

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

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

.ibaraki-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;
}

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

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

.ibaraki-service-other-content h4 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #2690c9;
}

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

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

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

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

.ibaraki-price-title span {
    color: #2690c9;
}

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

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

.ibaraki-price-intro-text h3 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #2690c9;
}

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

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

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

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

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

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

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

.ibaraki-pack-header {
    background-color: #2690c9;
    color: white;
    padding: 15px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ibaraki-plan-features-title span {
    color: #2690c9;
}

.ibaraki-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;
}

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

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

.ibaraki-plan-feature-content h3 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #2690c9;
}

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

.ibaraki-plan-feature-highlight {
    color: #2690c9;
    font-weight: bold;
}

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

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

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

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

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

.ibaraki-reasons-header p {
    font-size: 20px;
    color: #2690c9;
    font-weight: bold;
}

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

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

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

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

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

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

.ibaraki-reason-content h3 {
    font-size: 24px;
    margin-bottom: 20px;
    color: #2690c9;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ibaraki-cases-title i {
    color: #2690c9;
    margin-right: 10px;
}

.ibaraki-cases-title span {
    color: #2690c9;
}

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

.ibaraki-case-header {
    background-color: #2690c9;
    color: white;
    padding: 20px 22px;
    font-size: 22px;
    font-weight: bold;
}

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

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

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

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

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

.ibaraki-case-customer {
    font-size: 20px;
    font-weight: bold;
    color: #2690c9;
    padding-bottom: 15px;
    border-bottom: 3px solid #2690c9;
}

.ibaraki-case-customer-label {
    color: #2690c9;
    font-size: 14px;
    margin-left: 10px;
}

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

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

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

.ibaraki-case-info-value {
    font-weight: bold;
    color: #2690c9;
    font-size: 18px;
}

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

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

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

.ibaraki-case-testimony {
    background-color: #bae1f5;
    padding: 22px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ibaraki-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ibaraki-flow-title i {
    color: #2690c9;
    margin-right: 10px;
}

.ibaraki-flow-title span {
    color: #2690c9;
}

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

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

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

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

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

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

.ibaraki-flow-step-title {
    font-size: 18px;
    font-weight: bold;
    color: #2690c9;
    margin-bottom: 15px;
}

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

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

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

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

.ibaraki-faq-title i {
    color: #2690c9;
    margin-right: 10px;
}

.ibaraki-faq-title span {
    color: #2690c9;
}

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

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

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

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

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

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

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

.ibaraki-company-title i {
    color: #2690c9;
    margin-right: 10px;
}

.ibaraki-company-title span {
    color: #2690c9;
}

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

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

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

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

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

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

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

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

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

.ibaraki-company-license-item i {
    color: #2690c9;
}

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

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

.ibaraki-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 #2690c9;
}

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

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

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

.ibaraki-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) {

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

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

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

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

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

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

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

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

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

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

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

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

/*エリアページ用*/

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

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

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

.fuyohin-ibaraki-pricing-header {
    background-color: #2690c9;
    border-radius: 15px 15px 0 0;
    padding: 25px 22px;
    text-align: center;
}

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

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

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

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

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

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

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

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

.fuyohin-ibaraki-point-number {
    background-color: #2690c9;
    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-ibaraki-point-heading {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    margin: 0;
}

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

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

.fuyohin-ibaraki-guide-header {
    background-color: #2690c9;
    padding: 18px 25px;
}

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

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

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

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

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

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

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

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

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

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

.fuyohin-ibaraki-alert-num {
    background-color: #2690c9;
    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-ibaraki-alert-box p {
    font-size: 13px;
    line-height: 1.7;
    color: #333;
    margin: 0;
}

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

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

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

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

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

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

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

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

.fuyohin-ibaraki-compare-table thead {
    background-color: #2690c9;
}

.fuyohin-ibaraki-th-empty {
    width: 100px;
    background-color: #2690c9;
    padding: 15px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .fuyohin-ibaraki-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: #2690c9;
    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: #2690c9;
    color: white;
}

.contact-cta-btn-email:hover {
    background: #134f8f;
    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, #2690c9 0%, #2690c9 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: #2690c9;
    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: #2690c9;
}

.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: #2690c9;
    color: #fff;
    border-color: #2690c9;
}

.voice-pagination .current {
    background: #2690c9;
    color: #fff;
    border-color: #2690c9;
}

/* 投稿なし */
.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, #2690c9 0%, #2690c9 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: #2690c9;
    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: #2690c9;
}

/* メッセージコンテンツ */
.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: #2690c9;
    border: 2px solid #2690c9;
}

.voice-nav-button.back:hover {
    background: #2690c9;
    color: #fff;
}

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

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

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

/* タブレット */
@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 #2690c9;
    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: #2690c9;
    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: #bae1f5;
    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: #bae1f5;
    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 {
    --oki-purchase-primary-green: #2690c9;
    --oki-purchase-light-green: #bae1f5;
    --oki-purchase-accent-orange: #ff8f00;
    --oki-purchase-white: #ffffff;
    --oki-purchase-light-bg: #b9e1f5;
    --oki-purchase-text-dark: #333333;
    --oki-purchase-text-gray: #666666;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ibaraki-purchase-items-intro {
    background: var(--oki-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);
}

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

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

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

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

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

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

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

.ibaraki-purchase-item-card {
    background: var(--oki-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;
}

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

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

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

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

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

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

/* CTAボタン */
.ibaraki-purchase-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--oki-purchase-primary-green);
    color: var(--oki-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);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .ibaraki-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: #2690c9;
}

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

.intro-lead {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #2690c9;
    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: #2690c9;
    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: #2690c9;
}

/* 私たちのお約束 */
.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 #bae1f5;
    /* 薄い緑 */
    border-radius: 12px;
    padding: 30px;
    transition: transform 0.3s ease;
}

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

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

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

.promise-item h3 {
    font-size: 20px;
    color: #2690c9;
    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 #2690c9;
    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: #2690c9;
    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: #2690c9;
    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 #2690c9;
    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: #2690c9;
}

.li-check li:before {
    position: absolute;
    left: 1em;
    color: #2690c9;
    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: #2690c9 !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: #2690c9;
    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 #2690c9;
}

.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: #2690c9;
}

.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: #2690c9 !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: #2690c9;
}

.tate thead td {
    background: #2690c9;
}

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

table.tate .fixed01 {
    position: sticky;
    left: 0;
    color: #fff;
    background: #2690c9 !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: #2690c9;
    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 #2690c9;
    background: #fff;
}



/* --------------------------------------------------
   アンケートグラフセクション (茨城サイト用)
-------------------------------------------------- */
.ibaraki-chart-section {
    padding: 80px 20px;
    background-color: #f5f5f5;
    /* 既存エリアセクションと合わせる */
}

.ibaraki-chart-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

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

.ibaraki-chart-title span {
    color: #2690c9;
    /* メインブルー */
    font-weight: bold;
}

.ibaraki-chart-lead {
    text-align: center;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 48px;
    color: #555;
}

.ibaraki-chart-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 32px;
}

.ibaraki-chart-card {
    background: #fff;
    border-radius: 8px;
    /* サイト内の他要素と統一 */
    padding: 32px 24px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.ibaraki-chart-full {
    grid-column: 1 / -1;
}

.ibaraki-chart-question {
    font-size: 18px;
    font-weight: 700;
    color: #2690c9;
    /* メインブルー */
    margin-bottom: 24px;
    text-align: center;
    padding-bottom: 12px;
    border-bottom: 2px solid #bae1f5;
    /* 背景色の薄い青 */
}

.ibaraki-chart-canvas-wrap {
    position: relative;
    width: 100%;
    height: 260px;
    margin-bottom: 24px;
}

.ibaraki-chart-canvas-wrap.bar-chart {
    height: 320px;
}

.ibaraki-chart-result {
    background: #bae1f5;
    /* 背景色の薄い青 */
    padding: 16px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.8;
    color: #333;
    border-left: 4px solid #ff8f00;
    /* アクセントオレンジ */
}

@media screen and (max-width: 768px) {
    .ibaraki-chart-section {
        padding: 40px 20px;
    }

    .ibaraki-chart-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ibaraki-chart-full {
        grid-column: auto;
    }

    .ibaraki-chart-question {
        font-size: 16px;
    }

    .ibaraki-chart-canvas-wrap {
        height: 300px;
    }
}

/* ===================================================
   茨城不用品回収センター 独自コンポーネントスタイル
   =================================================== */

.ibk-un-container {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 20px;
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
}

/* ===== ヘッダー ===== */
.ibk-un-main-header {
    text-align: center;
    margin-bottom: 40px;
}

.ibk-un-main-header h2 {
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3;
    margin-bottom: 15px;
}

.ibk-un-main-header-sub {
    color: #888;
    font-weight: bold;
}

.ibk-un-main-header .ibk-un-marker-red {
    background: linear-gradient(transparent 60%, #fff8e1 60%);
    text-decoration-color: #fff8e1;
    text-decoration-thickness: 8px;
}

/* ===== アイコンカード ===== */
.ibk-un-icon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 50px;
}

.ibk-un-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);
}

.ibk-un-icon-card i {
    font-size: 40px;
    margin-bottom: 15px;
    color: #2690c9;
}

.ibk-un-icon-card h3 {
    margin: 0 !important;
    font-size: 1.1em !important;
}

.ibk-un-icon-card p {
    font-size: 11px;
    color: #666;
    margin: 0;
}

/* ===== アイコン色 ===== */
.ibk-un-icon-orange {
    color: #f5a511;
}

.ibk-un-icon-cream {
    color: #fff8e1;
}

.ibk-un-icon-gray {
    color: #ccc;
}

.ibk-un-icon-top {
    margin-top: 5px;
}

/* ===== 料金表・持込案内 ===== */
.ibk-un-flex-row {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 60px;
}

.ibk-un-flex-box {
    flex: 1;
    min-width: 300px;
}

.ibk-un-price-card {
    background: #ffffff;
    border-radius: 8px;
    padding: 30px;
    border: 1px solid #eee;
}

.ibk-un-price-card h3 {
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 25px;
    margin-top: 0px !important;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ibk-un-price-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.ibk-un-price-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #f5f5f5;
    padding-bottom: 8px;
}

.ibk-un-price-item span {
    font-size: 11px;
    font-weight: bold;
}

.ibk-un-price-tatami-label {
    color: #f5a511;
}

.ibk-un-price-note {
    font-size: 10px;
    color: #aaa;
    margin-top: 20px;
}

.ibk-un-badge {
    background: #f5f5f5;
    color: #424242;
    font-size: 12px;
    padding: 2px 10px;
    border-radius: 8px;
}

.ibk-un-badge-gold {
    background: #f5a511;
    color: #fff;
}

/* ===== 持込案内（ブルー） ===== */
.ibk-un-info-card {
    background: #2690c9;
    color: #fff;
    border-radius: 8px;
    padding: 35px;
}

.ibk-un-info-label-wrap {
    margin-bottom: 15px;
}

.ibk-un-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;
}

.ibk-un-info-heading {
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 15px;
}

.ibk-un-info-body {
    font-size: 13px;
    opacity: 0.9;
    margin-bottom: 20px;
}

.ibk-un-info-card .ibk-un-accent-gold {
    color: #ffd700;
}

.ibk-un-facility-box {
    background: rgba(255, 255, 255, 0.15);
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 10px;
}

.ibk-un-facility-box p {
    font-size: 12px;
    margin: 0;
}

.ibk-un-facility-box-title {
    color: #fff;
    font-weight: bold;
}

/* ===== 施設拠点一覧テーブル ===== */
.ibk-un-table-wrap {
    background: #fff;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid #eee;
    margin-bottom: 50px;
}

.ibk-un-table-head {
    background: #f5f5f5;
    padding: 15px 25px;
    font-weight: 900;
}

.ibk-un-data-table {
    width: 100%;
    border-collapse: collapse;
}

.ibk-un-data-table th,
.ibk-un-data-table td {
    padding: 15px;
    font-size: 13px;
    border-bottom: 1px solid #eee;
    text-align: left;
}

.ibk-un-data-table th {
    background: #fafafa;
    color: #888;
}

.ibk-un-tel-link {
    color: #2690c9;
    font-weight: 900;
    text-decoration: none;
}

/* ===== 1箇所のみの大型案内 ===== */
.ibk-un-single-facility {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #eee;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    margin: 40px auto;
}

.ibk-un-single-left {
    flex: 1;
    padding: 40px;
    min-width: 280px;
}

.ibk-un-facility-label {
    color: #2690c9;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 2px;
}

.ibk-un-facility-name {
    font-size: 28px;
    font-weight: 900;
    margin: 10px 0 20px;
}

.ibk-un-facility-row {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-bottom: 15px;
}

.ibk-un-facility-info-title {
    font-weight: bold;
    font-size: 14px;
    margin: 0;
}

.ibk-un-facility-info-text {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.ibk-un-facility-tel {
    font-size: 20px;
    color: #2690c9;
    font-weight: 900;
    margin: 0;
}

.ibk-un-facility-hours {
    border-top: 1px dashed #eee;
    padding-top: 15px;
    margin-top: 15px;
    font-size: 12px;
    color: #999;
}

.ibk-un-single-right {
    flex: 1;
    background: #bae1f5;
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 280px;
}

/* ===== 回収不可一覧リスト ===== */
.ibk-un-list-wrapper {
    max-width: 1100px;
    margin: 40px auto;
    font-family: "Noto Sans JP", sans-serif;
}

.ibk-un-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;
}

.ibk-un-table-head-bar {
    background: #2690c9;
    padding: 20px 30px;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ibk-un-table-head-bar h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 900;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ibk-un-table-head-bar .ibk-un-count-tag {
    font-size: 12px;
    opacity: 0.8;
    font-weight: bold;
}

.ibk-un-scroll-area {
    max-height: 500px;
    overflow-y: auto;
    padding: 10px 30px 30px;
    scrollbar-width: thin;
    scrollbar-color: #f5a511 #f5f5f5;
}

.ibk-un-scroll-area::-webkit-scrollbar {
    width: 6px;
}

.ibk-un-scroll-area::-webkit-scrollbar-track {
    background: #f5f5f5;
}

.ibk-un-scroll-area::-webkit-scrollbar-thumb {
    background-color: #f5a511;
    border-radius: 8px;
}

.ibk-un-list-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.ibk-un-list-table thead th {
    position: sticky;
    top: 0;
    background: #2690c9;
    padding: 15px 10px;
    font-size: 12px;
    color: #fff;
    border-bottom: 1px solid #eee;
    z-index: 5;
}

.ibk-un-col-name {
    width: 35%;
}

.ibk-un-col-note {
    width: 65%;
}

.ibk-un-list-table tbody td {
    padding: 18px 10px;
    border-bottom: 1px solid #f9f9f9;
    font-size: 14px;
    vertical-align: middle;
}

.ibk-un-list-table tr:hover {
    background-color: #fff8e1;
}

.ibk-un-cat-tag {
    font-size: 10px;
    padding: 3px 10px;
    border-radius: 4px;
    font-weight: bold;
    margin-right: 8px;
    display: inline-block;
    white-space: nowrap;
}

.ibk-un-tag-diff {
    background-color: #bae1f5;
    color: #2690c9;
}

.ibk-un-tag-danger {
    background-color: #f5f5f5;
    color: #424242;
}

.ibk-un-tag-recyc {
    background-color: #ffecd4;
    color: #ff8f00;
}

.ibk-un-item-name {
    font-weight: 900;
    color: #222;
}

.ibk-un-item-note {
    color: #666;
    font-size: 13px;
}

.ibk-un-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) {
    .ibk-un-main-header h2 {
        font-size: 24px;
    }

    .ibk-un-price-list {
        grid-template-columns: 1fr;
    }

    .ibk-un-single-left {
        padding: 30px;
    }

    .ibk-un-scroll-area {
        padding: 10px 15px 20px;
    }

    .ibk-un-table-head-bar {
        padding: 15px 20px;
    }
}