/*
Page: Service Pages
IDs: 10403 (system-design), 12774 (marketing-design), 15555 (reskilling), 10948 (network), 12730 (web-design)
Note: Also requires components/blog-card.css, components/yt-embed.css
*/

/* ============================
   Service Pages 共通テンプレート
   (system-design: 10403, marketing-design: 12774,
    reskilling: 15555, network: 10948, web-design: 12730)
   ============================ */

/* テーマヘッダー & ブログ風要素を非表示（5ページ共通） */
.page-id-10403 .site-header,
.page-id-12774 .site-header,
.page-id-15555 .site-header,
.page-id-10948 .site-header,
.page-id-12730 .site-header{
  margin-bottom: 0 !important;
}

.page-id-10403 .jumbotron,
.page-id-10403 .page-jumbotron,
.page-id-10403 .jumbotron-overlay,
.page-id-10403 .jumbotron-content,
.page-id-10403 .home-header,
.page-id-10403 .home-header-overlay,
.page-id-10403 .page-header,
.page-id-10403 header.page-header,
.page-id-10403 .entry-header,
.page-id-10403 header.entry-header,
.page-id-10403 .entry-meta,
.page-id-10403 .post-meta,
.page-id-10403 .entry-title,
.page-id-10403 .post-title,
.page-id-10403 .breadcrumbs,
.page-id-10403 .breadcrumb,
.page-id-10403 .posted-on,
.page-id-10403 .byline,
.page-id-10403 .author,
.page-id-10403 .post-author,
.page-id-10403 .cat-links,
.page-id-10403 .ttl_h1,
.page-id-10403 .page-title,
.page-id-12774 .jumbotron,
.page-id-12774 .page-jumbotron,
.page-id-12774 .jumbotron-overlay,
.page-id-12774 .jumbotron-content,
.page-id-12774 .home-header,
.page-id-12774 .home-header-overlay,
.page-id-12774 .page-header,
.page-id-12774 header.page-header,
.page-id-12774 .entry-header,
.page-id-12774 header.entry-header,
.page-id-12774 .entry-meta,
.page-id-12774 .post-meta,
.page-id-12774 .entry-title,
.page-id-12774 .post-title,
.page-id-12774 .breadcrumbs,
.page-id-12774 .breadcrumb,
.page-id-12774 .posted-on,
.page-id-12774 .byline,
.page-id-12774 .author,
.page-id-12774 .post-author,
.page-id-12774 .cat-links,
.page-id-12774 .ttl_h1,
.page-id-12774 .page-title,
.page-id-15555 .jumbotron,
.page-id-15555 .page-jumbotron,
.page-id-15555 .jumbotron-overlay,
.page-id-15555 .jumbotron-content,
.page-id-15555 .home-header,
.page-id-15555 .home-header-overlay,
.page-id-15555 .page-header,
.page-id-15555 header.page-header,
.page-id-15555 .entry-header,
.page-id-15555 header.entry-header,
.page-id-15555 .entry-meta,
.page-id-15555 .post-meta,
.page-id-15555 .entry-title,
.page-id-15555 .post-title,
.page-id-15555 .breadcrumbs,
.page-id-15555 .breadcrumb,
.page-id-15555 .posted-on,
.page-id-15555 .byline,
.page-id-15555 .author,
.page-id-15555 .post-author,
.page-id-15555 .cat-links,
.page-id-15555 .ttl_h1,
.page-id-15555 .page-title,
.page-id-10948 .jumbotron,
.page-id-10948 .page-jumbotron,
.page-id-10948 .jumbotron-overlay,
.page-id-10948 .jumbotron-content,
.page-id-10948 .home-header,
.page-id-10948 .home-header-overlay,
.page-id-10948 .page-header,
.page-id-10948 header.page-header,
.page-id-10948 .entry-header,
.page-id-10948 header.entry-header,
.page-id-10948 .entry-meta,
.page-id-10948 .post-meta,
.page-id-10948 .entry-title,
.page-id-10948 .post-title,
.page-id-10948 .breadcrumbs,
.page-id-10948 .breadcrumb,
.page-id-10948 .posted-on,
.page-id-10948 .byline,
.page-id-10948 .author,
.page-id-10948 .post-author,
.page-id-10948 .cat-links,
.page-id-10948 .ttl_h1,
.page-id-10948 .page-title,
.page-id-12730 .jumbotron,
.page-id-12730 .page-jumbotron,
.page-id-12730 .jumbotron-overlay,
.page-id-12730 .jumbotron-content,
.page-id-12730 .home-header,
.page-id-12730 .home-header-overlay,
.page-id-12730 .page-header,
.page-id-12730 header.page-header,
.page-id-12730 .entry-header,
.page-id-12730 header.entry-header,
.page-id-12730 .entry-meta,
.page-id-12730 .post-meta,
.page-id-12730 .entry-title,
.page-id-12730 .post-title,
.page-id-12730 .breadcrumbs,
.page-id-12730 .breadcrumb,
.page-id-12730 .posted-on,
.page-id-12730 .byline,
.page-id-12730 .author,
.page-id-12730 .post-author,
.page-id-12730 .cat-links,
.page-id-12730 .ttl_h1,
.page-id-12730 .page-title{
  display: none !important;
}

.page-id-10403 .site-content,
.page-id-10403 .content-area,
.page-id-10403 article.page,
.page-id-10403 .entry-content,
.page-id-12774 .site-content,
.page-id-12774 .content-area,
.page-id-12774 article.page,
.page-id-12774 .entry-content,
.page-id-15555 .site-content,
.page-id-15555 .content-area,
.page-id-15555 article.page,
.page-id-15555 .entry-content,
.page-id-10948 .site-content,
.page-id-10948 .content-area,
.page-id-10948 article.page,
.page-id-10948 .entry-content,
.page-id-12730 .site-content,
.page-id-12730 .content-area,
.page-id-12730 article.page,
.page-id-12730 .entry-content{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* === サービスヒーロー (About Usと同じ構造、サイズ調整) === */
.qc-service-hero{
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  min-height: 60vh;
  display: flex;
  align-items: flex-start;
  overflow: hidden;
  color: #ffffff;
  margin: 0;
  padding: 0;
}
.qc-service-hero__bg{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 80% 80%, rgba(29, 67, 130, .35) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 100%, rgba(59, 130, 246, .2) 0%, transparent 50%),
    linear-gradient(180deg,
      #ffffff 0%,
      #f8fafc 15%,
      #dbeafe 35%,
      #60a5fa 60%,
      #1D4382 80%,
      #0a1532 100%
    );
  z-index: 0;
}
.qc-service-hero__grid{
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 60px 60px;
  z-index: 1;
  mask-image: linear-gradient(180deg, transparent 40%, black 65%, black 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 40%, black 65%, black 95%, transparent 100%);
}
.qc-service-hero__inner{
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 40px 80px;
  width: 100%;
}
.qc-service-hero__eyebrow{
  font-size: .85em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 28px;
  padding-left: 60px;
  position: relative;
}
.qc-service-hero__eyebrow::before{
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 44px;
  height: 1px;
  background: #1D4382;
}
.qc-service-hero__title{
  font-size: clamp(36px, 6vw, 80px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 32px;
  font-family: 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', sans-serif;
  color: #0f172a;
  border: none !important;
  padding: 0 !important;
}
.qc-service-hero__title-accent{
  background: linear-gradient(135deg, #1D4382 0%, #60a5fa 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}
.qc-service-hero__lead{
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.8;
  color: #1D4382;
  max-width: 600px;
  margin: 0;
  font-weight: 600;
  text-shadow: none;
}

/* === 3つの支援サービス === */
.qc-service-pillars{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 100px 40px;
  background: #ffffff;
  box-sizing: border-box;
}
.qc-service-pillars__inner{ max-width: 1200px; margin: 0 auto; }
.qc-service-pillars__header{ text-align: center; margin-bottom: 64px; }
.qc-service-pillars__label{
  font-size: .75em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 20px;
}
.qc-service-pillars__title{
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  border: none !important;
  padding: 0 !important;
  line-height: 1.4;
}
.qc-service-pillars__title::before,
.qc-service-pillars__title::after{ display: none !important; }
.qc-service-pillars__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.qc-service-pillar{
  position: relative;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 20px;
  padding: 40px 32px 36px;
  box-shadow: 0 2px 8px rgba(15,23,42,.04);
  overflow: hidden;
  transition: transform .4s cubic-bezier(.4,0,.2,1),
              box-shadow .4s cubic-bezier(.4,0,.2,1);
}
.qc-service-pillar::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #1D4382, #60a5fa);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}
.qc-service-pillar:hover{
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(29,67,130,.12);
}
.qc-service-pillar:hover::before{ transform: scaleX(1); }
.qc-service-pillar__num{
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(135deg, #1D4382, #60a5fa);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 20px;
  letter-spacing: -.03em;
  font-family: 'Helvetica Neue', sans-serif;
}
.qc-service-pillar__icon{
  width: 40px;
  height: 40px;
  color: #1D4382;
  margin-bottom: 20px;
}
.qc-service-pillar__icon svg{
  width: 40px !important;
  height: 40px !important;
  max-width: 40px !important;
}
.qc-service-pillar__title{
  font-size: 20px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 14px;
  line-height: 1.4;
  border: none !important;
  padding: 0 !important;
}
.qc-service-pillar__desc{
  font-size: 14px;
  line-height: 1.8;
  color: #64748b;
  margin: 0;
}

/* === 概要セクション === */
.qc-service-overview{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 80px 40px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  box-sizing: border-box;
}
.qc-service-overview__inner{
  max-width: 900px;
  margin: 0 auto;
/*  text-align: center; */
}
.qc-service-overview__label{
  font-size: .75em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 24px;
}
.qc-service-overview__lead{
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 2;
  color: #334155;
  margin: 0 0 20px;
}
.qc-service-overview__lead:last-child{ margin-bottom: 0; }

/* === 業界/カテゴリーグリッド === */
.qc-service-industries{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 100px 40px;
  background: #ffffff;
  box-sizing: border-box;
}
.qc-service-industries__inner{ max-width: 1200px; margin: 0 auto; }
.qc-service-industries__header{ text-align: center; margin-bottom: 64px; }
.qc-service-industries__label{
  font-size: .75em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 20px;
}
.qc-service-industries__title{
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  border: none !important;
  padding: 0 !important;
  line-height: 1.4;
}
.qc-service-industries__title::before,
.qc-service-industries__title::after{ display: none !important; }
.qc-service-industries__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.qc-service-industry{
  position: relative;
  padding: 36px 32px;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2f7 100%);
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, .06);
  transition: transform .4s cubic-bezier(.4,0,.2,1),
              box-shadow .4s cubic-bezier(.4,0,.2,1);
}
.qc-service-industry:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(29,67,130,.1);
}
.qc-service-industry__num{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  background: linear-gradient(135deg, #1D4382, #60a5fa);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 12px;
  font-family: 'Helvetica Neue', sans-serif;
}
.qc-service-industry__title{
  font-size: 17px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 14px;
  line-height: 1.4;
  border: none !important;
  padding: 0 !important;
}
.qc-service-industry__desc{
  font-size: 13px;
  line-height: 1.8;
  color: #64748b;
  margin: 0;
}

/* === 事例セクション === */
.qc-service-cases{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 100px 40px;
  background: #ffffff;
  box-sizing: border-box;
}
.qc-service-cases__inner{ max-width: 1200px; margin: 0 auto; }
.qc-service-cases__header{ text-align: center; margin-bottom: 64px; }
.qc-service-cases__label{
  font-size: .75em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 20px;
}
.qc-service-cases__title{
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  border: none !important;
  padding: 0 !important;
  line-height: 1.4;
}
.qc-service-cases__title::before,
.qc-service-cases__title::after{ display: none !important; }
.qc-service-case{
  margin-bottom: 80px;
}
.qc-service-case:last-child{ margin-bottom: 0; }
.qc-service-case__header{
  display: flex;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(15, 23, 42, .1);
  position: relative;
}
.qc-service-case__header::after{
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #1D4382, #60a5fa);
  border-radius: 2px;
}
.qc-service-case__num{
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
  background: linear-gradient(135deg, #1D4382, #60a5fa);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: 'Helvetica Neue', sans-serif;
}
.qc-service-case__title{
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  border: none !important;
  padding: 0 !important;
  letter-spacing: .01em;
}
.qc-service-case__title::before,
.qc-service-case__title::after{ display: none !important; }
.qc-service-case__images{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.qc-service-case__images img{
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4/3;
  border-radius: 12px;
  display: block;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .08);
  transition: transform .5s ease;
}
.qc-service-case__images img:hover{ transform: scale(1.02); }
.qc-service-case__text{
  max-width: 800px;
  margin: 0 auto 20px;
}
.qc-service-case__text p{
  font-size: 15px;
  line-height: 1.9;
  color: #334155;
  margin: 0 0 16px;
}
.qc-service-case__link{
  display: inline-block;
  margin-top: 8px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 700;
  color: #1D4382;
  background: rgba(29, 67, 130, .06);
  border: 1px solid rgba(29, 67, 130, .15);
  border-radius: 8px;
  text-decoration: none;
  transition: background .3s ease;
}
.qc-service-case__link:hover{
  background: rgba(29, 67, 130, .12);
}

/* === ブログ記事一覧 === */
.qc-service-blog{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 100px 40px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  box-sizing: border-box;
}
.qc-service-blog__inner{ max-width: 1200px; margin: 0 auto; }
.qc-service-blog__header{ text-align: center; margin-bottom: 56px; }
.qc-service-blog__label{
  font-size: .75em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 20px;
}
.qc-service-blog__title{
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  border: none !important;
  padding: 0 !important;
  line-height: 1.4;
}
.qc-service-blog__title::before,
.qc-service-blog__title::after{ display: none !important; }

/* === CTA === */
.qc-service-cta{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 100px 40px;
  background: #0a1532;
  color: #ffffff;
  text-align: center;
  overflow: hidden;
  box-sizing: border-box;
}
.qc-service-cta::before{
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(59, 130, 246, .2) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 70%, rgba(29, 67, 130, .4) 0%, transparent 60%);
  pointer-events: none;
}
.qc-service-cta__inner{
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
}
.qc-service-cta__label{
  font-size: .75em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #60a5fa;
  margin-bottom: 24px;
}
.qc-service-cta__title{
  font-size: clamp(26px, 3.2vw, 42px);
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 20px;
  border: none !important;
  padding: 0 !important;
  line-height: 1.4;
}
.qc-service-cta__title::before,
.qc-service-cta__title::after{ display: none !important; }
.qc-service-cta__desc{
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255, 255, 255, .75);
  margin: 0 0 40px;
}
.qc-service-cta__button{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 18px 40px;
  background: linear-gradient(135deg, #1D4382 0%, #60a5fa 100%);
  color: #ffffff !important;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .04em;
  border-radius: 999px;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(29, 67, 130, .35);
  transition: transform .3s ease, box-shadow .3s ease;
}
.qc-service-cta__button::after{
  content: '→';
  font-size: 1.2em;
  transition: transform .3s ease;
}
.qc-service-cta__button:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(29, 67, 130, .5);
}
.qc-service-cta__button:hover::after{
  transform: translateX(4px);
}

/* === Responsive === */
@media (max-width: 900px){
  .qc-service-hero__inner{ padding: 60px 24px 60px; }
  .qc-service-hero__eyebrow{ padding-left: 40px; }
  .qc-service-hero__eyebrow::before{ width: 28px; }
  .qc-service-pillars,
  .qc-service-overview,
  .qc-service-industries,
  .qc-service-cases,
  .qc-service-blog,
  .qc-service-cta{ padding: 60px 24px; }
  .qc-service-pillars__grid,
  .qc-service-industries__grid{ grid-template-columns: 1fr; gap: 16px; }
  .qc-service-case__images{ grid-template-columns: 1fr; }
  .qc-service-case{ margin-bottom: 60px; }
}

/* === 料金表セクション === */
.qc-service-pricing{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 100px 40px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  box-sizing: border-box;
}
.qc-service-pricing__inner{ max-width: 1200px; margin: 0 auto; }
.qc-service-pricing__header{ text-align: center; margin-bottom: 56px; }
.qc-service-pricing__label{
  font-size: .75em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 20px;
}
.qc-service-pricing__title{
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 14px;
  border: none !important;
  padding: 0 !important;
  line-height: 1.4;
}
.qc-service-pricing__title::before,
.qc-service-pricing__title::after{ display: none !important; }
.qc-service-pricing__note{
  font-size: 13px;
  color: #94a3b8;
  letter-spacing: .04em;
  margin: 0;
}
.qc-service-pricing__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.qc-service-plan{
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 20px;
  padding: 40px 32px 36px;
  box-shadow: 0 2px 8px rgba(15,23,42,.04);
  overflow: hidden;
  transition: transform .4s cubic-bezier(.4,0,.2,1),
              box-shadow .4s cubic-bezier(.4,0,.2,1);
  position: relative;
}
.qc-service-plan::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #1D4382, #60a5fa);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}
.qc-service-plan:hover{
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(29,67,130,.12);
}
.qc-service-plan:hover::before{ transform: scaleX(1); }
.qc-service-plan__name{
  font-size: 18px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  border-top: none !important;
}
.qc-service-plan__price{
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 24px;
}
.qc-service-plan__amount{
  font-size: 32px;
  font-weight: 900;
  background: linear-gradient(135deg, #1D4382, #60a5fa);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -.02em;
  font-family: 'Helvetica Neue', sans-serif;
}
.qc-service-plan__unit{
  font-size: 14px;
  color: #64748b;
  font-weight: 600;
}
.qc-service-plan__duration{
  font-size: 12px;
  color: #94a3b8;
  margin-bottom: 24px;
  letter-spacing: .04em;
}
.qc-service-plan__features{
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
}
.qc-service-plan__features li{
  position: relative;
  padding: 10px 0 10px 22px;
  font-size: 13px;
  line-height: 1.6;
  color: #475569;
  border-bottom: 1px solid rgba(15, 23, 42, .05);
}
.qc-service-plan__features li:last-child{ border-bottom: none; }
.qc-service-plan__features li::before{
  content: '';
  position: absolute;
  left: 0;
  top: 1.1em;
  width: 10px;
  height: 1px;
  background: #1D4382;
}
.qc-service-plan__note{
  font-size: 12px;
  color: #94a3b8;
  margin-top: 12px;
  line-height: 1.6;
}

/* === 関連サービス紹介カード === */
.qc-service-related{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 100px 40px;
  background: #ffffff;
  box-sizing: border-box;
}
.qc-service-related__inner{
  max-width: 1000px;
  margin: 0 auto;
}
.qc-service-related__card{
  position: relative;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid rgba(29, 67, 130, .15);
  border-radius: 24px;
  padding: 48px 56px;
  overflow: hidden;
  transition: transform .4s ease, box-shadow .4s ease;
}
.qc-service-related__card::before{
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(96, 165, 250, .15) 0%, transparent 70%);
  pointer-events: none;
}
.qc-service-related__card:hover{
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(29, 67, 130, .12);
}
.qc-service-related__label{
  font-size: .72em;
  letter-spacing: .3em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 16px;
}
.qc-service-related__title{
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 16px;
  line-height: 1.4;
  border: none !important;
  padding: 0 !important;
}
.qc-service-related__title::before,
.qc-service-related__title::after{ display: none !important; }
.qc-service-related__desc{
  font-size: 15px;
  line-height: 1.9;
  color: #475569;
  margin: 0 0 16px;
}
.qc-service-related__link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  color: #1D4382;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  letter-spacing: .04em;
  transition: gap .3s ease;
}
.qc-service-related__link::after{
  content: '→';
  font-size: 1.2em;
  transition: transform .3s ease;
}
.qc-service-related__link:hover{
  gap: 12px;
}
.qc-service-related__link:hover::after{
  transform: translateX(2px);
}

/* 料金表のレスポンシブ */
@media (max-width: 900px){
  .qc-service-pricing,
  .qc-service-related{ padding: 60px 24px; }
  .qc-service-pricing__grid{ grid-template-columns: 1fr; gap: 16px; }
  .qc-service-related__card{ padding: 32px 28px; }
}

/* === プロセスフロー === */
.qc-service-process{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 100px 40px;
  background: #ffffff;
  box-sizing: border-box;
}
.qc-service-process__inner{ max-width: 900px; margin: 0 auto; }
.qc-service-process__header{ text-align: center; margin-bottom: 64px; }
.qc-service-process__label{
  font-size: .75em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 20px;
}
.qc-service-process__title{
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  border: none !important;
  padding: 0 !important;
  line-height: 1.4;
}
.qc-service-process__title::before,
.qc-service-process__title::after{ display: none !important; }

.qc-service-process__list{
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: process-counter;
  position: relative;
}
.qc-service-process__list::before{
  z-index: -1;
  content: '';
  position: absolute;
  left: 39px;
  top: 40px;
  bottom: 40px;
  width: 2px;
  background: linear-gradient(180deg,
    rgba(29, 67, 130, .3) 0%,
    rgba(96, 165, 250, .5) 50%,
    rgba(29, 67, 130, .3) 100%);
}
.qc-service-process__item{
  position: relative;
  padding: 0 0 32px 110px;
  min-height: 80px;
  counter-increment: process-counter;
}
.qc-service-process__item:last-child{ padding-bottom: 0; }
.qc-service-process__item::before{
  z-index: 1;
  background-color: #fff !important;
  content: counter(process-counter, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid rgba(29, 67, 130, .15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 900;
  background-image: linear-gradient(135deg, #1D4382, #60a5fa);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-family: 'Helvetica Neue', sans-serif;
  letter-spacing: -.02em;
  box-shadow: 0 4px 12px rgba(29, 67, 130, .1);
  z-index: 1;
  transition: transform .3s ease, box-shadow .3s ease;
}
.qc-service-process__item:hover::before{
  transform: scale(1.08);
  box-shadow: 0 6px 20px rgba(29, 67, 130, .25);
}
.qc-service-process__item::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #fff;
  z-index: 0;
}
.qc-service-process__step-title{
  font-size: 18px;
  font-weight: 800;
  color: #0f172a;
  margin: 12px 0 12px;
  line-height: 1.4;
  border: none !important;
  padding: 0 !important;
}
.qc-service-process__step-desc{
  font-size: 14px;
  line-height: 1.9;
  color: #475569;
  margin: 0;
}

/* プロセスフローのレスポンシブ */
@media (max-width: 900px){
  .qc-service-process{ padding: 60px 24px; }
  .qc-service-process__list::before{ left: 29px; }
  .qc-service-process__item{
    padding: 0 0 28px 80px;
    min-height: 60px;
  }
  .qc-service-process__item::before{
    width: 60px;
    height: 60px;
    font-size: 16px;
  }
}

/* === 4項目グリッド === */
.qc-service-solutions{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 100px 40px;
  background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  box-sizing: border-box;
}
.qc-service-solutions__inner{ max-width: 1200px; margin: 0 auto; }
.qc-service-solutions__header{ text-align: center; margin-bottom: 64px; }
.qc-service-solutions__label{
  font-size: .75em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 20px;
}
.qc-service-solutions__title{
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  border: none !important;
  padding: 0 !important;
  line-height: 1.4;
}
.qc-service-solutions__title::before,
.qc-service-solutions__title::after{ display: none !important; }
.qc-service-solutions__grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.qc-service-solution{
  position: relative;
  padding: 40px 36px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 20px;
  box-shadow: 0 2px 8px rgba(15,23,42,.04);
  overflow: hidden;
  transition: transform .4s cubic-bezier(.4,0,.2,1),
              box-shadow .4s cubic-bezier(.4,0,.2,1);
}
.qc-service-solution::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #1D4382, #60a5fa);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}
.qc-service-solution:hover{
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(29,67,130,.12);
}
.qc-service-solution:hover::before{ transform: scaleX(1); }
.qc-service-solution__num{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  background: linear-gradient(135deg, #1D4382, #60a5fa);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 16px;
  font-family: 'Helvetica Neue', sans-serif;
}
.qc-service-solution__title{
  font-size: 22px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 16px;
  line-height: 1.4;
  border: none !important;
  padding: 0 !important;
}
.qc-service-solution__desc{
  font-size: 14px;
  line-height: 1.8;
  color: #475569;
  margin: 0 0 16px;
}
.qc-service-solution__link{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  color: #1D4382;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
  letter-spacing: .04em;
  transition: gap .3s ease;
}
.qc-service-solution__link::after{
  content: '→';
  font-size: 1.2em;
  transition: transform .3s ease;
}
.qc-service-solution__link:hover{ gap: 10px; }
.qc-service-solution__link:hover::after{ transform: translateX(2px); }

/* === チェック付きリスト（おすすめ顧客など） === */
.qc-service-checklist{
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding: 100px 40px;
  background: #ffffff;
  box-sizing: border-box;
}
.qc-service-checklist__inner{ max-width: 900px; margin: 0 auto; }
.qc-service-checklist__header{ text-align: center; margin-bottom: 48px; }
.qc-service-checklist__label{
  font-size: .75em;
  letter-spacing: .4em;
  font-weight: 700;
  color: #1D4382;
  margin-bottom: 20px;
}
.qc-service-checklist__title{
  font-size: clamp(22px, 2.8vw, 36px);
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  border: none !important;
  padding: 0 !important;
  line-height: 1.4;
}
.qc-service-checklist__title::before,
.qc-service-checklist__title::after{ display: none !important; }
.qc-service-checklist__list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.qc-service-checklist__list li{
  position: relative;
  padding: 16px 20px 16px 52px;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2f7 100%);
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.6;
  color: #334155;
  border: 1px solid rgba(15, 23, 42, .04);
  transition: transform .3s ease, box-shadow .3s ease;
}
.qc-service-checklist__list li::before{
  content: '✓';
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1D4382, #60a5fa);
  color: #ffffff;
  font-weight: 800;
  font-size: 14px;
  border-radius: 50%;
}
.qc-service-checklist__list li:hover{
  transform: translateX(4px);
  box-shadow: 0 4px 16px rgba(29, 67, 130, .08);
}

/* Responsive */
@media (max-width: 900px){
  .qc-service-solutions,
  .qc-service-checklist{ padding: 60px 24px; }
  .qc-service-solutions__grid{ grid-template-columns: 1fr; gap: 16px; }
}

