.elementor-105533 .elementor-element.elementor-element-e5d1a80{--display:flex;--min-height:250px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-105533 .elementor-element.elementor-element-81744c9{--display:flex;--justify-content:center;--gap:14px 0px;--row-gap:14px;--column-gap:0px;}.elementor-105533 .elementor-element.elementor-element-e38af42{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -16px) 0px;padding:0px 0px 0px 11px;border-style:solid;border-width:0px 0px 0px 4px;border-color:#00AB0D;border-radius:0px 0px 0px 0px;}.elementor-105533 .elementor-element.elementor-element-ebafdeb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 20px;}.elementor-105533 .elementor-element.elementor-element-ebafdeb .elementor-icon-list-icon i{color:#7E7E7E;font-size:14px;}.elementor-105533 .elementor-element.elementor-element-ebafdeb .elementor-icon-list-icon svg{fill:#7E7E7E;--e-icon-list-icon-size:14px;}.elementor-105533 .elementor-element.elementor-element-ebafdeb .elementor-icon-list-icon{width:14px;}.elementor-105533 .elementor-element.elementor-element-ebafdeb .elementor-icon-list-text, .elementor-105533 .elementor-element.elementor-element-ebafdeb .elementor-icon-list-text a{color:#707070;}.elementor-105533 .elementor-element.elementor-element-ebafdeb .elementor-icon-list-item{font-size:13px;}.elementor-105533 .elementor-element.elementor-element-3a72ff4{--display:flex;--min-height:300px;}.elementor-105533 .elementor-element.elementor-element-49bea88{--display:flex;--padding-top:13px;--padding-bottom:13px;--padding-left:13px;--padding-right:13px;}.elementor-105533 .elementor-element.elementor-element-70272c9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-105533 .elementor-element.elementor-element-8192f6e{--spacer-size:50px;}.elementor-105533 .elementor-element.elementor-element-b0f3f86{--display:flex;--min-height:128px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-105533 .elementor-element.elementor-element-b0f3f86:not(.elementor-motion-effects-element-type-background), .elementor-105533 .elementor-element.elementor-element-b0f3f86 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2A262C;}.elementor-105533 .elementor-element.elementor-element-0d58412{--display:flex;--justify-content:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-105533 .elementor-element.elementor-element-f95e3eb{--display:flex;border-style:solid;--border-style:solid;border-width:0px 3px 0px 0px;--border-top-width:0px;--border-right-width:3px;--border-bottom-width:0px;--border-left-width:0px;border-color:#22B553;--border-color:#22B553;}.elementor-105533 .elementor-element.elementor-element-d8d0e7c{margin:-14px 0px calc(var(--kit-widget-spacing, 0px) + -14px) 0px;text-align:center;}.elementor-105533 .elementor-element.elementor-element-d8d0e7c .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:18px;font-weight:900;color:#FFFFFFD4;}.elementor-105533 .elementor-element.elementor-element-6394d2f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--flex-wrap:wrap;--align-content:center;}.elementor-105533 .elementor-element.elementor-element-a53139d .elementor-button{background-color:#02010100;font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:bold;fill:#FFFFFFD4;color:#FFFFFFD4;border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFFD4;border-radius:40px 40px 40px 40px;padding:10px 10px 10px 10px;}.elementor-105533 .elementor-element.elementor-element-a53139d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-105533 .elementor-element.elementor-element-b24cbed .elementor-button{background-color:#02010100;font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:bold;fill:#FFFFFFD4;color:#FFFFFFD4;border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFFD4;border-radius:40px 40px 40px 40px;padding:10px 10px 10px 10px;}.elementor-105533 .elementor-element.elementor-element-b24cbed .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-105533 .elementor-element.elementor-element-908702c .elementor-button{background-color:#02010100;font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:bold;fill:#FFFFFFD4;color:#FFFFFFD4;border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFFD4;border-radius:40px 40px 40px 40px;padding:10px 10px 10px 10px;}.elementor-105533 .elementor-element.elementor-element-908702c .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-105533 .elementor-element.elementor-element-b35fbe0 .elementor-button{background-color:#02010100;font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:bold;fill:#FFFFFFD4;color:#FFFFFFD4;border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFFD4;border-radius:40px 40px 40px 40px;padding:10px 10px 10px 10px;}.elementor-105533 .elementor-element.elementor-element-b35fbe0 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-105533 .elementor-element.elementor-element-0fe3b0d .elementor-button{background-color:#02010100;font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:bold;fill:#FFFFFFD4;color:#FFFFFFD4;border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFFD4;border-radius:40px 40px 40px 40px;padding:10px 10px 10px 10px;}.elementor-105533 .elementor-element.elementor-element-0fe3b0d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-105533 .elementor-element.elementor-element-5304a31 .elementor-button{background-color:#02010100;font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:bold;fill:#FFFFFFD4;color:#FFFFFFD4;border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFFD4;border-radius:40px 40px 40px 40px;padding:10px 10px 10px 10px;}.elementor-105533 .elementor-element.elementor-element-5304a31 .elementor-button-content-wrapper{flex-direction:row-reverse;}@media(max-width:767px){.elementor-105533 .elementor-element.elementor-element-e5d1a80{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-105533 .elementor-element.elementor-element-81744c9{--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-105533 .elementor-element.elementor-element-e38af42 .elementor-heading-title{font-size:24px;line-height:1.4em;}.elementor-105533 .elementor-element.elementor-element-3a72ff4{--min-height:170px;}.elementor-105533 .elementor-element.elementor-element-49bea88{--min-height:170px;}.elementor-105533 .elementor-element.elementor-element-f95e3eb{border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;}.elementor-105533 .elementor-element.elementor-element-d8d0e7c{margin:-5px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;}.elementor-105533 .elementor-element.elementor-element-d8d0e7c .elementor-heading-title{font-size:18px;}.elementor-105533 .elementor-element.elementor-element-6394d2f{--margin-top:0px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;}.elementor-105533 .elementor-element.elementor-element-a53139d .elementor-button{font-size:12px;}.elementor-105533 .elementor-element.elementor-element-b24cbed .elementor-button{font-size:12px;}.elementor-105533 .elementor-element.elementor-element-908702c .elementor-button{font-size:12px;}.elementor-105533 .elementor-element.elementor-element-b35fbe0 .elementor-button{font-size:12px;}.elementor-105533 .elementor-element.elementor-element-0fe3b0d .elementor-button{font-size:12px;}.elementor-105533 .elementor-element.elementor-element-5304a31 .elementor-button{font-size:12px;}}@media(min-width:768px){.elementor-105533 .elementor-element.elementor-element-e5d1a80{--content-width:1000px;}.elementor-105533 .elementor-element.elementor-element-81744c9{--width:50%;}.elementor-105533 .elementor-element.elementor-element-3a72ff4{--width:50%;}.elementor-105533 .elementor-element.elementor-element-49bea88{--width:100%;}.elementor-105533 .elementor-element.elementor-element-b0f3f86{--content-width:1000px;}.elementor-105533 .elementor-element.elementor-element-0d58412{--width:25%;}.elementor-105533 .elementor-element.elementor-element-6394d2f{--width:75%;}}/* Start custom CSS for image, class: .elementor-element-431ed18 */.single-post-image img{
    width: 100%;
    height: 250px !important;
    object-fit: contain;
    background-color: white; 
}/* End custom CSS */
/* Start custom CSS */:root {
    --repair-text-main: #333333;
    --repair-text-sub: #777777;
    --repair-text-muted: #666666;
    --repair-price-color: #d32f2f;
    --repair-border-color: #e5e5e5;
    --repair-btn-bg: #555555;
    --repair-btn-hover: #333333;
    --repair-bg-light: #f7f9fa;
    --repair-bg-white: #ffffff;
}

.repair-toc .toc-highlight-price {
    /*color: #00a53c !important;*/
    font-weight: bold;
}
.repair-toc .toc-highlight-price:hover {
    color: #00822f !important;
}   

.repair-modern-wrap {
    max-width: 1000px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--repair-text-main);
    line-height: 1.6;
}
    
#repair-info .repair-sec-title::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 8px;
    vertical-align: -3px; 
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a53c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='12' y1='18' x2='12.01' y2='18'%3E%3C/line%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

#repair-price .repair-sec-title::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 8px;
    /* ▼ ここで上下の位置を微調整します（マイナスの数値で下に下がります） */
    vertical-align: -4px; 
    
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a53c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'%3E%3C/path%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'%3E%3C/line%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}
    
#repair-notes .repair-sec-title::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 8px;
    vertical-align: -3px; 
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a53c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'%3E%3C/path%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'%3E%3C/path%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}
    
#repair-notices .repair-sec-title::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 8px;
    vertical-align: -3px; 
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a53c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

#repair-posts-tag .repair-sec-title::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 8px;
    vertical-align: -3px; 
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a53c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'%3E%3C/path%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}
    
#repair-posts-cat .repair-sec-title::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 8px;
    vertical-align: -3px; 
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a53c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 2 7 12 12 22 7 12 2'%3E%3C/polygon%3E%3Cpolyline points='2 17 12 22 22 17'%3E%3C/polyline%3E%3Cpolyline points='2 12 12 17 22 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* --- 目次 (TOC) --- */
.repair-modern-wrap .repair-toc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin-bottom: 40px;
    padding: 15px 20px;
    background-color: var(--repair-bg-light);
    border-radius: 8px;
    border: 1px solid var(--repair-border-color);
}

.repair-modern-wrap .repair-toc::before {
    content: "目次";
    font-weight: bold;
    color: var(--repair-text-sub);
    padding-right: 15px;
    border-right: 1px solid var(--repair-border-color);
}

.repair-modern-wrap .repair-toc a {
    color: var(--repair-text-main);
    text-decoration: none;
    font-weight: bold;
    font-size: 0.95rem;
    transition: opacity 0.2s;
    display: flex;
    align-items: center;
}

.repair-modern-wrap .repair-toc a::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 4px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.repair-modern-wrap .repair-toc a:hover {
    opacity: 0.6;
    text-decoration: none;
}


/* --- セクション共通 --- */
.repair-modern-wrap .repair-section {
    margin-bottom: 60px;
}

.repair-modern-wrap .repair-sec-title {
    font-size: 1.3rem;
    font-weight: bold;
    padding-bottom: 12px;
    margin-bottom: 24px;
    /* 変更箇所：左1/3を緑色の線にする装飾 */
    background-image: linear-gradient(to right, #00a53c 33.3%, var(--repair-text-main) 33.3%);
    background-position: bottom left;
    background-size: 100% 2px;
    background-repeat: no-repeat;
}

p.repair-lead-text {
    font-size: 15px;
}
    
/* リード文の下部余白 */
.repair-modern-wrap .repair-lead-text {
    margin-bottom: 32px;
    color: var(--repair-text-muted);
}


/* ==========================================
   基本情報テーブル (縦線なし・ゼブラパターン)
   ========================================== */
.repair-modern-wrap table.repair-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    border: none !important;
}

.repair-modern-wrap table.repair-table th, 
.repair-modern-wrap table.repair-table td {
    padding: 5px 15px !important;
    border-top: 1px solid #ededed !important;
    border-bottom: 0px solid var(--repair-border-color) !important;
    border-left: none !important;
    border-right: none !important;
    font-size: 0.84rem;
    background-color: transparent !important;
}

.repair-modern-wrap table.repair-table th {
    width: 25%;
    text-align: left !important;
    font-weight: bold;
}

.repair-modern-wrap table.repair-table tr:nth-child(odd) {
    background-color: #ffffff !important;
}
.repair-modern-wrap table.repair-table tr:nth-child(even) {
    /*background-color: var(--repair-bg-light) !important;*/
}

/* テーブル内のリンク */
.repair-modern-wrap .repair-term-link,
.repair-modern-wrap .repair-info-link {
    color: #00A538;
    text-decoration: underline;
}
.repair-modern-wrap .repair-term-link:hover,
.repair-modern-wrap .repair-info-link:hover {
    text-decoration: none;
}

/* ==========================================
   料金表テーブル
   ========================================== */
    
/* display: flex; の指定は削除します */



/* 料金表上部の補足テキスト */
.repair-price-table-wrapper::before {
  /* PC用のテキスト（改行なし） */
  content: "修理価格は部品代＋作業代を合計した金額(税込)です。　修理後も安心の３か月保証付き！※基板復旧・水没復旧を除く";
  display: block;
  font-size: 0.8rem;
  color: var(--repair-text-muted);
  margin-bottom: 8px;
  font-weight: normal;
  margin-left: 10px;
  
  /* \Aでの改行を有効にするための設定 */
  white-space: pre-wrap; 
}

/* スマホ用（例:768px以下）のメディアクエリ */
@media screen and (max-width: 768px) {
  .repair-price-table-wrapper::before {
    /* \A を入れて改行させる */
    content: "修理価格は部品代＋作業代を合計した金額(税込)です。\A修理後も安心の３か月保証付き！※基板復旧・水没復旧を除く";
  }
}

.repair-price-table-wrapper {
    overflow-x: auto;
    margin-bottom: 50px;
}

.repair-modern-wrap table.repair-price-table,
.repair-modern-wrap table.repair-price-table tbody,
.repair-modern-wrap table.repair-price-table th,
.repair-modern-wrap table.repair-price-table td {
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
    background-color: transparent !important;
}

.repair-modern-wrap table.repair-price-table tr {
    display: grid !important;
    grid-template-columns: 24% 24% 1fr auto;
    column-gap: 15px;
    align-items: center; 
    padding: 10px 10px !important;
    border-bottom: 1px solid var(--repair-border-color) !important;
}

.repair-modern-wrap table.repair-price-table tr:first-child {
    border-top: 1px solid var(--repair-border-color) !important;
}
.repair-modern-wrap table.repair-price-table tr:nth-child(odd) {
    background-color: #f7f9fa !important;
}
.repair-modern-wrap table.repair-price-table tr:nth-child(even) {
    background-color: #ffffff !important;
}

.repair-modern-wrap .repair-price-table .rp-col-name {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    text-align: left !important;
    font-size: 1rem !important;
    font-weight: bold;
}

.repair-modern-wrap .repair-price-table .rp-col-price {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    color: var(--repair-price-color) !important;
    font-weight: bold;
    font-size: 1rem !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    text-align: left !important; 
}
.repair-modern-wrap .repair-price-table .rp-col-price br + br {
    display: none !important;
}

.repair-modern-wrap .repair-price-table .rp-col-time {
    grid-column: 3 / 4; 
    grid-row: 1 / 2;
    margin-bottom: 6px !important; 
    white-space: nowrap !important; 
}

.repair-modern-wrap .repair-price-table .rp-col-time .repair-meta::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 6px;
    vertical-align: -2px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.repair-modern-wrap .repair-price-table .rp-col-note {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}

.repair-modern-wrap .repair-price-table .rp-col-btn {
    grid-column: 4 / 5;
    grid-row: 1 / 3; 
    text-align: right !important;
    align-self: center; 
}

.repair-modern-wrap .repair-price-table .repair-meta {
    color: var(--repair-text-sub);
    font-size: 0.8rem;
    display: inline-block;
    line-height: 1.5;
      margin-left:6px;
}

/* 詳細ボタンの装飾 (料金表内) */
.repair-modern-wrap .repair-price-table .repair-link-btn {
    display: inline-block;
    background-color: var(--repair-btn-bg) !important;
    color: #ffffff !important;
    padding: 5px 13px !important;
    border-radius: 25px !important;
    text-decoration: none !important;
    font-size: 0.8rem;
    font-weight: bold;
    transition: background-color 0.3s ease;
    text-align: center;
    white-space: nowrap;
    border: none !important;
}

.repair-modern-wrap .repair-price-table .repair-link-btn:hover {
    background-color: var(--repair-btn-hover) !important;
}

/* 空のセルは非表示 */
.repair-modern-wrap table.repair-price-table .rp-col-time:empty,
.repair-modern-wrap table.repair-price-table .rp-col-note:empty,
.repair-modern-wrap table.repair-price-table .rp-col-btn:empty {
    display: none !important;
}

/* 特定行のハイライトスタイル (緑枠・薄緑背景・通常ボタン) */
.repair-modern-wrap table.repair-price-table tr.rp-row-highlight {
    /*background-color: #f0fff4 !important;*/ /* user requested very pale green */
    /*border: 2px solid #00a53c !important;*/ /* Green border */
}

/* Reset text colors and icon for highlighted row to default */
.repair-modern-wrap table.repair-price-table tr.rp-row-highlight .rp-col-name {
    color: var(--repair-text-main) !important;
}
.repair-modern-wrap table.repair-price-table tr.rp-row-highlight .rp-col-price {
    color: var(--repair-price-color) !important;
}
.repair-modern-wrap table.repair-price-table tr.rp-row-highlight .repair-meta {
    color: var(--repair-text-sub) !important;
}
.repair-modern-wrap table.repair-price-table tr.rp-row-highlight .repair-meta::before {
    /* Overwrite to use normal icon style */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

/* Green background button with white text for highlighted row */
.repair-modern-wrap table.repair-price-table tr.rp-row-highlight .repair-link-btn {
    background-color: #00a53c !important; /* use primary green */
    color: #ffffff !important; /* white text */
}

/* Hover state for the green button */
.repair-modern-wrap table.repair-price-table tr.rp-row-highlight .repair-link-btn:hover {
    background-color: #00822f !important; /* darker green on hover */
}


/* ==========================================
   注意事項ブロック（シリーズ共通・全体共通）
   ※枠なし・背景あり・濃い見出し
   ========================================== */
.repair-modern-wrap .repair-series-notice,
.repair-modern-wrap .repair-global-notice {
    margin-top: 24px;
    padding: 16px 20px;
    background-color: var(--repair-bg-light);
    border-radius: 8px;
    border: none;
}

/* 注意事項の見出し */
.repair-modern-wrap .repair-notice-title,
.repair-modern-wrap .repair-global-notice-title {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 1rem; 
    font-weight: bold;
    color: var(--repair-text-main);
    display: flex;
    align-items: center;
}

/* 見出しの頭のアイコン */
.repair-modern-wrap .repair-notice-title::before,
.repair-modern-wrap .repair-global-notice-title::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 6px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='16' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'%3E%3C/line%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* 本文テキスト */
.repair-modern-wrap .repair-notice-text {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.6;
    color: var(--repair-text-muted); 
}

/* リンクボタンのラッパー */
.repair-modern-wrap .repair-notice-link-wrap {
    margin-top: 6px;
}

/* ▼ 注意事項内のリンクだけを「テキスト＋アンダーライン」風にする ▼ */
.repair-modern-wrap .repair-series-notice .repair-link-btn,
.repair-modern-wrap .repair-global-notice .repair-link-btn {
    display: inline;
    background-color: transparent !important;
    color: #0066cc !important; 
    padding: 0 !important;
    border-radius: 0 !important;
    text-decoration: underline !important; 
    font-weight: normal;
}

.repair-modern-wrap .repair-series-notice .repair-link-btn:hover,
.repair-modern-wrap .repair-global-notice .repair-link-btn:hover {
    color: #004499 !important; 
    background-color: transparent !important;
    text-decoration: none !important; 
}

/* 全体共通注釈（繰り返しフィールド）の各アイテム間の区切り線 */
.repair-modern-wrap .global-notice-item:not(:last-child) {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px dashed var(--repair-border-color); 
}


/* ==========================================
   特記事項ブロック ( repair-note-item )
   ========================================== */
.repair-modern-wrap .repair-note-item {
    display: flex;
    gap: 24px;
    margin-bottom: 24px;
    padding: 24px;
    border: 1px solid var(--repair-border-color);
    border-radius: 8px;
    background-color: var(--repair-bg-white);
}

.repair-modern-wrap .repair-note-img {
    flex: 0 0 20%;
    max-width: 20%;
    height: auto;
    object-fit: cover; 
    border-radius: 4px;
}

.repair-modern-wrap .repair-note-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.repair-modern-wrap .repair-note-content h3 {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 1.15rem;
    color: var(--repair-text-main);
}

.repair-modern-wrap .repair-note-content p {
    line-height: 1.6;
    margin-bottom: 16px; 
}

p.repair-note-desc {
    font-size: 14px !important;
}
    
.repair-modern-wrap .repair-note-content .repair-link-btn {
    align-self: flex-start;
    margin-top: auto !important; 
}


/* ==========================================
   関連記事グリッド
   ========================================== */
.repair-modern-wrap .repair-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 24px;
}

.repair-modern-wrap .repair-card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--repair-border-color);
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    background: #fff;
}

.repair-modern-wrap .repair-card:hover {
    box-shadow: 0 8px 16px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.repair-modern-wrap .repair-card-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 4/2;
    object-fit: cover;
}

.repair-modern-wrap .repair-card-title {
    padding: 16px;
    font-size: 0.89rem;
    font-weight: bold;
    line-height: 1.5;
}


/* =========================================================
   スマートフォン用レスポンシブデザイン
   ========================================================= */
@media screen and (max-width: 768px) {
    .repair-modern-wrap .repair-toc {
        position: relative;
        padding: 15px 15px 15px 85px !important; 
    }
    
    .repair-modern-wrap .repair-toc::before {
        position: absolute;
        top: 15px;
        bottom: 15px;
        left: 15px;
        width: 50px;
        padding-right: 0;
        display: flex;
        align-items: center; 
        justify-content: center; 
    }

    .repair-modern-wrap table.repair-table th {
        width: 35%;
    }
    
    .repair-modern-wrap table.repair-price-table tr {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        padding: 15px 10px !important;
    }

    .repair-modern-wrap table.repair-price-table .rp-col-name {
        width: auto !important; 
        flex: 1 1 auto !important; 
        font-size: 1rem !important;
        margin-bottom: 0px !important;
        padding-right: 5px !important; 
    }

    .repair-modern-wrap table.repair-price-table .rp-col-price {
        width: auto !important; 
        flex: 0 0 auto !important; 
        font-size: 1rem !important;
        text-align: right !important; 
        margin-bottom: 8px !important;
    }

    .repair-modern-wrap table.repair-price-table .rp-col-time,
    .repair-modern-wrap table.repair-price-table .rp-col-note {
        width: 100% !important;
        flex: 1 1 100% !important;
        margin-bottom: 3px !important;
    }

    .repair-modern-wrap table.repair-price-table .rp-col-btn {
        width: 100% !important;
        flex: 1 1 100% !important;
        margin-top: 5px !important;
        text-align: right !important;
    }

    .repair-modern-wrap .repair-note-item {
        flex-direction: column; 
        gap: 16px;
        padding: 16px;
    }

    .repair-modern-wrap .repair-note-img {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%; 
        aspect-ratio: 16 / 9; 
    }
}
    
@media screen and (max-width: 768px) {
    /* 関連記事グリッド（スマホ用） */
    .repair-modern-wrap .repair-cards-grid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        /* 余白をスマホ向けに少し最適化（24px→16px） */
        gap: 16px;
    }

    /* 160pxになるとタイトル領域が少し狭くなるため、文字サイズ等を微調整 */
    .repair-modern-wrap .repair-card-title {
        font-size: 0.85rem; /* PCより少し小さく */
        padding: 12px 10px; /* 余白も少しスッキリと */
        line-height: 1.4;
    }
}
    
/* ==========================================
   お問い合わせCTAパーツ (変更対応)
   ========================================== */
.repair-modern-wrap .repair-cta-section {
    margin-top: 40px;
    margin-bottom: 20px;
}

.repair-modern-wrap .repair-cta-inner {
    background-color: var(--repair-bg-light);
    border: 2px solid #00a53c; /* 既存のハイライト色(緑)を使用して枠線で強調 */
    border-radius: 8px;
    padding: 40px 20px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    margin-bottom:60px;
}

.repair-modern-wrap .repair-cta-title {
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--repair-text-main);
    margin-top: 0;
    margin-bottom: 12px;
}

.repair-modern-wrap .repair-cta-desc {
    font-size: 0.95rem;
    color: var(--repair-text-muted);
    margin-bottom: 24px;
    line-height: 1.6;
}

/* ボタン並びのラッパー */
.repair-modern-wrap .repair-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

/* 共通ボタンスタイル */
.repair-modern-wrap .repair-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    padding: 16px 40px;
    border-radius: 40px; 
    font-size: 1.1rem;
    font-weight: bold;
    text-decoration: none !important;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

/* 電話ボタンの個別設定（緑） */
.repair-modern-wrap .repair-cta-btn-tel {
    background-color: #00a53c !important;
    box-shadow: 0 4px 8px rgba(0, 165, 60, 0.25);
}
.repair-modern-wrap .repair-cta-btn-tel:hover {
    background-color: #00822f !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 165, 60, 0.35);
}
.repair-modern-wrap .repair-cta-btn-tel::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    /* 電話アイコン */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* メール（フォームブリッジ）ボタンの個別設定（少し青寄りに変更して区別） */
.repair-modern-wrap .repair-cta-btn-mail {
    background-color: #0073cc !important;
    box-shadow: 0 4px 8px rgba(0, 115, 204, 0.25);
}
.repair-modern-wrap .repair-cta-btn-mail:hover {
    background-color: #005fa3 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 115, 204, 0.35);
}
.repair-modern-wrap .repair-cta-btn-mail::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    /* メールアイコン */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'%3E%3C/path%3E%3Cpolyline points='22,6 12,13 2,6'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* CTAパーツ用 スマホレスポンシブ調整 */
@media screen and (max-width: 768px) {
    .repair-modern-wrap .repair-cta-inner {
        padding: 30px 15px;
    }
    .repair-modern-wrap .repair-cta-title {
        font-size: 1.25rem;
    }
    .repair-modern-wrap .repair-cta-desc {
        font-size: 0.9rem;
    }
    .repair-modern-wrap .repair-cta-buttons {
        flex-direction: column;
        gap: 12px;
    }
    .repair-modern-wrap .repair-cta-btn {
        display: flex;
        width: 100%;
        padding: 15px 20px;
        font-size: 1rem;
        box-sizing: border-box;
    }
}
    
@media screen and (max-width: 768px) {
  /* スマホの縦積みレイアウト時、空のセルを完全に非表示にする */
  .repair-price-table td.rp-col-time:empty,
  .repair-price-table td.rp-col-note:empty {
    display: none !important;
  }
}
    
/* ==========================================
   基本情報テーブル：PC表示時に横2列に分割
   ========================================== */
@media screen and (min-width: 769px) {
    .repair-modern-wrap table.repair-table,
    .repair-modern-wrap table.repair-table tbody {
        display: block;
        width: 100%;
    }

    .repair-modern-wrap table.repair-table tbody {
        column-count: 2;
        column-gap: 30px; 
    }

    .repair-modern-wrap table.repair-table tr {
        display: flex; /* flexに変更して線を重ねられるようにする */
        width: 100%;
        break-inside: avoid;
        page-break-inside: avoid;
        border-top: 1px solid var(--repair-border-color);
        border-bottom: 0px solid var(--repair-border-color);
        margin-top: -1px; /* ▼ここがポイント：上下の線を重ねて1pxにする */
    }
    
    .repair-modern-wrap table.repair-table th,
    .repair-modern-wrap table.repair-table td {
        border: none !important; /* セル自体の線は消す */
        display: flex;
        align-items: center; /* テキストを縦の中央に揃える */
    }

    .repair-modern-wrap table.repair-table th {
        width: 25%;
        flex-shrink: 0;
    }

    .repair-modern-wrap table.repair-table td {
        width: 75%;
        flex-grow: 1;
    }
}
    

/* ==========================================
   特徴 & CTAセクション (軽量版・6カード画像構成)
   ========================================== */
.repair-rich-cta-section {
    /* ★追加・変更：ElementorのFlexコンテナ内で他の要素を潰さないための保護設定 */
    width: 100%;
    box-sizing: border-box;
    flex-shrink: 0; 
    flex-grow: 1;
    
    /*margin-top: 60px;*/
    margin-bottom: 40px;
    background-color: #ffffff;
    border: 2px solid #00a53c;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.repair-rich-cta-header {
    background-color: #f7f9fa;
    padding: 40px 20px 0;
    text-align: center;
    border-bottom: 1px solid #e5e5e5;
}

.repair-rich-cta-subtitle {
    color: #00a53c;
    font-size: 0.95rem;
    font-weight: bold;
    margin-bottom: 8px;
    display: block;
}

.repair-rich-cta-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #333333;
    margin: 0;
    line-height: 1.4;
}

.repair-rich-cta-description {
    font-size: 0.95rem;
    color: #555555;
    line-height: 1.6;
    margin: 15px auto 0;
    max-width: 700px;
    text-align: center;
}

.repair-staff-img {
    display: block;
    margin: 30px auto 0;
    max-width: 100%;
    width: 340px; 
    height: auto;
}

.repair-rich-cta-body {
    padding: 30px 20px;
}

.repair-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.repair-feature-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    /* デスクトップでは全体に余白をつける */
    padding: 20px;
    transition: transform 0.2s, box-shadow 0.2s;
    display: flex;
    flex-direction: column;
    /* スマホ表示時に画像がはみ出さないように設定 */
    overflow: hidden;
}
.repair-feature-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.05);
}

.feature-card-img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 15px;
    display: block;
}

.feature-card-title {
    font-size: 1.05rem;
    font-weight: bold;
    color: #333333;
    margin-top: 0;
    margin-bottom: 10px;
    line-height: 1.4;
}

.feature-card-desc {
    font-size: 0.85rem;
    color: #666666;
    line-height: 1.6;
    margin: 0;
}

.feature-card-link {
    margin-top: auto;
    padding-top: 12px;
    font-size: 0.85rem;
    color: #00a53c;
    text-decoration: none;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
}
.feature-card-link:hover {
    text-decoration: underline;
}
.feature-card-link svg {
    width: 12px;
    height: 12px;
    margin-left: 4px;
    fill: currentColor;
}

.repair-rich-cta-actions {
    text-align: center;
    padding: 20px 0;
    background: #ffffff;
}

.repair-main-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #00a53c !important;
    color: #ffffff !important;
    padding: 16px 22px;
    border-radius: 40px;
    font-size: 1.1rem;
    font-weight: bold;
    text-decoration: none !important;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 165, 60, 0.3);
    margin-bottom: 15px;
}
.repair-main-btn:hover {
    background-color: #008a32 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 165, 60, 0.4);
}
.repair-main-btn svg {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.repair-secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff !important;
    color: #00a53c !important;
    border: 2px solid #00a53c !important;
    padding: 14px 22px; 
    border-radius: 40px;
    font-size: 1.1rem;
    font-weight: bold;
    text-decoration: none !important;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    margin-bottom: 15px;
    margin-left: 15px;
}
.repair-secondary-btn:hover {
    background-color: #f0fff4 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}
.repair-secondary-btn svg {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    fill: currentColor;
}

@media screen and (max-width: 768px) {
    .repair-rich-cta-title {
        font-size: 1.25rem;
    }
    .repair-rich-cta-description {
        font-size: 0.9rem;
        text-align: left;
    }
    .pc-br {
        display: none;
    }

    /* ★追加：スマホ表示時のカードデザイン調整 */
    .repair-feature-card {
        padding: 0 0 20px 0; /* 上と左右の余白をなくす */
    }
    .feature-card-img {
        width: 100%;
        border-radius: 8px 8px 0 0; /* 上部の角丸をカードに合わせる */
        margin-bottom: 15px;
    }
    .feature-card-title,
    .feature-card-desc,
    .feature-card-link {
        padding-left: 20px;  /* テキスト部分に左右の余白をつける */
        padding-right: 20px;
    }

    .repair-main-btn,
    .repair-secondary-btn {
        width: 100%;
        margin-left: 0;
        box-sizing: border-box;
    }
    .repair-staff-img {
        width: 280px;
        margin-top: 20px;
    }
}


/* ==========================================
   基本情報テーブル アコーディオン（スマホ表示のみ適用）
   ========================================== */
.repair-table-accordion {
    position: relative;
    margin-bottom: 20px;
}
.repair-table-toggle-check {
    display: none;
}

/* --- PC表示時：すべて展開＆ボタン類を非表示にする --- */
@media screen and (min-width: 769px) {
    .repair-table-wrapper {
        max-height: none !important;
        overflow: visible;
    }
    .repair-table-overlay,
    .repair-table-toggle-btn {
        display: none !important;
    }
}

/* --- スマホ表示時（768px以下）：アコーディオンを適用 --- */
@media screen and (max-width: 768px) {
    .repair-table-wrapper {
        position: relative;
        overflow: hidden;
        /* ★ここでスマホ表示時の高さを調整（約5〜6項目分） */
        max-height: 225px; 
        transition: max-height 0.4s ease;
    }
    
    /* チェックされたら（開いたら）高さを広げる */
    .repair-table-toggle-check:checked ~ .repair-table-wrapper {
        max-height: 1500px; 
    }

    /* 下部をぼかすグラデーション */
    .repair-table-overlay {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60px;
        background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
        pointer-events: none;
        transition: opacity 0.3s ease;
    }
    
    /* 開いたらグラデーションを消す */
    .repair-table-toggle-check:checked ~ .repair-table-wrapper .repair-table-overlay {
        opacity: 0;
    }

    /* 開閉ボタンのデザイン */
    .repair-table-toggle-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 240px;
        margin: 0 auto;
        padding: 10px 0;
        background-color: #ffffff;
        border: 1px solid var(--repair-border-color);
        border-radius: 25px;
        font-size: 0.9rem;
        font-weight: bold;
        color: #00a53c;
        cursor: pointer;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05);
        transition: background-color 0.2s, box-shadow 0.2s;
        position: relative;
        top: -15px; /* グラデーションに少し被せる位置 */
        z-index: 2;
    }
    .repair-table-toggle-btn:hover {
        background-color: #f7f9fa;
        box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    }

    /* ボタン内のテキストとアイコン制御 */
    .repair-table-toggle-btn svg {
        width: 16px;
        height: 16px;
        margin-left: 6px;
        stroke: currentColor;
        stroke-width: 2;
        fill: none;
        stroke-linecap: round;
        stroke-linejoin: round;
        transition: transform 0.3s ease;
    }
    .repair-table-toggle-btn .text-open,
    .repair-table-toggle-btn .text-close {
        display: inline-flex;
        align-items: center;
    }
    .repair-table-toggle-btn .text-close {
        display: none;
    }

    /* 展開後のボタンスタイル変化 */
    .repair-table-toggle-check:checked ~ .repair-table-toggle-btn .text-open {
        display: none;
    }
    .repair-table-toggle-check:checked ~ .repair-table-toggle-btn .text-close {
        display: inline-flex;
    }
    .repair-table-toggle-check:checked ~ .repair-table-toggle-btn {
        top: 10px; /* 開いた後は被せない */
        margin-bottom: 20px;
    }
    /* 開いた状態は矢印を反転させる */
    .repair-table-toggle-check:checked ~ .repair-table-toggle-btn svg {
        transform: rotate(180deg);
    }
}

/* ==========================================
   キャンペーンブロック (料金表直下)
   ========================================== */
.repair-modern-wrap .repair-campaign-box {
    /* 料金表(margin-bottom: 50px)との間隔を綺麗に保つための調整 */
    margin-top: -10px; 
    margin-bottom: 50px;
    padding: 24px 30px;
    background-color: #f0fff4; /* 目立たせるための極薄い緑背景 */
    border: 2px solid #00a53c; /* ブランドカラーの緑枠 */
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 165, 60, 0.08); /* ほんのり緑の影 */
}

.repair-modern-wrap .repair-campaign-title {
    display: flex;
    align-items: center;
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #00a53c; /* タイトルも緑で強調 */
}

/* キャンペーン見出しのアイコン（プレゼントボックス） */
.repair-modern-wrap .repair-campaign-title::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 8px;
    vertical-align: -3px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a53c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 12 20 22 4 22 4 12'%3E%3C/polyline%3E%3Crect x='2' y='7' width='20' height='5'%3E%3C/rect%3E%3Cline x1='12' y1='22' x2='12' y2='7'%3E%3C/line%3E%3Cpath d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'%3E%3C/path%3E%3Cpath d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'%3E%3C/path%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.repair-modern-wrap .repair-campaign-desc {
    margin: 0 0 20px 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--repair-text-main);
}

.repair-modern-wrap .repair-campaign-link-wrap {
    text-align: right;
}

/* キャンペーン用の詳細ボタン */
.repair-modern-wrap .repair-campaign-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #00a53c !important;
    color: #ffffff !important;
    padding: 12px 28px;
    border-radius: 30px;
    font-size: 0.95rem;
    font-weight: bold;
    text-decoration: none !important;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
    border: none !important;
}

/* ボタン内の右矢印アイコン */
.repair-modern-wrap .repair-campaign-btn::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 6px;
    vertical-align: -2px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform 0.2s ease;
}

/* ホバーアクション（浮き上がり＋矢印が右に動く） */
.repair-modern-wrap .repair-campaign-btn:hover {
    background-color: #00822f !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 165, 60, 0.25);
}
.repair-modern-wrap .repair-campaign-btn:hover::after {
    transform: translateX(4px);
}

/* --- キャンペーンブロック スマホ用レスポンシブ --- */
@media screen and (max-width: 768px) {
    .repair-modern-wrap .repair-campaign-box {
        padding: 20px 16px;
        margin-top: 0;
        margin-bottom: 40px;
    }
    
    .repair-modern-wrap .repair-campaign-title {
        font-size: 1.1rem;
    }
    
    .repair-modern-wrap .repair-campaign-link-wrap {
        text-align: center; /* スマホではボタンを中央揃え（または幅100%） */
    }
    
    .repair-modern-wrap .repair-campaign-btn {
        width: 100%;
        box-sizing: border-box;
        padding: 14px 20px;
        font-size: 1rem;
    }
}

/* キャンペーン本文内の段落（改行）の余白設定 */
.repair-modern-wrap .repair-campaign-desc p {
    margin-top: 0;
    margin-bottom: 1.5em; /* 約1行分の余白 */
}
/* 最後の段落の下には余白を作らない */
.repair-modern-wrap .repair-campaign-desc p:last-child {
    margin-bottom: 0;
}

/* キャンペーン本文内の太字を強制的に適用（スマホでの無効化を防ぐ） */
.repair-modern-wrap .repair-campaign-desc b,
.repair-modern-wrap .repair-campaign-desc strong {
    font-weight: bold !important;
}/* End custom CSS */