@charset "UTF-8";
/*
 * 広告代理店・制作会社向け 下請け・外注パートナー（/partner/）2026.08
 * .pt-lp 配下に限定。テーマのヘッダー・フッター・他ページには影響しない。
 * 文字は #333333、PC最小14px・SP最小12px。ぼかし影は使わない。
 */
.pt-lp{--navy:#16243f;--navy2:#27466f;--orange:#f29702;--orange2:#ffb334;--pale:#edf2f8;--gray:#f5f6f8;--ink:#333333;--line:#d7e0eb;--white:#fff;
  color:var(--ink);font-size:16px;line-height:1.9;padding-top:0;overflow:hidden}
.pt-lp *{box-sizing:border-box}
.pt-lp p,.pt-lp h1,.pt-lp h2,.pt-lp h3{margin:0}
.pt-lp a{color:inherit;text-decoration:none}
.pt-lp img{max-width:100%;height:auto}
.pt-inner{max-width:1200px;margin:0 auto;padding:0 40px}
.pt-inner--narrow{max-width:900px}
.pt-sec{padding:96px 0}
.pt-sec--gray{background:var(--gray)}
.pt-sec--navy{background:var(--navy);color:var(--white)}
.pt-en,.pt-head__en,.pt-card__en,.pt-card__num,.pt-model__en,.pt-policy__en,.pt-flow__num,.pt-pain__num,.pt-area__num,.pt-check__en,.pt-case__meta,.pt-hero__tag,.pt-diagram__en,.pt-diagram__foot,.pt-quick__label,.pt-priority b,.pt-area__pin{font-family:"Outfit",sans-serif;letter-spacing:.06em}

/* 見出し */
.pt-head{margin-bottom:48px}
.pt-head__en{color:var(--orange);font-size:14px;font-weight:600}
.pt-head__title{margin-top:0;font-size:clamp(26px,3vw,40px);font-weight:700;line-height:1.45;color:var(--navy)}
.pt-head__desc{margin-top:18px;max-width:760px}
.pt-head--light .pt-head__title,.pt-head--light .pt-head__desc{color:var(--white)}
.pt-head--light .pt-head__en{color:var(--orange2)}

/* ボタン */
.pt-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.pt-btns--center{justify-content:center}
.pt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 32px;border-radius:9999px;font-weight:700;font-size:16px;transition:opacity .2s,background-color .2s,color .2s;border:2px solid transparent}
.pt-btn::after{content:"→";margin-left:10px;font-family:"Outfit",sans-serif}
.pt-btn--primary{background:var(--orange);color:var(--white);border-color:var(--orange)}
.pt-btn--primary:hover{background:#d98600;border-color:#d98600}
.pt-btn--ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.pt-btn--ghost:hover{background:var(--navy);color:var(--white)}
.pt-sec--navy .pt-btn--ghost,.pt-cta .pt-btn--ghost{color:var(--white);border-color:var(--white)}
.pt-cta .pt-btn--ghost:hover{background:var(--white);color:var(--navy)}
.pt-btn--line{background:var(--white);color:var(--navy);border-color:var(--line)}
.pt-btn--line:hover{border-color:var(--navy)}

/* ヒーロー */
.pt-hero{background:linear-gradient(120deg,#f7f9fc 0%,#edf2f8 100%);position:relative;margin-top:-30px;padding-top:120px}
.pt-hero::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;border:60px solid rgba(242,151,2,.08)}
.pt-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center;position:relative}
.pt-hero__tag{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;font-weight:600;color:var(--navy2)}
.pt-hero__tag span+span::before{content:"";display:inline-block;width:1px;height:12px;background:var(--navy2);margin-right:18px;vertical-align:-1px}
.pt-hero__h1{margin-top:0;font-size:12px;font-weight:700;color:var(--navy);line-height:1.6}
.pt-hero__title{margin-top:16px;font-size:clamp(32px,3.6vw,50px);font-weight:700;line-height:1.25;color:var(--navy);letter-spacing:.02em}
.pt-hero__lead{margin-top:24px;max-width:600px}
.pt-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.pt-badges span{display:inline-block;padding:6px 14px;border:1px solid var(--navy);border-radius:9999px;font-size:14px;font-weight:700;color:var(--navy);background:var(--white)}
.pt-sp{display:none}

/* 関係図 */
.pt-diagram{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:32px 28px;display:flex;flex-direction:column;align-items:center}
.pt-diagram__node{width:100%;max-width:340px;border:2px solid var(--line);border-radius:12px;padding:14px 18px;text-align:center;background:var(--white)}
.pt-diagram__node--owner{border-color:var(--navy);background:var(--navy);color:var(--white)}
.pt-diagram__node--kbd{border-color:var(--orange);background:#fff8ea}
.pt-diagram__en{display:block;font-size:12px;font-weight:600;opacity:.8}
.pt-diagram__ja{display:block;font-size:18px;font-weight:700;line-height:1.4;margin-top:2px}
.pt-diagram__ja small{display:block;font-size:14px;font-weight:500;opacity:.85;margin-top:2px}
.pt-diagram__arrow{width:2px;height:26px;background:var(--navy2);position:relative;margin:6px 0}
.pt-diagram__arrow::after{content:"";position:absolute;left:50%;bottom:-2px;width:10px;height:10px;border-right:2px solid var(--navy2);border-bottom:2px solid var(--navy2);transform:translateX(-50%) rotate(45deg)}
.pt-diagram__foot{margin-top:18px;font-size:12px;font-weight:600;color:var(--navy2);letter-spacing:.16em}

/* クイックアンサー */
.pt-quick{margin-top:48px;display:grid;grid-template-columns:170px 1fr;gap:24px;background:var(--white);border-left:6px solid var(--orange);padding:24px 28px;position:relative}
.pt-quick__label{font-size:14px;font-weight:600;color:var(--orange);padding-top:4px}
.pt-quick__text{font-size:16px}

/* グリッド・カード */
.pt-grid{display:grid;gap:20px}
.pt-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pt-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pt-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:28px 24px;display:flex;flex-direction:column;transition:border-color .2s}
.pt-card:hover{border-color:var(--navy)}
.pt-card--white{background:var(--white)}
.pt-card__num{font-size:22px;font-weight:600;color:var(--navy);line-height:1;display:flex;align-items:center;gap:10px;margin-bottom:14px}
.pt-card__pri{font-size:12px;font-weight:600;padding:3px 8px;border-radius:4px;color:var(--white);letter-spacing:.08em}
.pt-card__pri--A{background:var(--orange)}
.pt-card__pri--B{background:var(--navy2)}
.pt-card__pri--C{background:#6b7a90}
.pt-card__en{font-size:12px;font-weight:600;color:var(--navy2)}
.pt-card__title{margin-top:8px;font-size:20px;font-weight:700;color:var(--navy);line-height:1.45}
.pt-card__text{margin-top:12px;font-size:15px}
.pt-card--ind .pt-card__title{color:var(--orange)}
.pt-card--ind .pt-card__text{font-weight:700;color:var(--ink)}
.pt-note{margin-top:24px;font-size:14px}

.pt-priority{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-top:20px;font-size:14px;font-weight:700}
.pt-priority b{color:var(--navy2);font-weight:600;font-size:12px}
.pt-priority em{font-style:normal;font-family:"Outfit",sans-serif;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:var(--white);font-size:12px;margin-right:6px}
.pt-priority span:nth-child(2) em{background:var(--orange)}
.pt-priority span:nth-child(3) em{background:var(--navy2)}
.pt-priority span:nth-child(4) em{background:#6b7a90}

.pt-models{margin-top:40px}
.pt-model{border-top:3px solid var(--orange);padding:22px 0 0}
.pt-model__en{font-size:14px;font-weight:600;color:var(--orange)}
.pt-model__title{margin-top:6px;font-size:22px;font-weight:700;color:var(--navy)}
.pt-model__text{margin-top:10px;font-size:15px}

/* 困りごと */
.pt-pains{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 40px}
.pt-pain{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.pt-pain__num{flex:0 0 auto;min-width:44px;font-size:28px;font-weight:600;color:var(--orange2);line-height:1.1}
.pt-pain__title{font-size:20px;font-weight:700;line-height:1.45}
.pt-pain__text{margin-top:8px;font-size:15px;opacity:.9}

/* ポリシー */
.pt-policy{padding:26px 24px;border-left:3px solid var(--navy);background:var(--gray)}
.pt-policy__en{font-size:12px;font-weight:600;color:var(--navy2)}
.pt-policy__title{margin-top:6px;font-size:20px;font-weight:700;color:var(--navy)}
.pt-policy__text{margin-top:10px;font-size:15px}

/* 対応エリア */
.pt-area{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
.pt-area__map{display:flex;align-items:center;gap:0;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:56px 32px;justify-content:center}
.pt-area__pin{display:inline-flex;align-items:center;justify-content:center;width:130px;height:130px;border-radius:50%;background:var(--navy);color:var(--white);font-size:14px;font-weight:600;text-align:center;padding:10px;line-height:1.4}
.pt-area__pin--all{background:var(--orange);width:160px;height:160px;font-size:13px;line-height:1.5}
.pt-area__line{flex:1;max-width:120px;height:2px;background:repeating-linear-gradient(90deg,var(--navy2) 0 8px,transparent 8px 14px)}
.pt-area__item{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.pt-area__num{flex:0 0 auto;font-size:24px;font-weight:600;color:var(--orange);line-height:1.2}
.pt-area__title{font-size:20px;font-weight:700;color:var(--navy)}
.pt-area__text{margin-top:6px;font-size:15px}

/* 進め方 */
.pt-flow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;counter-reset:step}
.pt-flow__step{position:relative;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px 16px 20px}
.pt-flow__step::after{content:"";position:absolute;right:-9px;top:50%;width:12px;height:12px;border-top:2px solid var(--orange);border-right:2px solid var(--orange);transform:translateY(-50%) rotate(45deg);background:transparent}
.pt-flow__step:last-child::after{display:none}
.pt-flow__num{display:inline-block;font-size:22px;font-weight:600;color:var(--orange);line-height:1}
.pt-flow__title{margin-top:10px;font-size:16px;font-weight:700;color:var(--navy);line-height:1.5}
.pt-flow__text{margin-top:8px;font-size:14px;line-height:1.7}

/* チェックリスト */
.pt-check{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:stretch}
.pt-check__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.pt-check__item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2);font-weight:700}
.pt-check__item span{font-family:"Outfit",sans-serif;font-size:14px;color:var(--orange2);font-weight:600}
.pt-check__side{background:var(--white);color:var(--navy);border-radius:16px;padding:40px 32px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.pt-check__en{font-size:14px;font-weight:600;color:var(--orange)}
.pt-check__title{margin-top:0;font-size:26px;font-weight:700;line-height:1.45}
.pt-check__side .pt-btn{margin-top:28px}

/* 実績 */
.pt-case{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:26px 24px;transition:border-color .2s}
.pt-case:hover{border-color:var(--orange)}
.pt-case__meta{display:flex;justify-content:space-between;font-size:14px;font-weight:600;color:var(--navy2)}
.pt-case__meta span:first-child{color:var(--orange);font-family:"Noto Sans JP",sans-serif;letter-spacing:0}
.pt-case__client{margin-top:14px;font-size:14px;font-weight:700}
.pt-case__title{margin-top:6px;font-size:19px;font-weight:700;color:var(--navy);line-height:1.5}
.pt-case__tags{margin-top:auto;padding-top:16px;font-size:14px;color:var(--ink)}
.pt-more{margin-top:32px;text-align:center}

/* FAQ */
.pt-faq__item{background:var(--white);border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
.pt-faq__q{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:16px;padding:22px 60px 22px 24px;font-size:17px;font-weight:700;color:var(--navy);position:relative;line-height:1.6}
.pt-faq__q::-webkit-details-marker{display:none}
.pt-faq__q span{font-family:"Outfit",sans-serif;color:var(--orange);font-weight:600;flex:0 0 auto}
.pt-faq__q::after{content:"";position:absolute;right:24px;top:30px;width:10px;height:10px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg);transition:transform .2s}
.pt-faq__item[open] .pt-faq__q::after{transform:rotate(-135deg);top:34px}
.pt-faq__a{padding:0 24px 24px 64px;font-size:15px}

/* 最終CTA */
.pt-cta{background:var(--navy);color:var(--white);text-align:center;padding:96px 0}
.pt-cta .pt-head__en{color:var(--orange2)}
.pt-cta__title{margin-top:0;font-size:clamp(26px,3vw,40px);font-weight:700;line-height:1.45}
.pt-cta__desc{margin:20px auto 0;max-width:720px}
.pt-cta__note{margin-top:20px;font-size:14px;opacity:.9}

/* ---------- レスポンシブ ---------- */
@media screen and (max-width:1199px){
  .pt-lp{padding-top:0}
  .pt-hero{margin-top:-26px;padding-top:81px}
  .pt-sec{padding:72px 0}
  .pt-inner{padding:0 24px}
  .pt-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-flow{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pt-flow__step::after{display:none}
  .pt-hero__grid{grid-template-columns:1fr;gap:36px}
  .pt-check{grid-template-columns:1fr}
}
@media screen and (max-width:758px){
  .pt-lp{font-size:15px}
  .pt-sec{padding:56px 0}
  .pt-inner{padding:0 20px}
  
  .pt-hero__title{font-size:clamp(30px,9vw,40px)}
  .pt-sp{display:inline}
  .pt-btns{flex-direction:column}
  .pt-btn{width:100%;min-height:52px}
  .pt-quick{grid-template-columns:1fr;gap:8px;padding:20px}
  .pt-grid--4,.pt-grid--3{grid-template-columns:1fr}
  .pt-pains{grid-template-columns:1fr;gap:0}
  .pt-area{grid-template-columns:1fr;gap:28px}
  .pt-area__map{padding:36px 20px}
  .pt-area__pin{width:100px;height:100px;font-size:12px}
  .pt-area__pin--all{width:116px;height:116px}
  .pt-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt-check__list{grid-template-columns:1fr}
  .pt-check__side{padding:28px 22px}
  .pt-faq__q{font-size:16px;padding:18px 48px 18px 18px}
  .pt-faq__q::after{right:18px;top:26px}
  .pt-faq__a{padding:0 18px 20px 18px}
  .pt-cta{padding:64px 0}
  .pt-diagram__en,.pt-card__en,.pt-policy__en,.pt-diagram__foot,.pt-card__pri,.pt-priority b{font-size:12px}
}

/* アイソメイラスト差し替え（2026.08） */
.pt-lp .pt-hero__iso {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 520px; /* 縦長のSVGなので高さ基準で抑える */
  margin: 0 auto;
}
.pt-lp .pt-check__iso {
  display: block;
  width: 72%;
  max-width: 260px;
  height: auto;
  margin: 0 auto 18px;
}
.pt-check__side {
  text-align: center;
  align-items: center;
}

/* このページの要約はヒーローの下に全幅で置く（2026.08） */
.pt-lp .pt-summary {
  width: 100%;
  margin-top: 8px;
}
.pt-lp .pt-summary .svlp-summary__inner {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}
