
.kms-design01{--navy:#10284d;--gold:#c69a43;--gold2:#e7d09a;--ivory:#fffdf8;--muted:#6f7782;position:relative;isolation:isolate;overflow:hidden;border-radius:30px;padding:34px clamp(18px,4vw,54px) 38px;margin:16px auto 32px;background:radial-gradient(circle at 92% 8%,rgba(198,154,67,.25),transparent 20%),radial-gradient(circle at 10% 28%,rgba(68,106,151,.18),transparent 25%),linear-gradient(180deg,#f8f2e6 0%,#eef3f7 47%,#f8f5ee 100%);border:1px solid rgba(198,154,67,.34);box-shadow:0 24px 70px rgba(16,40,77,.14)}
.kms-design01:before,.kms-design01:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(198,154,67,.28);border-radius:50%;pointer-events:none}.kms-design01:before{width:420px;height:420px;right:-190px;top:-130px;box-shadow:inset 0 0 0 28px rgba(255,255,255,.10),inset 0 0 0 62px rgba(198,154,67,.06)}.kms-design01:after{width:280px;height:280px;left:-145px;bottom:40px}
.kms-design01__hero{text-align:center;padding:12px 10px 32px}.kms-design01__brand{color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.20em;margin-bottom:12px}.kms-design01__title{margin:0!important;color:var(--navy)!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:clamp(2.5rem,6vw,4.7rem)!important;line-height:1.05!important;letter-spacing:.12em!important;border:0!important;padding:0!important}.kms-design01__english{margin-top:9px;color:#7f6842;font-family:Georgia,serif;font-style:italic;font-size:1.1rem}.kms-design01__lead{margin:18px 0 0!important;color:#3f4d61!important;line-height:1.9!important}.kms-design01__ornament{display:flex;justify-content:center;align-items:center;gap:9px;color:var(--gold);margin:20px auto 0;font-family:"Yu Mincho",serif}.kms-design01__ornament i{display:block;width:38px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.kms-design01__card{position:relative;background:rgba(255,253,248,.95);border:1px solid rgba(198,154,67,.45);border-radius:24px;padding:clamp(22px,4vw,42px);box-shadow:0 20px 50px rgba(16,40,77,.11);backdrop-filter:blur(7px)}.kms-design01__card:before{content:"";position:absolute;inset:9px;border:1px solid rgba(198,154,67,.18);border-radius:18px;pointer-events:none}.kms-design01__cardmark{position:absolute;left:50%;top:-22px;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--gold);background:var(--ivory);border:1px solid var(--gold2)}.kms-design01__cardhead{text-align:center;position:relative;z-index:1;margin-bottom:30px}.kms-design01__cardhead h3{margin:0 0 8px!important;color:var(--navy)!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:clamp(1.45rem,3vw,2rem)!important;border:0!important}.kms-design01__cardhead p{margin:0!important;color:var(--muted)!important;font-size:.93rem;line-height:1.8}
.kms-design01__form{position:relative;z-index:1;max-width:850px;margin:auto}.kms-design01__field{margin-bottom:24px}.kms-design01__field label{display:flex;align-items:center;gap:9px;margin:0 0 9px;color:var(--navy);font-weight:700}.kms-design01__field label em{padding:2px 8px;border-radius:999px;background:#b63b3b;color:#fff;font-size:.68rem;font-style:normal}.kms-design01__icon{width:29px;height:29px;border:1px solid var(--gold);border-radius:50%;display:inline-grid;place-items:center;color:#9a742d;font-family:"Yu Mincho",serif;font-size:.82rem}.kms-design01__inputwrap{padding:1px;border-radius:13px;background:linear-gradient(120deg,var(--gold2),#ddd5c6 45%,var(--gold2))}.kms-design01__inputwrap input{display:block!important;width:100%!important;box-sizing:border-box!important;min-height:54px!important;margin:0!important;padding:0 15px!important;background:#fff!important;color:#1e2a3b!important;border:0!important;border-radius:12px!important;font-size:1rem!important;box-shadow:none!important}.kms-design01__inputwrap input:focus{outline:3px solid rgba(198,154,67,.18)!important}.kms-design01__hint{margin:7px 2px 0!important;color:var(--muted)!important;font-size:.82rem!important}.kms-design01__subactions{display:flex;justify-content:flex-end;margin:2px 0 18px}.kms-design01__clear{border:1px solid #d7d0c4!important;background:#fff!important;color:#536071!important;border-radius:999px!important;padding:8px 15px!important}.kms-design01__submit{width:100%!important;min-height:72px!important;border-radius:18px!important;border:1px solid var(--gold)!important;background:linear-gradient(180deg,#214c83 0%,#102f5a 100%)!important;color:#fff!important;padding:11px 18px!important;box-shadow:0 12px 28px rgba(16,47,90,.25)!important}.kms-design01__submit span{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.35rem;font-weight:700;letter-spacing:.12em}.kms-design01__submit small{display:block;color:#e8d6a8;margin-top:3px;font-size:.76rem}
.kms-design01__benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative;z-index:1;margin:30px auto 0;max-width:900px}.kms-design01__benefits div{text-align:center;border:1px solid rgba(198,154,67,.22);border-radius:15px;padding:15px 10px;background:rgba(255,255,255,.72)}.kms-design01__benefits b{display:block;color:var(--navy);font-family:"Yu Mincho",serif;font-size:.95rem;margin-bottom:4px}.kms-design01__benefits span{display:block;color:var(--muted);font-size:.72rem;line-height:1.55}.kms-design01__message{text-align:center!important;color:#a77e30!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:1.05rem!important;letter-spacing:.10em;margin:25px 0 0!important}.kms-design01__error{position:relative;z-index:1;padding:12px 14px!important;border:1px solid #d77b7b!important;background:#fff4f4!important;color:#8c2424!important;border-radius:10px!important;margin:0 0 20px!important}
@media(max-width:768px){.kms-design01{padding:24px 14px 28px;border-radius:20px}.kms-design01__card{padding:27px 18px 22px}.kms-design01__benefits{grid-template-columns:repeat(2,1fr)}.kms-design01__lead br{display:none}}


/* ============================================================
   鑑定結果 UI — Stage 1
   対象:
   1. 鑑定結果ヘッダー
   2. 中心用神カード
   3. 「あなたの運勢を整える鍵」
   4. 5分野ナビゲーション
   鑑定ロジック / 文章生成 / 判定値には一切触れない。
   ============================================================ */

.kms-design01 .kms-public-reading{
  --reading-navy:#10284d;
  --reading-navy2:#1c477e;
  --reading-gold:#c69a43;
  --reading-gold-soft:#ead6a9;
  --reading-ivory:#fffdf8;
  --reading-paper:#f8f3e9;
  --reading-muted:#667184;
  position:relative;
  overflow:visible;
  margin-top:42px!important;
  padding:34px clamp(16px,3vw,34px) 38px!important;
  border:1px solid rgba(198,154,67,.34)!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 92% 4%,rgba(198,154,67,.18),transparent 22%),
    radial-gradient(circle at 8% 24%,rgba(58,91,136,.11),transparent 28%),
    linear-gradient(180deg,#fbf7ef 0%,#f5f7f8 52%,#faf7f1 100%)!important;
  box-shadow:0 24px 65px rgba(16,40,77,.13)!important;
}

.kms-design01 .kms-public-reading:before{
  content:"鑑 定 書";
  position:absolute;
  left:50%;top:-14px;
  transform:translateX(-50%);
  padding:5px 18px;
  background:var(--reading-ivory);
  border:1px solid var(--reading-gold-soft);
  border-radius:999px;
  color:#9d762e;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:.74rem;
  letter-spacing:.28em;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(16,40,77,.07);
}

.kms-design01 .kms-public-reading__title{
  margin:4px 0 28px!important;
  padding:0!important;
  border:0!important;
  text-align:center!important;
  color:var(--reading-navy)!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(2rem,4.8vw,3.3rem)!important;
  line-height:1.25!important;
  letter-spacing:.09em!important;
}

.kms-design01 .kms-public-reading__title:after{
  content:"";
  display:block;
  width:108px;
  height:1px;
  margin:16px auto 0;
  background:linear-gradient(90deg,transparent,var(--reading-gold),transparent);
}

/* 中心用神カード */
.kms-design01 .kms-public-reading__header{
  position:relative;
  overflow:hidden;
  padding:30px clamp(20px,4vw,42px)!important;
  margin:0 0 22px!important;
  border:1px solid rgba(198,154,67,.42)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 86% 12%,rgba(255,255,255,.18),transparent 24%),
    linear-gradient(135deg,#112d55 0%,#173e70 60%,#204d83 100%)!important;
  color:#fff!important;
  box-shadow:0 18px 38px rgba(16,40,77,.20)!important;
}

.kms-design01 .kms-public-reading__header:before{
  content:"";
  position:absolute;
  width:250px;height:250px;
  right:-95px;top:-105px;
  border-radius:50%;
  border:1px solid rgba(234,214,169,.26);
  box-shadow:
    inset 0 0 0 28px rgba(234,214,169,.04),
    inset 0 0 0 58px rgba(234,214,169,.03);
  pointer-events:none;
}

.kms-design01 .kms-public-reading__header-top{
  position:relative;
  z-index:1;
  display:block!important;
  text-align:center;
}

.kms-design01 .kms-public-reading__header-label{
  margin:0!important;
  color:#ead8b0!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:.92rem!important;
  letter-spacing:.10em!important;
}

.kms-design01 .kms-public-reading__header-yongshen{
  margin:11px 0 12px!important;
  line-height:1!important;
}

.kms-design01 .kms-public-reading__header-yongshen strong{
  display:inline-grid;
  place-items:center;
  min-width:110px;
  min-height:110px;
  padding:12px;
  border-radius:50%;
  border:1px solid rgba(234,214,169,.75);
  background:
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),transparent 30%),
    rgba(255,255,255,.07);
  color:#fff7df!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:3.9rem!important;
  font-weight:600!important;
  text-shadow:0 3px 14px rgba(0,0,0,.22);
  box-shadow:
    0 12px 30px rgba(0,0,0,.14),
    inset 0 0 0 8px rgba(255,255,255,.025);
}

.kms-design01 .kms-public-reading__header-badges{
  position:relative;
  z-index:1;
  display:flex!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:18px 0 15px!important;
}

.kms-design01 .kms-public-reading__badge{
  padding:6px 12px!important;
  border:1px solid rgba(234,214,169,.42)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  color:#f5e7c7!important;
  font-size:.76rem!important;
  font-weight:600!important;
  letter-spacing:.03em!important;
}

.kms-design01 .kms-public-reading__header-note{
  position:relative;
  z-index:1;
  max-width:720px;
  margin:0 auto!important;
  color:#eef3f9!important;
  text-align:center;
  line-height:1.85!important;
  font-size:.94rem!important;
}

.kms-design01 .kms-public-reading__reading-status{
  position:relative;
  z-index:1;
  display:table!important;
  margin:16px auto 0!important;
  padding:5px 11px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.09)!important;
  color:#dce9f7!important;
  font-size:.72rem!important;
}

/* 目次・5分野ナビゲーション */
.kms-design01 .kms-public-reading__nav{
  position:sticky!important;
  top:42px!important;
  z-index:12!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0 0 24px!important;
  padding:12px!important;
  border:1px solid rgba(198,154,67,.30)!important;
  border-radius:16px!important;
  background:rgba(255,253,248,.94)!important;
  backdrop-filter:blur(9px);
  box-shadow:0 10px 28px rgba(16,40,77,.09)!important;
}

.kms-design01 .kms-public-reading__nav-label{
  color:#987226!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  margin-right:3px!important;
}

.kms-design01 .kms-public-reading__nav a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:7px 13px!important;
  border:1px solid #e4d9c2!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--reading-navy)!important;
  text-decoration:none!important;
  font-size:.82rem!important;
  font-weight:700!important;
  box-shadow:0 4px 12px rgba(16,40,77,.04)!important;
  transition:.18s ease!important;
}

.kms-design01 .kms-public-reading__nav a:hover,
.kms-design01 .kms-public-reading__nav a:focus{
  transform:translateY(-1px)!important;
  border-color:var(--reading-gold)!important;
  background:#fffaf0!important;
  color:#8e6821!important;
  outline:none!important;
}

/* 「あなたの運勢を整える鍵」 */
.kms-design01 .kms-public-reading__lead{
  position:relative;
  overflow:hidden;
  margin:0 0 25px!important;
  padding:26px clamp(20px,3vw,34px)!important;
  border:1px solid rgba(198,154,67,.34)!important;
  border-left:4px solid var(--reading-gold)!important;
  border-radius:18px!important;
  background:
    linear-gradient(135deg,rgba(255,253,248,.98),rgba(248,242,228,.96))!important;
  box-shadow:0 12px 28px rgba(16,40,77,.07)!important;
}

.kms-design01 .kms-public-reading__lead:after{
  content:"✦";
  position:absolute;
  right:22px;top:16px;
  color:rgba(198,154,67,.30);
  font-size:2.5rem;
}

.kms-design01 .kms-public-reading__lead h3{
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  color:var(--reading-navy)!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(1.35rem,3vw,1.75rem)!important;
  letter-spacing:.05em!important;
}

.kms-design01 .kms-public-reading__lead p{
  margin:0!important;
  max-width:850px;
  color:#46536a!important;
  font-size:.98rem!important;
  line-height:1.95!important;
}

/* Stage 1では本文カードの中身は変更せず、
   次工程の総合運カードへ影響しない程度に余白だけ整える。 */
.kms-design01 .kms-public-reading__content{
  scroll-margin-top:110px;
}

.kms-design01 .kms-public-reading__section,
.kms-design01 .kms-public-reading__closing{
  scroll-margin-top:112px;
}

@media (max-width:768px){
  .kms-design01 .kms-public-reading{
    margin-top:30px!important;
    padding:28px 12px 30px!important;
    border-radius:20px!important;
  }

  .kms-design01 .kms-public-reading__title{
    font-size:2rem!important;
    margin-bottom:22px!important;
  }

  .kms-design01 .kms-public-reading__header{
    padding:26px 16px!important;
  }

  .kms-design01 .kms-public-reading__header-yongshen strong{
    min-width:92px;
    min-height:92px;
    font-size:3.2rem!important;
  }

  .kms-design01 .kms-public-reading__nav{
    top:32px!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }

  .kms-design01 .kms-public-reading__nav-label,
  .kms-design01 .kms-public-reading__nav a{
    flex:0 0 auto!important;
  }

  .kms-design01 .kms-public-reading__lead{
    padding:22px 18px!important;
  }
}


/* ============================================================
   鑑定結果 UI — Stage 2
   対象: 総合運カードのみ
   鑑定ロジック / 判定値 / 鑑定文章には一切触れない。
   ============================================================ */

.kms-design01 .kms-public-reading__section--overall{
  position:relative;
  overflow:hidden;
  margin:0 0 26px!important;
  padding:32px clamp(22px,4vw,42px) 32px!important;
  border:1px solid rgba(198,154,67,.40)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 94% 8%,rgba(198,154,67,.14),transparent 24%),
    linear-gradient(145deg,#fffdf8 0%,#f8f3e8 100%)!important;
  box-shadow:0 16px 38px rgba(16,40,77,.09)!important;
}

.kms-design01 .kms-public-reading__section--overall:before{
  content:none;
  display:none;
}

.kms-design01 .kms-public-reading__section--overall:after{
  content:"総";
  position:absolute;
  right:-5px;
  bottom:-34px;
  color:rgba(16,40,77,.045);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:10rem;
  font-weight:700;
  line-height:1;
  pointer-events:none;
}

.kms-design01 .kms-public-reading__section--overall h3{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 17px!important;
  padding:0 0 15px!important;
  border:0!important;
  color:var(--reading-navy)!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(1.55rem,3vw,2rem)!important;
  line-height:1.35!important;
  letter-spacing:.07em!important;
}

.kms-design01 .kms-public-reading__section--overall h3:before{
  content:"✦";
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:1px solid rgba(198,154,67,.62);
  border-radius:50%;
  background:#fffaf0;
  color:#a97f2e;
  font-size:.92rem;
  box-shadow:0 5px 14px rgba(16,40,77,.06);
}

.kms-design01 .kms-public-reading__section--overall h3:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(220px,55%);
  height:1px;
  background:linear-gradient(90deg,var(--reading-gold),rgba(198,154,67,.10));
}

.kms-design01 .kms-public-reading__section--overall p{
  position:relative;
  z-index:1;
  margin:0!important;
  color:#3f4e64!important;
  font-size:1rem!important;
  line-height:2!important;
  letter-spacing:.015em!important;
}

@media (max-width:768px){
  .kms-design01 .kms-public-reading__section--overall{
    padding:26px 19px 27px!important;
    border-radius:18px!important;
  }

  .kms-design01 .kms-public-reading__section--overall h3{
    font-size:1.55rem!important;
    margin-bottom:15px!important;
  }

  .kms-design01 .kms-public-reading__section--overall:after{
    right:-10px;
    bottom:-20px;
    font-size:7rem;
  }
}


/* ============================================================
   鑑定結果 UI — Stage 3
   対象: 仕事運カードのみ
   ============================================================ */
.kms-design01 .kms-public-reading__section--work{
  position:relative;overflow:hidden;margin:0 0 26px!important;
  padding:32px clamp(22px,4vw,42px)!important;
  border:1px solid rgba(31,73,116,.25)!important;border-radius:22px!important;
  background:radial-gradient(circle at 94% 8%,rgba(198,154,67,.10),transparent 25%),
             linear-gradient(145deg,#fffefa 0%,#f2f6f9 100%)!important;
  box-shadow:0 16px 38px rgba(16,40,77,.085)!important;
}
.kms-design01 .kms-public-reading__section--work:before{
  content:none;
  display:none;
}
.kms-design01 .kms-public-reading__section--work:after{
  content:"仕";position:absolute;right:-2px;bottom:-34px;color:rgba(16,40,77,.045);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:10rem;font-weight:700;line-height:1;pointer-events:none;
}
.kms-design01 .kms-public-reading__section--work h3{
  position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin:0 0 17px!important;
  padding:0 0 15px!important;border:0!important;color:var(--reading-navy)!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(1.55rem,3vw,2rem)!important;line-height:1.35!important;letter-spacing:.07em!important;
}
.kms-design01 .kms-public-reading__section--work h3:before{
  content:"◆";display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 36px;
  border:1px solid rgba(31,73,116,.34);border-radius:50%;background:#f8fbfd;color:#244e78;
  font-size:.72rem;box-shadow:0 5px 14px rgba(16,40,77,.06);
}
.kms-design01 .kms-public-reading__section--work h3:after{
  content:"";position:absolute;left:0;bottom:0;width:min(220px,55%);height:1px;
  background:linear-gradient(90deg,#244e78,rgba(198,154,67,.30),transparent);
}
.kms-design01 .kms-public-reading__section--work p{
  position:relative;z-index:1;margin:0!important;color:#3f4e64!important;
  font-size:1rem!important;line-height:2!important;letter-spacing:.015em!important;
}
@media (max-width:768px){
  .kms-design01 .kms-public-reading__section--work{padding:26px 19px 27px!important;border-radius:18px!important}
  .kms-design01 .kms-public-reading__section--work h3{font-size:1.55rem!important;margin-bottom:15px!important}
  .kms-design01 .kms-public-reading__section--work:after{right:-8px;bottom:-20px;font-size:7rem}
}


/* ============================================================
   鑑定結果 UI — Stage 4
   対象: 金運カードのみ
   鑑定ロジック / 判定値 / 鑑定文章には一切触れない。
   ============================================================ */

.kms-design01 .kms-public-reading__section--money{
  position:relative;
  overflow:hidden;
  margin:0 0 26px!important;
  padding:32px clamp(22px,4vw,42px)!important;
  border:1px solid rgba(198,154,67,.42)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 92% 10%,rgba(198,154,67,.17),transparent 27%),
    linear-gradient(145deg,#fffefa 0%,#faf4e6 100%)!important;
  box-shadow:0 16px 38px rgba(16,40,77,.085)!important;
}

.kms-design01 .kms-public-reading__section--money:before{
  content:none;
  display:none;
}

.kms-design01 .kms-public-reading__section--money:after{
  content:"財";
  position:absolute;
  right:-4px;
  bottom:-36px;
  color:rgba(168,124,38,.055);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:10rem;
  font-weight:700;
  line-height:1;
  pointer-events:none;
}

.kms-design01 .kms-public-reading__section--money h3{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 17px!important;
  padding:0 0 15px!important;
  border:0!important;
  color:var(--reading-navy)!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(1.55rem,3vw,2rem)!important;
  line-height:1.35!important;
  letter-spacing:.07em!important;
}

.kms-design01 .kms-public-reading__section--money h3:before{
  content:"◇";
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:1px solid rgba(198,154,67,.62);
  border-radius:50%;
  background:#fffaf0;
  color:#a47a27;
  font-size:1rem;
  font-weight:700;
  box-shadow:0 5px 14px rgba(16,40,77,.06);
}

.kms-design01 .kms-public-reading__section--money h3:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(220px,55%);
  height:1px;
  background:linear-gradient(90deg,#b78931,rgba(198,154,67,.34),transparent);
}

.kms-design01 .kms-public-reading__section--money p{
  position:relative;
  z-index:1;
  margin:0!important;
  color:#3f4e64!important;
  font-size:1rem!important;
  line-height:2!important;
  letter-spacing:.015em!important;
}

@media (max-width:768px){
  .kms-design01 .kms-public-reading__section--money{
    padding:26px 19px 27px!important;
    border-radius:18px!important;
  }
  .kms-design01 .kms-public-reading__section--money h3{
    font-size:1.55rem!important;
    margin-bottom:15px!important;
  }
  .kms-design01 .kms-public-reading__section--money:after{
    right:-8px;
    bottom:-20px;
    font-size:7rem;
  }
}


/* ============================================================
   鑑定結果 UI — Stage 5
   対象: 恋愛運カードのみ
   鑑定ロジック / 判定値 / 鑑定文章には一切触れない。
   ============================================================ */

.kms-design01 .kms-public-reading__section--love{
  position:relative;
  overflow:hidden;
  margin:0 0 26px!important;
  padding:32px clamp(22px,4vw,42px)!important;
  border:1px solid rgba(183,132,126,.34)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 92% 9%,rgba(183,132,126,.13),transparent 26%),
    linear-gradient(145deg,#fffdfb 0%,#f8f1ef 100%)!important;
  box-shadow:0 16px 38px rgba(16,40,77,.08)!important;
}

.kms-design01 .kms-public-reading__section--love:before{
  content:none;
  display:none;
}

.kms-design01 .kms-public-reading__section--love:after{
  content:"縁";
  position:absolute;
  right:-5px;
  bottom:-35px;
  color:rgba(157,103,100,.05);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:10rem;
  font-weight:700;
  line-height:1;
  pointer-events:none;
}

.kms-design01 .kms-public-reading__section--love h3{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 17px!important;
  padding:0 0 15px!important;
  border:0!important;
  color:var(--reading-navy)!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(1.55rem,3vw,2rem)!important;
  line-height:1.35!important;
  letter-spacing:.07em!important;
}

.kms-design01 .kms-public-reading__section--love h3:before{
  content:"✧";
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:1px solid rgba(183,132,126,.50);
  border-radius:50%;
  background:#fff9f8;
  color:#a4706d;
  font-size:1rem;
  box-shadow:0 5px 14px rgba(16,40,77,.06);
}

.kms-design01 .kms-public-reading__section--love h3:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(220px,55%);
  height:1px;
  background:linear-gradient(90deg,#a4706d,rgba(198,154,67,.28),transparent);
}

.kms-design01 .kms-public-reading__section--love p{
  position:relative;
  z-index:1;
  margin:0!important;
  color:#3f4e64!important;
  font-size:1rem!important;
  line-height:2!important;
  letter-spacing:.015em!important;
}

@media (max-width:768px){
  .kms-design01 .kms-public-reading__section--love{
    padding:26px 19px 27px!important;
    border-radius:18px!important;
  }
  .kms-design01 .kms-public-reading__section--love h3{
    font-size:1.55rem!important;
    margin-bottom:15px!important;
  }
  .kms-design01 .kms-public-reading__section--love:after{
    right:-9px;
    bottom:-20px;
    font-size:7rem;
  }
}


/* ============================================================
   鑑定結果 UI — Stage 6
   対象: 健康運カードのみ
   鑑定ロジック / 判定値 / 鑑定文章には一切触れない。
   ============================================================ */

.kms-design01 .kms-public-reading__section--health{
  position:relative;
  overflow:hidden;
  margin:0 0 26px!important;
  padding:32px clamp(22px,4vw,42px)!important;
  border:1px solid rgba(84,122,107,.30)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 93% 9%,rgba(84,122,107,.11),transparent 27%),
    linear-gradient(145deg,#fffefa 0%,#f2f7f3 100%)!important;
  box-shadow:0 16px 38px rgba(16,40,77,.08)!important;
}

.kms-design01 .kms-public-reading__section--health:before{
  content:none;
  display:none;
}

.kms-design01 .kms-public-reading__section--health:after{
  content:"健";
  position:absolute;
  right:-4px;
  bottom:-35px;
  color:rgba(55,99,82,.045);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:10rem;
  font-weight:700;
  line-height:1;
  pointer-events:none;
}

.kms-design01 .kms-public-reading__section--health h3{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 17px!important;
  padding:0 0 15px!important;
  border:0!important;
  color:var(--reading-navy)!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(1.55rem,3vw,2rem)!important;
  line-height:1.35!important;
  letter-spacing:.07em!important;
}

.kms-design01 .kms-public-reading__section--health h3:before{
  content:"✦";
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:1px solid rgba(84,122,107,.44);
  border-radius:50%;
  background:#f8fcf9;
  color:#527565;
  font-size:.88rem;
  box-shadow:0 5px 14px rgba(16,40,77,.06);
}

.kms-design01 .kms-public-reading__section--health h3:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(220px,55%);
  height:1px;
  background:linear-gradient(90deg,#527565,rgba(198,154,67,.25),transparent);
}

.kms-design01 .kms-public-reading__section--health p{
  position:relative;
  z-index:1;
  margin:0!important;
  color:#3f4e64!important;
  font-size:1rem!important;
  line-height:2!important;
  letter-spacing:.015em!important;
}

@media (max-width:768px){
  .kms-design01 .kms-public-reading__section--health{
    padding:26px 19px 27px!important;
    border-radius:18px!important;
  }
  .kms-design01 .kms-public-reading__section--health h3{
    font-size:1.55rem!important;
    margin-bottom:15px!important;
  }
  .kms-design01 .kms-public-reading__section--health:after{
    right:-8px;
    bottom:-20px;
    font-size:7rem;
  }
}


/* v1.1.169: primary fortune calculation button cursor */
.kms-design01 button[type="submit"],
.kms-design01 input[type="submit"]{
  cursor: pointer;
}


/* v1.1.172: 公開鑑定結果 和風札・印章デザイン
   鑑定ロジック・値・文章は変更せず、結果表示の外観だけを整える。 */
.kms-design01 .kms-wafu-results{
  --kms-wafu-ink:#132f54;
  --kms-wafu-vermilion:#9e3f38;
  --kms-wafu-gold:#b98b38;
  --kms-wafu-paper:#fffdf7;
  --kms-wafu-line:rgba(185,139,56,.30);
  position:relative;
  margin-top:30px;
}
.kms-design01 .kms-wafu-results>hr{
  border:0!important;
  height:1px!important;
  margin:22px 0 28px!important;
  background:linear-gradient(90deg,transparent,rgba(185,139,56,.65),transparent)!important;
}
.kms-design01 .kms-wafu-results>h3{
  position:relative;
  margin:24px 0 14px!important;
  padding:16px 22px 16px 68px!important;
  border:1px solid var(--kms-wafu-line)!important;
  border-left:0!important;
  border-radius:6px 16px 16px 6px!important;
  background:
    linear-gradient(90deg,rgba(255,249,235,.98),rgba(255,253,247,.92)),
    repeating-linear-gradient(0deg,rgba(120,88,38,.025) 0 1px,transparent 1px 5px)!important;
  box-shadow:0 9px 24px rgba(19,47,84,.07)!important;
  color:var(--kms-wafu-ink)!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:1.18rem!important;
  letter-spacing:.06em!important;
}
.kms-design01 .kms-wafu-results>h3:before{
  content:"鑑";
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(158,63,56,.45);
  border-radius:8px;
  background:rgba(158,63,56,.07);
  color:var(--kms-wafu-vermilion);
  font-size:.82rem;
  font-weight:700;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.68);
}
.kms-design01 .kms-wafu-results>h3:after{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:5px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(180deg,var(--kms-wafu-gold),var(--kms-wafu-vermilion));
}
.kms-design01 .kms-wafu-results>.kms-wafu-results__main-title{
  padding:22px 26px 22px 78px!important;
  border:1px solid rgba(185,139,56,.45)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 92% 20%,rgba(185,139,56,.15),transparent 24%),
    linear-gradient(135deg,#17375f 0%,#102a4d 70%,#0d2340 100%)!important;
  color:#fff!important;
  font-size:1.45rem!important;
  box-shadow:0 16px 34px rgba(19,47,84,.17)!important;
}
.kms-design01 .kms-wafu-results>.kms-wafu-results__main-title:before{
  content:"命";
  left:20px;
  width:42px;
  height:42px;
  border-color:rgba(231,208,154,.70);
  background:rgba(255,255,255,.08);
  color:#e7d09a;
}
.kms-design01 .kms-wafu-results>.kms-wafu-results__main-title:after{
  left:auto;
  right:22px;
  top:50%;
  bottom:auto;
  width:58px;
  height:58px;
  transform:translateY(-50%) rotate(8deg);
  border:1px solid rgba(231,208,154,.18);
  border-radius:50%;
  background:transparent;
  box-shadow:inset 0 0 0 6px rgba(231,208,154,.04);
}
.kms-design01 .kms-wafu-results>ul{
  list-style:none!important;
  margin:0 0 22px!important;
  padding:10px 16px!important;
  border:1px solid rgba(185,139,56,.22);
  border-radius:14px;
  background:
    linear-gradient(180deg,rgba(255,253,247,.96),rgba(250,247,239,.92));
  box-shadow:0 8px 22px rgba(19,47,84,.045);
}
.kms-design01 .kms-wafu-results>ul>li{
  position:relative;
  margin:0!important;
  padding:11px 12px 11px 30px!important;
  border-bottom:1px dashed rgba(185,139,56,.20);
  line-height:1.75;
}
.kms-design01 .kms-wafu-results>ul>li:last-child{border-bottom:0}
.kms-design01 .kms-wafu-results>ul>li:before{
  content:"";
  position:absolute;
  left:10px;
  top:1.45em;
  width:7px;
  height:7px;
  transform:rotate(45deg);
  border:1px solid rgba(158,63,56,.65);
  background:#fffaf0;
}
.kms-design01 .kms-wafu-results>ul>li strong{
  color:#17375f;
  font-weight:800;
}
.kms-design01 .kms-wafu-results>p:not([class]){
  margin:12px 0 22px!important;
  padding:14px 18px!important;
  border-left:3px solid rgba(185,139,56,.55);
  background:rgba(255,253,247,.68);
  line-height:1.9;
}
.kms-design01 .kms-wafu-results .kms-public-reading{
  margin-top:38px;
}
@media(max-width:768px){
  .kms-design01 .kms-wafu-results>h3{
    padding:14px 14px 14px 58px!important;
    font-size:1.05rem!important;
  }
  .kms-design01 .kms-wafu-results>.kms-wafu-results__main-title{
    padding:18px 62px 18px 66px!important;
    font-size:1.22rem!important;
  }
  .kms-design01 .kms-wafu-results>ul{
    padding:7px 10px!important;
  }
  .kms-design01 .kms-wafu-results>ul>li{
    padding:10px 8px 10px 25px!important;
  }
}


/* v1.1.173: 共通鑑定カウンター表示 */
.kms-design01 .kms-fortune-count{
  width:max-content;
  max-width:100%;
  margin:22px auto 10px;
  padding:9px 16px;
  border:1px solid rgba(185,139,56,.28);
  border-radius:999px;
  background:rgba(255,253,247,.92);
  color:#5b5145;
  font-size:14px;
  line-height:1.5;
  letter-spacing:.02em;
}
.kms-design01 .kms-fortune-count strong{
  margin:0 5px;
  color:#17375f;
  font-size:17px;
  font-weight:800;
}


/* v1.1.174: 鑑定書 印刷 / PDF保存 第1段階 */
.kms-design01 .kms-print-actions{
  margin:14px auto 26px;
  text-align:center;
}
.kms-design01 .kms-print-button{
  appearance:none;
  border:1px solid rgba(185,139,56,.72);
  border-radius:10px;
  padding:12px 22px;
  background:linear-gradient(135deg,#17375f,#102a4d);
  color:#fff;
  font-size:15px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.5;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(19,47,84,.14);
}
.kms-design01 .kms-print-button:hover,
.kms-design01 .kms-print-button:focus-visible{
  filter:brightness(1.08);
  outline:2px solid rgba(185,139,56,.45);
  outline-offset:3px;
}
.kms-design01 .kms-print-note{
  margin:8px 0 0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#6f675c;
  font-size:14px;
  line-height:1.6;
}

/* 印刷時は一般利用者向け鑑定書だけを整えて出力する。
   管理者診断・操作ボタン・入力フォーム等は紙面へ出さない。 */
@media print{
  @page{
    size:A4 portrait;
    margin:13mm 12mm 15mm;
  }

  body{
    background:#fff!important;
  }

  body *{
    visibility:hidden!important;
  }

  .kms-design01,
  .kms-design01 *{
    visibility:visible!important;
  }

  .kms-design01{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#222!important;
    box-shadow:none!important;
  }

  /* 入力・操作・管理者専用情報は鑑定書に含めない */
  .kms-design01 form,
  .kms-design01 .kms-print-actions,
  .kms-design01 .kms-admin-diagnostics,
  .kms-design01 .kms-dev-details,
  .kms-design01 .kms-fortune-count{
    display:none!important;
  }

  .kms-design01 .kms-wafu-results{
    margin:0!important;
    --kms-wafu-paper:#fff;
  }

  .kms-design01 .kms-wafu-results>hr{
    display:none!important;
  }

  .kms-design01 .kms-wafu-results>h3,
  .kms-design01 .kms-wafu-results>ul,
  .kms-design01 .kms-public-reading__section{
    break-inside:avoid;
    page-break-inside:avoid;
    box-shadow:none!important;
  }

  .kms-design01 .kms-wafu-results>h3{
    margin-top:8mm!important;
  }

  .kms-design01 .kms-wafu-results>.kms-wafu-results__main-title{
    margin-top:0!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .kms-design01 .kms-wafu-results>ul{
    background:#fff!important;
  }

  .kms-design01 a{
    color:inherit!important;
    text-decoration:none!important;
  }
}


/* v1.1.175: Kiseki.Mirai 四柱推命 正式鑑定書レイアウト */
.kms-design01 .kms-print-certificate-header{
  display:none;
}

@media print{
  /* Webサイト側のヘッダー・パンくず・フッター等を確実に紙面から外す */
  body > *{
    visibility:hidden!important;
  }
  .kms-design01,
  .kms-design01 *{
    visibility:visible!important;
  }

  .kms-design01{
    position:absolute!important;
    inset:0 auto auto 0!important;
    width:100%!important;
    font-size:10.5pt!important;
    line-height:1.62!important;
  }

  /* 正式鑑定書ヘッダー */
  .kms-design01 .kms-print-certificate-header{
    position:relative;
    display:block!important;
    min-height:43mm;
    margin:0 0 8mm!important;
    padding:10mm 15mm 8mm!important;
    border:1.2pt solid #b98b38!important;
    border-radius:4mm;
    background:#fffdf7!important;
    text-align:center;
    box-sizing:border-box;
    break-after:avoid;
    page-break-after:avoid;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  .kms-design01 .kms-print-certificate-brand{
    margin-bottom:3mm;
    color:#17375f!important;
    font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
    font-size:11pt;
    font-weight:700;
    letter-spacing:.12em;
  }
  .kms-design01 .kms-print-certificate-title{
    color:#102a4d!important;
    font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
    font-size:22pt;
    font-weight:800;
    letter-spacing:.16em;
    line-height:1.35;
  }
  .kms-design01 .kms-print-certificate-subtitle{
    margin-top:2mm;
    color:#6f675c!important;
    font-size:9.5pt;
    letter-spacing:.18em;
  }
  .kms-design01 .kms-print-certificate-seal{
    position:absolute;
    right:10mm;
    bottom:8mm;
    width:13mm;
    height:13mm;
    display:grid!important;
    place-items:center;
    border:1.2pt solid #9e3f38!important;
    color:#9e3f38!important;
    font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
    font-size:15pt;
    font-weight:800;
    transform:rotate(5deg);
  }

  /* v1.1.174 の大きすぎるカード単位改ページを解除。
     見出しと直後の内容だけを離さないことで空白ページを減らす。 */
  .kms-design01 .kms-wafu-results>ul,
  .kms-design01 .kms-public-reading__section{
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  .kms-design01 .kms-wafu-results>h3{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    break-after:avoid!important;
    page-break-after:avoid!important;
    margin:5mm 0 2.5mm!important;
    padding:3.2mm 4mm 3.2mm 14mm!important;
    border-radius:2.5mm!important;
    font-size:12.5pt!important;
    box-shadow:none!important;
  }
  .kms-design01 .kms-wafu-results>h3 + ul,
  .kms-design01 .kms-wafu-results>h3 + p{
    margin-top:0!important;
  }
  .kms-design01 .kms-wafu-results>ul{
    margin:0 0 4mm!important;
    padding:1.5mm 3mm!important;
    border-radius:2.5mm!important;
    box-shadow:none!important;
  }
  .kms-design01 .kms-wafu-results>ul>li{
    padding:1.8mm 2mm 1.8mm 7mm!important;
    line-height:1.55!important;
  }
  .kms-design01 .kms-wafu-results>p:not([class]){
    margin:0 0 4mm!important;
    padding:2.5mm 3.5mm!important;
    line-height:1.65!important;
  }

  /* 最初の命式見出しを鑑定書の章扉として簡潔に */
  .kms-design01 .kms-wafu-results>.kms-wafu-results__main-title{
    margin:0 0 3mm!important;
    padding:4mm 5mm 4mm 17mm!important;
    border-radius:3mm!important;
    font-size:15pt!important;
  }

  /* 公開鑑定カードも紙面では余白を圧縮 */
  .kms-design01 .kms-public-reading{
    margin-top:7mm!important;
  }
  .kms-design01 .kms-public-reading__section{
    margin-bottom:5mm!important;
    box-shadow:none!important;
  }

  /* ページ末尾に残りやすいサイトナビゲーション類を除外 */
  .kms-design01 .breadcrumb,
  .kms-design01 .breadcrumbs,
  .kms-design01 .entry-footer,
  .kms-design01 .post-navi,
  .kms-design01 .sns-share,
  .kms-design01 .sns-follow,
  .kms-design01 .footer,
  .kms-design01 nav{
    display:none!important;
  }
}


/* v1.1.176: 印刷対象を鑑定結果だけに限定し、Web画面由来の過剰ページ化を修正 */
@media print{
  html, body{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }

  body *{
    visibility:hidden!important;
  }

  .kms-design01 .kms-wafu-results,
  .kms-design01 .kms-wafu-results *{
    visibility:visible!important;
  }

  .kms-design01 .kms-wafu-results{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .kms-design01 > *:not(.kms-wafu-results),
  .kms-design01 form,
  .kms-design01 .kms-fortune-count,
  .kms-design01 .kms-print-actions,
  .kms-design01 .kms-admin-diagnostics,
  .kms-design01 .kms-dev-details{
    display:none!important;
  }

  .kms-wafu-results button,
  .kms-wafu-results input,
  .kms-wafu-results select,
  .kms-wafu-results textarea{
    display:none!important;
  }

  .kms-design01 .kms-wafu-results,
  .kms-design01 .kms-wafu-results div,
  .kms-design01 .kms-wafu-results section,
  .kms-design01 .kms-wafu-results article,
  .kms-design01 .kms-wafu-results ul,
  .kms-design01 .kms-wafu-results li,
  .kms-design01 .kms-public-reading,
  .kms-design01 .kms-public-reading__section{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  .kms-design01 .kms-public-reading,
  .kms-design01 .kms-public-reading__section,
  .kms-design01 .kms-wafu-results>ul,
  .kms-design01 .kms-wafu-results>p{
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .kms-design01 .kms-wafu-results>h3,
  .kms-design01 .kms-public-reading__section h3,
  .kms-design01 .kms-public-reading__section h4{
    break-after:avoid!important;
    page-break-after:avoid!important;
  }

  .kms-design01 .kms-public-reading__section{
    padding-top:4mm!important;
    padding-bottom:4mm!important;
    margin-top:0!important;
    margin-bottom:4mm!important;
  }
}


/* v1.1.177: 印刷フロー修正
   親 .kms-design01 は残し、結果以外の直下要素だけを隠す。
   v1.1.176 の「親まで display:none になり結果が消える」問題を上書き修正。 */
@media print{
  /* v1.1.176 の直下全非表示指定を打ち消し、親コンテナを印刷フローへ戻す */
  .kms-design01{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  /* まず直下要素を非表示。結果ラッパーだけ明示的に復帰 */
  .kms-design01 > *{
    display:none!important;
  }
  .kms-design01 > .kms-wafu-results{
    display:block!important;
    visibility:visible!important;
    position:static!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .kms-design01 > .kms-wafu-results *{
    visibility:visible!important;
  }

  /* 結果内の管理・操作系は念のため非表示 */
  .kms-design01 .kms-wafu-results .kms-admin-diagnostics,
  .kms-design01 .kms-wafu-results .kms-dev-details,
  .kms-design01 .kms-wafu-results button,
  .kms-design01 .kms-wafu-results input,
  .kms-design01 .kms-wafu-results select,
  .kms-design01 .kms-wafu-results textarea{
    display:none!important;
  }

  /* ページ分割は通常フローに任せ、巨大な空白を作らない */
  .kms-design01 .kms-wafu-results,
  .kms-design01 .kms-wafu-results>ul,
  .kms-design01 .kms-wafu-results>p,
  .kms-design01 .kms-public-reading,
  .kms-design01 .kms-public-reading__section{
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .kms-design01 .kms-wafu-results>h3,
  .kms-design01 .kms-public-reading__section h3,
  .kms-design01 .kms-public-reading__section h4{
    break-after:avoid!important;
    page-break-after:avoid!important;
  }
}


/* v1.1.178: PDF/印刷専用コンパクト鑑定書
   v1.1.177の「結果だけを印刷する」構造は固定し、紙面密度だけを最適化する。 */
@media print{
  @page{
    size:A4 portrait;
    margin:10mm 10mm 12mm;
  }

  .kms-design01 > .kms-wafu-results{
    font-size:9pt!important;
    line-height:1.38!important;
  }

  /* 鑑定書ヘッダーをコンパクト化 */
  .kms-design01 .kms-print-certificate-header{
    min-height:0!important;
    margin:0 0 4mm!important;
    padding:5mm 10mm 4.5mm!important;
    border-radius:2.5mm!important;
  }
  .kms-design01 .kms-print-certificate-brand{
    margin-bottom:1.2mm!important;
    font-size:9pt!important;
  }
  .kms-design01 .kms-print-certificate-title{
    font-size:17pt!important;
    line-height:1.2!important;
  }
  .kms-design01 .kms-print-certificate-subtitle{
    margin-top:1mm!important;
    font-size:8pt!important;
  }
  .kms-design01 .kms-print-certificate-seal{
    right:7mm!important;
    bottom:5mm!important;
    width:9mm!important;
    height:9mm!important;
    font-size:10pt!important;
  }

  /* 計算過程：Webカードを紙面向けの薄い鑑定表へ */
  .kms-design01 .kms-wafu-results>h3{
    margin:3mm 0 1mm!important;
    padding:2.2mm 3mm 2.2mm 11mm!important;
    border-radius:1.5mm!important;
    font-size:10.5pt!important;
    line-height:1.25!important;
    box-shadow:none!important;
  }
  .kms-design01 .kms-wafu-results>h3:before{
    left:3mm!important;
    width:6mm!important;
    height:6mm!important;
    border-radius:1.2mm!important;
    font-size:6.5pt!important;
  }
  .kms-design01 .kms-wafu-results>h3:after{
    top:1.5mm!important;
    bottom:1.5mm!important;
    width:1mm!important;
  }
  .kms-design01 .kms-wafu-results>.kms-wafu-results__main-title{
    margin:0 0 2mm!important;
    padding:3mm 4mm 3mm 13mm!important;
    font-size:12pt!important;
  }
  .kms-design01 .kms-wafu-results>.kms-wafu-results__main-title:before{
    left:3.5mm!important;
    width:7mm!important;
    height:7mm!important;
  }
  .kms-design01 .kms-wafu-results>.kms-wafu-results__main-title:after{
    width:10mm!important;
    height:10mm!important;
    right:4mm!important;
  }

  .kms-design01 .kms-wafu-results>ul{
    margin:0 0 2mm!important;
    padding:.7mm 2mm!important;
    border-radius:1.5mm!important;
    box-shadow:none!important;
  }
  .kms-design01 .kms-wafu-results>ul>li{
    padding:1mm 1.5mm 1mm 5mm!important;
    line-height:1.35!important;
  }
  .kms-design01 .kms-wafu-results>ul>li:before{
    left:1.7mm!important;
    top:1.65em!important;
    width:1.2mm!important;
    height:1.2mm!important;
  }
  .kms-design01 .kms-wafu-results>p:not([class]){
    margin:0 0 2mm!important;
    padding:1.8mm 2.5mm!important;
    line-height:1.45!important;
  }

  /* 公開鑑定本文：装飾余白を削り、文章は削らない */
  .kms-design01 .kms-public-reading{
    margin-top:4mm!important;
  }
  .kms-design01 .kms-public-reading__section{
    height:auto!important;
    min-height:0!important;
    margin:0 0 3mm!important;
    padding:3mm 4mm!important;
    border-radius:2mm!important;
    line-height:1.48!important;
    box-shadow:none!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  .kms-design01 .kms-public-reading__section p,
  .kms-design01 .kms-public-reading__section ul,
  .kms-design01 .kms-public-reading__section ol{
    margin-top:1.5mm!important;
    margin-bottom:1.5mm!important;
    line-height:1.48!important;
  }
  .kms-design01 .kms-public-reading__section h3,
  .kms-design01 .kms-public-reading__section h4{
    margin-top:0!important;
    margin-bottom:1.5mm!important;
    line-height:1.3!important;
  }

  /* 装飾だけの疑似要素が余分な高さを作らないよう制限 */
  .kms-design01 .kms-public-reading__section:before,
  .kms-design01 .kms-public-reading__section:after{
    max-height:18mm!important;
  }

  /* 空の要素は印刷しない */
  .kms-design01 .kms-wafu-results p:empty,
  .kms-design01 .kms-wafu-results div:empty{
    display:none!important;
  }
}


/* v1.1.179: PDF後半鑑定本文をA4本文幅100%へ統一 */
@media print{
  /* 公開鑑定エリアに残るWeb用grid/flex/max-widthを解除 */
  .kms-design01 .kms-public-reading,
  .kms-design01 .kms-public-reading__sections,
  .kms-design01 .kms-public-reading__section,
  .kms-design01 .kms-public-reading__section-inner,
  .kms-design01 .kms-public-reading__body,
  .kms-design01 .kms-public-reading__content{
    display:block!important;
    float:none!important;
    clear:both!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    transform:none!important;
  }

  .kms-design01 .kms-public-reading{
    padding-left:0!important;
    padding-right:0!important;
  }

  /* 直接子要素も紙面幅を使用 */
  .kms-design01 .kms-public-reading > *,
  .kms-design01 .kms-public-reading__section > *{
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* Web用2カラム等が残っていても印刷では1カラム */
  .kms-design01 .kms-public-reading [class*="grid"],
  .kms-design01 .kms-public-reading [class*="columns"],
  .kms-design01 .kms-public-reading [class*="column"]{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:none!important;
  }

  /* 各運勢カードを同一のA4本文幅にする */
  .kms-design01 .kms-public-reading__section--overall,
  .kms-design01 .kms-public-reading__section--work,
  .kms-design01 .kms-public-reading__section--money,
  .kms-design01 .kms-public-reading__section--love,
  .kms-design01 .kms-public-reading__section--health{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* 幅を広げた分、読みやすさを保ちながら縦余白を少し整理 */
  .kms-design01 .kms-public-reading__section{
    padding:2.6mm 3.5mm!important;
    margin-bottom:2.5mm!important;
  }
  .kms-design01 .kms-public-reading__section p{
    margin-top:1.1mm!important;
    margin-bottom:1.1mm!important;
  }
}


/* v1.1.181: 四柱推命専用 和紙・山水・桜・金彩シームレス背景 */
.kms-design01{
  position:relative;
  background-color:#fbf7ed;
  background-image:url("kms-shichusuimei-seamless-bg.webp");
  background-repeat:repeat;
  background-position:top center;
  background-size:768px auto;
  background-attachment:scroll;
}

/* 内容カードの可読性を維持しつつ背景の意匠を見せる */
.kms-design01 form,
.kms-design01 .kms-fortune-count,
.kms-design01 .kms-print-actions,
.kms-design01 .kms-wafu-results{
  position:relative;
  z-index:1;
}

/* PDF/印刷は従来どおり白紙面。背景画像は出力しない */
@media print{
  .kms-design01{
    background:#fff!important;
    background-image:none!important;
  }
}


/* v1.1.183: 中央白場を固定する縦方向専用背景
   横方向には繰り返さず、左右装飾＋中央白場の構図を維持する。 */
.kms-design01{
  background-color:#fbf8ef;
  background-image:url("kms-shichusuimei-seamless-bg.webp");
  background-repeat:repeat-y;
  background-position:top center;
  background-size:100% auto;
}

/* 印刷/PDFは従来どおり背景を出力しない */
@media print{
  .kms-design01{
    background:#fff!important;
    background-image:none!important;
  }
}
