
:root{--navy:#1f2a44;--gold:#b89b5e;--ivory:#f7f6f2;--line:#deded8;--muted:#646c79}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--navy);font:16px/1.9 'Yu Gothic','Meiryo',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}h1,h2,h3{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:500;line-height:1.6}h1{font-size:44px}h2{font-size:32px;margin:0 0 24px}h3{font-size:23px;margin:0 0 14px}p{margin:0 0 22px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #9f8147;outline-offset:4px}.v3-wrap{width:min(1220px,88%);margin:auto}.v3-header{min-height:88px;display:flex;align-items:center;gap:28px;justify-content:space-between;padding:17px max(4vw,22px);border-bottom:1px solid var(--line);background:white}.v3-logo{width:184px;flex-shrink:0}.v3-nav{display:flex;align-items:center;gap:25px;font-size:14px}.v3-nav a{white-space:nowrap}.v3-nav a:hover{color:#8b713f}.v3-menu-toggle{display:none;border:0;background:none;color:var(--navy);padding:10px;min-height:46px}.v3-mobile-nav{padding:12px 6vw 22px;border-bottom:1px solid var(--line)}.v3-mobile-nav[hidden]{display:none}.v3-mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.v3-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--navy);color:#fff;border:1px solid var(--navy);min-height:52px;padding:13px 21px;font-size:15px}.v3-btn:after{content:'↗'}.v3-btn.light{background:transparent;color:var(--navy)}.v3-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.v3-eyebrow{font-size:12px;letter-spacing:.1em;color:#8a7040;margin-bottom:12px}.v3-page-heading{padding:46px 0 40px;background:var(--ivory)}.v3-page-heading h1{margin:0 0 16px}.v3-page-heading p{max-width:820px;margin-bottom:0}.v3-breadcrumb{font-size:12px;color:var(--muted);padding:24px 0}.v3-section{padding:70px 0}.v3-section.soft{background:var(--ivory)}.v3-intro{max-width:840px;margin-bottom:32px}.v3-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.v3-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.v3-card{display:block;border:1px solid var(--line);background:#fff;overflow:hidden}.v3-card-body{padding:25px}.v3-card p{font-size:15px;color:var(--muted)}.v3-card p:last-child{margin:0}.v3-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.v3-card .v3-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:13px;font-size:14px}.v3-card .v3-link:after{content:'↗'}.v3-card:hover .v3-link{color:#8b713f}.v3-pic{position:relative}.v3-img-label{position:absolute;right:8px;bottom:7px;font-size:10px;background:#ffffffdf;padding:1px 6px;color:#545c68}.v3-tag{font-size:11px;padding:2px 7px;color:#76623d;border:1px solid #c5b895;background:#faf6ed;display:inline-block;line-height:1.6}.v3-note{font-size:12px;color:var(--muted)}.v3-callout{padding:25px 28px;background:var(--ivory);border-left:3px solid var(--gold);margin:25px 0}.v3-divider{border-top:1px solid var(--line);padding-top:28px;margin-top:30px}.v3-table-wrap{overflow:auto;border:1px solid var(--line)}.v3-table{width:100%;border-collapse:collapse;min-width:560px;font-size:15px}.v3-table th,.v3-table td{padding:19px 21px;border:1px solid var(--line);vertical-align:top;text-align:left}.v3-table th{background:#f0eee8;font-weight:500}.v3-table caption{text-align:left;padding:18px;font-size:14px}.v3-list{padding-left:1.4em}.v3-list li{margin-bottom:14px}.v3-faq details{border-bottom:1px solid var(--line);padding:22px 0}.v3-faq summary{font-size:18px;cursor:pointer}.v3-faq details p{padding:20px 24px 0;color:var(--muted)}.v3-footer{border-top:1px solid var(--line);padding:50px 0 70px;background:#fff}.v3-footer-top{display:grid;grid-template-columns:1fr 2fr;gap:70px}.v3-footer img{width:185px;margin-bottom:20px}.v3-footer address{font-style:normal;font-size:13px;color:var(--muted)}.v3-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;font-size:13px}.v3-footer-bottom{margin-top:38px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.v3-demo-mark{position:fixed;bottom:12px;right:12px;font-size:10px;background:#fffef2e8;border:1px solid #ddd5c7;padding:3px 8px;z-index:30;pointer-events:none}.v3-sr{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.v3-hero{padding:48px 0 32px;background:#f7f6f2}.v3-hero-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:50px;align-items:center;margin-bottom:32px}.v3-hero-title{font:500 clamp(31px,3vw,47px)/1.55 'Yu Mincho',serif;letter-spacing:.035em;margin:0}.v3-hero-lead{font-size:16px;line-height:1.95;margin-bottom:22px}.v3-pair{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #d8d6ce;min-height:330px;background:#fff}.v3-before{position:relative;min-width:0}.v3-before img{width:100%;height:330px;object-fit:cover;object-position:center 45%}.v3-before figcaption{position:absolute;bottom:0;left:0;right:0;padding:12px 18px;background:linear-gradient(transparent,#15213cd9);color:#fff;font-size:15px}.v3-before figcaption small{font-size:10px;margin-left:8px}.v3-after{padding:22px 32px;background:#eef0f3;display:flex;flex-direction:column;justify-content:center;min-width:0}.v3-after>p{margin-bottom:10px;font-size:16px}.v3-browser{background:white;border:1px solid #c7ccd6;border-radius:8px;box-shadow:0 10px 24px #20304a12;padding:18px 23px}.v3-browser-head{font-size:11px;color:var(--muted);border-bottom:1px solid #e3e4e8;padding-bottom:10px;margin-bottom:13px;display:flex;justify-content:space-between}.v3-ui-title{font-size:20px;margin-bottom:14px}.v3-ui-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13px}.v3-ui-field{border:1px solid #d3d7df;padding:10px 12px;color:var(--navy);display:block}.v3-ui-check{font-size:12px;color:#596c65;margin:12px 0}.v3-ui-button{display:block;background:var(--navy);color:white;text-align:center;font-size:14px;padding:10px}.v3-hero-note{display:flex;justify-content:space-between;gap:20px;padding-top:14px;font-size:11px;color:var(--muted)}figure{margin:0}.v3-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:steps}.v3-step{border-top:2px solid var(--gold);padding-top:20px}.v3-step:before{counter-increment:steps;content:'0' counter(steps);font:28px Georgia;color:#9e8759}.v3-step h3{margin:12px 0;font-size:21px}.v3-step p{font-size:14px}.v3-screen{padding:20px;background:#eeede8;border:1px solid var(--line)}.v3-screen img{width:100%;height:270px;object-fit:cover;object-position:top}.v3-screen figcaption{font-size:12px;padding-top:12px}.v3-quote{font:24px/1.8 'Yu Mincho',serif}.v3-content{max-width:920px}.v3-content h2{margin-top:48px}.v3-content h2:first-child{margin-top:0}.v3-search{width:100%;padding:14px;border:1px solid #b9c0c9;margin:20px 0 30px}.v3-glossary dt{font-size:21px;font-family:'Yu Mincho',serif;margin:28px 0 10px}.v3-glossary dd{margin:0 0 24px;padding-bottom:22px;border-bottom:1px solid var(--line)}.v3-status{font-size:13px;display:inline-block;padding:4px 10px;background:#e8efe8;color:#48624c}.v3-status.draft{background:#f3eddf;color:#806b3d}.v3-news-row{display:flex;gap:25px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}.v3-news-row span{flex-shrink:0;font-size:12px;color:var(--muted)}
@media(max-width:1050px){.v3-nav{gap:15px;font-size:12px}.v3-logo{width:160px}.v3-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-hero-intro{gap:28px}.v3-after{padding:20px}.v3-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.v3-header{min-height:76px;padding:14px 22px}.v3-nav{display:none}.v3-menu-toggle{display:block}.v3-wrap{width:calc(100% - 44px)}.v3-grid,.v3-grid.two{grid-template-columns:1fr}.v3-grid.four{grid-template-columns:1fr 1fr;gap:13px}.v3-card-body{padding:20px}.v3-grid.four .v3-card-body{padding:15px}.v3-grid.four h3{font-size:18px}.v3-grid.four p{font-size:13px}.v3-grid.four .v3-link{font-size:12px}.v3-section{padding:48px 0}.v3-page-heading{padding:36px 0}.v3-page-heading h1{font-size:29px}.v3-hero{padding:30px 0 24px}.v3-hero-intro{display:block;margin-bottom:24px}.v3-hero-title{font-size:28px;letter-spacing:0;margin-bottom:20px}.v3-hero-lead{font-size:15px}.v3-actions{gap:9px}.v3-btn{font-size:13px;padding:12px 15px;gap:16px;min-height:48px}.v3-pair{grid-template-columns:42% 58%;min-height:255px;margin-left:-10px;margin-right:-10px}.v3-before img{height:255px;object-position:51% center}.v3-before figcaption{font-size:11px;line-height:1.6;padding:16px 10px 8px}.v3-before figcaption small{display:block;margin-left:0}.v3-after{padding:13px 9px}.v3-after>p{font-size:12px;margin-bottom:8px}.v3-browser{padding:10px 9px;border-radius:5px}.v3-browser-head{font-size:8px;padding-bottom:7px;margin-bottom:8px}.v3-ui-title{font-size:13px;margin-bottom:9px}.v3-ui-fields{display:block;font-size:10px}.v3-ui-field{margin-bottom:6px;padding:5px 7px}.v3-ui-check{font-size:9px;line-height:1.5;margin:7px 0}.v3-ui-button{font-size:10px;padding:7px}.v3-hero-note{display:block;font-size:10px}.v3-hero-note span{display:block;margin-bottom:4px}.v3-section h2{font-size:27px}.v3-footer-top{display:block}.v3-footer-links{grid-template-columns:1fr 1fr;margin-top:30px;font-size:12px}.v3-footer-bottom{display:block}.v3-steps{grid-template-columns:1fr 1fr;gap:17px}.v3-step h3{font-size:18px}.v3-step p{font-size:13px}.v3-screen img{height:200px}.v3-news-row{display:block}.v3-news-row span{display:block;margin-bottom:6px}.v3-note{font-size:11px}.v3-content h2{font-size:26px}.v3-content{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.v3-ui-button{min-height:48px;display:flex;align-items:center;justify-content:center}@media(max-width:600px){.v3-ui-button{min-height:48px}}

/* 第10回・社長直接指示の文字/余白点検。内容・金額・機能は変更しない。
   読み込みは親が該当ページへ統合。共通header/footerには適用しない。 */

/* 支払案内の本文中リンクが通常の文章と見分けられるようにする。 */
body[data-page="online-contract"] main a.native-link {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}

/* 一覧の主CTAは同じ行の下端へ。AIだけの追加案内は同じ行の隣へ置く。
   DOM/タブ順は維持し、広い画面だけ二列の案内欄を使う。 */
@media (min-width: 761px) {
  body[data-page="services"] #service-list .v6-service-card {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    grid-template-rows: auto auto 1fr auto auto;
    column-gap: 14px;
    align-items: start;
  }
  body[data-page="services"] #service-list .v6-service-card > .v3-eyebrow,
  body[data-page="services"] #service-list .v6-service-card > h2,
  body[data-page="services"] #service-list .v6-service-card > p {
    grid-column: 1 / -1;
  }
  body[data-page="services"] #service-list .v6-service-card > .v3-btn {
    grid-column: 1;
    grid-row: 5;
    align-self: end;
    margin: 0 !important;
  }
  body[data-page="services"] #service-list .v6-service-card > .v5-text-link {
    grid-column: 2;
    grid-row: 5;
    align-self: end;
    display: flex;
    align-items: center;
    min-height: 54px;
    min-width: 0;
    margin: 0 !important;
    font-size: 13px;
    line-height: 1.6;
  }
}

/* 横長の実画面を固有の比率で表示し、4:3枠による大きな白余白を除く。 */
body[data-page="website"] .service-hero figure img.real-hero {
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

/* 同じボタンに重なる二つ目の矢印を抑える */
.v7-trial-hero > span[aria-hidden="true"]{display:none}

/* SPで見出し末尾の一文字だけが残らないよう、2見出しの行を均等にする。 */
@media (max-width: 760px) {
  body[data-page="system"] main .v3-wrap:has(> .v3-grid.four) > h2,
  body[data-page="system"] main .v4-benefits > h3 {
    text-wrap: balance;
  }
}

/* 一覧の長いしくみ名がSPで一文字だけの次行にならないようにする。 */
@media (max-width: 760px) {
  body[data-page="services"] #service-list .v6-service-card > h2 {
    text-wrap: balance;
  }
}

/* 5列の申込手順で最後の「し」だけが次行に残るのを防ぐ。 */
@media (min-width: 761px) {
  body[data-page="system"] main .v4-flow-five > .v4-flow-step:last-child > h3 {
    text-wrap: balance;
  }
}

/* SPのよさ一覧で「つなぐ」の最後の一文字だけを残さない。 */
@media (max-width: 760px) {
  body[data-page="system"] main .v5-benefit-six h4 {
    text-wrap: balance;
  }
}

/* 語の途中では切らず、「メールマガジン」を一まとまりで改行する。 */
@media (max-width: 760px) {
  body[data-page="services"] #service-list .v6-service-card > h2 > .spacing-no-break {
    white-space: nowrap;
  }
}

/* AI紹介のFAQを一項目ずつ読みやすい間隔へ。操作とマーカーは維持。 */
body[data-page="ai-chat"] main .section > details {
  border-bottom: 1px solid #d7dce0;
}
body[data-page="ai-chat"] main .section > details > summary {
  min-height: 52px;
  padding: 14px 0;
  line-height: 1.8;
}
body[data-page="ai-chat"] main .section > details > p {
  margin-top: 0;
  margin-bottom: 18px;
}
@media (max-width: 760px) {
  body[data-page="ai-chat"] main .ai-service-card > h3,
  body[data-page="ai-chat"] main .ai-demo-chat > h2 {
    text-wrap: balance;
  }
}

/* 同じ横長の公開ヘッダーを使う守り紹介でも、原画像の固有比率を保つ。 */
body[data-page="support"] .service-hero figure img.real-hero {
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
@media (max-width: 760px) {
  body[data-page="online-contract"] main .v5-box > h3 {
    text-wrap: balance;
  }
}

/* SPの初期/毎月の料金は縦に並べ、円・税込の不自然な細切れを防ぐ。 */
@media (max-width: 760px) {
  body[data-page="follow"] main .follow-price-card {
    grid-template-columns: minmax(0, 1fr);
  }
  body[data-page="follow"] main .follow-price-card > div + div {
    border-left: 0;
    border-top: 1px solid #deded8;
  }
  body[data-page="follow"] main .follow-price-card strong {
    display: block;
    font-size: clamp(22px, 7.2vw, 28px);
    white-space: nowrap;
  }
}

/* content-seo-history-word-groups: 元の意味のまとまりで3行にし、指定文言を保持。 */
body[data-page="content-seo"] main .seo-history h2 br {
  display: initial;
}
@media (max-width: 760px) {
  body[data-page="content-seo"] main .seo-plans .button {
    padding-inline: 14px;
    gap: 12px;
    font-size: 13px;
  }
}

/* columns-visible-orphans: 記事一覧と本文の見出し末尾だけを次行へ残さない。 */
@media (max-width: 760px) {
  body[data-page="columns"] main .column-body h3,
  body[data-page="columns"] main .sidebar > h2,
  body[data-page="article"] main .article-title,
  body[data-page="article"] main .column-body h3,
  body[data-page="article"] main .sidebar > h2 {
    text-wrap: balance;
  }
  body[data-page^="industry-"] main .ex9-button[href="ai-chat-trial.html"] {
    padding-inline: 16px;
    gap: 12px;
    font-size: 14px;
    text-wrap: balance;
  }
}

/* column-hub-card-orphans: 一覧と同じ記事カードの孤立末尾を分類内でも抑える。 */
@media (max-width: 760px) {
  body[data-page^="columns-"] main .column-body h3,
  body[data-page="columns-follow"] main .column-category-empty-v9 > h3,
  body[data-page="columns-content-seo"] main .column-hub-header-v9 h1 {
    text-wrap: balance;
  }
}
