/*
Theme Name: Lightning Child Remix
Theme URI: https://example.com
Description: 合同会社Remix ブランドサイト用 Lightning 子テーマ
Author: Remix
Template: lightning
Version: 1.0.0
Text Domain: lightning-child-remix
*/

body{margin:0;}
body{margin:0;}
.remix-root{
  --ink:#0a0a0b;
  --charcoal:#141419;
  --charcoal-2:#1a1b21;
  --paper:#faf9f7;
  --stone:#e8e6e2;
  --hairline:rgba(10,10,11,.11);
  --hairline-dark:rgba(255,255,255,.10);
  --hairline-dark-strong:rgba(255,255,255,.20);
  --fog:#83868d;
  --fog-on-dark:#8c8f96;
  --mist:#c8cbd0;
  --font-display:'Space Grotesk','Hiragino Sans','Noto Sans JP',sans-serif;
  --font-serif:'Fraunces','Hiragino Mincho ProN','Noto Serif JP',serif;
	/* お問い合わせフォームを中央寄せに固定 */
.rx-contact .rx-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.rx-contact-cta,
.rx-contact-direct {
  width: 100% !important;
  text-align: center !important;
}

.rx-contact-form {
  width: 100% !important;
  max-width: 720px !important;
  margin: 80px auto 0 !important;
  display: block !important;
}

.rx-contact-form form {
  width: 100% !important;
}

.rx-contact-form p,
.rx-contact-form label {
  width: 100% !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.rx-contact-form input,
.rx-contact-form select,
.rx-contact-form textarea {
  width: 100% !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  box-sizing: border-box !important;
}
	/* Contact form center fix */
.rx-contact .rx-wrap{
  display: block !important;
}

.rx-contact-form{
  max-width: 760px !important;
  width: 100% !important;
  margin: 80px auto 0 !important;
}

.rx-contact-form .wpcf7{
  max-width: 760px !important;
  margin: 0 auto !important;
}

.rx-contact-form input,
.rx-contact-form select,
.rx-contact-form textarea{
  width: 100% !important;
  box-sizing: border-box !important;
}
  --font-body:'Inter','Hiragino Sans','Noto Sans JP',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --max:1180px;
  --header-h:78px;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
}
.remix-root *{ box-sizing:border-box; margin:0; padding:0; }
.remix-root img,.remix-root svg{ display:block; max-width:100%; }
.remix-root a{ color:inherit; text-decoration:none; }
.remix-root ul{ list-style:none; }
.remix-root button{ font:inherit; border:none; background:none; cursor:pointer; color:inherit; }
.remix-root .rx-wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; }
@media (min-width:900px){ .remix-root .rx-wrap{ padding:0 48px; } }
.remix-root .rx-eyebrow{ display:inline-flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--fog); }
.remix-root .rx-mark{ width:16px; height:12px; flex-shrink:0; }
.remix-root .rx-mark rect{ fill:currentColor; }
.remix-root h1,.remix-root h2,.remix-root h3{ font-family:var(--font-display); font-weight:600; letter-spacing:-.015em; line-height:1.22; }
.remix-root p{ line-height:1.85; }
.remix-root .rx-btn{ display:inline-flex; align-items:center; gap:9px; padding:16px 28px; font-size:15px; font-weight:600; border-radius:999px; white-space:nowrap; transition:transform .4s cubic-bezier(.2,.7,.2,1), background .3s, color .3s, border-color .3s; }
.remix-root .rx-btn-solid{ background:var(--ink); color:var(--paper); }
.remix-root .rx-btn-solid:hover{ transform:translateY(-2px); }
.remix-root .rx-btn-line{ border:1px solid var(--hairline); color:var(--ink); }
.remix-root .rx-btn-line:hover{ border-color:var(--ink); transform:translateY(-2px); }
.remix-root .rx-on-dark .rx-btn-solid{ background:var(--paper); color:var(--ink); }
.remix-root .rx-on-dark .rx-btn-line{ border-color:var(--hairline-dark-strong); color:var(--paper); }
.remix-root .rx-on-dark .rx-btn-line:hover{ border-color:var(--mist); }
.remix-root .rx-arrow{ transition:transform .4s cubic-bezier(.2,.7,.2,1); }
.remix-root .rx-btn:hover .rx-arrow{ transform:translateX(4px); }
.remix-root .rx-header{ position:fixed; inset:0 0 auto 0; height:var(--header-h); z-index:100; display:flex; align-items:center; background:rgba(10,10,11,.72); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--hairline-dark); transition:background .4s; }
.remix-root .rx-header-row{ width:100%; display:flex; align-items:center; justify-content:space-between; }
.remix-root .rx-logo{ display:flex; align-items:center; gap:11px; font-family:var(--font-display); font-size:19px; font-weight:700; letter-spacing:-.02em; color:var(--paper); }
.remix-root .rx-logo .rx-mark{ width:20px; height:15px; }
.remix-root .rx-nav{ display:none; align-items:center; gap:30px; }
.remix-root .rx-nav a{ font-size:13.5px; color:var(--fog-on-dark); transition:color .3s; }
.remix-root .rx-nav a:hover{ color:var(--paper); }
.remix-root .rx-header-cta{ display:none; align-items:center; gap:10px; }
.remix-root .rx-header .rx-btn{ padding:10px 20px; font-size:13.5px; }
.remix-root .rx-burger{ width:28px; height:20px; position:relative; display:flex; flex-direction:column; justify-content:space-between; z-index:120; }
.remix-root .rx-burger span{ display:block; width:100%; height:1px; background:var(--paper); transition:transform .35s,opacity .35s; }
.remix-root .rx-burger.rx-active span:nth-child(1){ transform:translateY(9.5px) rotate(45deg); }
.remix-root .rx-burger.rx-active span:nth-child(2){ opacity:0; }
.remix-root .rx-burger.rx-active span:nth-child(3){ transform:translateY(-9.5px) rotate(-45deg); }
@media (min-width:1000px){
  .remix-root .rx-nav{ display:flex; }
  .remix-root .rx-header-cta{ display:flex; }
  .remix-root .rx-burger{ display:none; }
}
.remix-root .rx-mobile-menu{ position:fixed; inset:0; z-index:99; background:var(--ink); display:flex; flex-direction:column; justify-content:center; padding:0 30px; transform:translateY(-102%); transition:transform .55s cubic-bezier(.7,0,.2,1); overflow-y:auto; }
.remix-root .rx-mobile-menu.rx-open{ transform:translateY(0); }
.remix-root .rx-mobile-menu a{ display:block; font-family:var(--font-display); font-size:24px; color:var(--paper); padding:11px 0; border-bottom:1px solid var(--hairline-dark); }
.remix-root .rx-mobile-cta{ margin-top:22px; display:flex; flex-direction:column; gap:12px; padding-bottom:24px; }
.remix-root .rx-mobile-cta .rx-btn{ width:100%; justify-content:center; }
.remix-root .rx-hero{ position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(ellipse 65% 50% at 52% 4%, rgba(200,203,208,.16), transparent 62%), linear-gradient(175deg, var(--ink) 0%, var(--charcoal) 100%); overflow:hidden; padding-top:var(--header-h); }
.remix-root .rx-hero-marks{ position:absolute; inset:0; opacity:.5; }
.remix-root .rx-hmark{ position:absolute; display:flex; flex-direction:column; gap:5px; }
.remix-root .rx-hmark span{ display:block; height:1px; background:var(--mist); }
.remix-root .rx-hmark.a{ top:16%; left:6%; }
.remix-root .rx-hmark.a span:nth-child(1){ width:38px; } .remix-root .rx-hmark.a span:nth-child(2){ width:20px; } .remix-root .rx-hmark.a span:nth-child(3){ width:29px; }
.remix-root .rx-hmark.b{ top:70%; left:82%; }
.remix-root .rx-hmark.b span:nth-child(1){ width:24px; } .remix-root .rx-hmark.b span:nth-child(2){ width:40px; } .remix-root .rx-hmark.b span:nth-child(3){ width:16px; }
.remix-root .rx-hmark.c{ top:8%; left:80%; }
.remix-root .rx-hmark.c span:nth-child(1){ width:18px; } .remix-root .rx-hmark.c span:nth-child(2){ width:32px; } .remix-root .rx-hmark.c span:nth-child(3){ width:24px; }
.remix-root .rx-hmark.a{ animation:rxReorder 9s ease-in-out infinite; }
.remix-root .rx-hmark.b{ animation:rxReorder 11s ease-in-out infinite reverse; }
.remix-root .rx-hmark.c{ animation:rxReorder 13s ease-in-out infinite; }
@keyframes rxReorder{ 0%,100%{ transform:translateY(0); } 33%{ transform:translateY(6px); } 66%{ transform:translateY(-5px); } }
.remix-root .rx-hero-body{ position:relative; z-index:2; padding:60px 0 100px; }
.remix-root .rx-hero-eyebrow{ color:var(--fog-on-dark); margin-bottom:26px; }
.remix-root .rx-hero h1{ color:var(--paper); font-size:clamp(36px,7.6vw,80px); max-width:16ch; margin-bottom:26px; }
.remix-root .rx-hero-sub{ color:var(--fog-on-dark); font-size:clamp(16px,2vw,19px); max-width:600px; margin-bottom:42px; }
.remix-root .rx-hero-cta{ display:flex; flex-wrap:wrap; gap:14px; }
.remix-root .rx-scroll{ position:absolute; bottom:32px; left:24px; z-index:2; display:flex; align-items:center; gap:12px; font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; color:var(--fog-on-dark); text-transform:uppercase; }
@media (min-width:900px){ .remix-root .rx-scroll{ left:48px; } }
.remix-root .rx-scroll-bar{ width:1px; height:32px; background:linear-gradient(180deg,var(--mist),transparent); animation:rxScrollPulse 2.4s ease-in-out infinite; }
@keyframes rxScrollPulse{ 0%{opacity:.2; transform:scaleY(.4); transform-origin:top;} 50%{opacity:1; transform:scaleY(1); transform-origin:top;} 100%{opacity:.2; transform:scaleY(.4); transform-origin:top;} }
.remix-root section{ position:relative; padding:120px 0; }
.remix-root .rx-on-dark{ background:var(--charcoal); color:var(--paper); }
.remix-root .rx-on-light{ background:var(--paper); color:var(--ink); }
.remix-root .rx-on-stone{ background:var(--stone); color:var(--ink); }
.remix-root .rx-head{ max-width:660px; margin-bottom:64px; }
.remix-root .rx-head h2{ font-size:clamp(28px,4.6vw,44px); margin-top:20px; }
.remix-root .rx-head p{ margin-top:18px; font-size:16.5px; color:var(--fog); }
.remix-root .rx-on-dark .rx-head p{ color:var(--fog-on-dark); }
.remix-root .rx-reveal{ opacity:0; transform:translateY(24px); transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1); }
.remix-root .rx-reveal.rx-visible{ opacity:1; transform:translateY(0); }

/* Mission / Vision / Promise */
.remix-root .rx-belief-grid{ display:grid; grid-template-columns:1fr; gap:56px; border-top:1px solid var(--hairline); padding-top:56px; }
@media (min-width:860px){ .remix-root .rx-belief-grid{ grid-template-columns:repeat(3,1fr); gap:48px; } }
.remix-root .rx-belief-item .rx-eyebrow{ margin-bottom:20px; }
.remix-root .rx-belief-lead{ font-family:var(--font-display); font-weight:600; font-size:clamp(22px,2.6vw,28px); letter-spacing:-.01em; line-height:1.4; }
.remix-root .rx-belief-sub{ margin-top:16px; font-size:15px; color:var(--fog); line-height:1.8; }

/* Problems */
.remix-root .rx-problem-list{ border-top:1px solid var(--hairline-dark); }
.remix-root .rx-problem-row{ display:grid; grid-template-columns:1fr; gap:16px; padding:36px 0; border-bottom:1px solid var(--hairline-dark); }
@media (min-width:800px){ .remix-root .rx-problem-row{ grid-template-columns:44px 1fr; gap:32px; align-items:flex-start; } }
.remix-root .rx-problem-row .rx-mark{ width:16px; height:12px; margin-top:8px; color:var(--mist); }
.remix-root .rx-problem-row h3{ font-size:clamp(20px,2.6vw,26px); font-weight:500; color:var(--paper); max-width:22ch; }

/* Solutions */
.remix-root .rx-solution{ display:grid; grid-template-columns:1fr; gap:18px; padding:44px 0; border-bottom:1px solid var(--hairline); }
@media (min-width:820px){ .remix-root .rx-solution{ grid-template-columns:180px 1fr 1fr; gap:40px; align-items:start; } }
.remix-root .rx-solution:first-child{ border-top:1px solid var(--hairline); }
.remix-root .rx-solution-code{ font-family:var(--font-mono); font-size:12.5px; letter-spacing:.08em; color:var(--fog); }
.remix-root .rx-solution h3{ font-size:24px; }
.remix-root .rx-solution p{ color:var(--fog); font-size:15.5px; }
.remix-root .rx-scope{ margin-top:56px; padding-top:44px; border-top:1px solid var(--hairline); display:flex; flex-direction:column; gap:20px; }
@media (min-width:760px){ .remix-root .rx-scope{ flex-direction:row; align-items:center; justify-content:space-between; } }
.remix-root .rx-scope-label{ font-size:16px; color:var(--fog); max-width:26ch; }
.remix-root .rx-scope-tags{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; }
.remix-root .rx-scope-tags li{ font-family:var(--font-mono); font-size:12.5px; letter-spacing:.05em; padding:9px 16px; border:1px solid var(--hairline); border-radius:999px; color:var(--ink); }

/* Difference */
.remix-root .rx-diff-grid{ display:grid; grid-template-columns:1fr; gap:1px; background:var(--hairline); border:1px solid var(--hairline); }
@media (min-width:760px){ .remix-root .rx-diff-grid{ grid-template-columns:1fr 1fr; } }
.remix-root .rx-diff-col{ background:var(--stone); padding:40px 36px; }
.remix-root .rx-diff-col-primary{ background:var(--ink); }
.remix-root .rx-diff-tag{ font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--fog); margin-bottom:18px; }
.remix-root .rx-diff-col-primary .rx-diff-tag{ color:var(--fog-on-dark); }
.remix-root .rx-diff-text{ font-size:17px; line-height:1.85; }
.remix-root .rx-diff-col-primary .rx-diff-text{ color:var(--paper); }

/* Reasons */
.remix-root .rx-reason-list{ border-top:1px solid var(--hairline); }
.remix-root .rx-reason{ display:grid; grid-template-columns:1fr; gap:12px; padding:32px 0; border-bottom:1px solid var(--hairline); }
@media (min-width:780px){ .remix-root .rx-reason{ grid-template-columns:260px 1fr; gap:40px; align-items:baseline; } }
.remix-root .rx-reason-tag{ font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--fog); }
.remix-root .rx-reason h3{ font-size:22px; margin-bottom:6px; }
.remix-root .rx-reason p{ color:var(--fog); font-size:15.5px; max-width:600px; }

/* Results */
.remix-root .rx-results-grid{ display:grid; grid-template-columns:1fr; gap:24px; margin-top:8px; }
@media (min-width:860px){ .remix-root .rx-results-grid{ grid-template-columns:1fr 1fr; gap:28px; } }

.remix-root .rx-results-card{
	border:1px solid var(--hairline-dark);
	border-radius:6px;
	padding:32px 30px 12px;
	background:linear-gradient(180deg, rgba(255,255,255,.015), transparent 40%);
}
.remix-root .rx-results-card-label{
	font-family:var(--font-mono);
	font-size:12px;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--fog-on-dark);
	padding-bottom:20px;
	margin-bottom:4px;
	border-bottom:1px solid var(--hairline-dark);
}

.remix-root .rx-result-row{
	display:flex;
	align-items:baseline;
	gap:20px;
	padding:20px 0;
	border-bottom:1px solid var(--hairline-dark);
}
.remix-root .rx-result-row:last-child{ border-bottom:none; }

.remix-root .rx-result-num{
	flex:0 0 auto;
	min-width:96px;
	font-family:var(--font-display);
	font-weight:600;
	font-size:clamp(22px,2.6vw,27px);
	color:var(--paper);
	letter-spacing:-.01em;
	line-height:1.15;
}
.remix-root .rx-result-unit{ font-size:.55em; margin-left:1px; color:var(--mist); }
.remix-root .rx-result-desc{ font-size:14.5px; color:var(--fog-on-dark); line-height:1.75; }

/* Before → After（成約率）を数字行の1つとして表示 */
.remix-root .rx-result-row--compare .rx-result-compare{
	flex:0 0 auto;
	min-width:96px;
	display:flex;
	align-items:center;
	gap:8px;
}
.remix-root .rx-result-compare-before{
	font-family:var(--font-display);
	font-weight:500;
	font-size:16px;
	color:var(--fog-on-dark);
	opacity:.6;
}
.remix-root .rx-result-compare-arrow{ color:var(--mist); display:flex; align-items:center; opacity:.85; }
.remix-root .rx-result-compare-after{
	font-family:var(--font-display);
	font-weight:600;
	font-size:clamp(22px,2.6vw,27px);
	color:var(--paper);
	letter-spacing:-.01em;
}

.remix-root .rx-results-closing{
	margin-top:52px;
	text-align:center;
	font-family:var(--font-serif);
	font-style:italic;
	font-weight:500;
	font-size:clamp(19px,2.4vw,24px);
	color:var(--paper);
	line-height:1.6;
}

@media (max-width:539px){
	.remix-root .rx-result-row{ flex-direction:column; align-items:flex-start; gap:8px; }
	.remix-root .rx-result-row--compare .rx-result-compare{ min-width:0; }
}


/* Leadership */
.remix-root .rx-leader-grid{ display:grid; grid-template-columns:1fr; gap:56px; max-width:640px; margin:0 auto; }
.remix-root .rx-leader-card{ border:1px solid var(--hairline-dark); border-radius:6px; padding:36px 32px 40px; background:linear-gradient(180deg, rgba(255,255,255,.015), transparent 40%); transition:border-color .4s ease; }
.remix-root .rx-leader-card:hover{ border-color:var(--hairline-dark-strong); }
.remix-root .rx-leader-photo{ position:relative; width:100%; aspect-ratio:4/5; border-radius:4px; overflow:hidden; margin-bottom:24px; background:radial-gradient(ellipse 80% 60% at 30% 20%, rgba(200,203,208,.14), transparent 60%), linear-gradient(150deg, #1c1d22, #101114); }
.remix-root .rx-leader-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.remix-root .rx-leader-initial{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:56px; font-weight:600; color:var(--mist); opacity:.55; letter-spacing:.02em; }
.remix-root .rx-leader-name{ font-family:var(--font-display); font-size:20px; font-weight:600; color:var(--paper); }
.remix-root .rx-leader-role{ margin-top:4px; font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--fog-on-dark); }
.remix-root .rx-leader-scope{ margin-top:14px; font-size:14.5px; color:var(--fog-on-dark); }
.remix-root .rx-leader-quote{ margin-top:22px; font-family:var(--font-serif); font-style:italic; font-weight:500; font-size:17.5px; line-height:1.65; color:var(--paper); }
.remix-root .rx-leader-bio{ margin-top:20px; font-size:15px; line-height:1.85; color:var(--fog-on-dark); }

/* Recruit */
.remix-root .rx-recruit-grid{ display:grid; grid-template-columns:1fr; gap:48px; }
@media (min-width:900px){ .remix-root .rx-recruit-grid{ grid-template-columns:1fr 1fr; gap:70px; } }
.remix-root .rx-recruit-list{ border-top:1px solid var(--hairline); }
.remix-root .rx-recruit-item{ padding:24px 0; border-bottom:1px solid var(--hairline); font-size:17px; }
.remix-root .rx-recruit-item span{ color:var(--fog); font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; display:block; margin-bottom:6px; text-transform:uppercase; }
.remix-root .rx-recruit-cta-box{ display:flex; flex-direction:column; gap:20px; align-self:start; }
.remix-root .rx-recruit-cta-box p{ color:var(--fog); font-size:16px; }

/* Company */
.remix-root .rx-table{ border-top:1px solid var(--hairline); max-width:760px; }
.remix-root .rx-table-row{ display:grid; grid-template-columns:1fr; gap:6px; padding:22px 0; border-bottom:1px solid var(--hairline); }
@media (min-width:640px){ .remix-root .rx-table-row{ grid-template-columns:170px 1fr; gap:24px; } }
.remix-root .rx-table-row dt{ font-family:var(--font-mono); font-size:12.5px; letter-spacing:.06em; color:var(--fog); }
.remix-root .rx-table-row dd{ font-size:16px; line-height:1.75; }
.remix-root .rx-table-row a{ text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--hairline); }
.remix-root .rx-table-row a:hover{ text-decoration-color:var(--ink); }

/* Contact */
.remix-root .rx-contact{ text-align:center; padding-bottom:96px; }
.remix-root .rx-contact .rx-eyebrow{ justify-content:center; }
.remix-root .rx-contact h2{ color:var(--paper); font-size:clamp(30px,5.2vw,50px); margin:22px auto 18px; max-width:16ch; }
.remix-root .rx-contact-lede{ color:var(--fog-on-dark); max-width:480px; margin:0 auto 42px; font-size:16px; }
.remix-root .rx-contact-cta{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-bottom:42px; }
.remix-root .rx-contact-direct{ display:flex; flex-wrap:wrap; justify-content:center; gap:26px; font-family:var(--font-mono); font-size:13px; color:var(--fog-on-dark); }
.remix-root .rx-contact-direct a{ color:var(--mist); }
.remix-root .rx-contact-direct a:hover{ color:var(--paper); }

/* Footer */
.remix-root .rx-footer{ background:var(--ink); border-top:1px solid var(--hairline-dark); padding:38px 0; }
.remix-root .rx-footer-row{ display:flex; flex-direction:column; gap:18px; align-items:center; text-align:center; }
@media (min-width:760px){ .remix-root .rx-footer-row{ flex-direction:row; justify-content:space-between; text-align:left; } }
.remix-root .rx-footer .rx-logo{ color:var(--paper); font-size:16px; }
.remix-root .rx-footer-nav{ display:flex; flex-wrap:wrap; gap:20px; justify-content:center; }
.remix-root .rx-footer-nav a{ font-size:13px; color:var(--fog-on-dark); }
.remix-root .rx-footer-nav a:hover{ color:var(--paper); }
.remix-root .rx-copyright{ font-size:12px; color:var(--fog-on-dark); font-family:var(--font-mono); }

@media (prefers-reduced-motion:reduce){ .remix-root *{ animation:none !important; transition:none !important; } }
/* ==========================================================
   Remix 1カラム（サイドバー非表示）テンプレート用の本文スタイル
   固定ページ編集画面で入力された内容（the_content）の見た目を整える
========================================================== */
.remix-root .remix-page-nosidebar{ background:var(--paper); }
.remix-root .remix-page-nosidebar article{ max-width:760px; margin:0 auto; }
.remix-root .remix-page-nosidebar article h1{
	font-family:var(--font-display); font-weight:600; font-size:clamp(28px,4.6vw,44px);
	letter-spacing:-.015em; line-height:1.25; margin-bottom:28px;
}
.remix-root .remix-page-nosidebar article h2{
	font-family:var(--font-display); font-weight:600; font-size:clamp(22px,3.2vw,30px);
	letter-spacing:-.01em; margin:44px 0 18px;
}
.remix-root .remix-page-nosidebar article h3{
	font-family:var(--font-display); font-weight:600; font-size:20px; margin:32px 0 14px;
}
.remix-root .remix-page-nosidebar article p{
	font-size:16px; line-height:1.9; color:var(--ink); margin-bottom:20px;
}
.remix-root .remix-page-nosidebar article a{
	color:var(--ink); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--hairline);
}
.remix-root .remix-page-nosidebar article a:hover{ text-decoration-color:var(--ink); }
.remix-root .remix-page-nosidebar article ul,
.remix-root .remix-page-nosidebar article ol{
	margin:0 0 20px 1.4em; list-style:revert;
}
.remix-root .remix-page-nosidebar article li{ font-size:16px; line-height:1.85; margin-bottom:8px; }
.remix-root .remix-page-nosidebar article img{ max-width:100%; height:auto; border-radius:4px; margin:24px 0; }
.remix-root .remix-page-nosidebar article blockquote{
	border-left:2px solid var(--hairline); padding-left:20px; margin:28px 0; color:var(--fog); font-style:italic;
}
/* ==========================
   Contact Form
========================== */

.rx-contact-form{
    max-width: 760px;
    margin: 70px auto 0;
}

.rx-contact-form .wpcf7{
    max-width: 760px;
    margin: 0 auto;
}
.rx-contact{
    text-align:center;
}

.rx-contact-direct{
    justify-content:center;
    margin-bottom:40px;
}

.rx-contact-form{
    width:100%;
    max-width:760px;
    margin:60px auto !important;
}

.rx-contact-form .wpcf7{
    width:100%;
}

.rx-contact-form label{
    display:block;
    margin-bottom:20px;
}

.rx-contact-form input,
.rx-contact-form select,
.rx-contact-form textarea{
    width:100%;
	
/* ファーストビューを2カラム化 */
.remix-root .rx-hero-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    align-items: center;
    gap: 72px;
}

/* 左側 */
.remix-root .rx-hero-left {
    min-width: 0;
}

/* 右側ロゴ */
.remix-root .rx-hero-right {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 420px;
    position: relative;
}

.remix-root .rx-hero-right::before {
    content: "";
    position: absolute;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(18, 126, 88, 0.16) 0%,
        rgba(18, 126, 88, 0.06) 48%,
        rgba(18, 126, 88, 0) 72%
    );
    filter: blur(4px);
}

.remix-root .rx-hero-right .custom-logo-link {
    position: relative;
    z-index: 1;
    display: block;
}

.remix-root .rx-hero-right img.custom-logo {
    width: min(100%, 470px) !important;
    height: auto !important;
    max-width: 470px !important;
    max-height: none !important;
    object-fit: contain;
    filter: drop-shadow(0 24px 36px rgba(11, 107, 79, 0.16));
}

/* ファーストビュー内の文字サイズを調整 */
.remix-root .rx-hero-left h1 {
    font-size: clamp(64px, 6vw, 92px) !important;
    line-height: 1.06;
}

.remix-root .rx-hero-left .rx-hero-sub {
    max-width: 680px;
}

/* スマホでは1カラム */
@media (max-width: 900px) {
    .remix-root .rx-hero-body {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .remix-root .rx-hero-right {
        min-height: auto;
        padding-bottom: 30px;
    }

    .remix-root .rx-hero-right::before {
        width: 300px;
        height: 300px;
    }

    .remix-root .rx-hero-right img.custom-logo {
        max-width: 320px !important;
    }
}

@media (max-width: 600px) {
    .remix-root .rx-hero-left h1 {
        font-size: 52px !important;
    }

    .remix-root .rx-hero-cta {
        flex-direction: column;
        align-items: stretch;
    }

    .remix-root .rx-hero-cta .rx-btn {
        width: 100%;
        min-width: 0;
    }

    .remix-root .rx-hero-right {
        display: none;
    }
}
    box-sizing:border-box;
}

.rx-logo img,
.custom-logo {
    height: 42px !important;
    width: auto !important;
    max-height: 42px !important;
}

.rx-header {
    height: 80px !important;
    display: flex;
    align-items: center;
}

/* ヘッダーロゴを枠内に収める */
.remix-root .rx-header {
    min-height: 82px;
    overflow: visible;
}

.remix-root .rx-header-row {
    min-height: 82px;
}

.remix-root .rx-logo {
    height: 82px;
    display: flex;
    align-items: center;
    overflow: visible;
}

.remix-root .rx-logo .custom-logo-link {
    display: flex;
    align-items: center;
    height: 82px;
}

.remix-root .rx-logo .custom-logo {
    width: auto !important;
    height: auto !important;
    max-width: 220px !important;
    max-height: 58px !important;
    object-fit: contain;
    display: block;
}

/* ヘッダーロゴの上下切れを防ぐ */
.remix-root .rx-header {
    height: 88px !important;
    min-height: 88px !important;
    overflow: visible !important;
}

.remix-root .rx-header-row {
    height: 88px !important;
    min-height: 88px !important;
    align-items: center !important;
}

.remix-root .rx-logo {
    height: 88px !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
}

.remix-root .rx-logo .custom-logo-link {
    height: 88px !important;
    display: flex !important;
    align-items: center !important;
}

.remix-root .rx-logo img.custom-logo {
    max-height: 52px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
}

.remix-root .rx-logo img.custom-logo {
    max-height: 58px !important;
}

/* PCではハンバーガーメニューを非表示 */
@media (min-width: 1024px){
    .remix-root .rx-burger{
        display:none !important;
    }
}

/* ロゴを大きく */
.remix-root .rx-logo img{
    height: 60px !important;
    width: auto !important;
}

/* ファーストビューのCTA配色を入れ替え */
.remix-root .rx-hero .rx-btn-line {
    background: #0b6b4f !important;
    color: #ffffff !important;
    border-color: #0b6b4f !important;
}

.remix-root .rx-hero .rx-btn-line:hover {
    background: #09553f !important;
    border-color: #09553f !important;
}

.remix-root .rx-hero .rx-btn-solid {
    background: #111714 !important;
    color: #ffffff !important;
    border-color: #111714 !important;
}

.remix-root .rx-hero .rx-btn-solid:hover {
    background: #252b28 !important;
    border-color: #252b28 !important;
}

/* ファーストビューを広くする */
.rx-hero{
    padding-top: 160px !important;
    padding-bottom: 180px !important;
}

/* タイトルを少し大きく */
.rx-hero h1{
    font-size: 96px !important;
    line-height: 1.05;
}

/* 説明文を読みやすく */
.rx-hero p{
    max-width: 700px;
    line-height: 1.9;
}

/* タイトルを少し調整 */
.rx-hero h1{
    font-size:82px !important;
    line-height:1.1;
}

/* 説明文との余白 */
.rx-hero p{
    margin-top:48px !important;
}

/* ボタンサイズを統一 */
.rx-hero .rx-btn{
    min-width:240px;
    height:60px;
    font-size:20px;
    border-radius:999px;
}

/* ヒーロー右側ロゴ */
.rx-hero-right img{
    width: 520px !important;
    max-width: none !important;
    opacity: .12;
}

.rx-hero-right{
    display:flex;
    justify-content:center;
    align-items:center;
}

/* ファーストビューを確実に左右2カラムにする */
.remix-root #rx-hero .rx-wrap.rx-hero-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr) !important;
    align-items: center !important;
    column-gap: 70px !important;
    width: min(1200px, calc(100% - 48px)) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* 左側 */
.remix-root #rx-hero .rx-hero-left {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
}

/* 右側 */
.remix-root #rx-hero .rx-hero-right {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 420px !important;
}

/* 右側のロゴ */
.remix-root #rx-hero .rx-hero-right img.custom-logo {
    display: block !important;
    width: 100% !important;
    max-width: 420px !important;
    height: auto !important;
    max-height: none !important;
    opacity: 0.14 !important;
}

/* タブレット・スマホ */
@media (max-width: 900px) {
    .remix-root #rx-hero .rx-wrap.rx-hero-body {
        grid-template-columns: 1fr !important;
    }

    .remix-root #rx-hero .rx-hero-left,
    .remix-root #rx-hero .rx-hero-right {
        grid-column: 1 !important;
    }

    .remix-root #rx-hero .rx-hero-right {
        display: none !important;
    }
}

.remix-root #rx-hero .rx-hero-right img.custom-logo{
    max-width:520px !important;
    opacity:.08 !important;
}

.rx-hero-left{
    max-width:680px;
}

.rx-btn{
    box-shadow:0 10px 35px rgba(0,0,0,.12);
    transition:.3s;
}

.rx-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 45px rgba(0,0,0,.18);
}

#rx-hero{
    position:relative;
    overflow:hidden;
}

#rx-hero::before{
    content:"";
    position:absolute;
    right:-250px;
    top:-180px;
    width:700px;
    height:700px;
    background:radial-gradient(circle,#1b8c66 0%,transparent 70%);
    opacity:.08;
    pointer-events:none;
}

.remix-root #rx-hero .rx-hero-left{
    padding-left:80px;
}

.remix-root #rx-hero .rx-hero-right{
    justify-content:flex-end !important;
}

.rx-header{
    background:rgba(255,255,255,.88)!important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.rx-btn-solid{
    box-shadow:0 12px 35px rgba(27,140,102,.25);
}

/* スクロール表示アニメーション */
.rx-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}

.rx-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* 少しずつ時間差で表示 */
.rx-reveal:nth-child(2) {
    transition-delay: 0.08s;
}

.rx-reveal:nth-child(3) {
    transition-delay: 0.16s;
}

.rx-reveal:nth-child(4) {
    transition-delay: 0.24s;
}

/* 動きを減らす設定の人にはアニメーションしない */
@media (prefers-reduced-motion: reduce) {
    .rx-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ヒーロー背景を上品な白×緑に */
.remix-root #rx-hero {
    background:
        radial-gradient(
            circle at 82% 28%,
            rgba(18, 126, 88, 0.16) 0%,
            rgba(18, 126, 88, 0.07) 24%,
            rgba(18, 126, 88, 0) 52%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f8fcfa 52%,
            #eef7f3 100%
        ) !important;
}

/* 背景の光を少し自然に */
.remix-root #rx-hero::before {
    content: "";
    position: absolute;
    top: -220px;
    right: -180px;
    width: 720px;
    height: 720px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(14, 117, 82, 0.12) 0%,
        rgba(14, 117, 82, 0.04) 46%,
        rgba(14, 117, 82, 0) 72%
    );
    filter: blur(10px);
    pointer-events: none;
}

/* タイトルを読み込み時に自然に表示 */
.remix-root #rx-hero h1 {
    animation: remixHeroFade 0.8s ease-out both;
}

/* 本文は少し遅れて表示 */
.remix-root #rx-hero .rx-hero-sub {
    animation: remixHeroFade 0.8s 0.12s ease-out both;
}

/* ボタンはさらに少し遅れて表示 */
.remix-root #rx-hero .rx-hero-cta {
    animation: remixHeroFade 0.8s 0.22s ease-out both;
}

@keyframes remixHeroFade {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 動きを減らす設定の人にはアニメーションしない */
@media (prefers-reduced-motion: reduce) {
    .remix-root #rx-hero h1,
    .remix-root #rx-hero .rx-hero-sub,
    .remix-root #rx-hero .rx-hero-cta {
        animation: none;
    }
}

/* スクロール時のヘッダー */
.rx-header{
    transition: all .35s ease;
}

.rx-header.is-scrolled{
    padding-top:8px;
    padding-bottom:8px;
    box-shadow:0 8px 30px rgba(0,0,0,.08);
}

.rx-header.is-scrolled .rx-logo img{
    height:42px;
}

/* Missionセクションをカード風に */
.remix-root #rx-belief {
    background: #f6faf8 !important;
    padding: 110px 0 !important;
}

.remix-root #rx-belief .rx-belief-grid {
    gap: 28px !important;
}

.remix-root #rx-belief .rx-belief-item {
    background: #ffffff;
    border: 1px solid rgba(11, 107, 79, 0.10);
    border-radius: 24px;
    padding: 42px 36px;
    box-shadow: 0 18px 50px rgba(20, 60, 45, 0.08);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.remix-root #rx-belief .rx-belief-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 70px rgba(20, 60, 45, 0.13);
}

.remix-root #rx-belief .rx-eyebrow {
    color: #0b6b4f !important;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.remix-root #rx-belief h2,
.remix-root #rx-belief h3 {
    color: #111714 !important;
}

.remix-root #rx-belief p {
    color: #5f6b66 !important;
    line-height: 1.9;
}

/* Missionカードの高さと文字バランスを調整 */
.remix-root #rx-belief .rx-belief-item {
    min-height: 420px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.remix-root #rx-belief .rx-belief-item h2,
.remix-root #rx-belief .rx-belief-item h3 {
    font-size: 42px !important;
    line-height: 1.55 !important;
    margin-bottom: 28px !important;
}

.remix-root #rx-belief .rx-belief-item p {
    font-size: 18px !important;
    line-height: 2 !important;
}

/* 1枚目だけ中央に見えすぎないよう上寄せ */
.remix-root #rx-belief .rx-belief-item:first-child {
    justify-content: flex-start;
    padding-top: 76px;
}

/* Missionカードの余白調整 */
#rx-belief .rx-belief-item{
    padding:60px 50px !important;
    min-height:430px !important;
}

#rx-belief .rx-belief-item h3,
#rx-belief .rx-belief-item h2{
    margin-top:0 !important;
    margin-bottom:30px !important;
    line-height:1.45 !important;
}

#rx-belief .rx-belief-item p{
    margin-top:0 !important;
    line-height:1.9 !important;
}

/* タイトル表示切り替え */
.rx-title-sp {
    display: none;
}

@media (max-width: 767px) {
    .rx-title-pc {
        display: none;
    }

    . {
        display: block;
    }

    .remix-root #rx-hero .rx-hero-title {
        font-size: 52px !important;
        line-height: 1.15 !important;
        letter-spacing: -0.04em;
        white-space: normal;
        word-break: keep-all;
    }
}

/* PC用・スマホ用タイトルの表示切り替えを強制 */
 {
    display: inline !important;
}

. {
    display: none !important;
}

@media screen and (max-width: 767px) {
 {
        display: none !important;
    }

    .{
        display: block !important;
    }

}
    .remix-root #rx-hero .rx-hero-title > *:not(.) {
        display: none !important;
    }

    .remix-root #rx-hero .rx-hero-title {
        display: block !important;
        font-size: 40px !important;
        line-height: 1.2 !important;
        letter-spacing: -0.04em !important;
        white-space: normal !important;
        word-break: keep-all !important;
    }
}

/* スマホ版ファーストビューを整える */
@media screen and (max-width: 767px) {

    .remix-root #rx-hero {
        min-height: auto !important;
        padding: 72px 0 90px !important;
    }

    .remix-root #rx-hero .rx-wrap.rx-hero-body {
        display: block !important;
        width: calc(100% - 40px) !important;
        margin: 0 auto !important;
    }

    .remix-root #rx-hero .rx-hero-left {
        width: 100% !important;
        max-width: none !important;
        padding-left: 0 !important;
    }

    .remix-root #rx-hero .rx-hero-title {
        display: block !important;
        margin: 0 0 44px !important;
        font-size: clamp(44px, 13vw, 58px) !important;
        line-height: 1.08 !important;
        letter-spacing: -0.055em !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
    }

    .remix-root #rx-hero .rx-hero-sub {
        margin: 0 0 44px !important;
        max-width: none !important;
        font-size: 17px !important;
        line-height: 1.95 !important;
        color: #5f6965 !important;
    }

    .remix-root #rx-hero .rx-hero-cta {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .remix-root #rx-hero .rx-hero-cta .rx-btn {
        width: 100% !important;
        min-width: 0 !important;
        height: 58px !important;
        font-size: 17px !important;
    }

    .remix-root #rx-hero .rx-hero-right {
        display: none !important;
    }

    .remix-root #rx-hero .rx-scroll {
        display: none !important;
    }
}

/* PC版タイトル */
.remix-root #rx-hero .rx-hero-title {
    font-size: clamp(64px, 6vw, 92px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.045em !important;
}

/* スマホ版タイトル */
@media screen and (max-width: 767px) {
    .remix-root #rx-hero .rx-hero-title {
        font-size: 44px !important;
        line-height: 1.15 !important;
        letter-spacing: -0.04em !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
    }
}

/* スマホ版タイトルを最終調整 */
@media screen and (max-width: 767px) {
    .remix-root #rx-hero .rx-hero-title {
        font-size: 40px !important;
        line-height: 1.12 !important;
        letter-spacing: -0.04em !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 40px !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    .remix-root #rx-hero .rx-hero-left {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .remix-root #rx-hero .rx-wrap.rx-hero-body {
        width: calc(100% - 40px) !important;
        margin: 0 auto !important;
    }
}

/* スマホ版ヒーロータイトル 最終調整 */
@media screen and (max-width: 767px) {
    body .remix-root #rx-hero h1.rx-hero-title {
        font-size: 34px !important;
        line-height: 1.2 !important;
        letter-spacing: -0.03em !important;
        font-weight: 700 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 32px !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    body .remix-root #rx-hero .rx-hero-left {
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body .remix-root #rx-hero .rx-wrap.rx-hero-body {
        width: calc(100% - 40px) !important;
        max-width: none !important;
        margin: 0 auto !important;
        display: block !important;
    }
}