/* ========== Minimal CSS for structure (full version available upon request) ========== */
body{font-family:'Noto Sans JP',sans-serif;color:#111827;margin:0}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
.br-mobile{display:none}
.br-pc{display:inline}
@media (max-width: 768px) {
  .container { padding-left: 16px; padding-right: 16px; }
}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border-bottom:1px solid rgba(148,163,184,.22);box-shadow:0 10px 32px -22px rgba(15,23,42,.35);z-index:120;transition:background .3s ease,box-shadow .3s ease}
.header-inner{display:flex;align-items:center;gap:24px;min-height:70px}
.brand{display:flex;align-items:center;gap:14px;cursor:pointer;transition:opacity .3s ease,transform .3s ease}
.brand:hover{opacity:.75;transform:translateY(-2px)}
.logo{display:block;width:46px;height:46px;border-radius:50%;background-image:url(images/DAAロゴ.png);background-size:cover;box-shadow:0 14px 28px -20px rgba(11,99,206,.65)}
.brand-text{font-size:14px;font-weight:700;color:#0B2545;letter-spacing:.06em;line-height:1.35;max-width:240px}
.nav{margin-left:auto;display:flex;gap:12px;align-items:center}
.nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#0B2545;padding:12px 16px;border-radius:14px;text-decoration:none;letter-spacing:.04em;transition:color .2s ease,background .2s ease,transform .2s ease}
.nav a:not(.btn):hover{background:rgba(15,23,42,.06);transform:translateY(-2px)}
#global-nav .btn{padding:12px 18px;border-radius:16px;color:#fff}
.btn{display:inline-block;padding:12px 20px;border-radius:12px;border:1px solid #E5E7EB;font-weight:700;text-decoration:none}
.btn-primary{background:#0B63CE;color:#fff;border-color:#0B63CE}
.btn-primary.cta-red{background:#D92D20;border-color:#D92D20}
.btn-secondary{background:#fff;color:#0B63CE;border-color:#0B63CE}
.cta-actions{display:flex;justify-content:center;margin-top:36px}
.cta-button{display:flex;align-items:center;justify-content:center;padding:16px 40px;border-radius:18px;font-size:18px;box-shadow:0 18px 36px -22px rgba(11,99,206,.6);transition:transform .2s ease,box-shadow .2s ease}
.cta-button:hover{transform:translateY(-3px);box-shadow:0 28px 52px -26px rgba(11,99,206,.6)}
.nav-trigger{display:none;margin-left:8px;background:transparent;border:0;width:44px;height:44px;border-radius:14px;font-size:24px;line-height:1;color:#0B2545;cursor:pointer;transition:background .2s ease,transform .2s ease}
.nav-trigger:hover{background:rgba(15,23,42,.08);transform:translateY(-1px)}
.section{padding:64px 0}
.section-alt{background:#F9FAFB}
.section-title{font-size:28px;font-weight:800;margin:0 0 24px}
.hero{position:relative;min-height:50vh;display:grid;align-items:center;color:#111827;overflow:hidden;padding-top:clamp(48px, 8vw, 96px);padding-bottom:10vh}
.hero::after{content:"";position:absolute;inset:0;background:rgba(11, 99, 130, 0.5);z-index:1}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero-gradient{position:absolute;inset:auto 0 0 0;height:42%;background:none;z-index:1}
.hero-inner{position:relative;padding:24px 40px 24px;z-index:2;max-width:680px;background:linear-gradient(180deg, rgba(230, 240, 255, 0.8) 0%, rgba(210, 225, 255, 0.8) 100%);backdrop-filter:blur(6px);border:1px solid rgba(148,163,184,.18);border-radius:28px;box-shadow:0 28px 48px -32px rgba(8,22,48,.6)}
.hero-title{font-size:32px;margin:0 0 12px;font-weight:800;line-height:1.4;text-shadow:0 1px 3px rgba(0,0,0,.2)}
.hero-title-small{font-size:28px}
.hero-highlight-underline{text-decoration:none;border-bottom:4px solid #FCD34D;padding-bottom:2px;font-style:normal}
.hero-sub{font-size:22px;margin:0 0 16px;color:#111827;font-weight:800;letter-spacing:.04em;text-shadow:0 1px 3px rgba(0,0,0,.2)}
.hero-lead{font-size:16px;max-width:720px;margin:0 0 20px;color:#374151;text-shadow:0 1px 3px rgba(0,0,0,.2);letter-spacing:-0.3px}
.hero-meta{margin:28px 0 0;color:#475569;font-size:13px;letter-spacing:.04em;text-shadow:0 1px 3px rgba(0,0,0,.2)}
.badge-container {
    text-align: center;
    margin-bottom: 24px;
    position: relative;
    z-index: 2;
}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;border-radius:999px;background:linear-gradient(135deg, #FF6B00 0%, #FF8C00 100%);color:#fff;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:18px;border:3px solid #fff;box-shadow:0 20px 40px -16px rgba(255,107,0,.9), 0 0 30px rgba(255,140,0,.4);animation:fadeIn 1s ease-in-out forwards}
.hero-highlight{color:#FCD34D;font-weight:800;margin:0 4px}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:#fff;border:1px solid #E5E7EB;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;height:180px;object-fit:cover}
.card h3{font-size:16px;margin:16px 16px 8px}
.card p{margin:0 16px 16px;color:#374151}
@media (max-width: 1024px){
  .header-inner{gap:18px;min-height:64px}
  .brand-text{max-width:180px;font-size:13px}
  .hero-inner{padding:60px 40px 32px;max-width:640px}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guarantee{flex-direction:column}
  .voices-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 900px){
  .brand-text{display:none}
  .nav{position:fixed;top:88px;right:24px;left:24px;margin-left:0;flex-direction:column;align-items:stretch;padding:24px;background:rgba(255,255,255,.96);border-radius:22px;border:1px solid rgba(148,163,184,.28);box-shadow:0 30px 60px -34px rgba(15,23,42,.55);gap:12px;opacity:0;transform:translateY(-12px) scale(.98);pointer-events:none;visibility:hidden;transition:transform .25s ease,opacity .25s ease,visibility 0s linear .25s;z-index:140}
  .nav.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;visibility:visible;transition-delay:0s}
  .nav a{width:100%;justify-content:flex-start;font-size:16px;padding:14px 20px}
  .nav .btn{justify-content:center;margin-top:8px}
  .nav-trigger{display:inline-flex;background:rgba(15,23,42,.06);border:1px solid rgba(148,163,184,.32)}
  .card-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 768px){
  img { max-width: 100%; height: auto; }
  .br-mobile { display: inline; }
  .br-pc { display: none; }
  .proof-images {
    flex-direction: column;
  }
  .proof-images figure {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .proof-images img {
    height: 250px;
  }
  .hero{min-height:50vh;align-items:center;padding-top:80px}
  .hero-inner{padding:20px 8px 16px;margin:0 auto 180px; overflow: visible; position: relative; max-width: 400px; text-align: center; background: linear-gradient(180deg, rgba(230, 240, 255, 0.8) 0%, rgba(210, 225, 255, 0.8) 100%); backdrop-filter: blur(6px); border: 1px solid rgba(148,163,184,.18); box-shadow: 0 28px 48px -32px rgba(8,22,48,.6); border-radius: 24px;}
  .hero-inner .hero-lead { display: none; }
  .hero-inner > p:nth-child(3) {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 98%;
    margin-top: 10px !important;
    text-align: center;
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.65rem;
    font-weight: 700;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.9);
    background: none;
    padding: 0;
    border-radius: 0;
  }
  .hero-title{font-size: 24px; line-height: 1.4; text-align: center; margin: 0 0 12px; color: #111827; font-weight: 800; text-shadow: 0 1px 3px rgba(0,0,0,.2); background: none; padding: 0; border-radius: 0; display: block;}
  .hero-sub{font-size: 16px; margin: 0 0 16px; text-align: center; color: #111827; font-weight: 800; text-shadow: 0 1px 3px rgba(0,0,0,.2); background: none; padding: 0; border-radius: 0; display: block;}
  .hero-lead{font-size:16px}
  .hero-badge{font-size:15px;padding:14px 24px;letter-spacing:.16em}
  .hero-inner::after {
    content: "会員制「修理費協定サポート」 オンライン勉強会\A 会員SNS／協定ツール／\A 協定相談をワンパッケージで提供";
    white-space: pre-wrap;
    display: block;
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    width: 98%;
    max-width: 680px;
    margin-top: 85px;
    padding: 0;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.6;
    letter-spacing: 0;
    color: #FFF;
    background: none;
    border-radius: 0;
    text-align: center;
    text-shadow: none;
    word-break: keep-all;
    z-index: 2;
  }
  .steps {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .step {
    margin-bottom: 8px !important;
    padding: 16px !important;
    width: calc(100% - 32px) !important;
    max-width: 500px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }
  .step-num { display: none; }
  .step-icon {
    width: 40px !important;
    height: 40px !important;
    flex-shrink: 0 !important;
    order: 1 !important;
  }
  .step-icon svg { width: 22px; height: 22px; }
  .step-content {
    flex: 1 !important;
    order: 2 !important;
    text-align: left !important;
  }
  .step h3 {
    font-size: 18px !important;
    margin: 0 !important;
    text-align: left !important;
    display: block !important;
    justify-content: flex-start !important;
  }
  .step p {
    font-size: 13px;
    margin: 0;
    text-align: left;
  }
  #plans {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  #plans .container {
    padding-left: 16px;
    padding-right: 16px;
  }
  #plans .section-title {
    font-size: 24px !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
  }
  .plan-grid {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 20px !important;
    margin-top: 16px !important;
    scrollbar-width: thin;
    -ms-overflow-style: auto;
  }
  .plan-grid::-webkit-scrollbar {
    height: 8px;
  }
  .plan-grid::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
  }
  .plan-grid::-webkit-scrollbar-thumb {
    background: #0B63CE;
    border-radius: 10px;
  }
  .plan-grid::-webkit-scrollbar-thumb:hover {
    background: #094a9e;
  }
  .plan-card {
    flex: none !important;
    width: 85vw !important;
    max-width: 340px;
    min-width: 280px;
    scroll-snap-align: start;
    padding: 10px !important;
    gap: 6px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(30,60,120,0.06) !important;
    box-shadow: 0 6px 18px rgba(38,65,115,0.03) !important;
  }
  .plan-card--featured {
    border-left: 4px solid #0B63CE !important;
    border-color: rgba(30,60,120,0.12) !important;
  }
  .plan-card--premium {
    border-left: 4px solid #D97706 !important;
    border-color: rgba(217,119,6,0.12) !important;
  }
  .plan-card__header {
    gap: 4px !important;
    margin-bottom: 0 !important;
  }
  .plan-card__label {
    font-size: 18px !important;
    letter-spacing: 0.08em;
    line-height: 1.1 !important;
    margin-bottom: 0 !important;
  }
  .plan-card__price {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.3 !important;
    gap: 2px !important;
  }
  .plan-card__price span {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .plan-card__price strong {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }
  .plan-card__enroll {
    font-size: 12px !important;
    line-height: 1.3 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .plan-card__enroll del {
    font-size: 14px !important;
    color: #6B7280 !important;
  }
  .plan-card__enroll span {
    font-size: 15px !important;
    color: #DC2626 !important;
    font-weight: 700 !important;
  }
  .plan-card__badge {
    font-size: 10px !important;
    padding: 4px 10px !important;
    top: -10px !important;
    right: -6px !important;
  }
  .plan-card__recommendation-note {
    font-size: 12px !important;
    padding: 8px !important;
    margin: 4px 0 0 !important;
    min-height: auto;
    line-height: 1.4 !important;
    border-radius: 8px !important;
  }
  .plan-card--premium .plan-card__recommendation-note {
    font-size: 12px !important;
    padding: 8px !important;
    border-radius: 8px !important;
    margin: 4px 0 0 !important;
  }
  .plan-card__features {
    gap: 6px !important;
    grid-template-rows: auto;
    display: flex;
    flex-direction: column;
    margin-top: 0 !important;
  }
  .plan-feature {
    padding: 8px !important;
    gap: 8px !important;
    min-height: 36px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
  }
  .plan-card__feature-label {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  .plan-card__features p {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  .plan-feature__status {
    width: 22px !important;
    height: 22px !important;
    font-size: 11px !important;
    flex-shrink: 0 !important;
  }
  .chart-card {
    padding: 32px 16px !important;
    border-radius: 28px;
    overflow: visible !important;
    height: auto !important;
  }
  .chart-card__title {
    font-size: 18px !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    line-height: 1.4 !important;
  }
  .chart-card__insights {
    display: flex !important;
    flex-direction: row !important;
    gap: 2px !important;
  }
  .chart-card__metric{
    flex: 1 !important;
    padding: 12px 0px !important;
    min-width: 0 !important;
    aspect-ratio: 1 / 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  .chart-card__metric-label {
    font-size: 14px !important;
  }
  .chart-card__metric-value{
    font-size: 28px !important;
  }
  .chart-card__metric-sub {
    font-size: 13px !important;
  }
  .process-item {
    display: flex !important; /* Override the block */
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 12px 8px; /* Further reduced padding */
  }
  .process-item .process-num { font-size: 17px; }
  .process-item h3 { font-size: 16px; }
  .process-item p { font-size: 13px; }
  .process {display: block !important;}
  .process-item { display: block !important; margin-bottom: 24px !important; width: 85%; }
  .guarantee-steps {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .guarantee-steps > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-bottom: 0 !important;
    width: calc(100% - 24px) !important;
    max-width: 500px !important;
    padding: 20px 16px !important;
    margin-left: 4px !important;
    margin-right: 20px !important;
  }
  .guarantee-steps > div > span {
    text-align: center !important;
    width: 100% !important;
    font-size: 17px !important;
  }
  .guarantee-steps > div > div {
    justify-content: flex-start !important;
  }
  .guarantee-steps > div h3 {
    text-align: center !important;
  }
  .guarantee-steps > div p {
    text-align: center !important;
  }
  #guarantee .section-title {
    font-size: 18px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }
  #guarantee .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  #guarantee .guarantee-copy {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #proof .section-title,
  #problems .section-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }
  .founder-quote-title {
    font-size: 1.2rem !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
  }
  .stats {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }
  .stats li {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 12px 8px !important;
    font-size: 14px !important;
  }
  .stats li strong {
    font-size: 20px !important;
  }
  .stats li span:not(.stat-icon) {
    font-size: 12px !important;
  }
  .process > span { display: none; }
  .support-grid{ display: block !important; }
  .support-item {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 24px !important;
  }
  .support-item h3 { order: 1; }
  .support-item .support-media { order: 2; }
  .support-item p { order: 3; }
  .voices-grid { display: block !important; }
  .voice-card { display: block !important; margin-bottom: 24px !important; }
  .faq details{padding:24px 28px}
  .form-embed{margin-top:24px;border-radius:18px}
  .form-embed iframe{min-height:900px}
  .founder-block > div[style*="display: flex"] {
    flex-direction: column !important;
    gap: 2rem !important;
  }
  .founder-signature {
    max-width: 45% !important;
  }
  .founder-block {
    padding: 1.5rem 0.5rem !important;
  }
  .founder-quote {
    padding-left: 1rem !important;
  }
  .founder-quote p {
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
  }
  .founder-quote-title {
    font-size: 1.1rem !important;
    line-height: 1.35 !important;
  }
  .btn, .cta-button { padding: 18px 24px; }
  .fab-cta { display: none; }
  .hero-bg { background-position: center 30%; }
  .badge-container { margin-top: 100px; margin-bottom: 16px; }
}
@media (max-width: 767px) { /* スマートフォン向けのメディアクエリ */
  .btn-primary.cta-red { /* 赤いボタンをターゲット */
    width: 90%; /* 親要素の90%の幅にする */
    margin-left: auto; /* 中央寄せ */
    margin-right: auto; /* 中央寄せ */
    display: block; /* マージンが効くようにブロック要素にする */
    padding: 15px 0; /* 上下のパディングを調整し、左右は0にする */
    box-sizing: border-box; /* パディングとボーダーを幅に含める */
    text-align: center; /* テキストを中央寄せにする */
    background:#D92D20; /* 赤い背景色を再適用 */
    border-color:#D92D20; /* 赤いボーダー色を再適用 */
  }
  .hero-highlight-underline {
    white-space: nowrap;
    border-bottom-width: 3px; /* 黄色い線の太さを調整 */
    padding-bottom: 0px; /* 文字と線をより近づける */
  }
}
@media (max-width: 600px){
  .hero{padding-top:60px}
  .hero-bg { background-position: center 30%; }
  .hero-inner{padding:18px 6px 14px;border-radius:20px;margin:0 auto 170px; position: relative; overflow: visible; max-width: 210px; text-align: center; background: linear-gradient(180deg, rgba(230, 240, 255, 0.8) 0%, rgba(210, 225, 255, 0.8) 100%); backdrop-filter: blur(6px); border: 1px solid rgba(148,163,184,.18); box-shadow: 0 28px 48px -32px rgba(8,22,48,.6);}
  .hero-inner .hero-lead { display: none; }
  .hero-inner > p:nth-child(3) {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 98%;
    margin-top: 8px !important;
    text-align: center;
    font-size: 0.62rem !important;
    color: rgba(255, 255, 255, 0.95) !important;
    font-weight: 700;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.9);
    background: none;
    padding: 0;
    border-radius: 0;
  }
  .hero-inner::after {
    content: "会員制「修理費協定サポート」 オンライン勉強会\A 会員SNS／協定ツール／\A 協定相談をワンパッケージで提供";
    white-space: pre-wrap;
    display: block;
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    width: 98%;
    max-width: 680px;
    margin-top: 75px;
    padding: 0;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0;
    color: #FFF;
    background: none;
    border-radius: 0;
    text-align: center;
    text-shadow: none;
    word-break: keep-all;
    z-index: 2;
  }
  .hero-title{font-size:21px; line-height: 1.4; text-align: center; margin: 0 0 10px; color: #111827; font-weight: 800; text-shadow: 0 1px 3px rgba(0,0,0,.2); background: none; padding: 0; border-radius: 0; display: block;}
  .hero-sub{margin: 0 0 14px; font-size: 18px; text-align: center; color: #111827; font-weight: 800; text-shadow: 0 1px 3px rgba(0,0,0,.2); background: none; padding: 0; border-radius: 0; display: block;}
  .hero-badge{font-size:14px;padding:12px 20px;letter-spacing:.14em}
  .hero-meta{font-size:12px;margin-top:20px}
  .badge-container { margin-top: 90px; margin-bottom: 16px; }
  .card-grid{grid-template-columns:1fr}
  #plans {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  #plans .section-title {
    font-size: 25px !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
  }
  .steps {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .step {
    padding: 14px !important;
    border-radius: 20px;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 4px !important;
    width: calc(100% - 32px) !important;
    max-width: 500px !important;
    margin-bottom: 8px !important;
  }
  .step-num { display: none; }
  .step-icon {
    width: 34px !important;
    height: 34px !important;
    flex-shrink: 0 !important;
    order: 1 !important;
  }
  .step-icon svg { width: 20px; height: 20px; }
  .step-content {
    flex: 1 !important;
    order: 2 !important;
    text-align: left !important;
  }
  .step h3 {
    margin: 0 !important;
    font-size: 17px !important;
    text-align: left !important;
    display: block !important;
    justify-content: flex-start !important;
  }
  .step p {
    margin: 0 !important;
    font-size: 14px !important;
    text-align: left !important;
  }
  .plan-card {
    flex: none !important;
    width: 90vw !important;
    max-width: 300px;
    min-width: 250px;
    padding: 10px !important;
    border-radius: 12px !important;
    gap: 5px !important;
    border: 1px solid rgba(30,60,120,0.06) !important;
    box-shadow: 0 6px 18px rgba(38,65,115,0.03) !important;
  }
  .plan-card--featured {
    border-left: 4px solid #0B63CE !important;
    border-color: rgba(30,60,120,0.12) !important;
  }
  .plan-card--premium {
    border-left: 4px solid #D97706 !important;
    border-color: rgba(217,119,6,0.12) !important;
  }
  .plan-card__header {
    gap: 3px !important;
    margin-bottom: 0 !important;
  }
  .plan-card__label {
    font-size: 18px !important;
    letter-spacing: 0.08em;
    line-height: 1.1 !important;
    margin-bottom: 0 !important;
  }
  .plan-card__price {
    line-height: 1.3 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 2px !important;
  }
  .plan-card__price strong {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }
  .plan-card__price span {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .plan-card__enroll {
    font-size: 12px !important;
    line-height: 1.3 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .plan-card__enroll del {
    font-size: 14px !important;
    color: #6B7280 !important;
  }
  .plan-card__enroll span {
    font-size: 15px !important;
    color: #DC2626 !important;
    font-weight: 700 !important;
  }
  .plan-card__badge {
    font-size: 10px !important;
    padding: 4px 10px !important;
  }
  .plan-feature {
    padding: 5.6px !important;
    gap: 8px !important;
    min-height: 34px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
  }
  .plan-feature__status {
    width: 22px !important;
    height: 22px !important;
    font-size: 11px !important;
    flex-shrink: 0 !important;
  }
  .plan-card__recommendation-note {
    font-size: 12px !important;
    padding: 7px !important;
    margin: 3px 0 0 !important;
    min-height: auto;
    line-height: 1.4 !important;
    border-radius: 8px !important;
  }
  .plan-card--premium .plan-card__recommendation-note {
    font-size: 12px !important;
    padding: 7px !important;
    border-radius: 8px !important;
    margin: 3px 0 0 !important;
  }
  .plan-card__features {
    gap: 5px !important;
    grid-template-rows: auto;
    display: flex;
    flex-direction: column;
    margin-top: 0 !important;
  }
  .plan-card__feature-label {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  .plan-card__features p {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  .cta-actions{margin-top:28px}
  .cta-button{width:100%;padding:18px 24px}
  .chart-card{padding:28px 12px !important;}
  .chart-card__insights{
    display: flex !important;
    flex-direction: row !important;
    gap: 2px !important;
  }
  .chart-card__metric{
    flex: 1 !important;
    padding: 10px 0px !important;
    min-width: 0 !important;
    aspect-ratio: 1 / 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .chart-card__metric-label { font-size: 13px !important; margin-bottom: 4px !important; }
  .chart-card__metric-value { font-size: 24px !important; }
  .chart-card__metric-sub { font-size: 12px !important; line-height: 1.4 !important; margin-top: 4px !important; }
  .chart-card__canvas{height:260px}
  .process{grid-template-columns:1fr;gap:16px}
  .process-item{padding:22px 18px; border-radius: 20px;}
  .guarantee-steps {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .guarantee-steps > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 9px 10px !important;
    max-width: 500px !important;
    width: calc(100% - 24px) !important;
    margin-left: 4px !important;
    margin-right: 20px !important;
    margin-bottom: 0 !important;
  }
  .guarantee-steps > div > span {
    text-align: center !important;
    width: 100% !important;
    font-size: 17px !important;
  }
  .guarantee-steps > div > div {
    justify-content: flex-start !important;
  }
  .guarantee-steps > div h3 {
    text-align: center !important;
  }
  .guarantee-steps > div p {
    text-align: center !important;
  }
  #guarantee .section-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }
  #guarantee .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  #guarantee .guarantee-copy {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #proof .section-title,
  #problems .section-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }
  .founder-quote-title {
    font-size: 1.1rem !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
  }
  .stats {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }
  .stats li {
    flex: 1 !important;
    min-width: 0 !important;
    padding: 12px 6px !important;
    font-size: 13px !important;
  }
  .stats li strong {
    font-size: 18px !important;
  }
  .stats li span:not(.stat-icon) {
    font-size: 11px !important;
  }
  .support-grid{grid-template-columns:1fr;gap:16px}
  .support-item{
    padding:22px 20px;
    display: flex;
    flex-direction: column;
  }
  .support-item h3 { order: 1; }
  .support-item .support-media { order: 2; }
  .support-item p { order: 3; }
  .voices-grid{grid-template-columns:1fr}
  .faq details{padding:20px 24px}
  .faq summary{font-size:15px}
  .faq summary::after{font-size:18px}
  .form-embed{margin-top:20px;border-radius:16px}
  .form-embed iframe{min-height:800px}
  .guarantee-card{flex-basis:100%}
  .founder-signature {
    max-width: 40% !important;
  }
  .founder-block {
    padding: 1.2rem 0.3rem !important;
  }
  .founder-quote {
    padding-left: 0.8rem !important;
  }
  .founder-quote p {
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
  }
  .founder-quote-title {
    font-size: 1.05rem !important;
    line-height: 1.3 !important;
  }
}
.stats{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 16px;padding:0;list-style:none}
.stats li{flex:1 1 200px;border:1px solid #E0E7FF;border-radius:16px;padding:18px;text-align:center;background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFF 100%);display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;box-shadow:0 18px 34px -26px rgba(15,23,42,.18)}
.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:14px;background:#0B63CE1A;color:#0B63CE;margin-bottom:4px}
.stat-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8}
.chart-card{position:relative;display:flex;flex-direction:column;gap:28px;padding:40px 36px;border-radius:32px;background:linear-gradient(145deg,#0B1F3B 0%,#0E2F55 45%,#13498D 100%);color:#F8FAFC;box-shadow:0 48px 80px -48px rgba(8,25,53,.6);overflow:hidden}
.chart-card::before{content:"";position:absolute;inset:18px 24px auto auto;width:160px;height:160px;background:radial-gradient(60% 60% at 50% 50%,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 100%);opacity:.6;pointer-events:none}
.chart-card__head{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;max-width:560px}
.chart-card__eyebrow{margin:0;font-size:12px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#8FB7FF}
.chart-card__title{margin:0;font-size:26px;font-weight:800;line-height:1.35;color:#F8FAFC;white-space:nowrap}
.chart-card__insights{position:relative;z-index:1;display:flex;gap:16px;flex-wrap:wrap}
.chart-card__metric{flex:1 1 180px;background:rgba(15,34,64,.55);border:1px solid rgba(148,163,184,.24);border-radius:20px;padding:18px 20px;backdrop-filter:blur(4px);box-shadow:0 18px 36px -28px rgba(4,15,34,.55);text-align:center}
.chart-card__metric-label{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8FB7FF}
.chart-card__metric-value{margin:0;font-size:26px;font-weight:800;letter-spacing:.02em;color:#fff}
.chart-card__metric-sub{margin:8px 0 0;font-size:13px;color:#E2E8F0;opacity:.85;line-height:1.6}
.chart-card__canvas{position:relative;z-index:1;height:320px}
.chart-card__canvas canvas{width:100%!important;height:100%!important}
.chart-card__note{position:relative;z-index:1;margin:0;font-size:12px;letter-spacing:.08em;color:rgba(236,244,255,.7)}
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:stretch}
.step {
    position: relative;
    background: #fff;
    border: 1px solid rgba(11, 63, 146, .12);
    border-radius: 24px;
    padding: 32px 24px 28px;
    box-shadow: 0 26px 52px -36px rgba(11, 63, 146, .3);
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 16px;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.step-content{flex:1;text-align:center}
.process {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
/* Icon moved to top */

.process-item{background:#fff;border:1px solid rgba(11, 63, 146, .12);border-radius:24px;padding:28px 24px;box-shadow:0 26px 52px -36px rgba(11, 63, 146, .3);display:flex;flex-direction:column;gap:16px}
.process-num{font-size:16px;font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:#0B63CE}
.process-item h3{margin:0;font-size:18px;font-weight:800;color:#0B2545}
.process-item p{margin:0;font-size:14px;color:#475569;line-height:1.7}
.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
.support-item{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:24px 24px 26px;box-shadow:0 20px 46px -36px rgba(15,23,42,.35);display:flex;flex-direction:column;gap:14px;overflow:hidden;position:relative}
.support-media{width:100%;height:160px;border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4);background-repeat:no-repeat,no-repeat;background-position:center,center;background-size:cover,64px 64px;border:1px solid rgba(148,163,184,.25)}
.support-item--1 .support-media{background-image:url("images/DAA勉強会.png")}
.support-item--2 .support-media{background-image:url("images/会員専用SNS.png")}
.support-item--3 .support-media{background-image:url("images/協定相談.png")}
.support-item--4 .support-media{background-image:url("images/DAA基準工数.png")}
.support-item--5 .support-media{background-image:url("images/会員専用サイト.png")}
.support-item--6 .support-media{background-image:url("images/見積作成.png")}
.support-item h3{margin:0;font-size:18px;font-weight:800;color:#0B2545}
.support-item p{margin:0;font-size:14px;color:#475569;line-height:1.7}
.founder-block{background:#fff;border:1px solid rgba(148,163,184,.2);border-radius:24px;padding:28px 32px;box-shadow:0 24px 48px -36px rgba(15,23,42,.28)}
.founder-block blockquote{margin:0;display:flex;flex-direction:column;gap:16px;
  font-size:15px;line-height:1.8;color:#1F2937}
.founder-block blockquote p{margin:0}
.founder-block blockquote cite{font-style:normal;font-size:13px;color:#475569;letter-spacing:.08em}
.voice-section{margin-top:48px}
.voice-title{font-size:20px;font-weight:800;margin:0 0 20px;color:#0B2545}
.voices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.voice-card{background:#fff;border:1px solid rgba(148,163,184,.2);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 22px 44px -36px rgba(15,23,42,.25)}
.voice-meta{display:flex;flex-direction:column;gap:2px;color:#334155}
.voice-name{margin:0;font-weight:800;color:#0B2545;font-size:15px}
.voice-role{margin:0;font-size:12px;letter-spacing:.06em;color:#64748B;text-transform:uppercase}
.voice-text{margin:4px 0 0;font-size:14px;line-height:1.7;color:#475569}
.voice-avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:16px;background:rgba(11,99,206,.12);color:#0B63CE;margin-bottom:4px}
.voice-avatar svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8}
.guarantee{display:flex;gap:32px;align-items:stretch;flex-wrap:wrap}
.guarantee-copy{flex:1 1 400px;display:flex;flex-direction:column;gap:16px;font-size:15px;color:#1E293B;line-height:1.8}
.guarantee-copy strong{color:#0B63CE}
.guarantee-card{flex:0 0 320px;background:linear-gradient(160deg,#0B63CE 0%,#2563EB 60%,#1E40AF 100%);color:#fff;border-radius:24px;padding:28px;box-shadow:0 28px 64px -36px rgba(11,99,206,.55);display:flex;flex-direction:column;gap:18px}
.guarantee-tag{margin:0;font-size:18px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.guarantee-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.6}
.guarantee-card li::before{content:"✔";margin-right:8px;color:#FDE68A;font-size:14px}
.guarantee-note{margin:0;font-size:12px;color:rgba(255,255,255,.78);line-height:1.6}
.faq{display:flex;flex-direction:column;gap:16px}
.faq details{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:20px 26px;box-shadow:0 22px 44px -36px rgba(15,23,42,.25);transition:border-color .25s ease,box-shadow .25s ease}
.faq details[open]{border-color:rgba(11,99,206,.32);box-shadow:0 32px 70px -40px rgba(11,99,206,.28)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:800;font-size:16px;color:#0B2545;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:20px;font-weight:700;color:#0B63CE;transition:transform .25s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:focus-visible{outline:3px solid rgba(11,99,206,.4);outline-offset:6px}
.faq details p{margin:14px 0 4px;font-size:14px;line-height:1.75;color:#475569}
.faq-highlight{color:#0B63CE;font-weight:700}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;align-items:stretch}
.plan-card{position:relative;display:flex;flex-direction:column;gap:20px;padding:26px;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 24px 58px -36px rgba(15,23,42,.28);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.plan-card::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 88% -10%,rgba(11,99,206,.2) 0%,rgba(202,215,255,0) 65%);opacity:0;pointer-events:none;transition:opacity .3s ease}
.plan-card:hover{transform:translateY(-6px);box-shadow:0 32px 72px -38px rgba(15,23,42,.32);border-color:rgba(15,23,42,.18)}
.plan-card:hover::before{opacity:.9}
.plan-card__header{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px}
.plan-card__recommendation-note{background-color:#e0f2fe;padding:12px;border-radius:12px;margin:12px 0 0;font-size:14px;font-weight:700;text-align:left;color:#0B63CE;visibility:hidden; min-height: 4.5em;}
.plan-card--featured .plan-card__recommendation-note{visibility:visible}
.plan-card__label{text-transform:uppercase;font-size:28px;font-weight:800;letter-spacing:.26em;color:#0B2545}
.plan-card__price{display:flex;flex-direction:column;gap:6px;margin-top:-2px;font-size:11px;color:#64748B;letter-spacing:.14em;text-transform:uppercase}
.plan-card__price strong{font-size:32px;font-weight:800;letter-spacing:.01em;color:#0B2545}
.plan-card__enroll{font-size:13px;color:#64748B;letter-spacing:.14em;text-transform:uppercase}
.plan-card__enroll del, .plan-card__enroll span { font-size: 18px; font-weight: bold; }
.plan-card__badge{position:absolute;top:-18px;right:-14px;padding:6px 16px;background:linear-gradient(90deg,#0B63CE 0%,#2C7BE5 100%);color:#fff;font-weight:700;border-radius:999px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 12px 24px -16px rgba(11,99,206,.6)}
.plan-card__features{list-style:none;margin:0;padding:0;display:grid;grid-template-rows: repeat(5, 1fr);gap:12px;flex-grow:1}
.plan-feature{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;border:1px solid #E5E7EB;background:#F9FAFB; flex-grow: 1;}
.plan-feature__status{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:700;color:#0B2545;background:#CBD5F580}
.feature--full{background:#F9FAFB;border-color:#E5E7EB}
.feature--full .plan-feature__status{background:#22C55E;color:#fff}
.feature--full .plan-feature__status::before{content:"✓"}
.feature--limited{background:#F9FAFB;border-color:#E5E7EB}
.feature--limited .plan-feature__status{background:#FACC15;color:#0F172A}
.feature--limited .plan-feature__status::before{content:"△"}
.feature--none{background:#F9FAFB;border-color:#E5E7EB}
.feature--none .plan-feature__status{background:#94A3B8;color:#fff}
.feature--none .plan-feature__status::before{content:"×"}
.feature--none .plan-feature__body{opacity:.75}
.plan-feature__body{display:flex;flex-direction:column;gap:4px}
.plan-card__feature-label{font-weight:800;color:#0B2545;font-size:15px;margin:0}
.plan-card__features p{margin:0;color:#475569;line-height:1.6;font-size:13px}
.plan-card__cta{position:relative;z-index:1;justify-self:flex-start;min-width:200px;text-align:center;margin-top:4px}
.plan-card--featured{border-color:#A5C8F9;background:#F6FAFF;border-left:4px solid #0B63CE}
.plan-card--featured .plan-card__label{color:#0B63CE}
.plan-card--featured .plan-card__price strong{color:#0B63CE}
.plan-card--featured .plan-card__feature-label{color:#0B3F92}
.plan-card--featured .plan-card__cta{background:#0B63CE;color:#fff;border-color:#0B63CE}
.plan-card--premium{border-color:#F7C899;background:#FFFBF4;border-left:4px solid #D97706}
.plan-card--premium .plan-card__label{color:#AF5A1A}
.plan-card--premium .plan-card__price strong{color:#AF5A1A}
.plan-card--premium .plan-card__cta{background:#fff;color:#AF5A1A;border-color:#AF5A1A}

.plan-note{margin-top:20px;font-size:13px;color:#6B7280;letter-spacing:.04em}
.form-embed{margin-top:32px;border:1px solid rgba(148,163,184,.22);border-radius:22px;overflow:hidden;box-shadow:0 28px 60px -40px rgba(15,23,42,.24)}
.form-embed iframe{display:block;width:100%;min-height:1200px;background:#fff}
.guarantee-steps{margin:24px 0 0;padding-left:20px;font-size:14px;color:#1F2937;line-height:1.75;counter-reset:step}
.guarantee-steps li{margin-bottom:12px;list-style:none;position:relative;padding-left:32px}
.guarantee-steps li strong{display:block;font-weight:800;color:#0B2545;margin-bottom:4px}
.guarantee-steps li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:7px;background:#0B63CE;color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.guarantee-note{margin-top:16px;font-size:12px;color:#475569}
.site-footer{background:#0B2545;color:#fff;padding:32px 0}
.footer-brand{margin:0;font-size:18px;font-weight:800;line-height:1.5;letter-spacing:.08em}
.footer-address,.footer-contact,.footer-copy{margin:8px 0;font-size:14px;letter-spacing:.04em;color:#E2E8F0}
.footer-copy{margin-top:16px;font-size:12px;color:#CBD5F5}
.fab-cta{position:fixed;right:16px;bottom:16px;background:#D92D20;color:#fff;padding:12px 14px;border-radius:14px;font-weight:800}

.step::after{content:"";position:absolute;inset:-35% 45% auto -25%;height:120%;background:linear-gradient(130deg,rgba(11,99,206,.18)0%,rgba(11,99,206,0)70%);opacity:0;transition:opacity .3s ease}
.step:hover{border-color:rgba(11,99,206,.4)}
.step-num { display: none; }
.step-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:18px;background:rgba(11,99,206,.12);color:#0B3F92}
.step-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8}
.step h3{margin:0 0 16px 0;font-size:18px;font-weight:800;color:#0B2545;min-height:3em;display:flex;align-items:flex-start;justify-content:center;text-align:center}
.step p{margin:0;font-size:14px;color:#475569;line-height:1.7}

.proof-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.proof-images {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

.proof-images figure {
  margin: 0;
  flex: 1 1 calc(33.333% - 16px);
  min-width: 250px;
  max-width: 400px;
}

.proof-images img {
  width: 100%;
  height: 300px;
  object-fit: contain;
  border-radius: 12px;
  background: #f9fafb;
}

.proof-images figcaption {
  font-size: 12px;
  color: #6B7280;
  margin-top: 8px;
  text-align: center;
  font-weight: 600;
}