/* ============================================================
   重厚クラフト・クラシカル経営OSスタイルシート
   ============================================================ */

/* LP全体基底背景：生成り・羊皮紙の物質感と周辺光量落ち */
body.vi-page.custom-background {
  background-color: #F5F2EB !important;
  background-image: 
    radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.7) 0%, rgba(235, 228, 215, 0.9) 100%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.035'/%3E%3C/svg%3E") !important;
  color: #1A202C;
  font-family: 'Hiragino Mincho ProN', 'Yu Mincho', 'Noto Serif JP', serif;
  margin: 0;
  padding: 0;
}

/* Architecture Card（中央配置の超重厚オニキスプレート） */
.vl-architecture-card {
  max-width: 1040px;
  margin: 56px auto;
  background: radial-gradient(circle at 50% 0%, #152244 0%, #0A0F1D 100%);
  border: 1px solid #9A7B2C;
  border-top: 1px solid #E5C365;
  border-bottom: 1px solid #4A380E;
  border-radius: 12px;
  padding: 48px 40px;
  box-shadow: 
    0 4px 6px -1px rgba(0, 0, 0, 0.3),
    0 24px 50px -12px rgba(10, 15, 29, 0.5),
    inset 0 1px 1px rgba(255, 255, 255, 0.15);
  font-family: 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Noto Sans JP', sans-serif;
  color: #FFFFFF;
  box-sizing: border-box;
}

/* 層ごとのブロック（面取り・金属枠風） */
.vl-layer-block {
  border-radius: 8px;
  padding: 24px 28px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4);
}

.vl-layer-philosophy {
  border-color: rgba(212, 175, 55, 0.4);
  background: linear-gradient(180deg, rgba(212, 175, 55, 0.08) 0%, rgba(212, 175, 55, 0.02) 100%);
}
.vl-layer-theory {
  border-color: rgba(96, 165, 250, 0.4);
  background: linear-gradient(180deg, rgba(96, 165, 250, 0.08) 0%, rgba(96, 165, 250, 0.02) 100%);
}
.vl-layer-system {
  border-color: rgba(45, 212, 191, 0.4);
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.8) 0%, rgba(10, 15, 29, 0.95) 100%);
}

/* 箔押し刻印バッジ */
.vl-badge-gold {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #F3E5AB;
  border: 1px solid #C59B27;
  padding: 4px 14px;
  border-radius: 4px;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #4A380E 0%, #2A1F08 100%);
  box-shadow: 0 2px 4px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.2);
}
.vl-badge-blue {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #BFDBFE;
  border: 1px solid #3B82F6;
  padding: 4px 14px;
  border-radius: 4px;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #1E3A8A 0%, #0F172A 100%);
  box-shadow: 0 2px 4px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.2);
}
.vl-badge-cyan {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #99F6E4;
  border: 1px solid #0D9488;
  padding: 4px 14px;
  border-radius: 4px;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #134E4A 0%, #042F2E 100%);
  box-shadow: 0 2px 4px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.2);
}

.vl-layer-title {
  font-size: 22px;
  font-weight: 700;
  color: #FFFFFF;
  display: block;
  margin-bottom: 10px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.6);
}

.vl-layer-desc {
  font-size: 15px;
  color: #CBD5E1;
  line-height: 1.75;
  margin: 0;
}

.vl-philosophy-points {
  margin: 10px 0 0;
  padding-left: 0;
  list-style: none;
}
.vl-philosophy-points li {
  font-size: 15px;
  color: #E2E8F0;
  line-height: 1.75;
  margin-bottom: 6px;
  position: relative;
  padding-left: 22px;
}
.vl-philosophy-points li::before {
  content: "◆";
  position: absolute;
  left: 0;
  color: #D4AF37;
  font-size: 12px;
}

.vl-connector-arrow {
  text-align: center;
  color: #C59B27;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin: 16px 0;
  text-shadow: 0 0 8px rgba(197, 155, 39, 0.4);
}

/* 6部門グリッド */
.vl-dept-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  margin: 20px 0 24px;
}
.vl-dept-item {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.01) 100%);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 6px;
  padding: 14px 6px;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.vl-dept-item span {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #FFFFFF;
}
.vl-dept-item small {
  display: block;
  font-size: 11px;
  color: #94A3B8;
  margin-top: 4px;
}

/* キャッシュレール（5フェーズ完全版） */
.vl-cashflow-rail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #050811;
  border-radius: 8px;
  padding: 16px 22px;
  border: 1px solid #4A380E;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.8);
}
.vl-rail-step {
  font-size: 14px;
  font-weight: 700;
  color: #E2E8F0;
  text-align: center;
}
.vl-rail-step small {
  display: block;
  font-size: 10.5px;
  color: #94A3B8;
  font-weight: normal;
  margin-top: 2px;
}
.vl-rail-arrow {
  color: #C59B27;
  font-size: 14px;
  font-weight: bold;
}
.vl-rail-emphasis {
  color: #FFFFFF;
}
.vl-rail-highlight {
  color: #F3E5AB;
  font-weight: 800;
  text-shadow: 0 0 12px rgba(243, 229, 171, 0.5);
}

/* 統合バナー（箔押しゴールドプレート） */
.vl-integrated-banner {
  text-align: center;
  margin-top: 28px;
  padding: 18px;
  background: linear-gradient(180deg, rgba(197, 155, 39, 0.2) 0%, rgba(74, 56, 14, 0.3) 100%);
  border: 1px solid #C59B27;
  border-radius: 6px;
  font-size: 17px;
  color: #FFFFFF;
  letter-spacing: 0.08em;
  box-shadow: inset 0 1px 0 rgba(255, 235, 170, 0.3);
}
.vl-integrated-banner strong {
  color: #F3E5AB;
  font-size: 20px;
  text-shadow: 0 0 10px rgba(243, 229, 171, 0.4);
}

/* 創案者写真枠（重厚オーソリティ仕様） */
.vl-author-frame {
  border: 2px solid #C59B27;
  border-radius: 8px;
  padding: 6px;
  background: #FFFFFF;
  box-shadow: 0 12px 30px rgba(11, 16, 29, 0.25);
  display: inline-block;
}
.vl-author-frame img {
  border-radius: 4px;
  display: block;
  max-width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .vl-architecture-card {
    padding: 24px 16px;
  }
  .vl-dept-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .vl-cashflow-rail {
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
  }
}

/* LP-wide editorial craft treatment, scoped to this course only. */
@media(max-width:1024px){.vi-page .vi-study-grid{grid-template-columns:1fr!important}}
body.vi-page{--vi-navy:#142039;--vi-blue:#304668;--vi-gold:#92702d;--vi-line:#d8cdb8;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.95}
.vi-page h1,.vi-page h2,.vi-page h3,.vi-page h4{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;letter-spacing:.045em}
.vi-page .vi-header{max-width:none;background:#f7f3e9;border-bottom:1px solid #b49a64;box-shadow:0 3px 12px #30220e0b}
.vi-page .vi-hero{position:relative;padding-top:78px;padding-bottom:70px}
.vi-page .vi-eyebrow{color:#856524;letter-spacing:.22em}
.vi-page .vi-badge{border-color:#b39a66;background:#fffaf099;box-shadow:inset 0 1px #fff}
.vi-page .vi-hero h1{font-weight:900;text-shadow:0 2px 0 #fff;letter-spacing:.015em}
.vi-page .vi-hero h1 em{color:#344668;background:linear-gradient(transparent 85%,#c8b27a90 85%)}
.vi-page .vi-hero-media{border:1px solid #a98b46;padding:7px;background:#fcfaf4;box-shadow:0 22px 44px #30281b30,inset 0 0 0 2px #fff;border-radius:6px}
.vi-page .vi-section{border-top:1px solid #bba47745;padding:94px 0}
.vi-page .vi-tint{background:linear-gradient(120deg,#e9e1d3b3,#fffdf5a6 50%,#e8dfcdb3)}
.vi-page .vi-anchor-nav{background:linear-gradient(#1f2b44,#101a2c);border-block:1px solid #af914f;color:#f4e4b6;box-shadow:0 6px 18px #111a3520}
.vi-page .vi-anchor-nav a:hover{background:#334057;color:#fff3d4}
.vi-page .vi-grid3 article,.vi-page .vi-figure{border:1px solid #cdbd9f;background:linear-gradient(135deg,#fffefa,#f7f3e9);box-shadow:0 10px 22px #3b2e1510,inset 0 1px #fff}
.vi-page .vi-grid3 article{border-top:3px solid #a78a4e}
.vi-page .vi-number{color:#9d834e;font-family:Georgia,serif}
.vi-page .vi-figure{padding:7px}
.vi-page .vi-figure figcaption{background:#f2ecdf;border-top:1px solid #d9ccb4;color:#745d32}
.vi-page .vi-primary{background:linear-gradient(#243650,#0e192c);border:1px solid #aa8d4f;box-shadow:0 5px 12px #17243b25,inset 0 1px #ffffff30}
.vi-page .vi-buy,.vi-page .vi-native-purchase .single_add_to_cart_button{background:linear-gradient(135deg,#dfc784,#c4a15a 55%,#e2c982)!important;color:#172033!important;border:1px solid #967333!important;box-shadow:0 7px 16px #7f61232b,inset 0 1px #fff3c6!important}
.vi-page .vi-video{border:1px solid #a58845;box-shadow:0 16px 35px #17203325}
.vi-page .vi-preview-offer{background:#fffaf1;border:1px solid #c9b582;box-shadow:0 10px 25px #3e301215}
.vi-page .vi-chapters article{border-color:#cbb997}
.vi-page .vi-chapter-number{color:#927138;font-family:Georgia,serif}
.vi-page .vi-stages .vi-current{background:linear-gradient(135deg,#253550,#0c1629);border-color:#bb9855;color:#eee7d7}
.vi-page .vi-stages .vi-current h3,.vi-page .vi-stages .vi-current p{color:#eee7d7}
.vi-page .vi-package{background:linear-gradient(115deg,#fffdf7,#f0e7d8);border:1px solid #ae914f;border-top:4px solid #a88943;box-shadow:0 18px 40px #3f301c22,inset 0 1px #fff}
.vi-page .vi-package-art img{border:1px solid #b39860;box-shadow:0 12px 26px #16213825}
.vi-page .vi-faq details{background:#fffaf1;border-color:#d0bfa1;box-shadow:0 3px 10px #3b2b1008}
.vi-page .vi-footer{background:linear-gradient(#17243a,#0c1527);color:#e1d5bb;border-top:2px solid #9d7e3c}
.vi-page .vi-profile{grid-template-columns:minmax(260px,1fr) 1.1fr;gap:52px;align-items:center;padding:32px;background:#fbf8f0;border:1px solid #d0bc91;box-shadow:0 16px 35px #34281215}
.vi-page .vl-author-frame{display:block;margin:0}
.vi-page .vl-author-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:65% center}
.vi-page .vi-profile-copy h2{margin-bottom:6px}
.vi-page .vi-profile-copy h3{font-size:17px}
.vi-page .vi-study-wrap{max-width:1120px;padding:0 40px;margin:auto}
.vi-page .vi-study-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.vi-page .vi-study-card{min-width:0;padding:30px 24px;background:#fff;border:1px solid #E2E8F0;border-radius:12px;box-shadow:0 12px 28px #17243b13;border-top:3px solid #a68a4f}
.vi-page .vi-study-icon{display:flex;width:56px;height:56px;align-items:center;justify-content:center;color:#a4833c;background:#f8f3e7;border:1px solid #dbcaa3;border-radius:50%;margin-bottom:23px}
.vi-page .vi-study-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vi-page .vi-study-card h3{font-size:21px;line-height:1.65}
.vi-page .vi-study-label{font-size:11px;font-weight:700;letter-spacing:.05em;color:#745c2c}
.vi-page .vi-study-scenes{padding:13px;background:#f5f3ec;font-size:12px;border-left:2px solid #b29658}
.vi-page .vi-study-card ul{padding-left:1.2em;margin:20px 0 0;font-size:13px;line-height:1.9}
.vi-page .vi-study-card li+li{margin-top:15px}
.vi-page .vi-study-note{font-size:12px;margin-top:28px;color:#5b554b}
.vi-page .vl-architecture-card{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.vi-page .vl-layer-title{color:#fff}
.vi-page .vl-layer-block p{color:#cbd5e1;margin:0}
.vi-page .vl-philosophy-points{padding-left:0}
.vi-page .vl-philosophy-points li{padding-left:22px}
@media(max-width:900px){.vi-page .vi-study-grid{grid-template-columns:1fr}.vi-page .vi-study-card{padding:28px}.vi-page .vi-profile{grid-template-columns:1fr}.vi-page .vl-author-frame{max-width:420px;margin:auto}.vi-page .vl-cashflow-rail{flex-direction:column;gap:10px}.vi-page .vl-rail-arrow{transform:rotate(90deg)}.vi-page .vl-rail-step{font-size:16px}.vi-page .vl-dept-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.vi-page .vi-hero{padding-top:38px;padding-bottom:42px}.vi-page .vi-hero h1{font-size:32px}.vi-page .vi-section{padding:54px 0}.vi-page .vi-study-wrap{padding:0 20px}.vi-page .vi-study-card h3{font-size:21px}.vi-page .vi-profile{padding:18px;gap:28px}.vi-page .vl-architecture-card{padding:24px 14px}.vi-page .vl-layer-block{padding:20px 12px}.vi-page .vl-layer-title{font-size:18px}.vi-page .vl-philosophy-points li{font-size:13px}.vi-page .vl-badge-gold,.vi-page .vl-badge-blue,.vi-page .vl-badge-cyan{font-size:10px;padding:5px 8px}.vi-page .vl-integrated-banner{font-size:13px}.vi-page .vl-integrated-banner strong{display:block;font-size:17px}}
/* Purchase panel and FAQ spacing refinement. */
.vi-page .vi-preview-offer{padding:36px 40px;gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;border-radius:8px}
.vi-page .vi-preview-offer>div{min-width:0}
.vi-page .vi-preview-offer h3{margin:0 0 24px;line-height:1.7}
.vi-page .vi-preview-offer .vi-price{margin:0}
.vi-page .vi-preview-offer .vi-small{margin:14px 0 0;text-align:center;line-height:1.8}
.vi-page .vi-buy,.vi-page .vi-native-purchase .single_add_to_cart_button{background:linear-gradient(135deg,#ffe6a0 0%,#f8d16c 58%,#ffe5a0 100%)!important;border-color:#c5a04d!important;color:#182438!important;box-shadow:0 6px 15px #ad863d24,inset 0 1px #fff9df!important}
.vi-page .vi-buy:hover,.vi-page .vi-native-purchase .single_add_to_cart_button:hover{background:linear-gradient(135deg,#ffedbb,#ffdd86)!important}
.vi-page .vi-faq details{padding:0}
.vi-page .vi-faq summary{padding:22px 28px;list-style:none;display:flex;align-items:baseline;gap:12px}
.vi-page .vi-faq summary::-webkit-details-marker{display:none}
.vi-page .vi-faq summary::before{content:"";display:block;flex:0 0 7px;width:7px;height:10px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%);transform:translateY(1px)}
.vi-page .vi-faq details[open] summary::before{transform:rotate(90deg)}
.vi-page .vi-faq details p{padding:0 28px 24px 47px;margin:0;line-height:1.9}
@media(max-width:800px){.vi-page .vi-preview-offer{padding:28px;grid-template-columns:1fr;gap:28px}}
@media(max-width:600px){.vi-page .vi-preview-offer{padding:24px 22px}.vi-page .vi-faq summary{padding:20px;gap:10px;line-height:1.8}.vi-page .vi-faq details p{padding:0 20px 22px 37px}}
