/* 既存デザインを維持した全体の文字拡大。先行CSSの後に読み込む。 */
body {
  font-size: 19px;
}
h2 {
  font-size: 46px;
}
h3 {
  font-size: 25px;
}
h4 {
  font-size: 21px;
}
.section-lead {
  font-size: 20px;
}
.eyebrow {
  font-size: 15px;
}
.eyebrow .index {
  font-size: 14px;
}
.heading-split>p {
  font-size: 19px;
}
.source-note {
  font-size: 15px;
}
.preview-bar {
  font-size: 14px;
}
.brand-text {
  font-size: 26px;
}
.brand-text>span {
  font-size: 13px;
}
.desktop-nav {
  font-size: 16px;
}
.header-cta {
  font-size: 16px;
}
.btn {
  font-size: 18px;
}
.text-link {
  font-size: 16px;
}
.hero-eyebrow {
  font-size: 14px;
}
.tiny-star {
  font-size: 25px;
}
.hero-audience {
  font-size: 16px;
}
.hero h1 {
  font-size: clamp(39px,4.1vw,58px);
}
.hero-summary {
  font-size: 20px;
}
.hero-description {
  font-size: 18px;
}
.hero-reassurance {
  font-size: 14px;
}
.hero-note {
  font-size: 14px;
}
.visual-caption {
  font-size: 13px;
}
.floating-input {
  font-size: 15px;
}
.workspace-top {
  font-size: 13px;
}
.workspace-status {
  font-size: 11px;
}
.workspace-heading {
  font-size: 11px;
}
.small-spark {
  font-size: 24px;
}
.workspace-main h3 {
  font-size: 22px;
}
.workspace-tabs button {
  font-size: 13px;
}
.prompt-label {
  font-size: 11px;
}
.prompt-box p {
  font-size: 14px;
}
.workflow-status b {
  font-size: 13px;
}
.workflow-status div span {
  font-size: 11px;
}
.task-list p {
  font-size: 13px;
}
.output-file b {
  font-size: 13px;
}
.output-file div span {
  font-size: 11px;
}
.file-tag {
  font-size: 11px;
}
.floating-output span:not(.floating-output-icon) {
  font-size: 13px;
}
.floating-output b {
  font-size: 19px;
}
.visual-disclaimer {
  font-size: 12px;
}
.hero-bottom {
  font-size: 13px;
}
.benefit-kicker {
  font-size: 13px;
}
.benefit b {
  font-size: 20px;
}
.benefit b>span {
  font-size: 39px;
}
.benefit b .jp-metric {
  font-size: 30px;
}
.benefit sup {
  font-size: 14px;
}
.benefit p {
  font-size: 15px;
}
.benefits-bar .source-note {
  font-size: 13px;
}
.hero-original summary {
  font-size: 15px;
}
.copy-details>summary {
  font-size: 16px;
}
.details-content {
  font-size: 18px;
}
.prose h1,.prose h2 {
  font-size: 27px;
}
.prose h3,.prose h4 {
  font-size: 21px;
}
.details-content .prose,.details-content.prose {
  font-size: 17px;
}
.details-content h3,.details-content h4 {
  font-size: 19px;
}
.pain-card-top>span {
  font-size: 15px;
}
.pain-card h3 {
  font-size: 22px;
}
.pain-card p {
  font-size: 16px;
}
.pain-outsourcing b {
  font-size: 18px;
}
.pain-outsourcing p {
  font-size: 16px;
}
.problem-quote>span {
  font-size: 72px;
}
.problem-quote p {
  font-size: 30px;
}
.section-problem>.container>.copy-details>summary {
  font-size: 15px;
}
.reason-section h2 {
  font-size: 38px;
}
.reason-lead {
  font-size: 21px;
}
.reason-body {
  font-size: 17px;
}
.workflow-eyebrow {
  font-size: 14px;
}
.mini-process span {
  font-size: 16px;
}
.mini-process i {
  font-size: 16px;
}
.workflow-before>p {
  font-size: 15px;
}
.pill-dark {
  font-size: 12px;
}
.after-process>span {
  font-size: 14px;
}
.workflow-after>p {
  font-size: 13px;
}
.reason-details .copy-details>summary {
  font-size: 15px;
}
.reason-details .source-note {
  font-size: 14px;
}
.flow-tag {
  font-size: 13px;
}
.input-file {
  font-size: 14px;
}
.flow-core h3 {
  font-size: 23px;
}
.core-powered {
  font-size: 14px;
}
.flow-core p {
  font-size: 13px;
}
.flow-output>div>span {
  font-size: 15px;
}
.flow-output p {
  font-size: 14px;
}
.tech-intro h2 {
  font-size: 49px;
}
.tech-intro>p:not(.eyebrow) {
  font-size: 18px;
}
.tech-chip {
  font-size: 14px;
}
.step-small {
  font-size: 16px;
}
.tech-feature h3 {
  font-size: 22px;
}
.tech-feature .prose {
  font-size: 17px;
}
.tech-table {
  font-size: 16px;
}
.tech-table caption {
  font-size: 14px;
}
.visual-number {
  font-size: 83px;
}
.visual-label {
  font-size: 12px;
}
.area-eyebrow {
  font-size: 13px;
}
.area-card h3 {
  font-size: 31px;
}
.area-description {
  font-size: 17px;
}
.tags>span {
  font-size: 13px;
}
.area-details>summary {
  font-size: 15px;
}
.area-details .prose {
  font-size: 16px;
}
.art-note {
  font-size: 13px;
}
.social-user>span:first-child {
  font-size: 20px;
}
.social-user b {
  font-size: 11px;
}
.social-user small {
  font-size: 10px;
}
.social-user .social-menu {
  font-size: 16px;
}
.social-sheet>p {
  font-size: 19px;
}
.social-actions {
  font-size: 21px;
}
.video-overline {
  font-size: 10px;
}
.video-story b {
  font-size: 24px;
}
.video-play {
  font-size: 17px;
}
.video-time {
  font-size: 10px;
}
.video-tag {
  font-size: 11px;
}
.mini-browser span {
  font-size: 9px;
}
.mini-lp-content>span {
  font-size: 9px;
}
.mini-lp-content>b {
  font-size: 24px;
}
.mini-lp-cta {
  font-size: 11px;
}
.book-small {
  font-size: 10px;
}
.mock-book b {
  font-size: 23px;
}
.book-mark {
  font-size: 46px;
}
.book-footer {
  font-size: 9px;
}
.mid-cta .eyebrow {
  font-size: 13px;
}
.mid-cta h2 {
  font-size: 34px;
}
.mid-cta p:not(.eyebrow) {
  font-size: 16px;
}
.mid-cta-action>span {
  font-size: 14px;
}
.roadmap-heading h2 {
  font-size: 42px;
}
.roadmap-heading .section-lead {
  font-size: 18px;
}
.roadmap-promise p {
  font-size: 16px;
}
.roadmap-promise strong {
  font-size: 18px;
}
.roadmap-heading summary {
  font-size: 15px;
}
.roadmap-number span {
  font-size: 12px;
}
.roadmap-number b {
  font-size: 42px;
}
.roadmap-copy>h3 {
  font-size: 22px;
}
.roadmap-copy>p {
  font-size: 17px;
}
.step-details>summary {
  font-size: 14px;
}
.step-details .details-content {
  font-size: 16px;
}
.comparison-section h2 {
  font-size: 42px;
}
.comparison-label {
  font-size: 15px;
}
.comparison-table {
  font-size: 15px;
}
.comparison-table caption {
  font-size: 13px;
}
.comparison-table thead th {
  font-size: 15px;
}
.comparison-table tbody th {
  font-size: 14px;
}
.comparison-table thead th:last-child {
  font-size: 19px;
}
.comparison-table thead th:last-child small {
  font-size: 13px;
}
.comparison-table td:last-child {
  font-size: 16px;
}
.table-hint {
  font-size: 14px;
}
.cost-symbol {
  font-size: 51px;
}
.cost-callout h3 {
  font-size: 22px;
}
.cost-callout p {
  font-size: 16px;
}
.review-notice {
  font-size: 15px;
}
.review-notice>span {
  font-size: 13px;
}
.case-card-top {
  font-size: 12px;
}
.case-industry {
  font-size: 14px;
}
.case-card h3 {
  font-size: 20px;
}
.case-metric strong {
  font-size: 62px;
}
.case-metric span {
  font-size: 21px;
}
.case-metric-label {
  font-size: 14px;
}
.case-details>summary {
  font-size: 14px;
}
.case-details .details-content {
  font-size: 16px;
}
.package-section .section-lead {
  font-size: 18px;
}
.package-seal {
  font-size: 14px;
}
.package-seal b {
  font-size: 17px;
}
.package-num {
  font-size: 18px;
}
.package-item h3 {
  font-size: 24px;
}
.package-item>div>p {
  font-size: 16px;
}
.package-chip {
  font-size: 13px;
}
.package-details>summary {
  font-size: 14px;
}
.package-details .details-content {
  font-size: 16px;
}
.package-footer p {
  font-size: 19px;
}
.package-section .source-note {
  font-size: 13px;
}
.faq-layout h2 {
  font-size: 40px;
}
.faq-note {
  font-size: 16px;
}
.faq-q {
  font-size: 25px;
}
.faq-item h3 {
  font-size: 17px;
}
.faq-a {
  font-size: 25px;
}
.faq-answer>.prose {
  font-size: 16px;
}
.reservation-badge {
  font-size: 14px;
}
.reservation-copy h2 {
  font-size: 53px;
}
.reservation-copy h2 em {
  font-size: .85em;
}
.reservation-lead {
  font-size: 24px;
}
.demo-meta {
  font-size: 14px;
}
.demo-meta b {
  font-size: 17px;
}
.demo-agenda h3 {
  font-size: 17px;
}
.demo-agenda li {
  font-size: 16px;
}
.demo-agenda li:before {
  font-size: 13px;
}
.no-pressure {
  font-size: 14px;
}
.reservation-copy .copy-details>summary {
  font-size: 14px;
}
.reservation-copy .details-content {
  font-size: 16px;
}
.form-step {
  font-size: 13px;
}
.form-heading h3 {
  font-size: 27px;
}
.form-heading p {
  font-size: 16px;
}
.form-preview-notice {
  font-size: 14px;
}
.form-field label {
  font-size: 15px;
}
.required {
  font-size: 12px;
}
.optional {
  font-size: 13px;
}
.form-field input,.form-field textarea,.date-controls input {
  font-size: 17px;
}
.form-field input::placeholder,.form-field textarea::placeholder {
  font-size: 15px;
}
.form-field small {
  font-size: 13px;
}
.date-fieldset legend {
  font-size: 15px;
}
.time-zone-note {
  font-size: 13px;
}
.date-group>span {
  font-size: 14px;
}
.date-controls input {
  font-size: 16px;
}
.consent {
  font-size: 14px;
}
.inline-button {
  font-size: inherit;
}
.form-submit {
  font-size: 17px;
}
.form-caption {
  font-size: 13px;
}
.form-status {
  font-size: 16px;
}
.closing-mark {
  font-size: 52px;
}
.closing-inner .eyebrow {
  font-size: 13px;
}
.closing-inner h2 {
  font-size: 39px;
}
.closing-lead {
  font-size: 20px;
}
.closing-inner>p:not(.eyebrow):not(.closing-lead):not(.closing-signature) {
  font-size: 17px;
}
.closing-signature {
  font-size: 14px;
}
.closing-details>summary {
  font-size: 14px;
}
.closing-details .prose {
  font-size: 16px;
}
.footer-top .brand-text {
  font-size: 21px;
}
.footer-top .brand-text>span {
  font-size: 11px;
}
.footer-links button {
  font-size: 13px;
}
.back-top {
  font-size: 20px;
}
.footer-bottom {
  font-size: 12px;
}
.legal-dialog h2 {
  font-size: 27px;
}
.legal-dialog p {
  font-size: 17px;
}
.legal-dialog .eyebrow {
  font-size: 13px;
}
.legal-dialog .dialog-footnote {
  font-size: 14px;
}
.noscript-note {
  font-size: 16px;
}
@media (min-width:1600px) {
  .hero h1 {
    font-size: 59px;
  }
}
@media (max-width:1190px) {
  .desktop-nav {
    font-size: 15px;
  }
  .header-cta {
    font-size: 15px;
  }
  .hero h1 {
    font-size: 47px;
  }
  .hero-actions>.btn {
    font-size: 17px;
  }
  .hero-actions .text-link {
    font-size: 15px;
  }
  .floating-output b {
    font-size: 17px;
  }
  .hero-summary {
    font-size: 19px;
  }
  .pain-card h3 {
    font-size: 20px;
  }
  .benefit b .jp-metric {
    font-size: 27px;
  }
  .reason-section h2 {
    font-size: 34px;
  }
  .flow-core h3 {
    font-size: 21px;
  }
  .input-file {
    font-size: 13px;
  }
  .reservation-copy h2 {
    font-size: 49px;
  }
  .case-card h3 {
    font-size: 19px;
  }
}
@media (max-width:1023px) {
  .brand-text {
    font-size: 24px;
  }
  .hero h1 {
    font-size: 40px;
  }
  .hero-eyebrow {
    font-size: 13px;
  }
  .hero-audience {
    font-size: 14px;
  }
  .hero-summary {
    font-size: 17px;
  }
  .hero-description {
    font-size: 16px;
  }
  .workspace-main h3 {
    font-size: 19px;
  }
  .workspace-tabs button {
    font-size: 12px;
  }
  .floating-input {
    font-size: 14px;
  }
  .floating-output b {
    font-size: 16px;
  }
  .floating-output div span {
    font-size: 12px;
  }
  .visual-disclaimer {
    font-size: 11px;
  }
  .visual-caption {
    font-size: 11px;
  }
  .hero-reassurance {
    font-size: 13px;
  }
  .hero-note {
    font-size: 13px;
  }
  .benefit b>span {
    font-size: 33px;
  }
  .benefit b .jp-metric {
    font-size: 24px;
  }
  .benefit p {
    font-size: 14px;
  }
  .benefit-kicker {
    font-size: 12px;
  }
  .benefits-bar .source-note {
    font-size: 12px;
  }
  .pain-card h3 {
    font-size: 24px;
  }
  .pain-card p {
    font-size: 16px;
  }
  .reason-section h2 {
    font-size: 31px;
  }
  .reason-body {
    font-size: 16px;
  }
  .reason-lead {
    font-size: 18px;
  }
  .mini-process span {
    font-size: 14px;
  }
  .workflow-eyebrow {
    font-size: 13px;
  }
  .workflow-after>p {
    font-size: 12px;
  }
  .after-process>span {
    font-size: 13px;
  }
  .flow-core h3 {
    font-size: 19px;
  }
  .core-powered {
    font-size: 13px;
  }
  .flow-core p {
    font-size: 11px;
  }
  .input-file {
    font-size: 12px;
  }
  .flow-output>div>span {
    font-size: 13px;
  }
  .flow-output p {
    font-size: 12px;
  }
  .tech-intro h2 {
    font-size: 41px;
  }
  .tech-intro p:not(.eyebrow) {
    font-size: 16px;
  }
  .tech-feature h3 {
    font-size: 20px;
  }
  .tech-feature .prose {
    font-size: 16px;
  }
  .heading-split h2 {
    font-size: 40px;
  }
  .heading-split>p {
    font-size: 16px;
  }
  .area-card h3 {
    font-size: 26px;
  }
  .area-description {
    font-size: 16px;
  }
  .visual-number {
    font-size: 70px;
  }
  .visual-label {
    font-size: 10px;
  }
  .video-tag {
    font-size: 10px;
  }
  .mid-cta h2 {
    font-size: 27px;
  }
  .mid-cta-action .btn {
    font-size: 16px;
  }
  .mid-cta p:not(.eyebrow) {
    font-size: 14px;
  }
  .roadmap-heading h2 {
    font-size: 36px;
  }
  .roadmap-copy>h3 {
    font-size: 20px;
  }
  .roadmap-copy>p {
    font-size: 16px;
  }
  .case-card h3 {
    font-size: 18px;
  }
  .case-industry {
    font-size: 13px;
  }
  .case-metric strong {
    font-size: 55px;
  }
  .case-metric span {
    font-size: 18px;
  }
  .case-card-top {
    font-size: 11px;
  }
  .case-details>summary {
    font-size: 13px;
  }
  .package-item h3 {
    font-size: 22px;
  }
  .package-item>div>p {
    font-size: 15px;
  }
  .package-seal {
    font-size: 13px;
  }
  .faq-layout h2 {
    font-size: 34px;
  }
  .faq-item h3 {
    font-size: 16px;
  }
  .reservation-copy h2 {
    font-size: 40px;
  }
  .reservation-lead {
    font-size: 22px;
  }
  .demo-meta {
    font-size: 13px;
  }
  .demo-agenda li {
    font-size: 15px;
  }
  .form-heading h3 {
    font-size: 23px;
  }
  .form-submit {
    font-size: 15px;
  }
  .footer-links button {
    font-size: 12px;
  }
}
@media (max-width:767px) {
  .preview-bar {
    font-size: 12px;
  }
  .brand-text {
    font-size: 22px;
  }
  .brand-text>span {
    font-size: 11px;
  }
  .header-cta {
    font-size: 13px;
  }
  .mobile-nav {
    font-size: 17px;
  }
  h2 {
    font-size: 33px;
  }
  .eyebrow {
    font-size: 13px;
  }
  .eyebrow .index {
    font-size: 13px;
  }
  .section-lead {
    font-size: 16px;
  }
  .heading-split h2 {
    font-size: 34px;
  }
  .heading-split>p {
    font-size: 16px;
  }
  .hero-eyebrow {
    font-size: 12px;
  }
  .tiny-star {
    font-size: 23px;
  }
  .hero-audience {
    font-size: 14px;
  }
  .hero h1 {
    font-size: clamp(36px,9.2vw,52px);
  }
  .hero-summary {
    font-size: 17px;
  }
  .hero-description {
    font-size: 16px;
  }
  .hero-actions>.btn {
    font-size: 17px;
  }
  .hero-reassurance {
    font-size: 14px;
  }
  .hero-note {
    font-size: 13px;
  }
  .visual-caption {
    font-size: 11px;
  }
  .workspace-top {
    font-size: 11px;
  }
  .workspace-heading {
    font-size: 10px;
  }
  .workspace-main h3 {
    font-size: 20px;
  }
  .workspace-tabs button {
    font-size: 12px;
  }
  .prompt-box p {
    font-size: 13px;
  }
  .prompt-label {
    font-size: 10px;
  }
  .workflow-status b {
    font-size: 12px;
  }
  .workflow-status div span {
    font-size: 10px;
  }
  .task-list p {
    font-size: 12px;
  }
  .output-file b {
    font-size: 12px;
  }
  .output-file div span {
    font-size: 10px;
  }
  .file-tag {
    font-size: 10px;
  }
  .floating-input {
    font-size: 13px;
  }
  .floating-output div span {
    font-size: 11px;
  }
  .floating-output b {
    font-size: 16px;
  }
  .visual-disclaimer {
    font-size: 11px;
  }
  .hero-bottom {
    font-size: 11px;
  }
  .hero-bottom>span:last-child {
    font-size: 11px;
  }
  .benefit b {
    font-size: 17px;
  }
  .benefit b>span {
    font-size: 34px;
  }
  .benefit b .jp-metric {
    font-size: 26px;
  }
  .benefit-kicker {
    font-size: 12px;
  }
  .benefit p {
    font-size: 13px;
  }
  .benefit sup {
    font-size: 12px;
  }
  .benefits-bar .source-note {
    font-size: 12px;
  }
  .hero-original summary {
    font-size: 13px;
  }
  .source-note {
    font-size: 13px;
  }
  .copy-details>summary {
    font-size: 15px;
  }
  .details-content .prose,.details-content.prose {
    font-size: 16px;
  }
  .prose h1,.prose h2 {
    font-size: 22px;
  }
  .prose h3,.prose h4 {
    font-size: 19px;
  }
  .details-content h3,.details-content h4 {
    font-size: 18px;
  }
  .pain-card-top>span {
    font-size: 13px;
  }
  .pain-card h3 {
    font-size: 18px;
  }
  .pain-card p {
    font-size: 14px;
  }
  .pain-outsourcing b {
    font-size: 16px;
  }
  .pain-outsourcing p {
    font-size: 14px;
  }
  .problem-quote p {
    font-size: 22px;
  }
  .problem-quote>span {
    font-size: 58px;
  }
  .section-problem>.container>.copy-details>summary {
    font-size: 13px;
  }
  .reason-section h2 {
    font-size: 31px;
  }
  .reason-lead {
    font-size: 18px;
  }
  .reason-body {
    font-size: 16px;
  }
  .workflow-eyebrow {
    font-size: 14px;
  }
  .mini-process span {
    font-size: 15px;
  }
  .workflow-before>p {
    font-size: 14px;
  }
  .after-process>span {
    font-size: 14px;
  }
  .workflow-after>p {
    font-size: 13px;
  }
  .reason-details .copy-details>summary {
    font-size: 14px;
  }
  .reason-details .source-note {
    font-size: 12px;
  }
  .flow-tag {
    font-size: 12px;
  }
  .input-file {
    font-size: 15px;
  }
  .flow-core h3 {
    font-size: 24px;
  }
  .core-powered {
    font-size: 14px;
  }
  .flow-core p {
    font-size: 13px;
  }
  .flow-output>div>span {
    font-size: 13px;
  }
  .flow-output p {
    font-size: 13px;
  }
  .tech-intro h2 {
    font-size: 39px;
  }
  .tech-intro>p:not(.eyebrow) {
    font-size: 16px;
  }
  .tech-chip {
    font-size: 13px;
  }
  .tech-feature h3 {
    font-size: 20px;
  }
  .tech-feature .prose {
    font-size: 16px;
  }
  .step-small {
    font-size: 15px;
  }
  .area-card h3 {
    font-size: 30px;
  }
  .area-eyebrow {
    font-size: 12px;
  }
  .area-description {
    font-size: 16px;
  }
  .tags>span {
    font-size: 12px;
  }
  .area-details>summary {
    font-size: 14px;
  }
  .social-sheet>p {
    font-size: 19px;
  }
  .visual-number {
    font-size: 82px;
  }
  .visual-label {
    font-size: 11px;
  }
  .video-tag {
    font-size: 10px;
  }
  .art-note {
    font-size: 12px;
  }
  .mid-cta h2 {
    font-size: 29px;
  }
  .mid-cta .eyebrow {
    font-size: 12px;
  }
  .mid-cta p:not(.eyebrow) {
    font-size: 15px;
  }
  .mid-cta-action>span {
    font-size: 13px;
  }
  .mid-cta-action .btn {
    font-size: 17px;
  }
  .roadmap-heading h2 {
    font-size: 35px;
  }
  .roadmap-heading .section-lead {
    font-size: 16px;
  }
  .roadmap-promise p {
    font-size: 15px;
  }
  .roadmap-promise strong {
    font-size: 16px;
  }
  .roadmap-heading .copy-details>summary {
    font-size: 14px;
  }
  .roadmap-number span {
    font-size: 11px;
  }
  .roadmap-number b {
    font-size: 37px;
  }
  .roadmap-copy>h3 {
    font-size: 20px;
  }
  .roadmap-copy>p {
    font-size: 15px;
  }
  .step-details>summary {
    font-size: 13px;
  }
  .step-details .details-content {
    font-size: 15px;
  }
  .comparison-section h2 {
    font-size: 31px;
  }
  .comparison-label {
    font-size: 13px;
  }
  .comparison-table {
    font-size: 15px;
  }
  .table-hint {
    font-size: 12px;
  }
  .cost-symbol {
    font-size: 40px;
  }
  .cost-callout h3 {
    font-size: 19px;
  }
  .cost-callout p {
    font-size: 14px;
  }
  .review-notice>span {
    font-size: 13px;
  }
  .review-notice p {
    font-size: 13px;
  }
  .case-card-top {
    font-size: 12px;
  }
  .case-industry {
    font-size: 14px;
  }
  .case-card h3 {
    font-size: 21px;
  }
  .case-metric strong {
    font-size: 60px;
  }
  .case-metric span {
    font-size: 21px;
  }
  .case-metric-label {
    font-size: 14px;
  }
  .case-details>summary {
    font-size: 14px;
  }
  .package-intro h2 {
    font-size: 34px;
  }
  .package-section .section-lead {
    font-size: 16px;
  }
  .package-num {
    font-size: 17px;
  }
  .package-item h3 {
    font-size: 22px;
  }
  .package-item>div>p {
    font-size: 15px;
  }
  .package-chip {
    font-size: 12px;
  }
  .package-details>summary {
    font-size: 13px;
  }
  .package-footer p {
    font-size: 17px;
  }
  .package-footer .btn {
    font-size: 17px;
  }
  .package-section .source-note {
    font-size: 12px;
  }
  .faq-layout h2 {
    font-size: 35px;
  }
  .faq-note {
    font-size: 14px;
  }
  .faq-item h3 {
    font-size: 16px;
  }
  .faq-q {
    font-size: 23px;
  }
  .faq-a {
    font-size: 23px;
  }
  .faq-answer>.prose {
    font-size: 15px;
  }
  .reservation-badge {
    font-size: 13px;
  }
  .reservation-copy h2 {
    font-size: 42px;
  }
  .reservation-copy h2 em {
    font-size: .82em;
  }
  .reservation-lead {
    font-size: 23px;
  }
  .demo-meta {
    font-size: 14px;
  }
  .demo-meta b {
    font-size: 16px;
  }
  .demo-agenda h3 {
    font-size: 17px;
  }
  .demo-agenda li {
    font-size: 15px;
  }
  .no-pressure {
    font-size: 13px;
  }
  .reservation-copy .copy-details>summary {
    font-size: 13px;
  }
  .form-heading h3 {
    font-size: 25px;
  }
  .form-heading p {
    font-size: 15px;
  }
  .form-preview-notice {
    font-size: 13px;
  }
  .form-field label {
    font-size: 15px;
  }
  .form-field input,.form-field textarea {
    font-size: 20px;
  }
  .form-field input::placeholder,.form-field textarea::placeholder {
    font-size: 15px;
  }
  .form-field small {
    font-size: 13px;
  }
  .date-fieldset legend {
    font-size: 15px;
  }
  .time-zone-note {
    font-size: 13px;
  }
  .date-group>span {
    font-size: 14px;
  }
  .date-controls input {
    font-size: 20px;
  }
  .consent {
    font-size: 14px;
  }
  .form-submit {
    font-size: 16px;
  }
  .form-caption {
    font-size: 12px;
  }
  .form-status {
    font-size: 15px;
  }
  .closing-mark {
    font-size: 44px;
  }
  .closing-inner .eyebrow {
    font-size: 12px;
  }
  .closing-inner h2 {
    font-size: 30px;
  }
  .closing-lead {
    font-size: 16px;
  }
  .closing-inner>p:not(.eyebrow):not(.closing-lead):not(.closing-signature) {
    font-size: 15px;
  }
  .closing-signature {
    font-size: 13px;
  }
  .closing-details>summary {
    font-size: 13px;
  }
  .closing-details .prose {
    font-size: 15px;
  }
  .closing-inner>.btn {
    font-size: 17px;
  }
  .footer-top .brand-text {
    font-size: 21px;
  }
  .footer-links button {
    font-size: 12px;
  }
  .back-top {
    font-size: 18px;
  }
  .footer-bottom {
    font-size: 11px;
  }
  .mobile-sticky>span {
    font-size: 12px;
  }
  .mobile-sticky>span>b {
    font-size: 16px;
  }
  .mobile-sticky>.btn {
    font-size: 15px;
  }
  .legal-dialog h2 {
    font-size: 23px;
  }
  .legal-dialog p {
    font-size: 16px;
  }
  .legal-dialog .dialog-footnote {
    font-size: 13px;
  }
}
@media (max-width:374px) {
  .header-cta {
    font-size: 12px;
  }
  .brand-text {
    font-size: 20px;
  }
  .brand-text>span {
    font-size: 10px;
  }
  .hero h1 {
    font-size: 34px;
  }
  .hero-audience {
    font-size: 13px;
  }
  .hero-summary {
    font-size: 16px;
  }
  .hero-description {
    font-size: 15px;
  }
  .hero-actions>.btn {
    font-size: 16px;
  }
  .hero-reassurance {
    font-size: 13px;
  }
  .hero-note {
    font-size: 12px;
  }
  .workspace-main h3 {
    font-size: 18px;
  }
  .workspace-tabs button {
    font-size: 11px;
  }
  .output-file b {
    font-size: 11px;
  }
  .floating-output b {
    font-size: 15px;
  }
  .pain-card h3 {
    font-size: 17px;
  }
  .pain-card p {
    font-size: 13px;
  }
  .problem-quote p {
    font-size: 20px;
  }
  .reason-section h2 {
    font-size: 27px;
  }
  .mini-process span {
    font-size: 14px;
  }
  .after-process>span {
    font-size: 13px;
  }
  .workflow-after>p {
    font-size: 12px;
  }
  .section-heading h2,.heading-split h2 {
    font-size: 30px;
  }
  .area-card h3 {
    font-size: 27px;
  }
  .area-description {
    font-size: 15px;
  }
  .visual-label {
    font-size: 10px;
  }
  .reservation-copy h2 {
    font-size: 37px;
  }
  .reservation-lead {
    font-size: 21px;
  }
  .form-heading h3 {
    font-size: 23px;
  }
  .date-controls input {
    font-size: 20px;
  }
  .form-submit {
    font-size: 15px;
  }
  .consent {
    font-size: 13px;
  }
  .closing-inner h2 {
    font-size: 27px;
  }
  .closing-lead {
    font-size: 15px;
  }
  .closing-inner>p:not(.eyebrow):not(.closing-lead):not(.closing-signature) {
    font-size: 14px;
  }
  .mobile-sticky>.btn {
    font-size: 14px;
  }
}
.pain-card p {
  font-size: 17px;
}
.pain-outsourcing p {
  font-size: 17px;
}
.details-content.prose,.details-content .prose {
  font-size: 18px;
}
.tech-feature .prose,.roadmap-copy>p {
  font-size: 18px;
}
.area-description {
  font-size: 18px;
}
.area-details .prose,.case-details .prose,.step-details .prose {
  font-size: 17px;
}
.faq-item h3 {
  font-size: 18px;
}
.faq-answer>.prose {
  font-size: 18px;
}
.package-item>div>p {
  font-size: 17px;
}
.demo-agenda li {
  font-size: 17px;
}
.closing-inner>p:not(.eyebrow):not(.closing-lead):not(.closing-signature) {
  font-size: 18px;
}
@media (max-width:1023px) and (min-width:768px) {
  .pain-card p,.roadmap-copy>p,.area-description {
    font-size: 16px;
  }
  .tech-feature .prose,.package-item>div>p,.demo-agenda li {
    font-size: 16px;
  }
  .faq-item h3,.faq-answer>.prose {
    font-size: 17px;
  }
}
@media (max-width:767px) {
  .pain-card p {
    font-size: 15px;
  }
  .pain-outsourcing p {
    font-size: 16px;
  }
  .details-content.prose,.details-content .prose {
    font-size: 17px;
  }
  .tech-feature .prose {
    font-size: 17px;
  }
  .roadmap-copy>p,.area-description {
    font-size: 16px;
  }
  .area-details .prose,.case-details .prose,.step-details .prose {
    font-size: 17px;
  }
  .faq-item h3 {
    font-size: 17px;
  }
  .faq-answer>.prose {
    font-size: 17px;
  }
  .package-item>div>p {
    font-size: 16px;
  }
  .demo-agenda li {
    font-size: 16px;
  }
  .closing-inner>p:not(.eyebrow):not(.closing-lead):not(.closing-signature) {
    font-size: 16px;
  }
  .source-note {
    font-size: 13px;
  }
  .benefits-bar .source-note {
    font-size: 13px;
  }
  .art-note {
    font-size: 13px;
  }
  .case-industry,.case-metric-label {
    font-size: 15px;
  }
  .review-notice p {
    font-size: 14px;
  }
  .form-field small,.time-zone-note {
    font-size: 14px;
  }
}
@media (max-width:374px) {
  .pain-card p {
    font-size: 14px;
  }
  .closing-inner>p:not(.eyebrow):not(.closing-lead):not(.closing-signature) {
    font-size: 15px;
  }
}
.pending-mark {
  font-size: 30px;
}
.booking-pending h4 {
  font-size: 26px;
}
.booking-pending p {
  font-size: 17px;
}
.booking-pending .pending-note {
  font-size: 15px;
}

/* 読みやすい本文サイズと、拡大した文字に合う余白。 */
body { font-size: 18px; line-height: 1.9; }
.prose,
.details-content.prose,
.details-content .prose,
.area-details .prose,
.case-details .prose,
.step-details .prose,
.faq-answer > .prose,
.tech-feature .prose,
.package-details .details-content,
.reservation-copy .details-content {
  font-size: 18px;
  line-height: 1.95;
}
.pain-card p,
.pain-outsourcing p,
.roadmap-copy > p,
.area-description,
.package-item > div > p,
.demo-agenda li,
.reason-body,
.booking-pending p,
.closing-inner > p:not(.eyebrow):not(.closing-lead):not(.closing-signature) {
  font-size: 18px;
  line-height: 1.9;
}
.faq-item h3 { font-size: 19px; line-height: 1.8; }
.source-note,
.benefits-bar .source-note,
.package-section .source-note,
.reason-details .source-note,
.art-note,
.footer-bottom,
.booking-pending .pending-note {
  font-size: 14px;
  line-height: 1.85;
}
.source-note, .art-note, .case-industry, .case-metric-label,
.faq-note, .footer-bottom, .closing-signature, .hero-note {
  color: #58664c;
}
.package-section .source-note, .reason-details .source-note { color: #bdcbb1; }
.area-eyebrow, .tags > span, .benefit-kicker, .flow-tag,
.roadmap-number span, .case-card-top, .form-step { color: #5b694e; }
.hero-reassurance, .demo-meta { flex-wrap: wrap; }
.hero-actions > .btn, .mid-cta-action .btn,
.package-footer .btn, .closing-inner > .btn { font-size: 18px; }
.btn { min-height: 64px; gap: 14px; }
.btn > span:first-child { min-width: 0; }
.text-link { max-width: 100%; }
.comparison-table { min-width: 1100px; font-size: 16px; }
.comparison-table thead th, .comparison-table tbody th { font-size: 16px; }
.comparison-table caption, .tech-table caption { font-size: 14px; }
.tech-table { min-width: 780px; font-size: 16px; }

/* 制作画面は、文字が増えても固定高さで切れない構造にする。 */
.hero-visual { height: auto; min-height: 660px; padding: 88px 0 138px; }
.workspace { position: relative; top: auto; left: auto; right: auto; width: calc(100% - 20px); margin: 0 auto; }
.workspace-body { min-height: 0; }
.workspace-tabs { flex-wrap: wrap; }
.floating-input { max-width: calc(100% - 12px); }
.floating-output { right: 0; bottom: 48px; max-width: 100%; }
.floating-output div { min-width: 0; }
.visual-disclaimer { left: 10px; bottom: 0; max-width: calc(100% - 20px); font-size: 12px; }
.visual-caption { right: 0; font-size: 11px; letter-spacing: .08em; }
.area-visual { height: 360px; }
.social-sheet { left: 50%; width: 270px; transform: translateX(-50%) rotate(-7deg); }
.lp-sheet { left: 50%; width: 290px; transform: translateX(-50%) rotate(-5deg); }
.video-story { left: 50%; width: 210px; bottom: auto; height: 320px; transform: translateX(-50%) rotate(7deg); }
.mock-book { left: 50%; width: 215px; height: 312px; transform: translateX(-50%) rotate(9deg); }
.book-shadow { left: calc(50% - 126px); width: 214px; height: 300px; }
.mock-book b { font-size: 23px; line-height: 1.5; }
.book-mark { font-size: 36px; }

@media (max-width: 1240px) {
  .desktop-nav { display: none; }
  .menu-button { display: block; }
  .header-cta { margin-left: auto; }
  .header-inner { gap: 18px; }
}
@media (max-width: 1100px) {
  .hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .hero-visual { width: 100%; max-width: 620px; margin: 20px auto 0; }
  .hero-actions { flex-direction: row; align-items: center; }
  .hero h1 { font-size: clamp(38px, 5.2vw, 54px); }
  .benefits-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 0; }
  .benefit:nth-child(odd) { border-left: 0; padding-left: 0; }
  .benefit:nth-child(even) { padding-left: 24px; }
  .pain-grid { grid-template-columns: repeat(2, 1fr); }
  .mini-process { flex-wrap: wrap; justify-content: flex-start; }
  .solution-flow { grid-template-columns: 1fr; max-width: 650px; margin-inline: auto; }
  .flow-arrow { text-align: center; }
  .flow-arrow > .icon { transform: rotate(90deg); }
  .flow-output > div { grid-template-columns: repeat(4, 1fr); }
  .tech-grid, .roadmap-layout, .faq-layout, .reservation-layout { gap: 36px; }
  .tech-chip { width: fit-content; max-width: 100%; }
  .mid-cta-inner { flex-direction: column; align-items: stretch; gap: 28px; }
  .mid-cta-action { align-items: flex-start; }
  .case-grid { grid-template-columns: 1fr; }
  .case-card { padding: 30px; }
  .package-seal { margin-right: 0; }
  .footer-top { flex-wrap: wrap; }
  .footer-links { flex-wrap: wrap; }
}
@media (max-width: 767px) {
  .hero h1 { font-size: clamp(35px, 9.2vw, 50px); line-height: 1.55; }
  .hero-summary { font-size: 18px; }
  .hero-description { font-size: 17px; line-height: 1.9; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-reassurance { gap: 8px 14px; font-size: 13px; }
  .hero-visual { min-height: 0; padding: 70px 0 150px; }
  .workspace { width: calc(100% - 8px); }
  .floating-output { bottom: 54px; }
  .visual-disclaimer { font-size: 12px; }
  .prose, .details-content.prose, .details-content .prose,
  .area-details .prose, .case-details .prose, .step-details .prose,
  .faq-answer > .prose, .tech-feature .prose,
  .package-details .details-content, .reservation-copy .details-content {
    font-size: 17px;
    line-height: 1.95;
  }
  .pain-card p, .pain-outsourcing p, .roadmap-copy > p,
  .area-description, .package-item > div > p, .demo-agenda li,
  .reason-body, .booking-pending p,
  .closing-inner > p:not(.eyebrow):not(.closing-lead):not(.closing-signature) {
    font-size: 17px;
    line-height: 1.9;
  }
  .faq-item h3 { font-size: 18px; }
  .hero-note, .source-note, .benefits-bar .source-note,
  .package-section .source-note, .reason-details .source-note,
  .art-note, .footer-bottom, .booking-pending .pending-note { font-size: 13px; }
  .hero h1, h2, h3, .brand-text { overflow-wrap: anywhere; }
  .benefit { padding-right: 8px; }
  .benefit b .jp-metric { font-size: 26px; }
  .benefit b { font-size: 17px; }
  .area-card-body { padding: 28px 22px 12px; }
  .mid-cta-action { align-items: stretch; }
  .mid-cta-action .btn { min-width: 0; }
  .package-item h3 { font-size: 23px; }
  .roadmap-copy > h3 { font-size: 21px; }
  .roadmap-number { min-width: 40px; }
  .faq-answer { gap: 12px; }
  .reservation-form-wrap { padding: 28px 20px; }
  .booking-pending h4 { font-size: 26px; }
  .booking-pending .text-link { font-size: 16px; width: auto; }
  .footer-links button { font-size: 14px; }
  .footer-bottom { line-height: 1.9; }
  .mobile-sticky { gap: 12px; }
  .mobile-sticky > span { font-size: 11px; }
  .mobile-sticky > span > b { font-size: 16px; }
  .mobile-sticky > .btn { font-size: 15px; min-width: 0; }
  .site-footer { padding-bottom: 140px; }
}
@media (max-width: 600px) {
  .header-cta { display: none; }
  .menu-button { margin-left: auto; }
  .pain-grid { grid-template-columns: 1fr; gap: 18px; }
  .pain-card { padding: 25px; }
  .pain-card h3 { font-size: 23px; }
  .pain-card h3 br { display: none; }
  .header-inner { gap: 12px; }
}
@media (max-width: 374px) {
  .hero h1 { font-size: 33px; }
  .hero-summary { font-size: 17px; }
  .hero-description { font-size: 16px; }
  .hero-reassurance { font-size: 12px; gap: 8px 10px; }
  .workspace-main h3 { font-size: 19px; }
  .workspace-tabs button { font-size: 11px; }
  .benefit b .jp-metric { font-size: 24px; }
  .benefit p { font-size: 13px; }
  .benefit:nth-child(even) { padding-left: 16px; }
  .roadmap-step { gap: 14px; }
  .roadmap-copy > h3 { font-size: 20px; }
  .reservation-copy h2 { font-size: 36px; }
  .booking-pending h4 { font-size: 24px; }
  .mobile-sticky { padding-inline: 12px; gap: 9px; }
  .mobile-sticky > .btn { font-size: 14px; padding-left: 12px; gap: 8px; }
}

.hero-summary .keep-word { display: inline-block; }
.hero-description .keep-word { white-space: nowrap; }
@media (max-width: 767px) { .hero-summary br { display: none; } }
