/*利用規約同意画面を表示（初期設定は非表示）*/
.common_modal{
    display: none; 
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    justify-content:center;
    align-items:center;
    z-index:2147483647;
}
#toast-container{
    z-index:2147483648 !important;
}
/*利用規約を表示*/
#consent_modal.show{
    display:flex;
}
/*背景をスクロールさせない*/
html.modal-open,
body.modal-open{
    overflow: hidden;
    height: 100%;
}
/*ご利用にあたって(詳細表示)*/
.common_modal .modal_inner{
    width:min(640px,90%);
    background:#fff;
    border-radius:12px;
    padding:25px;
    box-shadow:0 10px 40px rgba(0,0,0,.2);
}
/*タイトル*/
.common_modal h2{
    text-align:center;
    margin-bottom:20px;
}
/*同意事項チェックボックス*/
.common_modal .check{
    display:block;
    margin:25px 0;
}
/*診断開始ボタン*/
#agreeBtn{
    border: none;
    width:100%;
    min-width: 100%;
}
#agreeBtn:disabled{
    opacity:.4;
}
/*
診断結果履歴
*/
#previous_history {
    padding-bottom: 30px;
    display: flex;
    justify-content: flex-end;
    font-size: 1rem;
}
#previous_history a {
    text-decoration: none;
    color: #555550;
/*    display: block;*/
}
/*初期は非表示*/
.previous_history_list{
    display: none;
    padding: 10px;
}
.previous_history_contents {
    width: 100%;
    border-radius: var(--radius-sm);
    border:  1px solid var(--gray-border);
    background: #fff;
    overflow: hidden;
}
/*前回の診断結果を見るボタン*/
a#result_show {
    color: #fff;
    background: linear-gradient(90deg, #3187bd 0%, #77bc50 100%);
    display: block;
    padding: 5px 10px;   
    position: relative;
    display: flex;
    align-items: center;
}
a#result_show:after {
    position: absolute;
    content: "▾︎";
    color: #fff;
    right: 10px;
    font-size: 1.1em;
    transform: translateY(-50%);
    top: 50%;
}
/*閉じる用*/
.previous_history_contents.open a#result_show:after { 
  transform: translateY(-50%) rotate(180deg);
}
/*履歴の表示*/
.previous_history_list ul {
    list-style: none;
}
.previous_history_list ul > li {
/*    margin: 5px 10px;*/
    border-bottom:  1px solid var(--gray-border);
    display: flex;
    justify-content: space-between;
}
.previous_history_list ul > li:last-child {
    border: none;
}
.previous_history_list ul > li > div {
    display: flex;
    padding: 5px 5px 5px 5px;
    width: 80%;
}
.previous_history_list ul > li > div:last-child {
    justify-content: flex-end;
    width: calc( 20% - 5px ) ;
}
#previous_history a.get_my_data {
/*    position: relative;
    */
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.previous_history_list span.hist_btn {
    background: #fff;
    color:#fff;
    padding:0px 10px;
    background: #77bc50;
    border: 1px solid  #77bc50;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: 0.3s;
}
.previous_history_list span.hist_btn:hover{
    filter: brightness(0.9);
}
/*削除ボタンの表示*/
.previous_history_list span.sim_del_hist {
    background: #fff;
    color:#f2635f;
    border: 2px solid #f2635f;
    
}
.modal_btn_area {
    display: flex;
    justify-content: flex-end;
}
.modal_btn_area button {
    background: #fff;
    padding: 5px 10px;
    border: 1px solid #555550;
    border-radius: var(--radius-sm);
    margin: 0 5px;
    cursor: pointer;
}
#delete_execute {
    background: #f2635f;
    color: #ffff;
    border: 1px solid #f2635f;
}
/*削除用モーダルを表示*/
#delete_modal.show{
    display:flex;
}
#delete_modal h3 {
    text-align: left;
}


/*履歴の詳細*/
.history-date{
    white-space: nowrap;
}

.history-place{
    margin-left: .5em;
}
.lower-page-inner input[type="text"] {
    width: 100%;
}
/*注意書き*/
.previous_history_attention {
    margin-top: 10px;
    border: 1px solid var(--green-border);
    font-size: .7em;
    background: var(--green-light);
    border-radius: var(--radius-sm);
    padding: 5px;
    display:flex;
    gap:2px;
    align-items:flex-start;
}
.previous_history_attention .pha_mark {
    flex:none;
}
/*エラー時のトースター調整*/
#toast-container > div{
    font-size: 1rem;
     width: 600px;
    max-width: calc(100vw - 30px);
}


@media screen and (max-width:768px){
    .previous_history_contents {
       width: 100%;
    }
    
    .previous_history_list ul > li {
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:2px;
    }
    .previous_history_list ul > li > div {
        width: 100%;
        
    }
    .previous_history_list ul > li > div:last-child {
        width: 100%;
    } 
    #previous_history a.get_my_data{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:2px;
        position: relative;
    }
    .previous_history_list ul > li a::after {
        position: absolute;
        content: "❯";
        right: 0;
        top: 50%;
        color: var(--gray-border);
        display: inline-block;
        transform: translateY(-50%) scaleY(2);
        transform-origin: center;
    }
    #previous_history a.get_my_data span {
        display: block;
    }
    .history-place {
        margin: 0;
    }
    #previous_history a.get_my_data span.hist_btn {
        display: none;
    }
    #previous_history a.get_my_data span.sim_del_hist {
        display: block;
    }
    .table-wrap{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }

    #reason-repair-detail{
        min-width:650px;
    }
}

/* ========================================
   診断結果 印刷ボタン
======================================== */

.simulation-print-button-area {
    display: flex;
    justify-content: center;
    margin: 30px 0;
}

.simulation-print-button {
    appearance: none;
    width:100%;
    min-width: 280px;
    padding: 25px 0;
    border: none;
    border-radius: var(--radius-sm);
    background: linear-gradient(
        90deg,
        #3187bd 0%,
        #77bc50 100%
    );
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.5;
    cursor: pointer;
    transition:
        filter 0.3s,
        transform 0.3s;
    position: relative;
}
.simulation-print-button:after
{
    position: absolute;
    content: "";
    width:2.5rem;
    max-width: 100px;
    aspect-ratio: 1/1;
    background-image: url(../images/icon/print-icon.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    right: 5%;
    top: 50%;
    transform: translateY(-50%);
    
}
.simulation-print-button:hover {
    filter: brightness(0.9);
}

.simulation-print-button:active {
    transform: translateY(1px);
}

/* 通常画面では印刷専用要素を非表示 */
.print-only {
    display: none;
}

/* ==================================================
   入力事例
================================================== */

.input-example {
  margin-bottom: 1.25rem;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--gray-border);
  border-radius: var(--radius);
  box-shadow: 0 6px 24px rgba(15, 110, 86, 0.08);
}

/* ブラウザ標準の三角を消す */
.input-example > summary {
  list-style: none;
}

.input-example > summary::-webkit-details-marker {
  display: none;
}

/* 開閉ボタン */
.input-example__header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 16px 58px 16px 18px;
  color: var(--green-dark);
  background: linear-gradient(
    135deg,
    #f1fbf7 0%,
    var(--green-light) 100%
  );
  border-bottom: 1px solid transparent;
  cursor: pointer;
  user-select: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.input-example__header:hover {
  background: #d7f2e8;
}

.input-example[open] .input-example__header {
  border-bottom-color: var(--green-border);
}

/* 左のアイコン */
.input-example__header-icon {
  display: flex;
  flex: 0 0 38px;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: var(--white);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  background: var(--green-mid);
  border-radius: 50%;
}

.input-example__header-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.input-example__title {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
}

.input-example__subtitle {
  margin-top: 2px;
  color: var(--text-sub);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

/* 右側のプラス・マイナス */
.input-example__toggle {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
}

.input-example__toggle::before,
.input-example__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 2px;
  background: var(--green-dark);
  border-radius: 2px;
  content: "";
  transition: transform 0.2s ease;
}

.input-example__toggle::before {
  transform: translate(-50%, -50%);
}

.input-example__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.input-example[open] .input-example__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

/* 開閉される本文 */
.input-example__body {
  padding: 20px;
}

/* 注意文 */
.input-example__notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 18px;
  padding: 14px 16px;
  color: var(--blue-text);
  font-size: 15px;
  line-height: 1.7;
  background: var(--blue-bg);
  border: 1px solid #85b7eb;
  border-radius: var(--radius-sm);
}

.input-example__notice p {
  margin: 0;
}

/*.input-example__notice-mark {
  display: flex;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-top: 2px;
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  background: #378add;
  border-radius: 50%;
}*/

/* 入力事例一覧：常に縦1列 */
.input-example__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

/* 各事例カード */
.input-example-card {
  overflow: hidden;
  width: 100%;
  min-width: 0;
  background: var(--white);
  border: 1px solid var(--gray-border);
  border-radius: var(--radius);
  box-shadow: 0 3px 12px rgba(15, 110, 86, 0.06);
}

/* カード見出し */
.input-example-card__heading {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: var(--gray-bg);
  border-bottom: 1px solid var(--gray-border);
}

.input-example-card__number {
  display: flex;
  flex: 0 0 48px;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  background: var(--green-mid);
  border-radius: 50%;
}

.input-example-card__heading h3 {
  margin: 0;
  color: var(--green-dark);
  font-size: 18px;
  line-height: 1.45;
}

.input-example-card__heading p {
  margin: 3px 0 0;
  color: var(--text-sub);
  font-size: 14px;
  line-height: 1.45;
}

/* 各カードの中身を横2ブロックにする */
.input-example-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.input-example-card__heading {
  grid-column: 1 / -1;
}

.input-example-card__section {
  padding: 16px 18px;
  border-bottom: none;
}

.input-example-card__section + .input-example-card__section {
  border-left: 1px solid var(--gray-border);
}

.input-example-card__section h4 {
  margin: 0 0 10px;
  color: var(--text-sub);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

/* 土地・建物、土地・延べ床 */
.input-example-card__values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.input-example-card__values > div {
  min-width: 0;
  padding: 12px 10px;
  text-align: center;
  background: #f8faf9;
  border-radius: 8px;
}

.input-example-card__values dt {
  margin-bottom: 4px;
  color: var(--text-sub);
  font-size: 13px;
  line-height: 1.4;
}

.input-example-card__values dd {
  margin: 0;
  color: var(--text-main);
  line-height: 1.25;
}

.input-example-card__values strong {
  font-size: 22px;
  font-weight: 700;
}

.input-example-card__values dd span {
  margin-left: 3px;
  color: var(--text-sub);
  font-size: 12px;
}

/* 下部注意文 */
.input-example__footnote {
  margin: 16px 0 0;
  color: var(--text-hint);
  font-size: 13px;
  line-height: 1.7;
}

/* ==================================================
   入力事例：スマホ
================================================== */

@media (max-width: 767px) {

  .input-example__header {
    min-height: 68px;
    padding: 13px 50px 13px 14px;
  }

  .input-example__header-icon {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
    font-size: 17px;
  }

  .input-example__title {
    font-size: 17px;
  }

  .input-example__subtitle {
    font-size: 12px;
  }

  .input-example__toggle {
    right: 15px;
  }

  .input-example__body {
    padding: 14px;
  }

  .input-example__notice {
    padding: 12px;
    font-size: 14px;
  }

  .input-example__list {
    gap: 12px;
  }

  /* スマホではカード内部も縦 */
  .input-example-card {
    grid-template-columns: 1fr;
  }

  .input-example-card__heading {
    padding: 14px;
  }

  .input-example-card__number {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    font-size: 13px;
  }

  .input-example-card__heading h3 {
    font-size: 16px;
  }

  .input-example-card__heading p {
    font-size: 13px;
  }

  .input-example-card__section {
    padding: 14px;
  }

  .input-example-card__section + .input-example-card__section {
    border-left: none;
    border-top: 1px solid var(--gray-border);
  }

  .input-example-card__values {
    gap: 8px;
  }

  .input-example-card__values > div {
    padding: 10px 8px;
  }

  .input-example-card__values strong {
    font-size: 20px;
  }
}

/* ========================================
   診断結果 印刷設定
======================================== */

@page {
    size: A4 portrait;
    margin: 6mm;
}

@media print {

    /* =====================================
       ページ全体
    ===================================== */

    html,
    body {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #fff !important;
    }

    body {
        color: #000 !important;
        font-size: 15pt !important;
        line-height: 1.45 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }

    /* =====================================
       ページ全体を印刷対象外にする
    ===================================== */

    body.simulation-print-mode * {
        visibility: hidden !important;
    }

    /*
     * STEP5だけ表示する
     *
     * #simulationPrintAreaではなく、
     * 実際の結果部分である#step5を対象にします。
     */
    body.simulation-print-mode #step5,
    body.simulation-print-mode #step5 * {
        visibility: visible !important;
    }

    /* =====================================
       STEP5を用紙左上へ移動
    ===================================== */

    body.simulation-print-mode #step5 {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;

        display: block !important;

        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 5% !important;

        background: #fff !important;
        box-shadow: none !important;
        overflow: hidden !important;
        box-sizing: border-box;

        /*
         * Chrome・EdgeでA4縦1ページに縮小
         *
         * 内容量が多いため、1ページに収めるには
         * 約52%まで縮小する必要があります。
         */
        zoom: 0.52;
    }

    /* =====================================
       印刷しないもの
    ===================================== */

    body.simulation-print-mode .no-print,
    body.simulation-print-mode .simulation-print-button-area,
    body.simulation-print-mode .simulation-print-button,
    body.simulation-print-mode .cta-btn,
    body.simulation-print-mode .btn-restart,
    body.simulation-print-mode .disclaimer {
        display: none !important;
        visibility: hidden !important;
    }

    /* 印刷専用要素 */
    body.simulation-print-mode .print-only {
        display: block !important;
        visibility: visible !important;
    }

    /* =====================================
       印刷タイトル
    ===================================== */

    body.simulation-print-mode .simulation-print-header {
        margin: 0 0 10px !important;
        padding: 0 0 7px !important;
        border-bottom: 2px solid #77bc50 !important;
    }

    body.simulation-print-mode .simulation-print-header h1 {
        margin: 0 0 3px !important;
        padding: 0 !important;
        color: #222 !important;
        font-size: 22pt !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    body.simulation-print-mode .simulation-print-header p {
        margin: 0 !important;
        font-size: 12pt !important;
        line-height: 1.2 !important;
        text-align: right !important;
    }

    /* =====================================
       結果ヘッダー
    ===================================== */

    body.simulation-print-mode .result-header {
        margin: 0 0 8px !important;
        padding: 9px 12px !important;
        border-radius: 6px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        background-color: #fff;
        border: 1px solid var(--green-dark);
        color: #000000;
    }

    /*
     * 印刷タイトルと重複するため非表示
     */
    body.simulation-print-mode .result-header .rl {
        display: none !important;
    }

    body.simulation-print-mode .result-header h2 {
        margin: 0 0 3px !important;
        font-size: 18pt !important;
        line-height: 1.2 !important;
    }

    body.simulation-print-mode .result-header .meta {
        font-size: 12pt !important;
        line-height: 1.3 !important;
    }

    body.simulation-print-mode #r-inputs {
        margin-top: 4px !important;
        font-size: 10pt !important;
        line-height: 1.3 !important;
    }

    /* =====================================
       セクション
    ===================================== */

    body.simulation-print-mode .result-section {
        margin-bottom: 8px !important;
        margin-top: 50px;
    }

    body.simulation-print-mode .rs-title {
        margin: 0 0 5px !important;
        padding: 0 0 3px !important;
        font-size: 11pt !important;
        line-height: 1.2 !important;
    }

    body.simulation-print-mode .rs-title span {
        font-size: 8pt !important;
    }

    /* =====================================
       売却価格
    ===================================== */

    body.simulation-print-mode .price-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 5px !important;
        margin-bottom: 5px !important;
    }

    body.simulation-print-mode .price-card {
        padding: 6px !important;
        border-radius: 5px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body.simulation-print-mode .price-card .pt {
        margin-bottom: 2px !important;
        font-size: 10pt !important;
    }

    body.simulation-print-mode .price-card .pv {
        font-size: 20pt !important;
        line-height: 1.1 !important;
    }

    body.simulation-print-mode .price-card .pv small {
        font-size: 12pt !important;
    }

    body.simulation-print-mode .price-card .pc,
    body.simulation-print-mode .now-badge {
        margin-top: 2px !important;
        font-size: 8pt !important;
    }

    body.simulation-print-mode .alert {
        margin: 0 !important;
        padding: 5px 7px !important;
        font-size: 10pt !important;
        line-height: 1.3 !important;
    }

    /* =====================================
       修繕費
    ===================================== */

    body.simulation-print-mode .repair-summary {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 5px !important;
        margin-bottom: 5px !important;
    }

    body.simulation-print-mode .rep-sum-card {
        padding: 5px !important;
        border-radius: 5px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body.simulation-print-mode .rep-sum-card .rt {
        margin-bottom: 2px !important;
        font-size: 8pt !important;
        line-height: 1.2 !important;
    }

    body.simulation-print-mode .rep-sum-card .rv {
        font-size: 15pt !important;
        line-height: 1.1 !important;
    }

    body.simulation-print-mode .rep-sum-card .rn {
        margin-top: 2px !important;
        font-size: 8pt !important;
        line-height: 1.2 !important;
    }

    /* =====================================
       アコーディオン
    ===================================== */

    /*
     * 説明用アコーディオンのボタンは印刷しない
     */
    body.simulation-print-mode .reason-toggle {
        display: none !important;
    }

    /*
     * 説明本文も基本は印刷しない
     */
    body.simulation-print-mode .reason-body {
        display: none !important;
    }

    /*
     * 部位別内訳だけ表示
     */
    body.simulation-print-mode #reason-repair-detail {
        display: block !important;
        visibility: visible !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        height: auto !important;
        max-height: none !important;

        margin: 3px 0 0 !important;
        padding: 4px !important;

        overflow: visible !important;
        opacity: 1 !important;

        border-radius: 3px !important;
    }

    /* =====================================
       部位別内訳テーブル
    ===================================== */

    body.simulation-print-mode #repairBreakdownTable {
        display: table !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;

        border-collapse: collapse !important;
        table-layout: fixed !important;
    }

    body.simulation-print-mode #repairBreakdownTable th,
    body.simulation-print-mode #repairBreakdownTable td {
        padding: 2px 3px !important;
        border: 1px solid #888 !important;

        font-size: 11pt !important;
        line-height: 1.15 !important;

        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    body.simulation-print-mode #repairBreakdownTable th {
        background: #eaf6ef !important;
    }

    body.simulation-print-mode #repairBreakdownTable tr {
        height: auto !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body.simulation-print-mode #repairBreakdownTable th:nth-child(1),
    body.simulation-print-mode #repairBreakdownTable td:nth-child(1) {
        width: 12% !important;
    }

    body.simulation-print-mode #repairBreakdownTable th:nth-child(2),
    body.simulation-print-mode #repairBreakdownTable td:nth-child(2) {
        width: 40% !important;
    }

    body.simulation-print-mode #repairBreakdownTable th:nth-child(3),
    body.simulation-print-mode #repairBreakdownTable td:nth-child(3),
    body.simulation-print-mode #repairBreakdownTable th:nth-child(4),
    body.simulation-print-mode #repairBreakdownTable td:nth-child(4),
    body.simulation-print-mode #repairBreakdownTable th:nth-child(5),
    body.simulation-print-mode #repairBreakdownTable td:nth-child(5) {
        width: 16% !important;
    }

    body.simulation-print-mode .status-dot {
        width: 5px !important;
        height: 5px !important;
        margin-right: 2px !important;
    }

    /* =====================================
       解体費
    ===================================== */

    body.simulation-print-mode .demolish-row {
        padding: 6px 8px !important;
        border-radius: 5px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body.simulation-print-mode .demolish-row .dl {
        font-size: 11pt !important;
    }

    body.simulation-print-mode .demolish-row .ds {
        font-size: 8pt !important;
    }

    body.simulation-print-mode .demolish-row .dv {
        font-size: 18pt !important;
    }

    /* =====================================
       買い手マッチ度
    ===================================== */

    body.simulation-print-mode .match-card {
        margin-bottom: 7px !important;
        padding: 7px !important;
        border-radius: 5px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body.simulation-print-mode .match-title {
        margin-bottom: 3px !important;
        font-size: 12pt !important;
    }

    body.simulation-print-mode .match-note {
        margin-bottom: 3px !important;
        padding: 4px !important;
        font-size: 8pt !important;
        line-height: 1.2 !important;
    }

    body.simulation-print-mode .cluster {
        gap: 5px !important;
        padding: 3px 0 !important;
    }

    body.simulation-print-mode .cbadge {
        width: 20px !important;
        height: 20px !important;
        font-size: 10pt !important;
    }

    body.simulation-print-mode .cname {
        font-size: 10pt !important;
        line-height: 1.2 !important;
    }

    body.simulation-print-mode .cbudget,
    body.simulation-print-mode .ccount {
        margin-top: 0 !important;
        font-size: 8pt !important;
        line-height: 1.2 !important;
    }

    body.simulation-print-mode .bwrap {
        width: 50% !important;
    }

    body.simulation-print-mode .bbg {
        height: 5px !important;
    }

    body.simulation-print-mode .bpct {
        font-size: 8pt !important;
    }

    /* =====================================
       アドバイス
    ===================================== */

    body.simulation-print-mode .advice-box {
        margin-bottom: 7px !important;
        padding: 7px !important;
        border-radius: 5px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body.simulation-print-mode .advice-box h3 {
        margin-bottom: 3px !important;
        font-size: 12pt !important;
    }

    body.simulation-print-mode .advice-item {
        gap: 3px !important;
        margin-bottom: 2px !important;
        font-size: 8pt !important;
        line-height: 1.25 !important;
    }

    /* =====================================
       注意事項
    ===================================== */

    body.simulation-print-mode .simulation-print-notes {
        margin-top: 5px !important;
        padding: 5px !important;
        border: 1px solid #888 !important;

        font-size: 8pt !important;
        line-height: 1.2 !important;

        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body.simulation-print-mode .simulation-print-notes h2 {
        margin: 0 0 2px !important;
        font-size: 11pt !important;
    }

    body.simulation-print-mode .simulation-print-notes p {
        margin: 1px 0 !important;
    }

    /* URLをリンク後ろに表示しない */
    body.simulation-print-mode #step5 a[href]::after {
        content: none !important;
    }
}