/*
Theme Name:     Lightning-child
Description:    Lightningの子テーマ
Author:         mirai-todoke
Template:       lightning

(optional values you can add: Theme URI, Author URI, Version, License, License URI, Tags, Text Domain)
*/


/* =========================
   Lightningのh2の横棒を消す
========================= */

h2 {
	border-top: none !important;
	padding-top: 0 !important;
}

/* -----------------------------
        改行
----------------------------- */

.hidden {
        display: none;
}

.hidden.pcBlock {
        display: inline;
}

@media screen and (max-width: 640px) {
        .hidden.pcBlock {
                display: none;
        }

        .hidden.spBlock {
                display: inline;
        }
}


/* ------------------------------------
   PCは中央寄せ、スマホだけ左寄せ
------------------------------------ */

.mobile-left {
  text-align: center !important;
}

@media screen and (max-width: 640px) {
  .mobile-left {
    text-align: left !important;
  }
}

/* -----------------------------
        汎用
----------------------------- */

.clear {
    clear:both;
}

.floatL{
        float:left;
        margin: 0;
}

.floatR{
        float:right;
        margin: -15px 0 0 20px;
}

.center{
        text-align:center;
}

.right{
        text-align:right;
}

.left{
        text-align:left;
}

.underline {
    text-decoration:underline;
}

strong {
        font-weight:bold;
}

em {
        font-weight:bold;
}

.font-bold {
        font-weight:bold;
}

.font-normal {
        font-weight:normal;
}

.indent-1 {
        margin:0 0 0 1em;
        text-indent: -1em;
}

.indent1 {
        text-indent: 1em;
}

/* =====================================================
スマホ固定ボタン管理プラグイン
HOME販売ページ用CSS
===================================================== */

.smcta-sales-page {
color: #1f2937;
font-size: 16px;
line-height: 1.9;
overflow: hidden;
}

.smcta-sales-page * {
box-sizing: border-box;
}

.smcta-container {
max-width: 1120px;
margin: 0 auto;
padding: 0 24px;
}

.smcta-section {
padding: 80px 0;
}

.smcta-sales-label {
  display: inline-block;
  margin: 0 0 16px;
  padding: 6px 14px;
  background: #eff6ff;
  color: #2563eb;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.smcta-sales-page h1,
.smcta-sales-page h2,
.smcta-sales-page h3,
.smcta-sales-page p {
margin-top: 0;
}

.smcta-sales-page h1 {
margin-bottom: 22px;
color: #111827;
font-size: 42px;
line-height: 1.35;
font-weight: 800;
}

.smcta-sales-page h2 {
margin: 0 0 34px;
color: #111827;
font-size: 32px;
line-height: 1.45;
font-weight: 800;
text-align: center;
border-top: none !important;
padding-top: 0 !important;
}

.smcta-sales-page h3 {
margin-bottom: 12px;
color: #111827;
font-size: 20px;
line-height: 1.5;
font-weight: 700;
}

/* ファーストビュー */
.smcta-hero {
padding: 86px 0 90px;
background:
radial-gradient(circle at top left, rgba(37, 99, 235, 0.16), transparent 34%),
radial-gradient(circle at bottom right, rgba(56, 189, 248, 0.22), transparent 36%),
linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}

.smcta-hero-inner {
display: grid;
grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
gap: 48px;
align-items: center;
}

.smcta-lead {
margin-bottom: 18px;
font-size: 18px;
line-height: 2;
}

.smcta-lead-sub {
margin-bottom: 30px;
color: #475569;
font-size: 16px;
}

.smcta-hero-buttons,
.smcta-cta-buttons {
display: flex;
flex-wrap: wrap;
gap: 14px;
}

.smcta-sales-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 52px;
  padding: 12px 24px;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 700;
  transition: 0.2s ease;
}

.smcta-sales-btn-primary {
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.25);
}

.smcta-sales-btn-secondary {
  background: #ffffff;
  color: #2563eb !important;
  border: 1px solid #bfdbfe;
}

.smcta-sales-btn:hover {
  transform: translateY(-2px);
  opacity: 0.92;
}

/* スマホ表示デモ */
.smcta-hero-visual {
display: flex;
justify-content: center;
}

.smcta-phone-demo {
position: relative;
width: 330px;
height: 520px;
padding: 22px;
background: #ffffff;
border: 10px solid #1e293b;
border-radius: 36px;
box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
overflow: hidden;
}

.smcta-phone-header {
height: 120px;
background: linear-gradient(135deg, #2563eb, #38bdf8);
border-radius: 22px;
}

.smcta-phone-content {
padding: 24px 4px;
}

.smcta-phone-content span {
display: block;
height: 14px;
margin-bottom: 14px;
background: #e5e7eb;
border-radius: 999px;
}

.smcta-phone-content span:nth-child(1) {
width: 92%;
}

.smcta-phone-content span:nth-child(2) {
width: 78%;
}

.smcta-phone-content span:nth-child(3) {
width: 86%;
}

.smcta-phone-buttons {
position: absolute;
left: 14px;
right: 14px;
bottom: 18px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px;
}

.smcta-demo-btn {
display: flex;
align-items: center;
justify-content: center;
height: 48px;
color: #ffffff;
border-radius: 999px;
font-size: 12px;
font-weight: 700;
}

.smcta-demo-home {
background: #2563eb;
}

.smcta-demo-contact {
background: #8cc63f;
}

.smcta-demo-tel {
background: #ff6a00;
}

/* カード */
.smcta-card-grid,
.smcta-feature-grid,
.smcta-usecase-grid {
display: grid;
gap: 22px;
}

.smcta-card-grid {
grid-template-columns: repeat(3, 1fr);
}

.smcta-card,
.smcta-feature-item,
.smcta-usecase-item,
.smcta-flow-item,
.smcta-solution-box {
background: #ffffff;
border: 1px solid #e5e7eb;
border-radius: 18px;
box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.smcta-card {
padding: 26px;
}

.smcta-problem {
background: #ffffff;
}

.smcta-solution {
background: #f8fafc;
}

.smcta-two-column {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr);
gap: 44px;
align-items: center;
}

.smcta-solution h2 {
text-align: left;
}

.smcta-solution-box {
padding: 30px;
}

.smcta-solution-box ul {
margin: 0;
padding: 0;
list-style: none;
}

.smcta-solution-box li {
position: relative;
padding-left: 30px;
margin-bottom: 14px;
font-weight: 700;
}

.smcta-solution-box li::before {
content: "";
position: absolute;
left: 0;
top: 0.72em;
width: 16px;
height: 16px;
background: linear-gradient(135deg, #2563eb, #38bdf8);
border-radius: 50%;
transform: translateY(-50%);
}

/* 機能 */
.smcta-feature {
background: #ffffff;
}

.smcta-feature-grid {
grid-template-columns: repeat(3, 1fr);
}

.smcta-feature-item {
padding: 28px;
}

/* 機能カードの番号 */
.smcta-sales-page .smcta-feature-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  color: #ffffff;
  border-radius: 14px;
  font-weight: 800;
}

/* 活用例 */
.smcta-usecase {
background: #eff6ff;
}

.smcta-usecase-grid {
grid-template-columns: repeat(4, 1fr);
}

.smcta-usecase-item {
padding: 24px;
}

/* 詳細テーブル */
.smcta-detail {
background: #ffffff;
}

.smcta-table {
width: 100%;
border-collapse: collapse;
background: #ffffff;
border-radius: 18px;
overflow: hidden;
box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.smcta-table th,
.smcta-table td {
padding: 18px 20px;
border: 1px solid #e5e7eb;
vertical-align: top;
}

.smcta-table th {
width: 24%;
background: #f8fafc;
color: #111827;
text-align: left;
font-weight: 700;
}

/* 流れ */
.smcta-flow {
background: #f8fafc;
}

.smcta-flow-list {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 18px;
}

.smcta-flow-item {
padding: 24px;
}

.smcta-flow-item span {
display: inline-block;
margin-bottom: 12px;
color: #2563eb;
font-size: 13px;
font-weight: 800;
}

/* =====================================================
料金セクション
===================================================== */

.smcta-price-section {
background:
radial-gradient(circle at top left, rgba(37, 99, 235, 0.10), transparent 34%),
linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}

.smcta-price-card {
display: grid;
grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
gap: 36px;
align-items: stretch;
padding: 42px;
background: #ffffff;
border: 1px solid #dbeafe;
border-radius: 24px;
box-shadow: 0 18px 46px rgba(15, 23, 42, 0.10);
}

.smcta-price-label-en {
display: inline-block;
margin: 0 0 16px;
padding: 6px 14px;
background: #eff6ff;
color: #2563eb;
border: 1px solid #bfdbfe;
border-radius: 999px;
font-size: 13px;
font-weight: 800;
letter-spacing: 0.08em;
}

.smcta-price-text h2 {
margin: 0 0 22px;
color: #111827;
font-size: 32px;
line-height: 1.45;
text-align: left;
border-top: none !important;
padding-top: 0 !important;
}

.smcta-price-feature-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px 14px;
margin: 26px 0 0;
padding: 0;
list-style: none;
}

.smcta-price-feature-list li {
position: relative;
padding-left: 24px;
color: #334155;
font-weight: 700;
}

.smcta-price-feature-list li::before {
content: "";
position: absolute;
left: 0;
top: 0.72em;
width: 13px;
height: 13px;
background: linear-gradient(135deg, #2563eb, #38bdf8);
border-radius: 50%;
transform: translateY(-50%);
}

.smcta-price-box {
padding: 34px 30px;
background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
border: 1px solid #bfdbfe;
border-radius: 22px;
text-align: center;
}

.smcta-price-box-label {
display: inline-block;
margin: 0 0 12px;
padding: 6px 16px;
background: #ffffff;
color: #2563eb;
border: 1px solid #bfdbfe;
border-radius: 999px;
font-size: 14px;
font-weight: 800;
}

.smcta-price {
margin: 0 0 8px;
color: #1d4ed8;
font-size: 52px;
line-height: 1.2;
font-weight: 900;
letter-spacing: 0.02em;
}

.smcta-price span {
margin-left: 4px;
font-size: 22px;
font-weight: 800;
}

.smcta-price-note {
margin: 0 0 24px;
color: #475569;
font-size: 14px;
}

.smcta-price-option {
padding: 20px;
background: #ffffff;
border: 1px solid #e5e7eb;
border-radius: 16px;
text-align: left;
}

.smcta-price-option-title {
margin: 0 0 12px;
color: #111827;
font-weight: 800;
}

.smcta-price-option ul {
margin: 0;
padding-left: 1.2em;
}

.smcta-price-option li {
margin-bottom: 6px;
color: #334155;
}

.smcta-notes {
padding: 36px 0 70px;
background: #ffffff;
}

.smcta-notes-box {
padding: 22px 26px;
background: #f8fafc;
border: 1px solid #e5e7eb;
border-radius: 16px;
}

.smcta-notes-box p {
margin: 0 0 8px;
color: #475569;
font-size: 14px;
}

.smcta-notes-box p:last-child {
margin-bottom: 0;
}

/* スマホ対応 */
@media (max-width: 900px) {
.smcta-price-card {
grid-template-columns: 1fr;
}
}

@media (max-width: 640px) {
.smcta-price-card {
padding: 26px 20px;
border-radius: 18px;
}

.smcta-price-text h2 {
font-size: 24px;
}

.smcta-price-feature-list {
grid-template-columns: 1fr;
}

.smcta-price {
font-size: 42px;
}

.smcta-price-box {
padding: 28px 20px;
}

.smcta-notes {
padding: 28px 0 56px;
}
}


/* CTA */
.smcta-cta {
background: linear-gradient(135deg, #1d4ed8, #38bdf8);
color: #ffffff;
text-align: center;
}

.smcta-cta h2,
.smcta-cta p {
color: #ffffff;
}

.smcta-cta p {
max-width: 760px;
margin: 0 auto 28px;
}

.smcta-cta-buttons {
justify-content: center;
}

.smcta-cta .smcta-sales-btn-primary {
  background: #ffffff;
  color: #2563eb !important;
}

/* スマホ対応 */
@media (max-width: 900px) {

.smcta-hero-inner,
.smcta-two-column {
grid-template-columns: 1fr;
}

.smcta-card-grid,
.smcta-feature-grid,
.smcta-usecase-grid,
.smcta-flow-list {
grid-template-columns: repeat(2, 1fr);
}

.smcta-phone-demo {
width: 300px;
height: 470px;
}
}

@media (max-width: 640px) {

.smcta-container {
padding: 0 18px;
}

.smcta-section {
padding: 56px 0;
}

.smcta-hero {
padding: 58px 0 64px;
}

.smcta-sales-page h1 {
font-size: 30px;
}

.smcta-sales-page h2 {
font-size: 24px;
text-align: left;
}

.smcta-lead {
font-size: 16px;
}

.smcta-hero-buttons,
.smcta-cta-buttons {
display: grid;
grid-template-columns: 1fr;
}

.smcta-sales-btn {
  width: 100%;
}

.smcta-card-grid,
.smcta-feature-grid,
.smcta-usecase-grid,
.smcta-flow-list {
grid-template-columns: 1fr;
}

.smcta-phone-demo {
width: 280px;
height: 430px;
border-width: 8px;
}

.smcta-phone-buttons {
grid-template-columns: 1fr;
}

.smcta-demo-btn {
height: 42px;
}

.smcta-table,
.smcta-table tbody,
.smcta-table tr,
.smcta-table th,
.smcta-table td {
display: block;
width: 100%;
}

.smcta-table th {
border-bottom: none;
}

.smcta-table td {
border-top: none;
}
}

/* CTA内のマニュアルボタン */
.smcta-cta .smcta-sales-btn-primary {
  background: #ffffff;
  color: #2563eb !important;
  border: 1px solid #ffffff;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.18);
}

/* CTA内のマニュアルボタン hover */
.smcta-cta .smcta-sales-btn-primary:hover {
  background: #eff6ff;
  color: #1d4ed8 !important;
  opacity: 1;
}

/* 販売ページ用ボタン共通 */
.smcta-sales-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 52px;
  padding: 12px 24px;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 700;
  transition: 0.2s ease;
}

/* =====================================================
スマホ固定CTAボタン管理プラグイン
マニュアルページ用CSS
===================================================== */

/* マニュアル全体 */
.smcta-manual {
max-width: 980px;
margin: 0 auto;
color: #1f2937;
line-height: 1.9;
font-size: 16px;
}

/* 余白計算を安定させる */
.smcta-manual * {
box-sizing: border-box;
}

/* ページタイトル */
.smcta-manual h1 {
margin: 0 0 18px;
font-size: 30px;
line-height: 1.45;
color: #111827;
}

/* 大見出し */
.smcta-manual h2 {
  margin: 38px 0 18px;
  padding: 0 14px !important;
  height: 44px;
  min-height: 44px;
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  border-radius: 10px;
  border-top: none !important;
  display: flex;
  align-items: center;
  font-weight: 700;
}

/* 中見出し */
.smcta-manual h3 {
margin: 34px 0 14px;
padding-left: 14px;
border-left: 6px solid #2563eb;
font-size: 21px;
line-height: 1.5;
color: #111827;
}

/* 本文 */
.smcta-manual p {
margin: 0 0 16px;
}

/* リスト */
.smcta-manual ul,
.smcta-manual ol {
margin: 0 0 22px 1.4em;
padding: 0;
}

.smcta-manual li {
margin-bottom: 8px;
}

/* 導入ボックス */
.smcta-manual .lead-box {
padding: 26px;
margin: 0 0 32px;
background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
border: 1px solid #bfdbfe;
border-radius: 16px;
}

/* 通常ボックス */
.smcta-manual .manual-box {
padding: 22px;
margin: 22px 0;
background: #ffffff;
border: 1px solid #e5e7eb;
border-radius: 14px;
box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

/* ポイントボックス */
.smcta-manual .point-box {
padding: 20px;
margin: 22px 0;
background: #f0fdf4;
border: 1px solid #bbf7d0;
border-radius: 14px;
}

/* 注意ボックス */
.smcta-manual .caution-box {
padding: 20px;
margin: 22px 0;
background: #fff7ed;
border: 1px solid #fed7aa;
border-radius: 14px;
}

/* 表 */
.smcta-manual .manual-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0 28px;
background: #ffffff;
}

/* 表のセル */
.smcta-manual .manual-table th,
.smcta-manual .manual-table td {
padding: 14px 16px;
border: 1px solid #e5e7eb;
vertical-align: top;
}

/* 表の見出しセル */
.smcta-manual .manual-table th {
width: 28%;
background: #f8fafc;
color: #111827;
text-align: left;
font-weight: 700;
}

/* コード表示 */
.smcta-manual code {
padding: 3px 6px;
background: #f3f4f6;
color: #111827;
border-radius: 5px;
font-family: Consolas, Monaco, monospace;
font-size: 0.95em;
}

/* 手順リスト */
.smcta-manual .step-list {
counter-reset: step;
list-style: none;
margin: 0 0 28px;
padding: 0;
}

/* 手順の各項目 */
.smcta-manual .step-list li {
position: relative;
padding: 18px 18px 18px 58px;
margin-bottom: 14px;
background: #ffffff;
border: 1px solid #e5e7eb;
border-radius: 14px;
box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

/* 手順番号 */
.smcta-manual .step-list li::before {
counter-increment: step;
content: counter(step);
position: absolute;
left: 18px;
top: 18px;
width: 28px;
height: 28px;
background: #2563eb;
color: #ffffff;
border-radius: 50%;
text-align: center;
line-height: 28px;
font-weight: 700;
}

/* ボックス内の最後の余白を整理 */
.smcta-manual .lead-box > *:last-child,
.smcta-manual .manual-box > *:last-child,
.smcta-manual .point-box > *:last-child,
.smcta-manual .caution-box > *:last-child {
margin-bottom: 0;
}

/* スマホ対応 */
@media (max-width: 767px) {

.smcta-manual {
font-size: 15px;
}

.smcta-manual h1 {
font-size: 24px;
}

.smcta-manual h2 {
margin-top: 38px;
padding: 12px 14px;
font-size: 20px;
border-radius: 10px;
}

.smcta-manual h3 {
font-size: 18px;
}

.smcta-manual .lead-box,
.smcta-manual .manual-box,
.smcta-manual .point-box,
.smcta-manual .caution-box {
padding: 18px;
border-radius: 12px;
}

.smcta-manual .manual-table,
.smcta-manual .manual-table tbody,
.smcta-manual .manual-table tr,
.smcta-manual .manual-table th,
.smcta-manual .manual-table td {
display: block;
width: 100%;
}

.smcta-manual .manual-table th {
border-bottom: none;
}

.smcta-manual .manual-table td {
border-top: none;
}

.smcta-manual .step-list li {
padding: 16px 16px 16px 54px;
}

.smcta-manual .step-list li::before {
left: 16px;
top: 16px;
}
}
