@charset "utf-8";
/* ==========================================================================
   kintone×AI for NPO ／ 法人向け広告LP 追加スタイル
   2026-09-23 作成
   - 既存 swell-child/common/css/style.css の後に読み込む前提
   - 新規セクションのみ .kx- 接頭辞。既存クラスには一切触らない
   - パレットは既存LPから踏襲： #007DDD / #045695 / #EBF4F9 / #FFEF71 / #FF923E
   ========================================================================== */

:root{
  --kx-blue:#007DDD;
  --kx-navy:#045695;
  --kx-bg:#EBF4F9;
  --kx-yellow:#FFEF71;
  --kx-orange:#FF923E;
  --kx-red:#F70000;
  --kx-teal:#00A8B6;
  --kx-ink:#313131;
  --kx-gray:#666666;
}

/* --------------------------------------------------------------------------
   共通パーツ
   -------------------------------------------------------------------------- */
.wrap_lp .kx-sec{ padding:80px 20px; }
.wrap_lp .kx-sec.-bg{ background:var(--kx-bg); }
.wrap_lp .kx-sec.-white{ background:#fff; }
.wrap_lp .kx-inner{ max-width:1100px; margin:0 auto; }
.wrap_lp .kx-inner.-narrow{ max-width:840px; }

.wrap_lp .kx-h2{
  font-size:32px; font-weight:700; line-height:1.45;
  text-align:center; margin-bottom:16px; color:var(--kx-ink);
}
.wrap_lp .kx-h2 .kx-grad{
  background:-webkit-linear-gradient(0deg,#007DDD,#045695);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  color:#007DDD;
}
.wrap_lp .kx-h2 .kx-mark{
  background:linear-gradient(transparent 68%, var(--kx-yellow) 0%);
}
.wrap_lp .kx-lead{
  font-size:17px; line-height:1.9; text-align:center;
  color:var(--kx-gray); margin-bottom:44px;
}
.wrap_lp .kx-eyebrow{
  display:block; text-align:center; font-size:15px; font-weight:700;
  letter-spacing:.14em; color:var(--kx-blue); margin-bottom:10px;
}

@media screen and (max-width:767px){
  .wrap_lp .kx-sec{ padding:52px 18px; }
  .wrap_lp .kx-h2{ font-size:22px; }
  .wrap_lp .kx-lead{ font-size:15px; margin-bottom:30px; }
  .wrap_lp .kx-eyebrow{ font-size:13px; }
}

/* --------------------------------------------------------------------------
   01 ファーストビュー（mv_title 画像の代わりにテキストで組む）
   -------------------------------------------------------------------------- */
/* 背景写真（lp/mv.jpg）が明るいので、白のカードを敷いて濃色文字で置く */
.wrap_lp .mv .kx-mv{
  width:100%; max-width:720px; text-align:center;
  background:rgba(255,255,255,.93);
  border-radius:14px; padding:38px 40px 42px;
  box-shadow:0 8px 40px rgba(0,50,90,.18);
}
.wrap_lp .mv .kx-mv__to{
  font-size:20px; font-weight:700; line-height:1.85; color:var(--kx-ink);
  margin-bottom:22px;
}
.wrap_lp .mv .kx-mv__to b{
  color:var(--kx-red); font-size:24px;
  background:linear-gradient(transparent 68%, #ffe0e0 0%);
}
.wrap_lp .mv .kx-mv__to em{
  font-style:normal; display:block; font-size:22px; margin-top:6px;
}
.wrap_lp .mv .kx-mv__ttl{
  font-size:52px; font-weight:700; line-height:1.2; margin-bottom:20px;
  background:-webkit-linear-gradient(0deg,#007DDD,#045695);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  color:#007DDD;
}
.wrap_lp .mv .kx-mv__ttl small{
  display:block; font-size:17px; font-weight:500; letter-spacing:.1em;
  margin-bottom:8px; color:var(--kx-gray);
  -webkit-text-fill-color:var(--kx-gray);
}
.wrap_lp .mv .kx-mv__badge{
  display:inline-block; background:var(--kx-orange); color:#fff;
  font-size:30px; font-weight:700; letter-spacing:.06em;
  border-radius:100px; padding:12px 48px;
  box-shadow:0 4px 0 #d96a1c;
}
.wrap_lp .mv .kx-mv__note{
  margin-top:18px; font-size:15px; color:var(--kx-gray); font-weight:500;
}
@media screen and (max-width:767px){
  .wrap_lp .mv .kx-mv{ padding:24px 18px 28px; border-radius:10px; }
  .wrap_lp .mv .kx-mv__to{ font-size:15px; line-height:1.9; margin-bottom:16px; }
  .wrap_lp .mv .kx-mv__to b{ font-size:17px; }
  .wrap_lp .mv .kx-mv__to em{ font-size:16px; }
  .wrap_lp .mv .kx-mv__ttl{ font-size:29px; margin-bottom:16px; }
  .wrap_lp .mv .kx-mv__ttl small{ font-size:13px; }
  .wrap_lp .mv .kx-mv__badge{ font-size:19px; padding:9px 26px; }
  .wrap_lp .mv .kx-mv__note{ font-size:12.5px; margin-top:14px; }
}

/* --------------------------------------------------------------------------
   sct_pro の図版を差し替えたことによる幅の調整
   （旧 pro2.png は縦長のピラミッドで max-width:500px が適正だったが、
     新しい infrastructure.png は横長の情報量の多い図なので広げる）
   -------------------------------------------------------------------------- */
.wrap_lp_ver3 .sct_pro .image img{ max-width:1000px; }
@media screen and (max-width:767px){
  .wrap_lp_ver3 .sct_pro .image img{ max-width:100%; }
}

/* --------------------------------------------------------------------------
   CTA ボタン（LINE を使わない法人導線）
   -------------------------------------------------------------------------- */
.wrap_lp .kx-cta{ background:var(--kx-bg); padding:60px 20px; }
.wrap_lp .kx-cta.-tight{ padding:44px 20px; }
.wrap_lp .kx-cta__box{
  max-width:720px; margin:0 auto; background:#fff;
  border:3px solid var(--kx-blue); border-radius:14px;
  padding:36px 34px; text-align:center;
}
.wrap_lp .kx-cta__ttl{
  font-size:24px; font-weight:700; line-height:1.5; margin-bottom:10px;
}
.wrap_lp .kx-cta__sub{
  font-size:15px; color:var(--kx-gray); line-height:1.8; margin-bottom:24px;
}
.wrap_lp a.kx-btn{
  display:block; width:100%; max-width:540px; margin:0 auto;
  background:linear-gradient(90deg,#FF923E,#F97316);
  color:#fff !important; text-decoration:none !important;
  font-size:23px; font-weight:700; line-height:1.4;
  border-radius:100px; padding:22px 20px;
  box-shadow:0 6px 0 #d96a1c; transition:.15s;
}
.wrap_lp a.kx-btn:hover{ transform:translateY(3px); box-shadow:0 3px 0 #d96a1c; }
.wrap_lp a.kx-btn small{ display:block; font-size:14px; font-weight:500; margin-top:4px; }
.wrap_lp .kx-cta__micro{
  font-size:13px; color:var(--kx-gray); margin-top:16px; line-height:1.8;
}
.wrap_lp .kx-cta__limit{
  display:inline-block; background:var(--kx-red); color:#fff;
  font-size:14px; font-weight:700; border-radius:4px;
  padding:5px 16px; margin-bottom:16px;
}
@media screen and (max-width:767px){
  .wrap_lp .kx-cta{ padding:40px 18px; }
  .wrap_lp .kx-cta__box{ padding:26px 18px; }
  .wrap_lp .kx-cta__ttl{ font-size:19px; }
  .wrap_lp a.kx-btn{ font-size:18px; padding:18px 14px; }
  .wrap_lp a.kx-btn small{ font-size:12px; }
}

/* --------------------------------------------------------------------------
   主な実績（実績1〜5の画像を縦積み）
   -------------------------------------------------------------------------- */
.wrap_lp .kx-achieve{ max-width:1000px; margin:0 auto; }
.wrap_lp .kx-achieve li{
  background:#fff; border-radius:10px; overflow:hidden;
  box-shadow:0 2px 14px rgba(0,60,110,.08);
}
.wrap_lp .kx-achieve li + li{ margin-top:28px; }
.wrap_lp .kx-achieve li img{ width:100%; height:auto; display:block; }
@media screen and (max-width:767px){
  .wrap_lp .kx-achieve li + li{ margin-top:18px; }
}

/* --------------------------------------------------------------------------
   実現できる主な機能（ビフォー／アフター）
   -------------------------------------------------------------------------- */
.wrap_lp .kx-ba{
  display:flex; gap:26px; align-items:stretch; max-width:1000px; margin:0 auto;
}
.wrap_lp .kx-ba__col{
  flex:1; background:#fff; border-radius:12px; padding:30px 26px 32px;
  border:2px solid #dfe8ef;
}
.wrap_lp .kx-ba__col.-after{ border-color:var(--kx-blue); }
.wrap_lp .kx-ba__tag{
  display:block; text-align:center; font-size:20px; font-weight:700;
  letter-spacing:.08em; border-radius:100px; padding:8px 20px; margin-bottom:22px;
  background:#e3e9ee; color:#7c8d9c;
}
.wrap_lp .kx-ba__col.-after .kx-ba__tag{ background:var(--kx-blue); color:#fff; }
.wrap_lp .kx-ba__list li{
  position:relative; padding-left:32px; font-size:16.5px; line-height:1.75;
  color:var(--kx-ink);
}
.wrap_lp .kx-ba__list li + li{ margin-top:16px; }
.wrap_lp .kx-ba__list li::before{
  content:""; position:absolute; left:0; top:.35em;
  width:20px; height:20px; border-radius:50%;
}
.wrap_lp .kx-ba__col.-before .kx-ba__list li::before{
  background:#fff; border:3px solid #c3ccd4;
}
.wrap_lp .kx-ba__col.-before .kx-ba__list li::after{
  content:""; position:absolute; left:5px; top:calc(.35em + 5px);
  width:10px; height:3px; background:#c3ccd4; border-radius:2px;
}
.wrap_lp .kx-ba__col.-after .kx-ba__list li::before{
  background:var(--kx-teal);
}
.wrap_lp .kx-ba__col.-after .kx-ba__list li::after{
  content:""; position:absolute; left:6px; top:calc(.35em + 4px);
  width:5px; height:10px; border-right:2.5px solid #fff; border-bottom:2.5px solid #fff;
  transform:rotate(42deg);
}
.wrap_lp .kx-ba__col.-after .kx-ba__list li b{ color:var(--kx-navy); font-weight:700; }
.wrap_lp .kx-ba__arrow{
  display:flex; align-items:center; justify-content:center;
  font-size:40px; color:var(--kx-blue); line-height:1;
}
@media screen and (max-width:767px){
  .wrap_lp .kx-ba{ flex-wrap:wrap; gap:14px; }
  .wrap_lp .kx-ba__col{ width:100%; flex:none; padding:22px 18px 24px; }
  .wrap_lp .kx-ba__tag{ font-size:16px; margin-bottom:16px; }
  .wrap_lp .kx-ba__list li{ font-size:15px; padding-left:28px; }
  .wrap_lp .kx-ba__arrow{ width:100%; transform:rotate(90deg); font-size:30px; }
}

/* --------------------------------------------------------------------------
   導入事例
   -------------------------------------------------------------------------- */
.wrap_lp .kx-cases{ max-width:1000px; margin:0 auto; }
.wrap_lp .kx-case{
  background:#fff; border-radius:12px; overflow:hidden;
  box-shadow:0 2px 14px rgba(0,60,110,.08);
}
.wrap_lp .kx-case + .kx-case{ margin-top:36px; }
.wrap_lp .kx-case__head{
  background:var(--kx-navy); color:#fff; padding:18px 28px;
}
.wrap_lp .kx-case__name{ font-size:22px; font-weight:700; line-height:1.4; }
.wrap_lp .kx-case__name span{
  display:inline-block; font-size:14px; font-weight:500; opacity:.85;
  margin-left:10px;
}
.wrap_lp .kx-case__body{ padding:28px 28px 32px; }
.wrap_lp .kx-case__txt{
  font-size:18px; line-height:1.85; font-weight:500;
  color:var(--kx-ink); margin-bottom:22px;
}
.wrap_lp .kx-case__txt b{
  background:linear-gradient(transparent 68%, var(--kx-yellow) 0%); font-weight:700;
}
.wrap_lp .kx-case__body img{
  width:100%; height:auto; display:block;
  border:1px solid #e2e8ee; border-radius:6px;
}
.wrap_lp .kx-case__cap{
  font-size:13px; color:#8a8a8a; margin-top:10px; text-align:right;
}
@media screen and (max-width:767px){
  .wrap_lp .kx-case + .kx-case{ margin-top:24px; }
  .wrap_lp .kx-case__head{ padding:14px 18px; }
  .wrap_lp .kx-case__name{ font-size:17px; }
  .wrap_lp .kx-case__name span{ display:block; margin-left:0; font-size:13px; }
  .wrap_lp .kx-case__body{ padding:20px 18px 24px; }
  .wrap_lp .kx-case__txt{ font-size:15.5px; margin-bottom:16px; }
}

/* --------------------------------------------------------------------------
   落とし穴
   -------------------------------------------------------------------------- */
.wrap_lp .kx-pit{ max-width:960px; margin:0 auto; }
.wrap_lp .kx-pit__item{
  background:#fff; border-radius:12px; padding:34px 32px 36px;
  border-top:6px solid var(--kx-red);
}
.wrap_lp .kx-pit__item + .kx-pit__item{ margin-top:32px; }
.wrap_lp .kx-pit__ttl{
  font-size:25px; font-weight:700; line-height:1.5;
  color:var(--kx-ink); margin-bottom:18px; padding-left:52px; position:relative;
}
.wrap_lp .kx-pit__ttl em{
  position:absolute; left:0; top:-2px;
  width:40px; height:40px; border-radius:50%; background:var(--kx-red);
  color:#fff; font-style:normal; font-size:20px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.wrap_lp .kx-pit__txt{ font-size:16.5px; line-height:1.9; color:var(--kx-ink); }
.wrap_lp .kx-voice{
  background:#F5F2EA; border-radius:10px; padding:24px 26px; margin-top:22px;
}
.wrap_lp .kx-voice__label{
  font-size:14px; font-weight:700; color:#8a7a52; letter-spacing:.08em;
  margin-bottom:10px;
}
.wrap_lp .kx-voice__txt{
  font-size:19px; line-height:1.8; font-weight:500; color:#1f3c33;
}
.wrap_lp .kx-voice__txt b{
  background:linear-gradient(transparent 68%, #ffe9a8 0%); font-weight:700;
}
.wrap_lp .kx-voice__src{ font-size:13px; color:#8a8a8a; margin-top:12px; }
.wrap_lp .kx-voice__imgs{ display:flex; gap:16px; margin-top:18px; }
.wrap_lp .kx-voice__imgs img{
  width:calc(50% - 8px); height:auto; display:block;
  border:1px solid #e2ddd0; border-radius:6px;
}
.wrap_lp .kx-todo{
  background:repeating-linear-gradient(45deg,#fff7e6,#fff7e6 12px,#ffefcd 12px,#ffefcd 24px);
  border:2px dashed var(--kx-orange); border-radius:8px;
  padding:26px 20px; margin-top:22px; text-align:center;
  font-size:15px; font-weight:700; color:#a15d10; line-height:1.8;
}
@media screen and (max-width:767px){
  .wrap_lp .kx-pit__item{ padding:24px 18px 26px; }
  .wrap_lp .kx-pit__item + .kx-pit__item{ margin-top:22px; }
  .wrap_lp .kx-pit__ttl{ font-size:19px; padding-left:42px; }
  .wrap_lp .kx-pit__ttl em{ width:32px; height:32px; font-size:16px; }
  .wrap_lp .kx-pit__txt{ font-size:15px; }
  .wrap_lp .kx-voice{ padding:18px 16px; }
  .wrap_lp .kx-voice__txt{ font-size:16px; }
  .wrap_lp .kx-voice__imgs{ flex-wrap:wrap; }
  .wrap_lp .kx-voice__imgs img{ width:100%; }
}

/* --------------------------------------------------------------------------
   安心ポイント
   -------------------------------------------------------------------------- */
.wrap_lp .kx-safe{ display:flex; gap:24px; max-width:1040px; margin:0 auto; }
.wrap_lp .kx-safe__item{
  flex:1; background:#fff; border-radius:12px; padding:32px 26px 34px;
  box-shadow:0 2px 14px rgba(0,60,110,.08); text-align:center;
}
.wrap_lp .kx-safe__num{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:50%;
  background:linear-gradient(135deg,#007DDD,#045695); color:#fff;
  font-size:20px; font-weight:700; margin-bottom:16px;
}
.wrap_lp .kx-safe__ttl{
  font-size:20px; font-weight:700; line-height:1.5; margin-bottom:14px;
  color:var(--kx-navy);
}
.wrap_lp .kx-safe__txt{
  font-size:15.5px; line-height:1.85; color:var(--kx-ink); text-align:left;
}
@media screen and (max-width:767px){
  .wrap_lp .kx-safe{ flex-wrap:wrap; gap:16px; }
  .wrap_lp .kx-safe__item{ width:100%; flex:none; padding:24px 18px 26px; }
  .wrap_lp .kx-safe__ttl{ font-size:17px; }
  .wrap_lp .kx-safe__txt{ font-size:14.5px; }
}

/* --------------------------------------------------------------------------
   構築スケジュール
   -------------------------------------------------------------------------- */
.wrap_lp .kx-sched{
  display:flex; align-items:stretch; max-width:1000px; margin:0 auto 26px;
}
.wrap_lp .kx-sched__step{
  flex:1; background:#fff; border-radius:10px; padding:24px 12px 26px;
  text-align:center; box-shadow:0 2px 10px rgba(0,60,110,.07);
}
.wrap_lp .kx-sched__step + .kx-sched__step{ margin-left:34px; position:relative; }
.wrap_lp .kx-sched__step + .kx-sched__step::before{
  content:""; position:absolute; left:-24px; top:50%;
  width:0; height:0; margin-top:-8px;
  border-left:13px solid var(--kx-blue);
  border-top:8px solid transparent; border-bottom:8px solid transparent;
}
.wrap_lp .kx-sched__no{
  font-size:12px; font-weight:700; letter-spacing:.14em;
  color:var(--kx-blue); margin-bottom:8px;
}
.wrap_lp .kx-sched__nm{ font-size:18px; font-weight:700; color:var(--kx-ink); }
.wrap_lp .kx-sched__term{
  max-width:1000px; margin:0 auto; background:var(--kx-navy); color:#fff;
  border-radius:10px; padding:22px 24px; text-align:center;
  font-size:21px; font-weight:700; line-height:1.6;
}
.wrap_lp .kx-sched__term b{ font-size:28px; color:var(--kx-yellow); }
@media screen and (max-width:767px){
  .wrap_lp .kx-sched{ flex-wrap:wrap; gap:10px; margin-bottom:18px; }
  .wrap_lp .kx-sched__step{ width:calc(50% - 5px); flex:none; padding:16px 8px 18px; }
  .wrap_lp .kx-sched__step + .kx-sched__step{ margin-left:0; }
  .wrap_lp .kx-sched__step + .kx-sched__step::before{ display:none; }
  .wrap_lp .kx-sched__nm{ font-size:15px; }
  .wrap_lp .kx-sched__term{ font-size:16px; padding:18px 16px; }
  .wrap_lp .kx-sched__term b{ font-size:21px; }
}

/* --------------------------------------------------------------------------
   日本一キントーンをNPOに広めたい私の思い
   -------------------------------------------------------------------------- */
.wrap_lp .kx-vision{ display:flex; gap:44px; align-items:flex-start; max-width:1040px; margin:0 auto; }
.wrap_lp .kx-vision__img{ width:320px; flex:none; }
.wrap_lp .kx-vision__img img{ width:100%; height:auto; display:block; border-radius:10px; }
.wrap_lp .kx-vision__img figcaption{
  font-size:14px; color:var(--kx-gray); margin-top:10px; text-align:center; line-height:1.7;
}
.wrap_lp .kx-vision__body p{
  font-size:17px; line-height:2.05; color:var(--kx-ink);
}
.wrap_lp .kx-vision__body p + p{ margin-top:24px; }
.wrap_lp .kx-vision__body b{
  background:linear-gradient(transparent 68%, var(--kx-yellow) 0%); font-weight:700;
}
@media screen and (max-width:767px){
  .wrap_lp .kx-vision{ flex-wrap:wrap; gap:24px; }
  .wrap_lp .kx-vision__img{ width:230px; margin:0 auto; }
  .wrap_lp .kx-vision__body p{ font-size:15.5px; line-height:1.95; }
  .wrap_lp .kx-vision__body p + p{ margin-top:18px; }
}

/* --------------------------------------------------------------------------
   お申込カレンダー
   -------------------------------------------------------------------------- */
.wrap_lp .kx-booking{
  max-width:900px; margin:0 auto; background:#fff;
  border:2px solid var(--kx-blue); border-radius:12px; padding:30px 28px 34px;
}
.wrap_lp .kx-booking__note{
  font-size:16px; line-height:1.9; margin-bottom:22px; text-align:center;
}
.wrap_lp .kx-booking__note b{ color:var(--kx-red); font-weight:700; }
.wrap_lp .kx-booking__embed{ min-height:200px; }
@media screen and (max-width:767px){
  .wrap_lp .kx-booking{ padding:20px 14px 24px; }
  .wrap_lp .kx-booking__note{ font-size:14.5px; }
}

/* --------------------------------------------------------------------------
   3大特典（テキスト差し替え版）
   -------------------------------------------------------------------------- */
.wrap_lp .kx-gift{ display:flex; gap:22px; max-width:1000px; margin:0 auto; }
.wrap_lp .kx-gift__item{
  flex:1; background:#fff; border-radius:12px; padding:28px 22px 30px;
  text-align:center; border:2px solid var(--kx-orange);
}
.wrap_lp .kx-gift__no{
  display:inline-block; background:var(--kx-orange); color:#fff;
  font-size:14px; font-weight:700; letter-spacing:.1em;
  border-radius:100px; padding:5px 20px; margin-bottom:16px;
}
.wrap_lp .kx-gift__txt{
  font-size:17px; font-weight:700; line-height:1.7; color:var(--kx-ink);
}
.wrap_lp .kx-gift__sub{ font-size:14px; font-weight:500; }
@media screen and (max-width:767px){
  .wrap_lp .kx-gift{ flex-wrap:wrap; gap:14px; }
  .wrap_lp .kx-gift__item{ width:100%; flex:none; padding:20px 16px 22px; }
  .wrap_lp .kx-gift__txt{ font-size:15.5px; }
}

/* --------------------------------------------------------------------------
   モックアップ用の注記（実装時に削除）
   -------------------------------------------------------------------------- */
.kx-dev{ background:#1d2733; color:#cfe0ee; padding:60px 20px 80px; font-size:14px; line-height:1.9; }
.kx-dev .kx-inner{ max-width:1000px; }
.kx-dev h3{ font-size:20px; color:#fff; margin-bottom:8px; }
.kx-dev h4{ font-size:16px; color:#ffd88a; margin:34px 0 10px; }
.kx-dev table{ width:100%; border-collapse:collapse; margin-bottom:14px; }
.kx-dev th,.kx-dev td{ border:1px solid #3b4c5f; padding:9px 12px; text-align:left; vertical-align:top; }
.kx-dev th{ background:#26333f; white-space:nowrap; color:#fff; }
.kx-dev ul{ padding-left:1.3em; }
.kx-dev li{ list-style:disc; margin-bottom:8px; }
.kx-dev code{ background:#0e1620; padding:2px 6px; border-radius:3px; color:#8fd3ff; }
.kx-dev .warn{ color:#ff9f9f; font-weight:700; }
.kx-dev .ok{ color:#9fe6b4; font-weight:700; }
