/* TOPページ共通枠に入れる価格本文専用のスタイル。 */
#main_contents.price-content {
  --ink:#173c4b; --muted:#5c747d; --blue:#027bff; --deep:#075eaf;
  --mint:#e8f7f3; --orange:#f47a22; --line:#d8e7ec;
  min-width:0; color:var(--ink); background:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:16px; line-height:1.8; overflow-wrap:anywhere;
}
#main_contents.price-content *,#main_contents.price-content *::before,#main_contents.price-content *::after{box-sizing:border-box}
#main_contents.price-content a{color:var(--deep)}
#main_contents.price-content img{max-width:100%;height:auto}
#main_contents.price-content h1,#main_contents.price-content h2,#main_contents.price-content h3,#main_contents.price-content p{margin-top:0}
#main_contents.price-content h1,#main_contents.price-content h2,#main_contents.price-content h3{line-height:1.45;letter-spacing:.015em}
#main_contents.price-content h2{font-size:clamp(1.35rem,1.75vw,1.7rem)}
#main_contents.price-content h3{font-size:1.08rem}
.gridContainer > .price-brand{display:block;width:200px;height:54px;margin:12px 0 8px;background-position:left top}
.gridContainer > .price-brand a{display:block;width:100%;height:100%;text-indent:-9999px;overflow:hidden}
#main_contents.price-content .price-opening{padding:26px 0 34px}
#main_contents.price-content .price-opening h1{margin:0 0 20px;color:#075d9f;font-size:clamp(1.7rem,2.1vw,1.9rem);font-weight:850;line-height:1.38}
#main_contents.price-content .price-reference-heading{display:inline-block;margin:0 0 22px;padding:7px 18px;color:#087cba;background:#eaf7fc;border-left:6px solid #58bd8d;border-radius:0 10px 10px 0;font-size:1.4rem;font-weight:850}
#main_contents.price-content .price-original-hook{margin:0 0 18px;padding:18px 20px;color:#135018;background:#edf8f1;border-radius:14px;font-size:clamp(1.42rem,1.9vw,1.72rem);font-weight:800;line-height:1.5}
#main_contents.price-content .price-original-lead{margin:0 0 10px;color:#1046b7;font-size:1.02rem;font-weight:700}
#main_contents.price-content .price-original-lead strong{color:#9e1818}
#main_contents.price-content .price-original-fees{margin:20px 0 14px;padding:18px 20px;background:#f2faf4;border-left:5px solid #61bd82;border-radius:0 10px 10px 0}
#main_contents.price-content .price-original-fees>p:first-child{margin:0 0 8px;color:#135018;font-size:1.04rem;font-weight:800}
#main_contents.price-content .price-original-fees .fee-line{margin:0;padding:5px 0;border-bottom:1px solid #d3e8d7;font-weight:650}
#main_contents.price-content .price-original-fees .fee-line:last-child{border-bottom:0}
#main_contents.price-content .price-opening .updated{margin:0;color:#607782;font-size:.78rem}
#main_contents.price-content #price-table{padding-top:30px}
#main_contents.price-content .breadcrumb { display: flex; align-items: center; gap: 9px; padding: 15px 0 10px; color: var(--muted); font-size: .8rem; }#main_contents.price-content .breadcrumb a { color: var(--muted); }#main_contents.price-content .hero { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); align-items: center; gap: 52px; min-height: 500px; padding: 45px 0 66px; }#main_contents.price-content .service-area { margin-bottom: 14px; color: #c4f5e8; font-size: .77rem; font-weight: 850; letter-spacing: .13em; }#main_contents.price-content .hero h1 { margin: 0 0 22px; color: #075d9f; font-size: clamp(2.15rem,4vw,3.35rem); line-height: 1.3; text-wrap: balance; }#main_contents.price-content .hero-lead { max-width: 680px; font-size: 1.04rem; line-height: 2.05; }#main_contents.price-content .hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin: 25px 0 14px; }#main_contents.price-content .updated { margin: 0; color: var(--muted); font-size: .8rem; }#main_contents.price-content .button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; padding: 15px 21px; border-radius: 12px; font-weight: 800; line-height: 1.4; text-decoration: none; transition: transform .2s, box-shadow .2s; }#main_contents.price-content .button:hover { transform: translateY(-2px); }#main_contents.price-content .button.primary { color: #fff; background: var(--blue); box-shadow: 0 8px 20px rgba(2,123,255,.23); }#main_contents.price-content .button.light { color: #085f9e; background: #fff; }#main_contents.price-content .text-link { font-weight: 800; text-underline-offset: 4px; }#main_contents.price-content .price-highlight { padding: 30px; background: linear-gradient(145deg,#fff 0%,#f5fbff 100%); border: 1px solid #c9e3fa; border-radius: 24px; box-shadow: 0 16px 38px rgba(13,83,126,.12); }#main_contents.price-content .price-highlight > p { margin-bottom: 2px; color: var(--deep); font-weight: 850; }#main_contents.price-content .price-highlight > strong { display: block; margin-bottom: 6px; color: var(--orange); font-size: 1.25rem; line-height: 1.2; }#main_contents.price-content .price-highlight > strong span { font-size: clamp(2.3rem,4vw,3.5rem); letter-spacing: -.03em; }#main_contents.price-content .price-highlight > small { display: block; margin-bottom: 23px; color: var(--muted); line-height: 1.6; }#main_contents.price-content .price-highlight dl { margin: 0; }#main_contents.price-content .price-highlight dl div { display: flex; justify-content: space-between; gap: 15px; padding: 11px 0; border-top: 1px solid var(--line); }#main_contents.price-content .price-highlight dt { font-size: .85rem; font-weight: 700; }#main_contents.price-content .price-highlight dd { margin: 0; white-space: nowrap; font-weight: 850; }#main_contents.price-content .section { padding: 76px 0; border-top: 1px solid var(--line); }#main_contents.price-content .section-heading { max-width: 780px; margin-bottom: 30px; }#main_contents.price-content .section-heading h2 { margin: 0 0 10px; }#main_contents.price-content .section-heading > p:last-child { margin-bottom: 0; color: var(--muted); }#main_contents.price-content .cost-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }#main_contents.price-content .choice-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }#main_contents.price-content .cost-grid article,
#main_contents.price-content .choice-grid article { padding: 27px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 6px 22px rgba(13,73,90,.045); }#main_contents.price-content .cost-grid article { display: flex; flex-direction: column; min-height: 190px; }#main_contents.price-content .cost-grid .cost-label { margin-bottom: 16px; color: var(--deep); font-size: .8rem; font-weight: 850; }#main_contents.price-content .cost-grid strong { margin: auto 0 6px; color: var(--ink); font-size: 1.22rem; line-height: 1.35; }#main_contents.price-content .cost-grid small { color: var(--muted); line-height: 1.55; }#main_contents.price-content .cost-grid .saving-card { background: #fff8e9; border-color: #f6cc92; }#main_contents.price-content .cost-grid .saving-card strong { color: #d95f0b; }#main_contents.price-content .choice-grid h3 { margin-bottom: 9px; }#main_contents.price-content .choice-grid p { margin-bottom: 0; color: var(--muted); font-size: .9rem; }#main_contents.price-content .choice-grid article { display: flex; flex-direction: column; }#main_contents.price-content .choice-grid article a { margin-top: auto; padding-top: 16px; font-weight: 800; text-decoration: none; }#main_contents.price-content .choice-grid article a:hover { text-decoration: underline; }#main_contents.price-content .original-copy { margin: 0 0 28px; padding: 28px 30px 28px 35px; color: #365966; background: #fff; border: 1px solid var(--line); border-left: 5px solid #0b8f89; border-radius: 0 16px 16px 0; box-shadow: 0 6px 22px rgba(13,73,90,.045); font-size: .95rem; line-height: 2.05; }#main_contents.price-content .table-wrap { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 24px rgba(13,73,90,.06); }#main_contents.price-content table { width: 100%; border-collapse: collapse; }#main_contents.price-content caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }#main_contents.price-content th,
#main_contents.price-content td { padding: 20px 24px; text-align: left; border-bottom: 1px solid var(--line); }#main_contents.price-content thead th { color: #fff; background: linear-gradient(100deg,#0878c9,#079899); font-size: .87rem; }#main_contents.price-content tbody th { font-weight: 800; }#main_contents.price-content tbody td:nth-child(2) strong { color: var(--orange); font-size: 1.08rem; }#main_contents.price-content tbody td:last-child { color: var(--muted); font-size: .87rem; }#main_contents.price-content tbody tr:last-child th,
#main_contents.price-content tbody tr:last-child td { border-bottom: 0; }#main_contents.price-content .note { margin: 15px 0 0; color: var(--muted); font-size: .8rem; }#main_contents.price-content .total-example { background: linear-gradient(110deg,rgba(232,247,243,.68),rgba(237,247,255,.58)); }#main_contents.price-content .calculation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.12fr; align-items: stretch; gap: 13px; }#main_contents.price-content .calculation > div { display: flex; flex-direction: column; justify-content: center; min-height: 155px; padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }#main_contents.price-content .calculation > b { align-self: center; color: #75939f; font-size: 1.5rem; }#main_contents.price-content .calculation span { color: var(--muted); font-size: .77rem; font-weight: 800; }#main_contents.price-content .calculation strong { margin: 5px 0; font-size: 1.25rem; }#main_contents.price-content .calculation small { color: var(--muted); }#main_contents.price-content .calculation .total { color: #fff; background: linear-gradient(130deg,#0b70c0,#09968f); border: 0; }#main_contents.price-content .calculation .total span,
#main_contents.price-content .calculation .total small { color: #d9f8f3; }#main_contents.price-content .calculation .total strong { font-size: 1.45rem; }#main_contents.price-content .caution { margin: 22px 0 0; padding: 16px 20px; color: #6d5635; background: #fff8e9; border-left: 4px solid #f4a33c; border-radius: 0 10px 10px 0; font-size: .9rem; }#main_contents.price-content .fee-panel { display: grid; grid-template-columns: 1.1fr .9fr; gap: 28px; align-items: start; }#main_contents.price-content .fee-panel dl { margin: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 17px; }#main_contents.price-content .fee-panel dl div { display: grid; grid-template-columns: 1fr auto; gap: 24px; padding: 19px 23px; border-bottom: 1px solid var(--line); }#main_contents.price-content .fee-panel dl div:last-child { border-bottom: 0; }#main_contents.price-content .fee-panel dt { font-weight: 750; }#main_contents.price-content .fee-panel dd { margin: 0; color: var(--deep); font-weight: 850; text-align: right; }#main_contents.price-content .fee-panel aside { padding: 27px; background: var(--mint); border-radius: 18px; }#main_contents.price-content .fee-panel aside h3 { margin-bottom: 12px; }#main_contents.price-content .fee-panel aside ul { margin: 0; padding-left: 1.25em; }#main_contents.price-content .fee-panel aside li { padding: 4px 0; }#main_contents.price-content .faq-list { display: grid; gap: 10px; }#main_contents.price-content .faq-list details { padding: 0 20px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }#main_contents.price-content .faq-list summary { padding: 18px 20px 18px 0; cursor: pointer; font-weight: 800; }#main_contents.price-content .faq-list details[open] summary { border-bottom: 1px solid var(--line); }#main_contents.price-content .faq-list details p { margin-bottom: 18px; padding-top: 15px; color: var(--muted); }#main_contents.price-content .estimate-support { padding-bottom: 16px; }#main_contents.price-content .support-title { margin: 0 0 34px; padding: 8px 0 12px 26px; color: #087cba; border-left: 10px solid #58bd8d; border-bottom: 2px solid #cbe6ee; font-size: clamp(1.65rem,3.2vw,2.75rem); font-weight: 850; line-height: 1.45; }#main_contents.price-content .support-panel { margin-bottom: 18px; padding: 42px; background: linear-gradient(135deg,#f2fbf7,#e9f8f2); border: 1px solid #bfe6d5; border-radius: 24px; box-shadow: 0 10px 30px rgba(13,73,90,.08); }#main_contents.price-content .support-greeting { margin-bottom: 24px; font-size: 1.18rem; }#main_contents.price-content .support-highlight { margin-bottom: 20px; color: #244b51; font-size: clamp(1.25rem,2.25vw,1.78rem); line-height: 1.75; }#main_contents.price-content .support-highlight strong { background: linear-gradient(transparent 67%,#ffed63 67%); }#main_contents.price-content .support-experience { margin-bottom: 30px; font-size: 1.05rem; line-height: 2; }#main_contents.price-content .support-visuals { display: grid; grid-template-columns: minmax(250px,.68fr) minmax(0,1.32fr); gap: 18px; }#main_contents.price-content .subsidy-card,
#main_contents.price-content .endo-photo { min-height: 315px; overflow: hidden; background: #fff; border: 1px solid #cce0e7; border-radius: 20px; box-shadow: 0 9px 26px rgba(13,73,90,.08); }#main_contents.price-content .subsidy-card { display: flex; align-items: center; justify-content: center; padding: 16px; }#main_contents.price-content .subsidy-card img { display: block; width: 100%; height: 100%; max-height: 290px; object-fit: contain; }#main_contents.price-content .endo-photo { position: relative; margin: 0; }#main_contents.price-content .endo-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }#main_contents.price-content .endo-photo figcaption { position: absolute; right: 14px; bottom: 14px; padding: 8px 12px; color: var(--ink); background: rgba(255,255,255,.92); border-radius: 8px; font-size: .75rem; }#main_contents.price-content .endo-message { display: grid; grid-template-columns: minmax(0,1fr) 292px; align-items: center; gap: 48px; width: min(100%,1000px); margin: 0 auto; padding: 32px 38px; color: #fff; background: linear-gradient(120deg,#0c6bb7,#05928f); border-radius: 20px; }#main_contents.price-content .endo-copy { min-width: 0; }#main_contents.price-content .endo-message h3 { margin: 0 0 10px; color: #fff; font-size: clamp(1.45rem,2.2vw,1.8rem); }#main_contents.price-content .endo-quote { margin-bottom: 10px; font-size: 1.02rem; font-weight: 800; line-height: 1.75; }#main_contents.price-content .endo-copy > p:not(.service-area):not(.endo-quote) { margin-bottom: 0; color: #e0f5f7; font-size: .9rem; line-height: 1.75; }#main_contents.price-content .cta-actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }#main_contents.price-content .cta-actions .button { width: 100%; padding: 13px 18px; text-align: center; }#main_contents.price-content .phone { color: #fff; font-size: 1.16rem; font-weight: 850; line-height: 1.35; text-decoration: none; }#main_contents.price-content .phone small { display: block; font-size: .7rem; font-weight: 400; }#main_contents.price-content .case-link { color: #d9f8f3; font-size: .82rem; font-weight: 750; text-underline-offset: 4px; }


/* TOPと同じ三列幅に合わせる。本文のみ列内で自然に流す。 */
@media(min-width:769px){
  #main_contents.price-content{padding:18px 1.5% 55px}
  #main_contents.price-content .hero{display:block;min-height:0;padding:22px 0 40px}
  #main_contents.price-content .hero h1{font-size:clamp(1.8rem,2.7vw,2.65rem)}
  #main_contents.price-content .hero-lead{font-size:.96rem}
  #main_contents.price-content .price-highlight{margin-top:26px;padding:22px}
  #main_contents.price-content .section{padding:45px 0}
  #main_contents.price-content .section-heading{margin-bottom:22px}
  #main_contents.price-content .cost-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #main_contents.price-content .cost-grid article{min-height:148px;padding:18px}
  #main_contents.price-content .choice-grid{grid-template-columns:1fr;gap:12px}
  #main_contents.price-content .choice-grid article{padding:20px}
  #main_contents.price-content th,#main_contents.price-content td{padding:12px 10px;font-size:.86rem}
  #main_contents.price-content .calculation{grid-template-columns:1fr 1fr;gap:10px}
  #main_contents.price-content .calculation>b{display:none}
  #main_contents.price-content .calculation>div{min-height:115px;padding:16px}
  #main_contents.price-content .fee-panel{grid-template-columns:1fr;gap:15px}
  #main_contents.price-content .support-title{font-size:clamp(1.35rem,1.7vw,1.75rem)}
  #main_contents.price-content .support-panel{padding:24px}
  #main_contents.price-content .support-visuals{grid-template-columns:1fr}
  #main_contents.price-content .support-visuals .subsidy-card{display:none}
  #main_contents.price-content .endo-photo{min-height:0}
  #main_contents.price-content .endo-photo img{height:auto;display:block}
  #main_contents.price-content .endo-message{grid-template-columns:1fr;gap:20px;padding:25px}
  #main_contents.price-content .cta-actions{max-width:360px}
}
@media(max-width:768px){
  .gridContainer>.price-brand{display:none}
  #main_contents.price-content{padding:12px 14px 40px}
  #main_contents.price-content .price-opening{padding:20px 0 25px}
  #main_contents.price-content .price-reference-heading{margin-bottom:18px;font-size:1.28rem}
  #main_contents.price-content .price-original-hook{padding:16px;font-size:1.25rem}
  #main_contents.price-content .price-original-lead{font-size:.93rem}
  #main_contents.price-content .price-original-fees{padding:14px}
  #main_contents.price-content .hero{display:block;min-height:0;padding:20px 0 40px}
  #main_contents.price-content .hero h1{font-size:1.9rem}
  #main_contents.price-content .price-highlight{margin-top:25px;padding:22px}
  #main_contents.price-content .section{padding:48px 0}
  #main_contents.price-content .cost-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #main_contents.price-content .cost-grid article{min-height:140px;padding:15px}
  #main_contents.price-content .cost-grid strong{font-size:1.05rem}
  #main_contents.price-content .choice-grid{grid-template-columns:1fr}
  #main_contents.price-content .table-wrap{overflow-x:auto}
  #main_contents.price-content table{min-width:560px}
  #main_contents.price-content th,#main_contents.price-content td{padding:14px}
  #main_contents.price-content .calculation{grid-template-columns:1fr 1fr}
  #main_contents.price-content .calculation>b{display:none}
  #main_contents.price-content .calculation>div{min-height:110px;padding:15px}
  #main_contents.price-content .fee-panel{grid-template-columns:1fr}
  #main_contents.price-content .support-visuals{grid-template-columns:1fr}
  #main_contents.price-content .support-panel{padding:22px 17px}
  #main_contents.price-content .endo-message{grid-template-columns:1fr;gap:16px;padding:22px}
}
@media(max-width:480px){
  #main_contents.price-content .cost-grid{grid-template-columns:1fr 1fr}
  #main_contents.price-content .cost-grid strong{font-size:.95rem}
  #main_contents.price-content .hero-actions{align-items:stretch;flex-direction:column;gap:12px}
  #main_contents.price-content .button.primary{width:100%}
  #main_contents.price-content .section-heading h2{font-size:1.45rem}
  #main_contents.price-content .calculation{grid-template-columns:1fr 1fr}
  #main_contents.price-content .fee-panel dl div{grid-template-columns:1fr;gap:2px}
  #main_contents.price-content .fee-panel dd{text-align:left}
}
/* 概算は補助金バナーの青に合わせ、文字のコントラストを保つ。 */
#main_contents.price-content #example-title{color:#027bff}
#main_contents.price-content .calculation .total{color:#fff;background:#027bff}
#main_contents.price-content .calculation .total strong{color:#fff}
#main_contents.price-content .calculation .total span,#main_contents.price-content .calculation .total small{color:#fff}
/* 旧画像の黒い余白枠を見せず、既存サイドバーと同じ角丸表示にする。 */
#main_contents.price-content .subsidy-card img{transform:scale(1.064);clip-path:inset(3% round 6%)}
