@charset "utf-8";
/*StickWriterAce製品情報用スタイルシート*/

/*----------------------------------------------------------------------------------------------------------
	スマホ用（～768px）
------------------------------------------------------------------------------------------------------------*/
:root {
  --color-primary: #005bac;
  --color-primary-dark: #004b8d;
  --color-link: #005bac;
  --color-text: #222222;
  --color-subtext: #555555;
  --color-border: #d9d9d9;
  --color-border-strong: #c8c8c8;
  --color-bg: #f5f7fa;
  --color-bg-soft: #fafbfc;
  --color-white: #ffffff;
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.05);
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --container: 1080px;
}

* {
      box-sizing: border-box;
    }
html {
      scroll-behavior: smooth; }

  
a {
      color: var(--color-link);
      text-decoration: none !important; }

a:hover,
a:focus-visible {
      text-decoration: underline; }
      
.container {
      width: min(var(--container), calc(100% - 32px));
      margin: 0 auto; }.section {
      padding: 64px 0;
      border-top: 1px solid #ededed; }
      
.section--muted {
      background: var(--color-bg-soft); }
      
.section__head {
      max-width: 760px;
      margin-bottom: 28px; }

.eyebrow {
      display: inline-block;
      margin-bottom: 10px;
      padding-left: 10px;
      border-left: 4px solid var(--color-primary);
      color: var(--color-primary);
      font-size: 13px;
      font-weight: 700;
      line-height: 1.4;
      letter-spacing: 0.03em; }
      
.section-title {
      margin: 0 0 10px;
      font-size: clamp(26px, 3.8vw, 34px);
      line-height: 1.35;
      font-weight: 700; }
      
.section-lead {
      margin: 0;
      color: var(--color-subtext);
      font-size: 15px; }
      
.site-header {
      /*position: sticky;
      top: 0;
      z-index: 30;*/
      background: rgba(255, 255, 255, 0.98);
      border-bottom: 1px solid var(--color-border); }

.site-header__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      min-height: 64px; }
      
.site-brand {
      color: var(--color-primary);
      font-size: 22px;
      font-weight: 700;
      letter-spacing: 0.01em; }
      
.site-nav {
      display: flex;
      align-items: center;
      gap: 18px;
      flex-wrap: wrap; }
      
.site-nav a {
      color: var(--color-text);
      font-size: 14px;
      /*font-weight: 500;*/ }

.hero {
      padding-top: 80px;
      padding: 56px 0 64px;
      /*background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);*/
      border-top: 3px solid var(--color-primary); }

.hero__grid {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
      gap: 28px;
      align-items: center; }

.hero__title {
      margin: 0 0 14px;
      font-size: clamp(34px, 5vw, 48px);
      line-height: 1.2;
      font-weight: 700; }

.hero__lead {
      margin: 0 0 14px;
      font-size: clamp(17px, 2.2vw, 20px);
      color: var(--color-primary-dark);
      font-weight: 700; }

/* product meta */
.product-meta {
      display: flex;
      gap: 24px;
      margin: 16px 0 8px;
      flex-wrap: wrap; }

.product-meta__label {
      display: block;
      font-size: 12px;
      color: #6b7280; }

.product-meta strong {
      font-size: 16px;
      font-weight: 700;
      color: #111827; }

.hero__text {
      margin: 0;
      color: var(--color-subtext);
      font-size: 15px;
      max-width: 58ch; }

.hero__actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 24px; }

.button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 10px 18px;
      border: 1px solid var(--color-border-strong);
      border-radius: var(--radius-sm);
      background: var(--color-white);
      color: var(--color-text);
      font-size: 14px;
      font-weight: 700;
      transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease; }

.button:hover,
.button:focus-visible {
      text-decoration: none;
      background: #f2f7fc;
      border-color: #aac6e3; }

.button--primary {
      background: var(--color-primary);
      border-color: var(--color-primary);
      color: var(--color-white); }

.button--primary:hover,
.button--primary:focus-visible {
      background: var(--color-primary-dark);
      border-color: var(--color-primary-dark);
      color: var(--color-white); }

.button--secondary {
      color: var(--color-primary);
      border-color: #aac6e3; }

.hero-card,
.card,
.overview__box,
.cta-panel,
.spec-table-wrap {
      background: var(--color-white);
      border: 1px solid var(--color-border);
      border-radius: var(--radius-md);
      box-shadow: none; }

.hero-card {
      padding: 18px; }

.hero-card__media {
      aspect-ratio: 4 / 3;
      /*border: 1px solid #bcd0e4;*/
      border-radius: var(--radius-sm);
      /*background: #f7fbff;*/
      display: grid;
      place-items: center;
      padding: 30px;/*20px*/
      color: var(--color-primary-dark);
      text-align: center;
      font-weight: 700; }

.hero-card__media img {
      max-width: 100%;
      height: auto; }

.hero-card__caption {
      margin: 12px 0 0;
      color: var(--color-subtext);
      font-size: 13px; }

.stat-grid,
.feature-grid,
.scene-grid,
.cta-grid {
      display: grid;
      gap: 16px; }

.stat-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr)); }

.feature-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr)); }

.scene-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr)); }

.card {
      height: 100%;
      padding: 20px; }

.card h3 {
      margin: 0 0 8px;
      font-size: 20px;
      line-height: 1.45;
      font-weight: 700; }

.card p,
.card li {
      margin: 0;
      color: var(--color-subtext);
      font-size: 14px; }

.card ul {
      margin: 0;
      padding-left: 18px; }

.stat-card__value {
      display: inline-block;
      margin-bottom: 12px;
      padding-bottom: 6px;
      border-bottom: 2px solid var(--color-primary);
      font-size: 30px;
      line-height: 1;
      font-weight: 700;
      color: var(--color-primary); }

.overview {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
      gap: 18px;
      align-items: stretch; }

.overview__box {
      padding: 22px; }

.overview__list {
      display: grid;
      gap: 12px;
      margin: 0;
      padding: 0;
      list-style: none; }

.overview__list li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      color: var(--color-subtext);
      font-size: 14px; }

.overview__list strong {
      color: var(--color-text); }

.check {
      flex: 0 0 auto;
      width: 22px;
      height: 22px;
      border: 1px solid #b7cde2;
      border-radius: 50%;
      background: #f2f8fe;
      color: var(--color-primary);
      display: inline-grid;
      place-items: center;
      font-size: 13px;
      line-height: 1.8;
      font-weight: 700;
      margin-top: 2px; }

.problem-solution {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
      gap: 16px;
      align-items: center; }

.problem-solution__arrow {
      font-size: 34px;
      color: var(--color-primary);
      font-weight: 700; }

.feature-card__tag {
      display: inline-block;
      margin-bottom: 10px;
      padding: 4px 8px;
      border: 1px solid #c7dbee;
      border-radius: var(--radius-sm);
      background: #f5faff;
      color: var(--color-primary);
      font-size: 11px;
      font-weight: 700;
      line-height: 1.3; }

.media-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px; }

.media-placeholder {
      aspect-ratio: 16 / 10;
      border: 1px solid #bcd0e4;
      border-radius: var(--radius-sm);
      /*background: #f7fbff;*/
      display: grid;
      place-items: center;
      text-align: center;
      color: var(--color-primary-dark);
      font-weight: 700;
      padding: 20px; }


.media-caption {
      margin-top: 8px;
      font-size: 13px;
      color: var(--color-subtext);
      text-align: center; }

.spec-table-wrap {
      overflow-x: auto; }

.spec-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 640px; }

.spec-table th,
    .spec-table td {
      padding: 14px 16px;
      text-align: left;
      border-bottom: 1px solid #ededed;
      vertical-align: top;
      font-size: 14px; }

.spec-table th {
      width: 28%;
      background: #f8fafc;
      font-weight: 700; }

.cta {
      padding: 72px 0 80px;
      background: #f7fbff;
      border-top: 1px solid #dce7f2; }

.cta-panel {
      padding: 28px 24px;
      text-align: center; }

.cta-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      margin-top: 24px; }

.cta-item {
      padding: 18px 16px;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-sm);
      background: var(--color-bg-soft); }

.cta-item h3 {
      margin: 0 0 6px;
      font-size: 17px;
      font-weight: 700; }

.cta-item p {
      margin: 0;
      color: var(--color-subtext);
      font-size: 13px; }.site-footer {
      padding: 24px 0 36px;
      border-top: 1px solid var(--color-border);
      background: var(--color-white);
      color: var(--color-subtext);
      font-size: 12px; }.site-footer__inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap; }

 @media (max-width: 1024px) {
.feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)); }

.scene-grid,
.cta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)); } 
/********/
}

 @media (max-width: 900px) {
.hero__grid,
.overview,
.problem-solution,
.media-grid {
        grid-template-columns: 1fr; }

.problem-solution__arrow {
        transform: rotate(90deg);
        text-align: center; }

.stat-grid,
.feature-grid,
.scene-grid,
.cta-grid {
        grid-template-columns: 1fr; }

.section {
        padding: 52px 0; }
      
img.screen-image {width: auto;}

/********/
}

 @media (max-width: 640px) {
.container {
        width: min(var(--container), calc(100% - 24px)); }
        
.site-header__inner {min-height: 58px; }

.hero {
      padding-top: 80px;
        padding: 42px 0 52px; }

.hero-card,
.card,
.overview__box,
.cta-panel { padding: 18px; }

.hero__actions {
        display: grid;
        grid-template-columns: 1fr; }

.button {
        width: 100%; }
img.screen-image {max-width: 100%;}
/********/
}
  
.hero__band {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      background: #005bac;
      color: #fff;
      text-align: center;
      font-size: 16px;
      font-weight: 700;
      padding: 10px 0;
      letter-spacing: 0.05em;
 }
