/* ===== CROWN by Claude: 追加・差し替え分（ChatGPT版の上に重ねる） ===== */

/* ---------- OPENING：No.1 → 王冠 → 扉が開いて大通公園へ ---------- */
.loading-screen.cx-intro{background:transparent!important;perspective:none;overflow:hidden;display:block}
.loading-screen.cx-intro:before,.loading-screen.cx-intro:after{display:none!important}
.cx-door{position:absolute;top:0;bottom:0;width:50.2%;z-index:0;background:linear-gradient(180deg,#0e1f1a,#08130f 60%,#050c0a);transition:transform 1.05s cubic-bezier(.83,0,.17,1)}
.cx-door.l{left:0;box-shadow:inset -1px 0 0 #d7b67a55}
.cx-door.r{right:0;box-shadow:inset 1px 0 0 #d7b67a55}
.cx-door:before{content:"";position:absolute;inset:28px;border:1px solid #d7b67a26}
.cx-door.l:before{right:-1px;border-right:0}.cx-door.r:before{left:-1px;border-left:0}
.cx-door:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 100% 50%,#d7b67a1f,transparent 70%)}
.cx-door.r:after{background:radial-gradient(ellipse 60% 50% at 0% 50%,#d7b67a1f,transparent 70%)}
.cx-intro.open .cx-door.l{transform:translateX(-101%)}
.cx-intro.open .cx-door.r{transform:translateX(101%)}
.cx-beam{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;z-index:1;background:linear-gradient(180deg,transparent,#fff6dc 30%,#fff 50%,#fff6dc 70%,transparent);opacity:0;filter:blur(.5px);box-shadow:0 0 40px 10px #ffe9b066}
.cx-intro.burst .cx-beam{animation:cxBeam .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes cxBeam{0%{opacity:0;transform:scaleX(1)}15%{opacity:1}45%{opacity:1;transform:scaleX(60)}100%{opacity:0;transform:scaleX(160)}}
.cx-stage{position:absolute;inset:0;z-index:2;display:grid;place-items:center;pointer-events:none}
.cx-stage>*{grid-area:1/1}
.cx-one{display:flex;flex-direction:column;align-items:center;transition:opacity .6s,transform .9s cubic-bezier(.6,0,.2,1),filter .6s}
.cx-one .kick{font:11px/1 Georgia,'Times New Roman',serif;letter-spacing:.6em;padding-left:.6em;color:#d7b67a;opacity:0;transform:translateY(8px);transition:all .8s .1s}
.cx-one .no{position:relative;font:400 clamp(110px,22vw,260px)/1 Georgia,'Times New Roman',serif;letter-spacing:-.02em;margin:.12em 0 .05em;
  background:linear-gradient(100deg,#8a6526 0%,#d9b569 25%,#fff7dc 45%,#e8c777 55%,#a77a2b 80%,#7a5520 100%);background-size:240% 100%;background-position:120% 0;-webkit-background-clip:text;background-clip:text;color:transparent;
  clip-path:inset(100% 0 0 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1),background-position 2.2s cubic-bezier(.4,0,.2,1)}
.cx-one .rule{width:0;height:1px;background:linear-gradient(90deg,transparent,#e9cf92,transparent);transition:width 1.1s cubic-bezier(.7,0,.2,1)}
.cx-one .dots{display:flex;gap:clamp(18px,4vw,42px);margin-top:20px}
.cx-one .dots i{width:7px;height:7px;transform:rotate(45deg);border:1px solid #d7b67a88;transition:background .25s,box-shadow .25s}
.cx-one .dots i.lit{background:#fff1b4;border-color:#fff1b4;box-shadow:0 0 14px #fff1b4}
.cx-one .ja{margin-top:18px;font:500 clamp(13px,1.6vw,17px) 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.42em;padding-left:.42em;color:#f2e6c8;opacity:0;transition:opacity .8s}
.cx-intro.s1 .cx-one .rule{width:min(64vw,620px)}
.cx-intro.s1 .cx-one .kick{opacity:1;transform:none}
.cx-intro.s2 .cx-one .no{clip-path:inset(0 0 0 0);background-position:-20% 0}
.cx-intro.s2 .cx-one .ja{opacity:1}
.cx-intro.s3 .cx-one{opacity:0;transform:translateY(-40px) scale(.96);filter:blur(8px)}
.cx-crest{width:min(62vw,440px);opacity:0;transform:scale(.88);filter:blur(10px) brightness(1.6);transition:opacity .9s,transform 1.2s cubic-bezier(.2,.8,.2,1),filter .9s;position:relative}
.cx-crest img{width:100%;display:block;filter:drop-shadow(0 10px 40px #000a) drop-shadow(0 0 30px #f4d28333)}
.cx-crest:after{content:"";position:absolute;inset:-10% -20%;background:linear-gradient(105deg,transparent 40%,#fff8e099 50%,transparent 60%);background-size:250% 100%;background-position:130% 0;mix-blend-mode:screen;-webkit-mask:url('assets/crown-logo.png') center/contain no-repeat;mask:url('assets/crown-logo.png') center/contain no-repeat;transition:background-position 1.4s .3s cubic-bezier(.4,0,.2,1)}
.cx-intro.s3 .cx-crest{opacity:1;transform:none;filter:none}
.cx-intro.s3 .cx-crest:after{background-position:-30% 0}
.cx-intro.open .cx-crest{opacity:0;transform:scale(1.6);filter:blur(6px) brightness(2);transition:opacity .7s .1s,transform 1.1s cubic-bezier(.6,0,.2,1),filter .7s}
.cx-intro.open .cx-stage{z-index:2}
.cx-flash{position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse at center,#fffaf0,#ffe9b0aa 40%,transparent 75%);opacity:0;pointer-events:none}
.cx-intro.burst .cx-flash{animation:cxFlash .9s ease-out forwards}
@keyframes cxFlash{0%{opacity:0}18%{opacity:.9}100%{opacity:0}}
.cx-intro #intro-skip{position:absolute;z-index:6;top:auto;bottom:max(26px,env(safe-area-inset-bottom,0px));right:5%;font:10px Arial;letter-spacing:.2em;color:#f3e5be;cursor:pointer}
.cx-intro.open #intro-skip{opacity:0}
.cx-reveal .hero-slides{animation:cxHeroIn 2s cubic-bezier(.2,.7,.2,1) both}
@keyframes cxHeroIn{from{transform:scale(1.22);filter:brightness(1.6) saturate(1.2)}to{transform:none;filter:none}}

/* ---------- RECORDS: 5期の並び & 左から右への輝き ---------- */
.record-main-claim strong{background:linear-gradient(100deg,#7f5014 0%,#7f5014 38%,#fff7d4 48%,#ffe9a6 52%,#7f5014 62%,#7f5014 100%);background-size:260% 100%;background-position:130% 0;-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none!important;filter:drop-shadow(0 2px 0 #fff1bc);animation:cxSweep 3.6s cubic-bezier(.5,0,.3,1) infinite}
@keyframes cxSweep{0%{background-position:130% 0}55%,100%{background-position:-30% 0}}
.record-card .rank strong{position:relative}
.record-card{position:relative;overflow:hidden}
.record-card:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,#fff8dc66,transparent);transform:skewX(-18deg);pointer-events:none;animation:cxCardSweep 5.5s ease-in-out infinite}
.record-card:nth-child(2):after{animation-delay:.5s}.record-card:nth-child(3):after{animation-delay:1s}
@keyframes cxCardSweep{0%,55%{left:-60%}85%,100%{left:130%}}

.cx-periods{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:10px 0 60px;padding:34px 20px 30px;border-block:1px solid #8f662755;background:linear-gradient(120deg,#fff4cc66,#e6c27833)}
.cx-periods .cx-line{position:absolute;left:10%;right:10%;top:72px;height:2px;background:#8f662733;overflow:hidden}
.cx-periods .cx-line i{position:absolute;inset:0;background:linear-gradient(90deg,#a77a2b,#fff1b4,#a77a2b);transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.6,0,.2,1)}
.cx-periods.visible .cx-line i,body:not(.motion) .cx-periods .cx-line i{transform:scaleX(1)}
.cx-period{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:#4a3216}
.cx-period .medal{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;position:relative;z-index:1;
  background:radial-gradient(circle at 34% 28%,#fffbe8 0%,#f3d58d 30%,#c99a3e 62%,#7d5519 100%);
  box-shadow:0 0 0 4px #f8ecc8,0 0 0 5px #a77a2b88,0 10px 24px #6b471a44;color:#4a2f08;font:700 26px/1 Georgia,serif}
.cx-period .medal small{font-size:11px;vertical-align:super;margin-left:1px}
.cx-period .medal:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(120deg,transparent 35%,#ffffffb0 50%,transparent 65%);background-size:250% 100%;background-position:130% 0;animation:cxSweep 3.6s cubic-bezier(.5,0,.3,1) infinite}
.cx-period b{font:600 15px 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.12em}
.cx-period span{font-size:12px;letter-spacing:.2em;color:#6d4c1e}
.motion .cx-periods .cx-period{opacity:0;transform:translateY(16px) scale(.85);transition:opacity .5s,transform .6s cubic-bezier(.2,1.4,.4,1)}
.motion .cx-periods.visible .cx-period{opacity:1;transform:none}
.cx-periods .cx-period:nth-child(3){transition-delay:.15s}.cx-periods .cx-period:nth-child(4){transition-delay:.3s}.cx-periods .cx-period:nth-child(5){transition-delay:.45s}.cx-periods .cx-period:nth-child(6){transition-delay:.6s}.cx-periods .cx-period:nth-child(7){transition-delay:.75s}
.cx-periods-cap{grid-column:1/-1;text-align:center;margin:8px 0 0;font:600 clamp(16px,1.7vw,20px) 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.2em;color:#65400d}
@media(max-width:760px){.cx-periods{gap:4px;padding:26px 6px 22px}.cx-period .medal{width:50px;height:50px;font-size:18px;box-shadow:0 0 0 3px #f8ecc8,0 0 0 4px #a77a2b88}.cx-period .medal small{display:none}.cx-periods .cx-line{top:51px}.cx-period b{font-size:11px;letter-spacing:0}.cx-period span{font-size:10px;letter-spacing:.05em}}

/* ---------- MVV: 金に光る見出し ---------- */
.editorial-heading>strong,.mvv-label p{background:linear-gradient(105deg,#6b4a17 0%,#b8862f 22%,#f9e7a8 38%,#c99a3e 52%,#fff3c4 66%,#9a6d22 84%,#6b4a17 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:cxGold 6s linear infinite}
.values .editorial-heading>strong,.values .mvv-label p{background-image:linear-gradient(105deg,#a77a2b 0%,#e9c269 22%,#fffbe8 38%,#d3a544 52%,#fff1b4 66%,#b8862f 84%,#a77a2b 100%)}
@keyframes cxGold{to{background-position:-220% 0}}

/* ---------- FOUR SUPPORTS（全面リニューアル） ---------- */
.cx-support{--s-bg:#fbf8f1;--s-ink:#26302a;--s-mute:#5e6a61;--s-gold:#a77a2b;--s-gold-l:#e9cf92;--s-green:#1d3a33;--s-line:#cdb68a66;
  position:relative;isolation:isolate;background:radial-gradient(ellipse at 100% 0,#f3e6c4 0,transparent 45%),radial-gradient(ellipse at 0 100%,#e7efe9 0,transparent 50%),var(--s-bg);color:var(--s-ink);padding:120px 7% 110px;overflow:hidden}
.cx-support .cx-s-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:6%;align-items:end;margin-bottom:64px}
.cx-support .eyebrow{color:var(--s-gold);letter-spacing:.24em}
.cx-support h2{font:600 clamp(36px,4.6vw,64px)/1.45 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.08em;margin:18px 0 0;color:#1f2a24}
.cx-support h2 em{font-style:normal;background:linear-gradient(105deg,#7f5014,#c99a3e 40%,#e9c269 55%,#8f6020);-webkit-background-clip:text;background-clip:text;color:transparent}
.cx-s-head .cx-s-intro{font-size:15px;line-height:2.1;color:var(--s-mute);border-left:1px solid var(--s-gold);padding-left:24px}
.cx-s-head .cx-s-intro strong{display:block;font:600 19px/1.8 'Yu Mincho','Hiragino Mincho ProN',serif;color:var(--s-ink);margin-bottom:6px;letter-spacing:.06em}
.cx-s-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:110px}
.cx-s-card{position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--s-ink);background:#fff;border:1px solid var(--s-line);box-shadow:0 18px 40px #4a3a1a12;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.cx-s-card:hover{transform:translateY(-8px);box-shadow:0 28px 50px #4a3a1a24}
.cx-s-card .ph{aspect-ratio:4/3;overflow:hidden;position:relative}
.cx-s-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.cx-s-card:hover .ph img{transform:scale(1.07)}
.cx-s-card .num{position:absolute;left:14px;top:10px;font:400 44px/1 Georgia,serif;color:#fff;text-shadow:0 2px 18px #0007}
.cx-s-card .bd{padding:20px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.cx-s-card .en{font:10px Arial;letter-spacing:.2em;color:var(--s-gold)}
.cx-s-card b{font:600 21px 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.08em}
.cx-s-card p{margin:0;font-size:13px;line-height:1.8;color:var(--s-mute)}
.cx-s-card .go{margin-top:auto;padding-top:12px;font-size:12px;color:var(--s-green);letter-spacing:.1em;display:flex;justify-content:space-between;border-top:1px solid var(--s-line)}
.cx-s-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:center;margin-bottom:120px;scroll-margin-top:100px}
.cx-s-item:nth-of-type(even) .cx-s-photo{order:2}
.cx-s-photo{position:relative;margin:0}
.cx-s-photo:before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--s-gold);z-index:-1}
.cx-s-item:nth-of-type(even) .cx-s-photo:before{inset:22px 22px -22px -22px}
.cx-s-photo .frame{aspect-ratio:5/4;overflow:hidden;box-shadow:0 30px 60px #3a2d1424}
.cx-s-photo img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.12);transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.cx-s-item.visible .cx-s-photo img,body:not(.motion) .cx-s-photo img{transform:scale(1)}
.cx-s-photo figcaption{position:absolute;right:-6px;bottom:-58px;font:400 clamp(90px,10vw,150px)/1 Georgia,serif;color:transparent;-webkit-text-stroke:1px #a77a2b88;pointer-events:none}
.cx-s-item:nth-of-type(even) .cx-s-photo figcaption{right:auto;left:-6px}
.cx-s-body{display:flex;flex-direction:column;gap:20px;min-width:0}
.cx-s-body .en{font:11px Arial;letter-spacing:.22em;color:var(--s-gold);display:flex;align-items:center;gap:12px}
.cx-s-body .en:before{content:"";width:34px;height:1px;background:var(--s-gold)}
.cx-s-body h3{font:600 clamp(30px,3.4vw,46px)/1.45 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.06em;margin:0;color:#1f2a24}
.cx-s-body .lead{margin:0;font-size:16px;line-height:2;color:#33403a}
.cx-s-label{margin:0 0 12px;font:600 12px 'Yu Gothic',sans-serif;letter-spacing:.2em;color:var(--s-green);display:flex;align-items:center;gap:10px}
.cx-s-label:after{content:"";flex:1;height:1px;background:var(--s-line)}
.cx-s-voices ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cx-s-voices li{background:#fff;border:1px solid var(--s-line);padding:9px 16px 9px 34px;font-size:14px;position:relative;border-radius:999px;color:#2c3630}
.cx-s-voices li:before{content:"";position:absolute;left:14px;top:50%;width:10px;height:6px;margin-top:-5px;border-left:2px solid var(--s-gold);border-bottom:2px solid var(--s-gold);transform:rotate(-45deg)}
.cx-s-how p{margin:0 0 10px;font-size:14px;line-height:2;color:var(--s-mute)}
.cx-s-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:6px}
.cx-btn{display:inline-flex;align-items:center;gap:14px;text-decoration:none;background:var(--s-green);color:#f7ecd0;padding:16px 26px;font-size:14px;letter-spacing:.1em;position:relative;overflow:hidden;transition:background .3s}
.cx-btn:after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:50%;background:linear-gradient(100deg,transparent,#fff3c455,transparent);transform:skewX(-20deg);transition:left .7s}
.cx-btn:hover{background:#264b42}.cx-btn:hover:after{left:130%}
.cx-btn span{color:var(--s-gold-l)}
.cx-link{font-size:13px;color:var(--s-green);letter-spacing:.08em;text-decoration:none;border-bottom:1px solid var(--s-gold);padding-bottom:3px}
.cx-s-call{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:30px;align-items:center;background:linear-gradient(120deg,#1d3a33,#264b42);color:#f7ecd0;padding:38px 44px;position:relative;overflow:hidden}
.cx-s-call:before{content:"";position:absolute;inset:10px;border:1px solid #e9cf9255;pointer-events:none}
.cx-s-call img{width:120px;aspect-ratio:1280/853;object-fit:cover;border:1px solid #e9cf92}
.cx-s-call p{margin:0;font-size:14px;line-height:1.9;color:#e7dcc0}
.cx-s-call p strong{display:block;font:600 22px/1.6 'Yu Mincho','Hiragino Mincho ProN',serif;color:#fff3d4;letter-spacing:.08em}
.cx-s-call a.tel{font:400 clamp(24px,2.6vw,34px) Georgia,serif;color:#f5dfae;text-decoration:none;letter-spacing:.04em;white-space:nowrap}
.cx-s-call small{display:block;font-size:11px;color:#cdbf9c;text-align:right;margin-top:4px}
@media(max-width:1000px){.cx-s-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
  .cx-support{padding:80px 6% 80px}
  .cx-support .cx-s-head{grid-template-columns:1fr;gap:28px;margin-bottom:44px}
  .cx-s-index{margin-bottom:80px;gap:12px}
  .cx-s-card .bd{padding:14px}.cx-s-card b{font-size:17px}.cx-s-card p{display:none}.cx-s-card .num{font-size:32px}
  .cx-s-item{grid-template-columns:1fr;gap:44px;margin-bottom:90px}
  .cx-s-item:nth-of-type(even) .cx-s-photo{order:0}
  .cx-s-photo:before,.cx-s-item:nth-of-type(even) .cx-s-photo:before{inset:14px -10px -14px 14px}
  .cx-s-photo figcaption,.cx-s-item:nth-of-type(even) .cx-s-photo figcaption{right:0;left:auto;bottom:-40px;font-size:84px}
  .cx-s-call{grid-template-columns:1fr;text-align:left;padding:30px 26px}
  .cx-s-call small{text-align:left}
}
@media(prefers-reduced-motion:reduce){.record-main-claim strong,.editorial-heading>strong,.mvv-label p,.record-card:after,.cx-period .medal:after{animation:none!important}.cx-s-photo img{transform:none}}

/* ---------- RECORDS 見出し：横長・大きく ---------- */
.records .section-head{display:none}
.cx-rec-head{margin-bottom:34px}
.cx-rec-title{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.2em 1em;margin:14px 0 18px;font-weight:400}
.cx-rec-no{font:600 clamp(48px,7.4vw,112px)/1.1 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.02em;white-space:nowrap;
  background:linear-gradient(100deg,#6e4410 0%,#7f5014 36%,#fff7d4 47%,#ffe9a6 53%,#7f5014 64%,#6e4410 100%);background-size:260% 100%;background-position:130% 0;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #fff1bc);animation:cxSweep 3.6s cubic-bezier(.5,0,.3,1) infinite}
.cx-rec-no b{font:700 1.12em/1 Georgia,'Times New Roman',serif;letter-spacing:-.01em}
.cx-rec-sub{font:600 clamp(26px,3.4vw,50px)/1.45 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.06em;color:#4a2f0c;padding-bottom:.25em}
.cx-rec-note{display:flex;flex-wrap:wrap;gap:6px 0;margin:0;font-size:12.5px;letter-spacing:.08em;color:#5a3d14}
.cx-rec-note span{padding:0 14px;border-left:1px solid #8f662777}.cx-rec-note span:first-child{padding-left:0;border-left:0}
.cx-periods{margin-top:0}
/* 実績カード：青・緑・赤 */
.records .record-grid .record-card{border:1px solid #e9cf92;box-shadow:0 0 0 4px #00000008,inset 0 0 0 6px #ffffff10,0 22px 50px #4a2f0c40;color:#fff3d4}
.records .record-grid .record-card:nth-child(1){background:radial-gradient(ellipse at 50% 0,#2f63c9,#123a8a 55%,#0a2459)}
.records .record-grid .record-card:nth-child(2){background:radial-gradient(ellipse at 50% 0,#1f8a55,#0f6b3e 55%,#073d23)}
.records .record-grid .record-card:nth-child(3){background:radial-gradient(ellipse at 50% 0,#d0283c,#a5162a 55%,#640a16)}
.records .record-grid .record-card h3,.records .record-grid .record-card p,.records .record-grid .record-card .rank-label{color:#fff3d4!important}
.records .record-grid .record-card .record-en{color:#f5dfae!important}
.records .record-grid .record-card .laurel{color:#f0cf7c!important}
.records .record-grid .record-card .rank strong{background:linear-gradient(180deg,#fffbe8,#f3d58d 45%,#c99a3e);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none!important;filter:drop-shadow(0 3px 6px #0006)}
.records .record-grid .record-card .rank strong small{-webkit-text-fill-color:#f5dfae}
.records .record-grid .record-card .record-ribbon{background:linear-gradient(90deg,#a77a2b,#f3d58d,#a77a2b)!important;color:#3d2606!important}
.records .record-partnership{font:600 clamp(20px,2.4vw,32px)/1.8 'Yu Mincho','Hiragino Mincho ProN',serif!important;letter-spacing:.06em;text-align:center;color:#3f280a!important;margin:56px auto 18px!important;max-width:none!important}
.records .record-partnership strong{color:#7f5014;border-bottom:2px solid #a77a2b}
.cx-call-logo{width:150px!important;aspect-ratio:auto!important;object-fit:contain!important;border:0!important;filter:drop-shadow(0 6px 18px #0008)}
@media(max-width:760px){.cx-rec-title{gap:6px}.cx-rec-note span{padding:0 8px}.records .record-partnership{text-align:left}}

/* ---------- 参考サイト要素：金箔の極太「No.1」（Rank-Quest/チラシ） ---------- */
.cx-rec-no-wrap{display:inline-flex;align-items:flex-end;gap:.15em;position:relative}
.cx-rec-no-wrap:before{content:"";position:absolute;inset:8% -6% 2% -4%;z-index:-1;opacity:.5;
  background:linear-gradient(172deg,transparent 18%,#8a5f1a55 19%,#c99a3e88 30%,transparent 31%),linear-gradient(176deg,transparent 46%,#a77a2b66 47%,#e9c26999 60%,transparent 61%),linear-gradient(170deg,transparent 70%,#8a5f1a44 71%,#c99a3e77 80%,transparent 81%);filter:blur(.6px);transform:skewX(-12deg)}
.cx-rec-no{font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif!important;font-weight:900!important;letter-spacing:-.01em!important;
  background-image:linear-gradient(100deg,#6e4410 0%,#b8862f 18%,#f3d58d 30%,#fff7d4 40%,#d9b569 50%,#8a5f1a 62%,#e9c269 76%,#fff1b4 86%,#a77a2b 100%)!important;
  filter:drop-shadow(0 2px 0 #fff3c4) drop-shadow(0 6px 10px #5a3a0a55)!important}
.cx-rec-no b{position:relative;font-family:'Noto Serif JP',Georgia,serif!important;font-weight:900;font-size:1.3em;margin-left:.08em}
.cx-no-crown{position:absolute;right:-.05em;top:-.42em;width:.62em;transform:rotate(14deg);filter:drop-shadow(0 3px 6px #5a3a0a66)}
.cx-laurel{width:clamp(30px,4.4vw,64px);color:#a77a2b;align-self:center;filter:drop-shadow(0 2px 0 #fff1bc)}
.cx-laurel.r{transform:scaleX(-1)}
.record-card .cx-card-crown{display:block;width:84px;margin:-6px auto 10px;filter:drop-shadow(0 4px 10px #0007)}
/* ---------- 参考サイト要素：巨大セリフ英字＋日本語の添え書き（TOWERZ） ---------- */
.cx-display{display:flex;align-items:flex-end;gap:clamp(14px,3vw,40px);margin:0 0 48px;pointer-events:none}
.cx-display .ja{order:0;margin:0 0 .9em;font:600 clamp(13px,1.4vw,18px)/1.9 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.08em;text-align:right;white-space:nowrap;color:inherit;opacity:.85}
.cx-display strong{display:flex;flex-direction:column;font:700 clamp(58px,11vw,170px)/.86 'Cormorant Garamond','Times New Roman',serif;letter-spacing:-.01em;
  background:linear-gradient(105deg,#14305c 0%,#1d3f7a 40%,#3a5fa8 52%,#1d3f7a 64%,#14305c 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:cxGold 9s linear infinite}
.cx-display strong span:last-child{margin-left:.5em}
.cx-support .cx-display strong,.company .cx-display strong{background-image:linear-gradient(105deg,#6b4a17 0%,#b8862f 22%,#f9e7a8 38%,#c99a3e 52%,#fff3c4 66%,#9a6d22 84%,#6b4a17 100%)}
.contact .cx-display{grid-column:1/-1}
@media(max-width:760px){.cx-display{flex-direction:column-reverse;align-items:flex-start;gap:10px}.cx-display .ja{text-align:left;white-space:normal;margin:0}.cx-display strong span:last-child{margin-left:.3em}.cx-rec-no-wrap{flex-wrap:nowrap}}

/* =========== OPENING v3：扉が割れて開く ============ */
.loading-screen.cx-intro{perspective:1600px}
.cx-door{overflow:hidden;transform-style:preserve-3d;backface-visibility:hidden;transition:transform 1.15s cubic-bezier(.9,0,.12,1),filter 1s;
  background:radial-gradient(ellipse 80% 70% at var(--gx,100%) 50%,#20402f 0%,#0c1d17 50%,#050c09 100%)}
.cx-door.l{--gx:100%;transform-origin:0 50%}.cx-door.r{--gx:0%;transform-origin:100% 50%}
.cx-door:before{inset:22px;border:1px solid #d7b67a40;box-shadow:inset 0 0 0 8px #0000,inset 0 0 0 9px #d7b67a1c}
.cx-door-logo{--w:min(56vw,430px);position:absolute;top:50%;width:var(--w);transform:translateY(-62%);opacity:0;filter:brightness(.6) blur(6px);transition:opacity .8s,filter .9s}
.cx-door.l .cx-door-logo{left:calc(100% - var(--w) / 2)}
.cx-door.r .cx-door-logo{left:calc(var(--w) / -2)}
.cx-door-logo img{width:100%;display:block;filter:drop-shadow(0 12px 40px #000c)}
.cx-intro.s3 .cx-door-logo{opacity:1;filter:none}
.cx-intro.charge .cx-door-logo{filter:brightness(1.35) drop-shadow(0 0 30px #ffe9a6aa)}
.cx-intro.charge .cx-beam{opacity:1;transition:opacity .4s}
.cx-intro.charge .cx-stage{animation:cxRumble .35s linear infinite}
@keyframes cxRumble{0%,100%{transform:none}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,1px)}}
.cx-intro.open .cx-door.l{transform:translateX(-30%) rotateY(78deg);filter:brightness(1.6)}
.cx-intro.open .cx-door.r{transform:translateX(30%) rotateY(-78deg);filter:brightness(1.6)}
.cx-intro.open .cx-door{transition:transform 1.1s cubic-bezier(.85,0,.15,1),filter .6s}
.cx-summit{opacity:0;transform:translateY(calc(min(56vw,430px) * .42));pointer-events:none}
.cx-summit span{display:block;font:900 clamp(30px,5.4vw,72px)/1 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.18em;padding-left:.18em;white-space:nowrap;
  background:linear-gradient(100deg,#8a6526,#f3d58d 30%,#fff7dc 45%,#d9b569 60%,#a77a2b);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 20px #000c);clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1)}
.cx-intro.s4 .cx-summit{opacity:1}
.cx-intro.s4 .cx-summit span{clip-path:inset(0 0 0 0);animation:cxGold 3s linear infinite}
.cx-intro.open .cx-summit{opacity:0;transform:translateY(calc(min(56vw,430px) * .42)) scale(1.5);filter:blur(6px);transition:all .7s}
.cx-rays{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.cx-intro.burst .cx-flash{animation:cxFlash2 1s ease-out forwards}
@keyframes cxFlash2{0%{opacity:0}10%{opacity:1;background:radial-gradient(ellipse at center,#fff,#fff6dccc 40%,#ffe9a655 75%)}100%{opacity:0}}
.cx-intro.bang{animation:cxBang .7s cubic-bezier(.3,.7,.4,1)}
@keyframes cxBang{0%{transform:scale(1.03)}12%{transform:translate(-14px,9px) scale(1.03)}24%{transform:translate(12px,-10px)}38%{transform:translate(-8px,-6px)}55%{transform:translate(5px,4px)}75%{transform:translate(-2px,2px)}100%{transform:none}}
.cx-replay{position:fixed;left:max(14px,env(safe-area-inset-left,0px));bottom:max(14px,env(safe-area-inset-bottom,0px));z-index:60;border:1px solid #d7b67a;background:#0c1d17e6;color:#f5dfae;font:10px Arial;letter-spacing:.2em;padding:9px 14px;cursor:pointer;backdrop-filter:blur(6px)}
.cx-replay:hover{background:#d7b67a;color:#10130f}

/* =========== RECORDS 微調整 =========== */
.records .record-partnership strong{color:#1a1a1a!important;border:0!important}

/* =========== MISSION：感動の写真を大きく =========== */
.mission:before{background:linear-gradient(90deg,#fbf3e0f5 0%,#fbf3e0e6 30%,#fbf3e080 48%,#fbf3e000 66%),url('assets/family-sunset.jpg') 60% center/cover!important;animation:cxKen 22s ease-in-out infinite alternate}
@keyframes cxKen{from{transform:scale(1)}to{transform:scale(1.08)}}
@media(max-width:900px){.mission:before{background:linear-gradient(0deg,#fbf3e0f2 0%,#fbf3e0d0 55%,#fbf3e030 85%),url('assets/family-sunset.jpg') 60% center/cover!important}}
.mission .mission-logo img{background:transparent!important;box-shadow:none!important;border:0!important;mix-blend-mode:normal!important;filter:drop-shadow(0 10px 24px #6b4a1755)}

/* =========== VALUES：VOICE OF CUSTOMER 風に巨大英字 =========== */
.cx-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;margin:0 0 70px;height:clamp(180px,26vw,360px)}
.cx-strip span{background:var(--img) center/cover;filter:saturate(.9);transform:translateY(30px);opacity:0;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity 1s}
.cx-strip.visible span,body:not(.motion) .cx-strip span{transform:none;opacity:1}
.cx-strip span:nth-child(2){transition-delay:.15s}.cx-strip span:nth-child(3){transition-delay:.3s}
.values .value-grid{display:flex!important;flex-direction:column;gap:0!important}
.values .value-card{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:5%;align-items:end;background:none!important;border:0!important;border-top:1px solid #d7b67a44!important;padding:56px 0 46px!important;box-shadow:none!important;transform:none}
.values .value-card .value-number{grid-column:1;grid-row:1;font:400 14px Georgia,serif!important;letter-spacing:.3em;color:#d7b67a!important;position:static!important}
.values .value-card .value-en{grid-column:1;grid-row:2/4;align-self:start;margin:6px 0 0!important;font:700 clamp(54px,9.5vw,150px)/.88 'Cormorant Garamond','Times New Roman',serif!important;letter-spacing:-.01em!important;color:#f5ead0!important;
  background:linear-gradient(105deg,#f5ead0 0%,#fff 35%,#f3d58d 50%,#fff 65%,#f5ead0 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:cxGold 7s linear infinite}
.values .value-card h3{grid-column:2;grid-row:1/3;font-size:clamp(24px,2.6vw,36px)!important;line-height:1.5!important;color:#fff3d4!important;margin:0 0 14px!important}
.values .value-card p:not(.value-en){grid-column:2;font-size:14px;line-height:2;color:#d9d1bd}
.values .value-card:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.values .value-card:nth-child(even) .value-number,.values .value-card:nth-child(even) .value-en{grid-column:2;text-align:right}
.values .value-card:nth-child(even) h3,.values .value-card:nth-child(even) p:not(.value-en){grid-column:1}
.motion .values .value-card.reveal{opacity:0;transform:translateX(-80px);transition:opacity 1s,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.motion .values .value-card.reveal:nth-child(even){transform:translateX(80px)}
.motion .values .value-card.reveal.visible{opacity:1;transform:none}
@media(max-width:860px){.values .value-card,.values .value-card:nth-child(even){grid-template-columns:1fr!important}.values .value-card>*{grid-column:1!important;grid-row:auto!important;text-align:left!important}.cx-strip{grid-template-columns:1fr 1fr;height:auto}.cx-strip span{height:150px}.cx-strip span:first-child{grid-column:1/-1}}

/* =========== FOUR SUPPORTS v3（TOWERZ風 大写真スライド） =========== */
.cx-support{padding:110px 0 110px!important}
.cx-s-top{position:relative;padding:0 7%;margin-bottom:70px;min-height:clamp(320px,38vw,520px);display:flex;align-items:center}
.cx-s-title{position:relative;z-index:1;margin:0;font:900 clamp(54px,8.6vw,138px)/1.18 'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif!important;letter-spacing:.04em;color:#1f2a24}
.cx-s-title em{font-style:normal;position:relative;background:linear-gradient(100deg,#6e4410 0%,#b8862f 18%,#f3d58d 32%,#fff7d4 42%,#d9b569 52%,#8a5f1a 66%,#e9c269 80%,#a77a2b 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:cxGold 6s linear infinite}
.cx-s-title em:after{content:"";position:absolute;left:-4%;right:-6%;top:28%;bottom:8%;z-index:-1;transform:skewX(-14deg) rotate(-2deg);opacity:.35;background:linear-gradient(176deg,transparent 10%,#c99a3e 12%,#e9c269 40%,transparent 42%),linear-gradient(172deg,transparent 50%,#a77a2b 52%,#f3d58d 75%,transparent 77%)}
.cx-circle{position:absolute;border-radius:50%;overflow:hidden;box-shadow:0 30px 70px #3a2d1440}
.cx-circle img{width:100%;height:100%;object-fit:cover;display:block}
.cx-s-top .cx-circle{right:6%;top:50%;width:clamp(240px,34vw,520px);aspect-ratio:1;margin-top:calc(clamp(240px,34vw,520px) / -2)}
.company{position:relative;overflow:hidden}
.company .cx-circle.co{right:-6%;top:70px;width:clamp(200px,30vw,440px);aspect-ratio:1;opacity:.95}
.cx-pop{transform:scale(.2);opacity:0;transition:transform 1.2s cubic-bezier(.2,1.6,.35,1),opacity .5s}
.cx-pop.in{transform:scale(1);opacity:1}
.cx-pop img{transform:scale(1.4);transition:transform 2.2s cubic-bezier(.2,.8,.2,1)}
.cx-pop.in img{transform:scale(1)}
.cx-gal{position:relative}
.cx-gal-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:0 7%;margin-bottom:22px}
.cx-gal-tabs button{border:1px solid #cdb68a;background:#fff;color:#26302a;padding:11px 18px;font:600 14px 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.06em;cursor:pointer;transition:all .3s}
.cx-gal-tabs button span{font:12px Georgia,serif;color:#a77a2b;margin-right:10px}
.cx-gal-tabs button[aria-pressed="true"]{background:#1d3a33;color:#f7ecd0;border-color:#1d3a33}
.cx-gal-tabs button[aria-pressed="true"] span{color:#e9cf92}
.cx-gal-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:7%;padding:0 7% 10px;scrollbar-width:none;scroll-behavior:smooth}
.cx-gal-track::-webkit-scrollbar{display:none}
.cx-gp{flex:0 0 min(80vw,1080px);height:min(74vh,680px);min-height:460px;position:relative;scroll-snap-align:start;overflow:hidden;background:#111;color:#fff}
.cx-gp .ph{position:absolute;inset:0;background:var(--img) center/cover;transform:scale(1.12);transition:transform 2.4s cubic-bezier(.2,.8,.2,1)}
.cx-gp.cur .ph{transform:scale(1)}
.cx-gp:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0a1410f0 0%,#0a1410b0 38%,#0a141000 70%),linear-gradient(90deg,#0a141088,#0a141000 60%)}
.cx-gp .cp{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(24px,4vw,56px);display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:28px;align-items:end;max-width:900px}
.cx-gp .n{grid-row:1/5;font:400 clamp(90px,12vw,190px)/.8 'Cormorant Garamond',Georgia,serif;color:transparent;-webkit-text-stroke:1px #f3d58dcc}
.cx-gp .en{margin:0;font:11px Arial;letter-spacing:.3em;color:#e9cf92}
.cx-gp h3{margin:8px 0 12px;font:900 clamp(26px,3.4vw,46px)/1.4 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.05em;color:#fff7e0;text-shadow:0 4px 24px #0008}
.cx-gp .d{margin:0 0 18px;font-size:15px;line-height:2;color:#eee5cf;max-width:40em}
.cx-gp .act{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.cx-gp .cx-link{color:#f5dfae;border-color:#f5dfae}
.cx-gp .cp>*{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .8s cubic-bezier(.2,.8,.2,1)}
.cx-gp.cur .cp>*{opacity:1;transform:none}
.cx-gp.cur .cp>*:nth-child(3){transition-delay:.1s}.cx-gp.cur .cp>*:nth-child(4){transition-delay:.2s}.cx-gp.cur .cp>*:nth-child(5){transition-delay:.3s}
.cx-gal-nav{display:flex;align-items:center;gap:16px;padding:18px 7% 0;font:13px Georgia,serif;color:#26302a;letter-spacing:.15em}
.cx-gal-nav button{width:48px;height:48px;border-radius:50%;border:1px solid #a77a2b;background:#fff;color:#1d3a33;font-size:16px;cursor:pointer;transition:all .3s}
.cx-gal-nav button:hover{background:#1d3a33;color:#f7ecd0}
.cx-gal-bar{flex:1;max-width:360px;height:2px;background:#cdb68a66;position:relative}
.cx-gal-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:#a77a2b;transition:width .4s}
.cx-s-call{margin:80px 7% 0!important;background:linear-gradient(120deg,#fffaf0,#f6e9c8 55%,#ecd7a6)!important;color:#26302a!important;border:1px solid #c99a3e;box-shadow:0 24px 60px #6b4a1726}
.cx-s-call:before{border-color:#c99a3e66!important}
.cx-s-call p{color:#3d463f!important;font-size:15px!important}
.cx-s-call p strong{color:#1f2a24!important;font-size:26px!important}
.cx-s-call a.tel{color:#1d3a33!important;font-size:clamp(28px,3vw,40px)!important;display:block;margin-bottom:10px}
.cx-s-call .cx-call-logo{filter:drop-shadow(0 6px 12px #6b4a1740)!important}
@media(max-width:860px){
  .cx-s-top{flex-direction:column;align-items:flex-start;gap:24px;min-height:0}
  .cx-s-top .cx-circle{position:relative;right:auto;top:auto;margin:0 0 0 auto;width:62vw}
  .cx-gp{flex-basis:86vw;height:auto;min-height:560px}
  .cx-gp .cp{grid-template-columns:1fr}.cx-gp .n{grid-row:auto;font-size:72px}
  .cx-gp .d{font-size:14px}
  .company .cx-circle.co{position:relative;right:auto;top:auto;width:56vw;margin:0 0 30px auto;display:block}
}
@media(prefers-reduced-motion:reduce){.cx-pop,.cx-pop img,.cx-gp .ph,.cx-gp .cp>*{transform:none!important;opacity:1!important}.mission:before{animation:none}}

/* =========== OPENING v4：ライブ会場 =========== */
.cx-lights{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen}
.cx-lights i{position:absolute;bottom:-8vh;width:26vw;height:140vh;transform-origin:50% 100%;opacity:0;
  background:linear-gradient(0deg,#fff6dc 0%,#ffe9a6aa 8%,#f3d58d44 40%,transparent 85%);clip-path:polygon(46% 100%,54% 100%,100% 0,0 0);filter:blur(6px);transition:opacity .5s}
.cx-lights i:nth-child(1){left:-6vw;--a:-34deg;--b:18deg}
.cx-lights i:nth-child(2){left:8vw;--a:-12deg;--b:26deg}
.cx-lights i:nth-child(3){left:24vw;--a:-28deg;--b:8deg}
.cx-lights i:nth-child(4){right:24vw;--a:28deg;--b:-8deg}
.cx-lights i:nth-child(5){right:8vw;--a:12deg;--b:-26deg}
.cx-lights i:nth-child(6){right:-6vw;--a:34deg;--b:-18deg}
.cx-intro.lights .cx-lights i{opacity:.75;animation:cxSweepLight 1.6s cubic-bezier(.45,0,.55,1) infinite alternate}
.cx-lights i:nth-child(even){animation-delay:-.8s!important}
@keyframes cxSweepLight{from{transform:rotate(var(--a))}to{transform:rotate(var(--b))}}
.cx-intro.converge .cx-lights i{animation:none;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .6s;opacity:.55}
.cx-intro.converge .cx-lights i:nth-child(1){transform:rotate(38deg)}.cx-intro.converge .cx-lights i:nth-child(2){transform:rotate(26deg)}.cx-intro.converge .cx-lights i:nth-child(3){transform:rotate(12deg)}
.cx-intro.converge .cx-lights i:nth-child(4){transform:rotate(-12deg)}.cx-intro.converge .cx-lights i:nth-child(5){transform:rotate(-26deg)}.cx-intro.converge .cx-lights i:nth-child(6){transform:rotate(-38deg)}
.cx-haze{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 70% 40% at 50% 100%,#f3d58d22,transparent 70%),radial-gradient(ellipse 50% 35% at 50% 50%,#ffe9a614,transparent 70%);opacity:0;transition:opacity 1s}
.cx-intro.lights .cx-haze{opacity:1}
.cx-lasers{position:absolute;inset:0;z-index:2;pointer-events:none}
.cx-lasers i{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#fff1b4,#fff,#fff1b4,transparent);box-shadow:0 0 12px 2px #ffe9a6aa;transform:scaleX(0);opacity:0}
.cx-lasers i:nth-child(1){top:30%}.cx-lasers i:nth-child(2){top:50%}.cx-lasers i:nth-child(3){top:70%}
.cx-intro.laser .cx-lasers i{animation:cxLaser .9s cubic-bezier(.7,0,.2,1) forwards}
.cx-intro.laser .cx-lasers i:nth-child(2){animation-delay:.08s}.cx-intro.laser .cx-lasers i:nth-child(3){animation-delay:.16s}
@keyframes cxLaser{0%{transform:scaleX(0);opacity:1}55%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.cx-intro .cx-one{opacity:0}
.cx-intro.s1 .cx-one{opacity:1}
.cx-intro.s3 .cx-one{opacity:0}
.cx-intro.strobe .cx-flash{animation:cxStrobe .4s steps(1) 1}
@keyframes cxStrobe{0%{opacity:.85;background:#fff}20%{opacity:0}40%{opacity:.7;background:#fff6dc}60%{opacity:0}80%{opacity:.6;background:#fff}100%{opacity:0}}
.cx-intro.charge .cx-lights i{opacity:1;filter:blur(3px) brightness(1.5)}
.cx-intro.open .cx-lights,.cx-intro.open .cx-haze,.cx-intro.open .cx-lasers{opacity:0;transition:opacity .4s}
.cx-confetti{position:fixed;inset:0;width:100%;height:100%;z-index:101;pointer-events:none}

/* =========== RECORDS：その実績を、あなたの不動産に（握手） =========== */
.cx-rec-sub{display:inline-flex!important;align-items:center;gap:.4em;font-size:clamp(32px,4.6vw,66px)!important;line-height:1.35!important;color:#2b1c06!important}
.cx-hand{width:1.6em;height:1.6em;color:#8a5f1a;flex:none;filter:drop-shadow(0 2px 0 #fff1bc)}
.records .record-partnership{font-size:clamp(24px,3vw,42px)!important;color:#141414!important;line-height:1.75!important}
.records .record-partnership strong{color:#141414!important}

/* =========== MISSION =========== */
.mission:before{background:linear-gradient(90deg,#fbf3e0f5 0%,#fbf3e0e0 30%,#fbf3e070 50%,#fbf3e000 68%),url('assets/family-father.jpg') 65% 35%/cover!important}
@media(max-width:900px){.mission:before{background:linear-gradient(0deg,#fbf3e0f2 0%,#fbf3e0cc 55%,#fbf3e020 88%),url('assets/family-father.jpg') 65% 30%/cover!important}}
.mission .mission-logo img{border-radius:0!important;aspect-ratio:auto!important;object-fit:contain!important;height:auto!important;transform:none!important}
.mission .mission-logo:before,.mission .mission-logo:after{display:none!important}
.mission h2.cx-zoom{font-size:clamp(36px,5vw,76px)!important;line-height:1.55!important;font-family:'Noto Serif JP','Yu Mincho',serif;font-weight:900;color:#3f280a!important}
.vision h2.cx-zoom{font-size:clamp(44px,6.6vw,104px)!important;line-height:1.45!important;font-family:'Noto Serif JP','Yu Mincho',serif;font-weight:900}
.cx-zoom{transform:scale(.55);opacity:0;transition:transform 1.1s cubic-bezier(.2,1.5,.35,1),opacity .6s;transform-origin:left center}
.cx-zoom.in{transform:none;opacity:1}

/* =========== VALUES：握手の背景・はみ出し修正・ポップアップ =========== */
.values{background:linear-gradient(180deg,#0b1d18e8,#0b1d18cc 40%,#0b1d18ee),url('assets/trust-global-executives.jpg') center/cover fixed!important}
.values .value-card{grid-template-columns:1fr!important;row-gap:10px}
.values .value-card>*{grid-column:1!important;grid-row:auto!important;text-align:left!important}
.values .value-card:nth-child(even)>*{text-align:right!important}
.values .value-card .value-en{font-size:clamp(40px,8vw,132px)!important;white-space:nowrap;line-height:1!important}
.values .value-card p:not(.value-en){max-width:46em}
.values .value-card:nth-child(even) p:not(.value-en){margin-left:auto}
.motion .values .value-card.reveal{transform:scale(.7) translateY(40px)!important;opacity:0;transition:transform 1.1s cubic-bezier(.2,1.4,.35,1),opacity .6s!important}
.motion .values .value-card.reveal.visible{transform:none!important;opacity:1}

/* =========== SUPPORTS：自動で流れるマーキー =========== */
.cx-gal-track{overflow:hidden!important;scroll-snap-type:none!important;padding:0!important}
.cx-gal-row{display:flex;gap:18px;width:max-content;animation:cxMarquee 48s linear infinite}
.cx-gal:hover .cx-gal-row{animation-play-state:paused}
@keyframes cxMarquee{to{transform:translateX(calc(-50% - 9px))}}
.cx-gp{flex:0 0 min(62vw,760px)!important;height:min(70vh,620px)!important}
.cx-gp .ph{transform:none!important}
.cx-gp:hover .ph{transform:scale(1.06)!important;transition:transform 1.2s}
.cx-gp .cp>*{opacity:1!important;transform:none!important}
@media(max-width:860px){.cx-gp{flex-basis:84vw!important;height:auto!important;min-height:600px}.cx-gal-row{animation-duration:34s}}
@media(prefers-reduced-motion:reduce){.cx-gal-track{overflow-x:auto!important}.cx-gal-row{animation:none}}

/* =========== 代表挨拶：高級感 =========== */
.cx-ceo{display:flex;align-items:baseline;gap:22px;margin-bottom:44px}
.cx-ceo span{font:700 clamp(46px,7vw,110px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.02em;background:linear-gradient(105deg,#6b4a17,#b8862f 25%,#f9e7a8 40%,#c99a3e 55%,#9a6d22 80%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:cxGold 8s linear infinite}
.cx-ceo b{font:600 18px 'Yu Mincho',serif;letter-spacing:.3em;color:#40523f}
.founder{background:radial-gradient(ellipse at 80% 0,#f6ecd2,transparent 55%),linear-gradient(130deg,#fffdf7,#f3efe3 75%)!important}
.founder .portrait-scene{border:1px solid #c99a3e!important;outline:1px solid #c99a3e66;outline-offset:10px;box-shadow:0 40px 80px #3a2d1430!important}
.founder .signature{border-top:1px solid #c99a3e;margin-top:30px}
.founder .signature>span{font:600 14px 'Yu Mincho',serif!important;letter-spacing:.3em!important;color:#8a5f1a!important}
.founder .signature strong{font:900 clamp(38px,4vw,54px) 'Noto Serif JP','Yu Mincho',serif!important;letter-spacing:.2em!important;color:#1f2a24!important}
.founder .signature small{font:12px Georgia,serif!important;letter-spacing:.4em!important;color:#a77a2b!important}

/* =========== 会社概要：札幌の名所が入れ替わる丸 =========== */
.cx-rot img{position:absolute;inset:0;opacity:0;transition:opacity 1.2s,transform 4s ease-out;transform:scale(1.12)}
.cx-rot img.on{opacity:1;transform:scale(1)}
.cx-rot .cap{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);z-index:1;background:#0c1d17cc;color:#f5dfae;font:600 13px 'Yu Mincho',serif;letter-spacing:.2em;padding:7px 16px;white-space:nowrap}

/* =========== OPENING v5：コーポレート・ブランドフィルム =========== */
.loading-screen.op{background:transparent!important;display:block;overflow:hidden;perspective:none}
.op-door{position:absolute;top:0;bottom:0;width:50.1%;z-index:0;overflow:hidden;background:radial-gradient(ellipse 90% 80% at var(--gx) 50%,#14241e 0%,#0a1411 45%,#050a08 100%);transition:transform 1s cubic-bezier(.86,0,.07,1)}
.op-door.l{left:0;--gx:100%}.op-door.r{right:0;--gx:0%}
.op-door:after{content:"";position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.op-door-logo{--w:min(46vw,380px);position:absolute;top:50%;width:var(--w);transform:translateY(-64%);opacity:0;transition:opacity .9s}
.op-door.l .op-door-logo{left:calc(100% - var(--w) / 2)}.op-door.r .op-door-logo{left:calc(var(--w) / -2)}
.op-door-logo img{width:100%;display:block}
.op-door-logo:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 42%,#fffbe8cc 50%,transparent 58%);background-size:300% 100%;background-position:120% 0;mix-blend-mode:screen;-webkit-mask:url('assets/crown-logo.png') center/100% 100% no-repeat;mask:url('assets/crown-logo.png') center/100% 100% no-repeat}
.op-door.r .op-door-logo:after{background-position:170% 0}
.op.p4 .op-door-logo{opacity:1}
.op.p4 .op-door-logo:after{transition:background-position 1.6s .25s cubic-bezier(.4,0,.2,1);background-position:-60% 0}
.op-seam{position:absolute;left:50%;top:0;bottom:0;width:1px;z-index:1;background:linear-gradient(180deg,transparent,#e9cf92 25%,#fff 50%,#e9cf92 75%,transparent);transform:scaleY(0);opacity:.8;transition:transform 1.2s cubic-bezier(.7,0,.2,1)}
.op.p5 .op-seam{transform:scaleY(1);box-shadow:0 0 18px 2px #f3d58d99}
.op.open .op-door.l{transform:translateX(-100%)}.op.open .op-door.r{transform:translateX(100%)}
.op.open .op-seam{opacity:0;transition:opacity .3s}
.op-bloom{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;background:radial-gradient(ellipse 30% 60% at 50% 50%,#fffaf0 0%,#ffeec2aa 35%,transparent 70%)}
.op.open .op-bloom{animation:opBloom 1.1s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes opBloom{0%{opacity:0;transform:scaleX(.05)}18%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(3)}}
.op-stage{position:absolute;inset:0;z-index:2;pointer-events:none;color:#efe3c4;transition:transform 5.5s linear}
.op.p1 .op-stage{transform:scale(1.035)}
.op-grid{position:absolute;inset:0;opacity:0;transition:opacity 1s;
  background-image:linear-gradient(#d7b67a14 1px,transparent 1px),linear-gradient(90deg,#d7b67a14 1px,transparent 1px);background-size:80px 80px;background-position:center;
  -webkit-mask:radial-gradient(ellipse 60% 55% at 50% 55%,#000 30%,transparent 80%);mask:radial-gradient(ellipse 60% 55% at 50% 55%,#000 30%,transparent 80%)}
.op.p1 .op-grid{opacity:1}
.op-meta{position:absolute;top:max(34px,env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:6px;font:10px/1.4 Arial,sans-serif;letter-spacing:.32em;color:#a8956c;opacity:0;transition:opacity .8s .2s}
.op-meta b{font:600 13px Georgia,serif;letter-spacing:.3em;color:#e9cf92}
.op-meta.tl{left:6%}.op-meta.tr{right:6%;flex-direction:row;align-items:baseline;gap:10px}
.op-meta.tr b{font:400 34px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.05em;color:#fff4d6;font-variant-numeric:tabular-nums}
.op.p1 .op-meta{opacity:1}
.op.p3 .op-meta,.op.open .op-meta{opacity:0;transition:opacity .5s}
.op-chart{position:absolute;left:50%;top:52%;width:min(76vw,760px);height:min(46vh,380px);transform:translate(-50%,-50%);display:flex;align-items:flex-end;justify-content:space-around;border-bottom:1px solid #d7b67a66;transition:opacity .8s,transform 1s cubic-bezier(.6,0,.2,1),filter .8s}
.op-bar{position:relative;width:12%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.op-bar i{display:block;width:100%;height:var(--h);transform:scaleY(0);transform-origin:bottom;background:linear-gradient(180deg,#fff1c2 0%,#d9b569 18%,#a77a2b 70%,#6e4a16 100%);box-shadow:0 0 30px #d7b67a33;transition:transform .7s cubic-bezier(.2,.9,.25,1);transition-delay:calc(var(--i) * .17s)}
.op-bar .v{position:absolute;bottom:calc(var(--h) + 10px);font:500 clamp(18px,2.2vw,26px)/1 'Cormorant Garamond',Georgia,serif;color:#fff4d6;opacity:0;transform:translateY(8px);transition:all .5s;transition-delay:calc(var(--i) * .17s + .45s)}
.op-bar .v sup{font-size:.55em}
.op-bar .l{position:absolute;top:calc(100% + 12px);font:10px/1.5 Arial,sans-serif;letter-spacing:.14em;color:#a8956c;text-align:center;white-space:nowrap;opacity:0;transition:opacity .5s;transition-delay:calc(var(--i) * .17s)}
.op.p1 .op-bar i{transform:scaleY(1)}
.op.p1 .op-bar .v{opacity:1;transform:none}
.op.p1 .op-bar .l{opacity:1}
.op-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.op-line polyline{fill:none;stroke:#fff1c2;stroke-width:.5;vector-effect:non-scaling-stroke;stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1s cubic-bezier(.6,0,.2,1)}
.op.p2 .op-line polyline{stroke-dashoffset:0;stroke-width:1.4}
.op-peak{position:absolute;right:9%;top:6%;width:12px;height:12px;margin:-6px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 #fff1c2;opacity:0}
.op.p2 .op-peak{opacity:1;animation:opPeak 1.4s .6s ease-out}
@keyframes opPeak{0%{box-shadow:0 0 0 0 #fff1c2cc}100%{box-shadow:0 0 0 60px #fff1c200}}
.op.p3 .op-chart{opacity:0;transform:translate(-50%,-50%) scale(.86);filter:blur(6px)}
.op-title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;transition:opacity .6s}
.op-title .k{font:11px Arial,sans-serif;letter-spacing:.6em;padding-left:.6em;color:#c9a95f}
.op-title .no{font:500 clamp(120px,22vw,280px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.6em;margin:.06em 0 .02em;padding-left:.6em;filter:blur(12px);
  background:linear-gradient(100deg,#8a6526 0%,#d9b569 28%,#fff7dc 46%,#e8c777 58%,#a77a2b 82%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  transition:letter-spacing 1.6s cubic-bezier(.2,.8,.2,1),padding 1.6s cubic-bezier(.2,.8,.2,1),filter 1s,background-position 2s}
.op-title .ja{font:500 clamp(13px,1.5vw,17px) 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.32em;color:#efe3c4;opacity:0;transition:opacity .8s .6s}
.op.p3 .op-title{opacity:1}
.op.p3 .op-title .no{letter-spacing:-.01em;padding-left:0;filter:none;background-position:-40% 0}
.op.p3 .op-title .ja{opacity:1}
.op.p4 .op-title{opacity:0;transition:opacity .5s}
.op-brand{position:absolute;left:0;right:0;top:calc(50% + min(46vw,380px) * .3);display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;transition:opacity .9s .5s}
.op-brand .ja{font:700 clamp(24px,3.6vw,46px)/1 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.3em;padding-left:.3em;color:#f5e6c0}
.op-brand .en{font:10px Arial,sans-serif;letter-spacing:.45em;padding-left:.45em;color:#a8956c}
.op.p4 .op-brand{opacity:1}
.op.open .op-brand{opacity:0;transition:opacity .35s}
.op #intro-skip{position:absolute;z-index:6;top:auto;bottom:max(26px,env(safe-area-inset-bottom,0px));right:5%;font:10px Arial;letter-spacing:.25em;color:#c9b88f;border:0;border-bottom:1px solid #c9b88f66;background:none;padding:8px 0;cursor:pointer}
.op.open #intro-skip{opacity:0}
.cx-reveal .hero-slides{animation:cxHeroIn 2.2s cubic-bezier(.16,.8,.2,1) both}
@keyframes cxHeroIn{from{transform:scale(1.14);filter:brightness(1.25)}to{transform:none;filter:none}}
@media(max-width:760px){.op-meta.tr{display:none}.op-bar .l{font-size:8px;letter-spacing:.05em}.op-chart{height:38vh}}

/* =========== v6 調整 =========== */
.cx-rec-sub{font-size:clamp(38px,5.6vw,84px)!important;gap:.25em!important}
.cx-hand{width:2.1em!important;height:2.1em!important;order:2}
.records .record-partnership{font-size:clamp(28px,3.6vw,52px)!important}
.mission .mvv-lead{font:700 clamp(22px,2.6vw,38px)/1.8 'Noto Serif JP','Yu Mincho',serif!important;color:#3f280a!important;letter-spacing:.04em}
.vision .vision-content>p:not(.eyebrow){font:700 clamp(22px,2.5vw,36px)/1.8 'Noto Serif JP','Yu Mincho',serif!important;letter-spacing:.04em}
/* VALUE：スクロールでボーン、ボーン、ボーン */
.motion .values .value-card.reveal{transform:scale(.4)!important;opacity:0;filter:blur(8px);transition:transform 1s cubic-bezier(.18,1.55,.4,1),opacity .5s,filter .6s!important}
.motion .values .value-card.reveal.visible{transform:none!important;opacity:1;filter:none}
/* サポート：回転ビュッフェ風 */
.cx-gal-row{animation:none!important;padding:20px 0}
.cx-gp{flex-basis:min(44vw,560px)!important;height:min(66vh,580px)!important;transition:transform .6s,filter .6s;filter:brightness(.82) saturate(.9)}
.cx-gp.cur{filter:none;transform:scale(1.03)}
.cx-gp .d{font-size:14px!important}
.cx-gp.bon{animation:cxBon .6s cubic-bezier(.2,1.6,.4,1)}
@keyframes cxBon{0%{transform:scale(.9)}100%{transform:scale(1.03)}}
.cx-gal-track{padding-left:7%!important}
@media(max-width:860px){.cx-gp{flex-basis:82vw!important;min-height:600px}}
/* 代表名を少し小さく */
.founder .signature strong{font-size:clamp(28px,2.8vw,38px)!important}
/* 会社概要：王冠の背景 */
.company{background:radial-gradient(ellipse 60% 70% at 85% 40%,#f3e2b6 0%,transparent 60%),linear-gradient(135deg,#fffdf6,#f4ead2)!important}
.cx-co-mark{position:absolute;right:-4%;top:50%;width:min(56vw,720px);transform:translateY(-50%) rotate(-8deg);opacity:.16;pointer-events:none;z-index:0;animation:cxFloat 9s ease-in-out infinite}
.cx-co-mark img{width:100%;display:block}
@keyframes cxFloat{50%{transform:translateY(-53%) rotate(-6deg)}}
.company>*{position:relative;z-index:1}
/* お問い合わせ：相談しやすく */
.contact{background:radial-gradient(ellipse at 0 0,#fffefa,#f6efdd 70%)!important}
.cx-ct h2{font-size:clamp(32px,4vw,56px)!important}
.cx-ct-lead{font:600 clamp(18px,1.9vw,24px)/2 'Yu Mincho','Hiragino Mincho ProN',serif!important;color:#3d463f!important}
.cx-ct-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:24px 0}
.cx-ct-chips li{background:#fff;border:1px solid #cdb68a;border-radius:999px;padding:8px 16px 8px 34px;font-size:14px;position:relative;color:#2c3630}
.cx-ct-chips li:before{content:"";position:absolute;left:14px;top:50%;width:10px;height:6px;margin-top:-5px;border-left:2px solid #a77a2b;border-bottom:2px solid #a77a2b;transform:rotate(-45deg)}
.cx-ct-call{display:flex;flex-direction:column;gap:2px;text-decoration:none;background:linear-gradient(120deg,#1d3a33,#2a5247);color:#f7ecd0;padding:22px 30px;border-radius:14px;box-shadow:0 18px 40px #1d3a3340;max-width:440px;transition:transform .3s}
.cx-ct-call:hover{transform:translateY(-4px)}
.cx-ct-call small{font-size:12px;letter-spacing:.2em;color:#e9cf92}
.cx-ct-call b{font:400 clamp(32px,3.6vw,46px)/1.2 Georgia,serif;letter-spacing:.04em}
.cx-ct-call span{font-size:12px;color:#cdbf9c}
.cx-ct-sub{margin-top:16px;font-size:13px;color:#5e6a61}
.cx-ct-sub a{color:#1d3a33}
#contact-form{background:#fff;border:1px solid #e3d4ae;border-radius:16px;padding:clamp(22px,3vw,40px);box-shadow:0 24px 60px #6b4a1718}
/* 全体：ポップアップを強めに */
.motion .reveal:not(.value-card):not(.cx-s-item){transform:translateY(46px) scale(.9);transition:opacity .8s,transform 1s cubic-bezier(.2,1.35,.4,1)!important}
.motion .reveal.visible:not(.value-card){transform:none}
.editorial-heading.reveal{transform:scale(.5)!important;transform-origin:left center}
.editorial-heading.reveal.visible{transform:none!important}

/* =========== OPENING v6：札幌の碁盤の目が光り、No.1に王冠 =========== */
.loading-screen.sp{background:transparent!important;display:block;overflow:hidden;perspective:none}
.sp-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 55%,#0f2230 0%,#081520 45%,#03080d 100%);transition:opacity .8s}
.sp-plane-wrap{position:absolute;inset:0;perspective:900px;perspective-origin:50% 30%;opacity:0;transition:opacity 1s}
.sp-plane{position:absolute;left:50%;top:58%;width:180vmax;height:180vmax;transform:translate(-50%,-50%) rotateX(64deg) rotateZ(-12deg) scale(.6);transition:transform 4.5s cubic-bezier(.2,.6,.2,1)}
.sp-plane canvas{width:100%;height:100%;display:block}
.sp.g1 .sp-plane-wrap{opacity:1}
.sp.g1 .sp-plane{transform:translate(-50%,-50%) rotateX(58deg) rotateZ(4deg) scale(1)}
.sp-map{position:absolute;left:50%;top:50%;width:min(74vw,600px);transform:translate(-50%,-50%);transform-origin:30.4% 59.1%;transition:transform 1.1s cubic-bezier(.7,0,.2,1),opacity .8s}
.sp-map .hk{fill:none;stroke:#f3d58d;stroke-width:1.6;filter:drop-shadow(0 0 6px #f3d58dcc)}
.sp-map .hk-f{fill:#f3d58d10;opacity:0;transition:opacity .6s}
.sp-map .pin{opacity:0;transition:opacity .3s}
.sp-map .pulse{fill:none;stroke:#fff1c2;stroke-width:1.5;transform-origin:149px 254px;animation:cxPulse 1s ease-out infinite}
.sp-map .dot{fill:#fff}
.sp-map .lbl{font:12px Georgia,serif;letter-spacing:.3em;fill:#f5dfae;opacity:0;transition:opacity .4s}
.sp.m1 .sp-map .hk-f,.sp.m1 .sp-map .pin,.sp.m1 .sp-map .lbl{opacity:1}
.sp.dive .sp-map{transform:translate(-50%,-50%) translate(19.6%,-9.1%) scale(9);opacity:0}
.sp-coord{position:absolute;left:6%;bottom:max(34px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:4px;font:10px Arial,sans-serif;letter-spacing:.35em;color:#9fb0b8;opacity:0;transition:opacity .6s}
.sp-coord b{font:600 15px Georgia,serif;letter-spacing:.4em;color:#f5dfae}
.sp.g1 .sp-coord{opacity:1}
.sp.bang .sp-coord{opacity:0}
.sp-fx{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.sp-hero{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.4vw,18px);pointer-events:none;transition:transform 1s cubic-bezier(.7,0,.25,1),opacity .7s,filter .8s}
.sp-hero .kick{font:11px Arial,sans-serif;letter-spacing:.55em;padding-left:.55em;color:#e9cf92;opacity:0;transform:translateY(10px);transition:all .6s .25s}
.sp-hero .ja{font:600 clamp(14px,1.7vw,20px) 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.32em;padding-left:.32em;color:#f7ecd0;opacity:0;transform:translateY(-10px);transition:all .6s .35s}
.sp.bang .sp-hero .kick,.sp.bang .sp-hero .ja{opacity:1;transform:none}
.sp-no-wrap{display:flex;align-items:center;gap:clamp(4px,1vw,14px)}
.sp-no-box{position:relative}
.sp-no{display:block;font:900 clamp(110px,20vw,270px)/1 'Noto Serif JP','Times New Roman',serif;letter-spacing:-.02em;
  background:linear-gradient(176deg,#fffbe8 0%,#ffeeb0 22%,#e2b75a 46%,#a0701f 56%,#f0cf7e 72%,#fff3c8 88%,#c99a3e 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 #6e4a16) drop-shadow(0 8px 30px #000c) drop-shadow(0 0 40px #f3d58d55);transform:scale(3.4);opacity:0}
.sp-no:after{content:"No.1";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,#ffffffd0 50%,transparent 60%);background-size:300% 100%;background-position:130% 0;-webkit-background-clip:text;background-clip:text;color:transparent}
.sp.bang .sp-no{animation:spNoIn .7s cubic-bezier(.12,.9,.2,1) forwards}
@keyframes spNoIn{0%{transform:scale(3.4);opacity:0;filter:blur(18px) brightness(3)}55%{opacity:1}100%{transform:scale(1);opacity:1;filter:drop-shadow(0 2px 0 #6e4a16) drop-shadow(0 8px 30px #000c) drop-shadow(0 0 40px #f3d58d55)}}
.sp.shine .sp-no:after{transition:background-position 1.2s cubic-bezier(.4,0,.2,1);background-position:-40% 0}
.sp-laurel{width:clamp(44px,7vw,96px);height:auto;color:#e9c269;filter:drop-shadow(0 0 10px #f3d58d66)}
.sp-laurel.r{transform:scaleX(-1)}
.sp-laurel .stem{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:240;stroke-dashoffset:240}
.sp-laurel .lv ellipse{fill:currentColor;opacity:0;transform-box:fill-box;transform-origin:center;scale:.2}
.sp.bang .sp-laurel .stem{transition:stroke-dashoffset .8s .15s cubic-bezier(.6,0,.2,1);stroke-dashoffset:0}
.sp.bang .sp-laurel .lv ellipse{transition:opacity .3s,scale .45s cubic-bezier(.2,1.6,.4,1);opacity:1;scale:1}
.sp-laurel .lv ellipse:nth-child(1){transition-delay:.85s}.sp-laurel .lv ellipse:nth-child(2){transition-delay:.8s}.sp-laurel .lv ellipse:nth-child(3){transition-delay:.75s}.sp-laurel .lv ellipse:nth-child(4){transition-delay:.7s}.sp-laurel .lv ellipse:nth-child(5){transition-delay:.65s}.sp-laurel .lv ellipse:nth-child(6){transition-delay:.6s}.sp-laurel .lv ellipse:nth-child(7){transition-delay:.55s}.sp-laurel .lv ellipse:nth-child(8){transition-delay:.5s}.sp-laurel .lv ellipse:nth-child(9){transition-delay:.85s}.sp-laurel .lv ellipse:nth-child(10){transition-delay:.78s}.sp-laurel .lv ellipse:nth-child(11){transition-delay:.71s}.sp-laurel .lv ellipse:nth-child(12){transition-delay:.64s}.sp-laurel .lv ellipse:nth-child(13){transition-delay:.57s}.sp-laurel .lv ellipse:nth-child(14){transition-delay:.5s}
.sp-crown{position:absolute;left:50%;top:-.05em;width:clamp(90px,14vw,190px);transform:translate(-30%,-120vh) rotate(-8deg);opacity:0;filter:drop-shadow(0 10px 20px #000a) drop-shadow(0 0 24px #f3d58d88);z-index:2;font-size:clamp(110px,20vw,270px)}
.sp.crowned .sp-crown{animation:spCrown .75s cubic-bezier(.3,0,.2,1) forwards}
@keyframes spCrown{0%{transform:translate(-30%,-120vh) rotate(-8deg);opacity:1}70%{transform:translate(-30%,-62%) rotate(12deg);opacity:1}85%{transform:translate(-30%,-70%) rotate(10deg)}100%{transform:translate(-30%,-64%) rotate(12deg);opacity:1}}
.sp-flash{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#fff 0%,#fff6dc 40%,#ffe9a6 75%)}
.sp.bang .sp-flash{animation:spFlash .7s ease-out}
@keyframes spFlash{0%{opacity:.9}100%{opacity:0}}
.sp.crowned .sp-flash{animation:spFlash2 .6s .55s ease-out}
@keyframes spFlash2{0%{opacity:0}15%{opacity:.55}100%{opacity:0}}
.sp.fly .sp-hero{transform:scale(7);opacity:0;filter:blur(12px)}
.sp.fly .sp-plane{transition:transform 1s cubic-bezier(.7,0,.25,1);transform:translate(-50%,-50%) rotateX(58deg) rotateZ(10deg) scale(4)}
.sp.fly .sp-flash{animation:spFly 1s cubic-bezier(.4,0,.2,1) forwards}
@keyframes spFly{0%{opacity:0}45%{opacity:1}100%{opacity:0}}
.sp.fly .sp-bg,.sp.fly .sp-plane-wrap{opacity:0;transition:opacity .5s .45s}
.sp #intro-skip{position:absolute;z-index:6;top:auto;bottom:max(26px,env(safe-area-inset-bottom,0px));right:5%;font:10px Arial;letter-spacing:.25em;color:#c9b88f;border:0;border-bottom:1px solid #c9b88f66;background:none;padding:8px 0;cursor:pointer}
.sp.fly #intro-skip{opacity:0}

/* =========== OPENING v7：ステージにアーティストが登場するように =========== */
.sp.dark .sp-plane-wrap{opacity:.28;transition:opacity .35s}
.sp.dark .sp-coord{opacity:0}
.sp-heart{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:#fff6dc;box-shadow:0 0 40px 18px #f3d58d88;opacity:0;z-index:3}
.sp.dark .sp-heart{animation:spHeart .5s ease-in-out 2}
@keyframes spHeart{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.6)}}
.sp.bang .sp-heart{opacity:0;animation:none}
.sp-burst{position:absolute;left:50%;top:50%;width:170vmax;height:170vmax;margin:-85vmax;z-index:2;pointer-events:none;opacity:0;transform:scale(.4) rotate(0deg);
  background:repeating-conic-gradient(from 0deg,#ffe9a640 0deg 3deg,transparent 3deg 12deg);
  -webkit-mask:radial-gradient(circle,#000 0%,#0008 20%,transparent 48%);mask:radial-gradient(circle,#000 0%,#0008 20%,transparent 48%);transition:opacity .6s,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.sp.bang .sp-burst{opacity:1;transform:scale(1);animation:spSpin 24s linear infinite}
@keyframes spSpin{to{rotate:360deg}}
.sp-beams{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen}
.sp-beams i{position:absolute;top:-10vh;width:22vw;height:90vh;transform-origin:50% 0;opacity:0;
  background:linear-gradient(180deg,#fff6dc 0%,#ffe9a666 30%,#f3d58d14 80%,transparent);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);filter:blur(4px);transition:opacity .5s,transform 1s cubic-bezier(.2,.8,.2,1)}
.sp-beams i:nth-child(1){left:-2vw;transform:rotate(-70deg)}.sp-beams i:nth-child(2){left:18vw;transform:rotate(-60deg)}
.sp-beams i:nth-child(3){right:18vw;transform:rotate(60deg)}.sp-beams i:nth-child(4){right:-2vw;transform:rotate(70deg)}
.sp.bang .sp-beams i{opacity:.55}
.sp.bang .sp-beams i:nth-child(1){transform:rotate(-38deg)}.sp.bang .sp-beams i:nth-child(2){transform:rotate(-22deg)}
.sp.bang .sp-beams i:nth-child(3){transform:rotate(22deg)}.sp.bang .sp-beams i:nth-child(4){transform:rotate(38deg)}
.sp-haze{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity 1s}
.sp-haze i{position:absolute;bottom:-18vh;width:70vw;height:46vh;border-radius:50%;background:radial-gradient(ellipse,#f3e3c070 0%,#f3e3c020 45%,transparent 70%);filter:blur(30px);animation:spHaze 6s ease-in-out infinite alternate}
.sp-haze i:nth-child(1){left:-15vw}.sp-haze i:nth-child(2){left:20vw;animation-delay:-2s}.sp-haze i:nth-child(3){right:-15vw;animation-delay:-4s}
@keyframes spHaze{to{transform:translate(8vw,-4vh) scale(1.15)}}
.sp.bang .sp-haze{opacity:1}
.sp.bang .sp-no{animation:spLift 1s cubic-bezier(.16,.9,.25,1) forwards!important}
@keyframes spLift{0%{transform:translateY(55vh) scale(.92);opacity:0;filter:blur(10px) brightness(2.5)}35%{opacity:1}100%{transform:none;opacity:1;filter:drop-shadow(0 2px 0 #6e4a16) drop-shadow(0 8px 30px #000c) drop-shadow(0 0 50px #f3d58d77)}}
.sp-cams{position:absolute;inset:0;z-index:4;pointer-events:none}
.sp-cams i{position:absolute;width:6px;height:6px;margin:-3px;border-radius:50%;background:#fff;box-shadow:0 0 18px 8px #ffffffcc;opacity:0;animation:spCam .28s ease-out forwards}
.sp-cams i:before,.sp-cams i:after{content:"";position:absolute;left:50%;top:50%;width:46px;height:1px;margin:-.5px -23px;background:linear-gradient(90deg,transparent,#fff,transparent)}
.sp-cams i:after{transform:rotate(90deg)}
@keyframes spCam{0%{opacity:0;transform:scale(.3)}30%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.6)}}
.sp.fly .sp-burst,.sp.fly .sp-beams,.sp.fly .sp-haze{opacity:0;transition:opacity .4s}

/* =========== RECORDS：その実績を、あなたの不動産に =========== */
.cx-rec-sub{display:inline-flex!important;align-items:center!important;gap:.35em!important;font-size:clamp(38px,5.6vw,84px)!important}
.cx-rec-sub .t{display:flex;flex-direction:column;line-height:1.2}
.cx-rec-sub .t small{font:700 .42em/1.4 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.16em;color:#5a3d14}
.cx-rec-sub .t b{font:900 1em/1.2 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.04em;position:relative;
  background:linear-gradient(100deg,#2b1c06 0%,#4a2f0c 35%,#9a6d22 47%,#f3d58d 52%,#4a2f0c 60%,#2b1c06 100%);background-size:260% 100%;background-position:130% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:cxSweep 4.2s cubic-bezier(.5,0,.3,1) infinite}
.cx-rec-sub .t b:after{content:"";position:absolute;left:0;right:0;bottom:-.08em;height:.08em;background:linear-gradient(90deg,#a77a2b,#fff1b4,#a77a2b);transform-origin:left;transform:scaleX(0);transition:transform 1.2s .3s cubic-bezier(.6,0,.2,1)}
.cx-rec-head.visible .cx-rec-sub .t b:after,body:not(.motion) .cx-rec-sub .t b:after{transform:scaleX(1)}
.cx-hand{display:none!important}
.cx-trust{position:relative;flex:none;width:1.7em;height:1.7em;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.04em;overflow:hidden;
  background:radial-gradient(circle at 35% 28%,#fffbe8,#f3d58d 40%,#c99a3e 72%,#7d5519);box-shadow:0 0 0 .05em #fff3c8,0 0 0 .08em #a77a2b,0 .14em .4em #5a3a0a55;animation:cxBob 3.6s ease-in-out infinite}
.cx-trust svg{width:72%;height:auto}
.cx-trust em{font:700 .12em/1 Georgia,serif;letter-spacing:.3em;font-style:normal;color:#5a3a0a;padding-left:.3em}
.cx-trust:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,#ffffffc0 50%,transparent 65%);background-size:250% 100%;animation:cxSweep 3.2s cubic-bezier(.5,0,.3,1) infinite}
@keyframes cxBob{50%{transform:translateY(-.06em) rotate(-4deg)}}

/* =========== MISSION 背景 =========== */
.mission:before{background:linear-gradient(90deg,#fbf3e0f7 0%,#fbf3e0e6 32%,#fbf3e070 52%,#fbf3e000 70%),url('assets/family-love.jpg') 70% 30%/cover!important}
@media(max-width:900px){.mission:before{background:linear-gradient(0deg,#fbf3e0f2 0%,#fbf3e0cc 55%,#fbf3e020 88%),url('assets/family-love.jpg') 60% 25%/cover!important}}

/* =========== SUPPORTS：常に流れ続ける =========== */
.cx-gal-row{animation:cxMarquee 38s linear infinite!important;padding:20px 0}
.cx-gal:hover .cx-gal-row{animation-play-state:paused!important}
.cx-gp,.cx-gp.cur{filter:none!important;transform:none!important}
.cx-gp:after{transition:opacity .4s}
.cx-gp:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#fff6dc33 50%,transparent 60%);background-size:300% 100%;animation:cxSweep 5s linear infinite}
@media(max-width:860px){.cx-gal-row{animation-duration:26s!important}}

/* =========== 「同じ未来」「相談無料」の飾り =========== */
.cx-s-title em:before{content:"";position:absolute;left:0;right:0;bottom:-.06em;height:.1em;background:linear-gradient(90deg,transparent,#c99a3e,#fff1b4,#c99a3e,transparent);transform:scaleX(0);transition:transform 1.4s .4s cubic-bezier(.6,0,.2,1)}
.cx-s-title.visible em:before,body:not(.motion) .cx-s-title em:before{transform:scaleX(1)}
.cx-stamp{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:86px;height:86px;border-radius:50%;margin-right:18px;vertical-align:middle;float:left;
  font:900 18px/1.15 'Noto Sans JP','Noto Serif JP',sans-serif;letter-spacing:.08em;text-align:center;color:#5a2f06;overflow:hidden;
  background:radial-gradient(circle at 35% 28%,#fffbe8,#f3d58d 45%,#c99a3e 78%,#8a5f1a);box-shadow:0 0 0 3px #fff3c8,0 0 0 4px #a77a2b,0 10px 24px #5a3a0a40;transform:rotate(-10deg);animation:cxStampIn .8s cubic-bezier(.2,1.6,.4,1) both}
.cx-stamp:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,#ffffffc0 50%,transparent 65%);background-size:250% 100%;animation:cxSweep 3s cubic-bezier(.5,0,.3,1) infinite}
@keyframes cxStampIn{from{transform:scale(2.4) rotate(-30deg);opacity:0}to{transform:rotate(-10deg);opacity:1}}
.cx-s-call p strong em{font-style:normal;color:#a0701f;font-size:1.2em}
.cx-stamp.big{width:118px;height:118px;font-size:24px;float:none;position:absolute;right:4%;top:-10px}
.cx-ct{position:relative}

/* =========== お問い合わせ：相談しやすく =========== */
.contact,.contact p,.contact label,.contact input,.contact textarea,.contact button{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
.cx-ct h2{font:700 clamp(34px,4.4vw,60px)/1.5 'Noto Sans JP','Yu Gothic',sans-serif!important;color:#1f2a24!important;letter-spacing:.04em}
.cx-ct h2 em{font-style:normal;color:#a0701f;position:relative}
.cx-ct h2 em:after{content:"";position:absolute;left:-4%;right:-4%;bottom:.08em;height:.32em;z-index:-1;background:#f3d58d88;border-radius:4px}
.cx-ct-lead{font:500 clamp(18px,1.9vw,23px)/2 'Noto Sans JP',sans-serif!important}
.cx-ct-call{animation:cxCallGlow 2.4s ease-in-out infinite}
@keyframes cxCallGlow{50%{box-shadow:0 18px 40px #1d3a3340,0 0 0 8px #f3d58d40}}
.cx-topic-q{display:flex;align-items:center;gap:12px;margin:0 0 14px!important;font:700 18px 'Noto Sans JP',sans-serif!important;color:#1f2a24!important}
.cx-topic-q span{background:#1d3a33;color:#f5dfae;font:700 11px Arial,sans-serif;letter-spacing:.15em;padding:5px 10px;border-radius:999px}
.cx-topic{margin-bottom:26px}
.cx-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cx-tp{position:relative;display:flex!important;flex-direction:column;align-items:center;gap:6px;padding:18px 8px 14px;border:2px solid #e8dcbf;border-radius:16px;background:#fffdf8;cursor:pointer;text-align:center;transition:all .25s cubic-bezier(.2,1.4,.4,1)}
.cx-tp:hover{transform:translateY(-3px);border-color:#c99a3e}
.cx-tp input{position:absolute;opacity:0;pointer-events:none}
.cx-tp .ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#f6ecd2;transition:background .25s}
.cx-tp .ic svg{width:26px;height:26px;fill:none;stroke:#8a5f1a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cx-tp b{font:700 15px 'Noto Sans JP',sans-serif;color:#1f2a24}
.cx-tp small{font-size:11px;color:#7a7060}
.cx-tp:has(input:checked){border-color:#1d3a33;background:#1d3a33;transform:scale(1.04)}
.cx-tp:has(input:checked) b{color:#fff3d4}.cx-tp:has(input:checked) small{color:#cdbf9c}
.cx-tp:has(input:checked) .ic{background:linear-gradient(135deg,#fff1b4,#c99a3e)}
.cx-tp:has(input:focus-visible){outline:3px solid #c99a3e;outline-offset:2px}
#contact-form input,#contact-form textarea{font-size:17px!important;padding:16px!important;border-radius:12px!important;border:2px solid #e8dcbf!important;background:#fffdf8!important}
#contact-form input:focus,#contact-form textarea:focus{border-color:#c99a3e!important;outline:none}
#contact-form .gold-button{border-radius:999px!important;font:700 18px 'Noto Sans JP',sans-serif!important;padding:22px 30px!important;text-align:center!important;box-shadow:0 14px 30px #a77a2b44;position:relative;overflow:hidden}
#contact-form .gold-button:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffffa0 50%,transparent 65%);background-size:300% 100%;animation:cxSweep 3s linear infinite}
@media(max-width:700px){.cx-topic-grid{grid-template-columns:1fr 1fr}.cx-stamp.big{width:86px;height:86px;font-size:18px;top:-20px}}

/* =========== 全体のギラッと感 =========== */
.cx-circle:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 3px #f3d58d,inset 0 0 0 7px #fff8;pointer-events:none}
.cx-circle:before{content:"";position:absolute;inset:0;z-index:1;border-radius:50%;background:linear-gradient(120deg,transparent 38%,#fff6dc66 50%,transparent 62%);background-size:300% 100%;animation:cxSweep 4.5s linear infinite;pointer-events:none}
.cx-btn{animation:cxBtnGlint 3.5s infinite}
@keyframes cxBtnGlint{0%,70%{}}

/* =========== いただいた写真の反映 =========== */
.mission:before{background:radial-gradient(ellipse at 15% 70%,#fff6e0,transparent 60%),linear-gradient(120deg,#fbf3e0,#f3e4bf)!important;animation:none!important}
.cx-mission-pano{margin:34px 0 0;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px #6b4a1733;position:relative;aspect-ratio:1170/371;max-width:100%}
.cx-mission-pano img{width:100%;height:100%;object-fit:cover;display:block}
.cx-mission-pano:after{content:"";position:absolute;inset:0;border-radius:18px;box-shadow:inset 0 0 0 3px #f3d58d,inset 0 0 0 7px #fff8;background:linear-gradient(110deg,transparent 40%,#fff6dc55 50%,transparent 60%);background-size:300% 100%;animation:cxSweep 4.5s linear infinite}
.cx-mission-pano.cx-pop{transform:scale(.6)}
.cx-mission-pano.cx-pop.in{transform:none}
.cx-s-top .cx-circle.cx-wide{border-radius:999px;width:clamp(320px,48vw,760px);aspect-ratio:1170/374;margin-top:calc(clamp(320px,48vw,760px) * -.16)}
.cx-circle.cx-wide:before,.cx-circle.cx-wide:after{border-radius:999px}
.values{background:linear-gradient(180deg,#0b1d18e0,#0b1d18b8 40%,#0b1d18e8),url('assets/handshake.jpg') center/cover fixed!important}
@media(max-width:860px){.cx-s-top .cx-circle.cx-wide{width:88vw;margin:0}.values{background-attachment:scroll!important}}

/* =========== OPENING v8：雪の札幌スカイライン → No.1 → 札幌の頂点へ =========== */
.sp-snow{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.sp-sky{position:absolute;left:0;right:0;bottom:0;width:100%;height:62vh;z-index:1;transition:opacity .5s,transform 1.2s cubic-bezier(.6,0,.2,1)}
.sp-sky .mt{fill:none;stroke:#f3d58d40;stroke-width:1.2}
.sp-sky .ln path{fill:none;stroke:#f3d58d;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #f3d58daa);stroke-dasharray:1600;stroke-dashoffset:1600}
.sp-sky .win circle{fill:#fff4d0;opacity:0;filter:drop-shadow(0 0 4px #fff1b4)}
.sp.m1 .sp-sky .ln path{transition:stroke-dashoffset 1.5s cubic-bezier(.55,0,.25,1);stroke-dashoffset:0}
.sp.m1 .sp-sky .ln path:nth-child(2){transition-delay:.1s}.sp.m1 .sp-sky .ln path:nth-child(4){transition-delay:.2s}.sp.m1 .sp-sky .ln path:nth-child(5){transition-delay:.05s;stroke-width:2.2}.sp.m1 .sp-sky .ln path:nth-child(7){transition-delay:.25s}
.sp.m2 .sp-sky .win circle{animation:spWin 1.6s ease-in-out infinite alternate}
.sp-sky .win circle:nth-child(odd){animation-delay:-.7s!important}
@keyframes spWin{0%{opacity:.2}100%{opacity:1}}
.sp.dark .sp-sky{opacity:.25}
.sp.bang .sp-sky{opacity:.45;transform:translateY(6vh)}
.sp.fly .sp-sky{opacity:0}
.sp-coord{opacity:0}.sp.m1 .sp-coord{opacity:1}.sp.dark .sp-coord,.sp.bang .sp-coord{opacity:0}
/* 王冠はまっすぐ */
.sp-crown{left:50%;transform:translate(-50%,-120vh)}
@keyframes spCrown{0%{transform:translate(-50%,-120vh);opacity:1}70%{transform:translate(-50%,-60%);opacity:1}84%{transform:translate(-50%,-70%)}100%{transform:translate(-50%,-64%);opacity:1}}
/* 札幌の頂点へ。 */
.sp-summit{font:900 clamp(34px,5.6vw,78px)/1.2 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.2em;padding-left:.2em;white-space:nowrap;margin-top:.15em;
  background:linear-gradient(100deg,#a77a2b,#f3d58d 30%,#fff7dc 45%,#e8c777 60%,#a77a2b);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 24px #000c);
  clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1);animation:cxGold 3s linear infinite}
.sp.summit .sp-summit{clip-path:inset(0 -5% 0 0)}
.sp.summit .sp-hero .ja{opacity:.65}
/* =========== TRUST：わかりやすい握手 =========== */
.cx-trust .ms{font-family:'Material Symbols Rounded';font-weight:500;font-style:normal;font-size:.95em;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:'liga';font-feature-settings:'liga';font-variation-settings:'FILL' 1,'wght' 500,'opsz' 48;color:#4a2f08;filter:drop-shadow(0 1px 0 #fff3c8)}
.cx-trust{width:1.8em!important;height:1.8em!important}
/* =========== お力添え：ボーン =========== */
.records .record-partnership.cx-boom{display:flex;flex-direction:column;align-items:center;gap:.2em;padding:40px 10px!important;border:0!important;background:none!important}
.cx-boom span:first-child{font-size:.62em;color:#3f280a}
.cx-boom span:last-child{font:900 1.15em/1.4 'Noto Serif JP','Yu Mincho',serif;color:#141414}
.cx-boom strong{position:relative;display:inline-block;padding:0 .2em;color:#141414!important;background:linear-gradient(transparent 58%,#f3d58d 58%,#f3d58d 92%,transparent 92%)}
.cx-boom strong:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,#ffffffb0 50%,transparent 60%);background-size:300% 100%;animation:cxSweep 3.2s cubic-bezier(.5,0,.3,1) infinite}
.motion .cx-boom.reveal{transform:scale(.3)!important;opacity:0;transition:transform 1s cubic-bezier(.18,1.6,.4,1),opacity .4s!important}
.motion .cx-boom.reveal.visible{transform:none!important;opacity:1}
/* =========== MISSION：家族写真を背景に大きく =========== */
.mission:before{background:linear-gradient(90deg,#fbf3e0f0 0%,#fbf3e0d0 34%,#fbf3e055 58%,#fbf3e000 78%),url('assets/family-park.jpg') 75% center/cover!important;animation:cxKen 22s ease-in-out infinite alternate!important}
@media(max-width:900px){.mission:before{background:linear-gradient(0deg,#fbf3e0f5 0%,#fbf3e0d8 55%,#fbf3e020 90%),url('assets/family-park.jpg') 65% top/cover!important}}
.mission h2.cx-zoom{font-size:clamp(30px,4.2vw,64px)!important}
/* =========== VALUE：握手の写真をはっきり =========== */
.values{background:linear-gradient(90deg,#0b1d18e6 0%,#0b1d18b0 45%,#0b1d1855 100%),url('assets/handshake.jpg') 70% center/cover!important;background-attachment:scroll!important}
.values .value-card{border-top-color:#f3d58d55!important}
.values .value-card p:not(.value-en){color:#f1ebdc!important;text-shadow:0 1px 8px #0009}
/* =========== 同じ未来：写真を背景に大きく =========== */
.cx-s-hero-bg{position:relative;overflow:hidden;min-height:clamp(420px,52vw,720px)!important;margin:0 0 70px!important;padding:0 7%!important}
.cx-s-bgimg{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#0d0a06cc 0%,#0d0a0688 40%,#0d0a0620 75%),url('assets/together-sunset.jpg') center 30%/cover;transform:scale(1.12);transition:transform 2.4s cubic-bezier(.2,.8,.2,1)}
.cx-s-hero-bg:has(.cx-s-title.visible) .cx-s-bgimg,body:not(.motion) .cx-s-bgimg{transform:none}
.cx-s-hero-bg .cx-s-title{color:#fff7e6!important;text-shadow:0 6px 30px #000a}
.cx-support{padding-top:0!important}
/* =========== サポートのカード：写真全体を見せる =========== */
.cx-gp{display:flex!important;flex-direction:column;height:auto!important;min-height:0!important;background:#fff!important;color:#1f2a24!important;border:1px solid #e3d4ae;box-shadow:0 20px 50px #3a2d1418}
.cx-gp .ph{position:relative!important;inset:auto!important;aspect-ratio:4/3;background-size:cover!important;background-position:center!important;flex:none}
.cx-gp:after{display:none!important}
.cx-gp .cp{position:relative!important;grid-template-columns:auto minmax(0,1fr)!important;padding:22px 26px 26px!important;max-width:none!important}
.cx-gp .n{font-size:clamp(56px,6vw,90px)!important;-webkit-text-stroke:1px #a77a2b!important}
.cx-gp .en{color:#a77a2b!important}
.cx-gp h3{color:#1f2a24!important;text-shadow:none!important;font-size:clamp(20px,1.9vw,28px)!important;white-space:nowrap}
.cx-gp .d{color:#4a544d!important}
.cx-gp .cx-link{color:#1d3a33!important;border-color:#a77a2b!important}
.cx-gp{flex-basis:min(40vw,520px)!important}
@media(max-width:860px){.cx-gp{flex-basis:82vw!important}.cx-gp h3{white-space:normal}}
/* =========== 相談無料：上品に =========== */
.cx-free{display:flex;align-items:center;gap:12px;font:11px Georgia,serif;letter-spacing:.4em;color:#a0701f;margin-bottom:6px}
.cx-free:before,.cx-free:after{content:"";width:34px;height:1px;background:#c99a3e}
.cx-free:after{flex:1;max-width:80px}

/* =========== OPENING v9：SAPPORO LIVE（映像カット → 暗転 → 王冠ロゴ登場 → 札幌の頂点へ。） =========== */
.loading-screen.lv{background:transparent!important;display:block;overflow:hidden;perspective:none}
.lv-bg{position:absolute;inset:0;background:#05080b;transition:opacity .6s}
.lv-reel{position:absolute;inset:0;z-index:1}
.lv-f{position:absolute;inset:0;background:var(--img) center/cover;opacity:0;filter:contrast(1.08) saturate(1.05) brightness(.82)}
.lv-f.on{opacity:1;animation:lvPunch .55s cubic-bezier(.15,.85,.25,1) forwards}
@keyframes lvPunch{from{transform:scale(1.22)}to{transform:scale(1.06)}}
.lv-f:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 35%,#000a 100%),linear-gradient(0deg,#0008,transparent 40%)}
.lv-words{position:absolute;inset:0;z-index:3;display:grid;place-items:center;pointer-events:none}
.lv-w{grid-area:1/1;font:900 clamp(64px,13vw,190px)/1 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.06em;color:#fff;opacity:0;text-shadow:0 8px 40px #000c}
.lv-w.on{animation:lvWord .38s cubic-bezier(.15,.85,.25,1) forwards}
@keyframes lvWord{0%{opacity:0;transform:scale(1.5);filter:blur(10px)}40%{opacity:1;filter:none}100%{opacity:1;transform:scale(1)}}
.lv-w:last-child{background:linear-gradient(100deg,#c99a3e,#fff3c8 45%,#e9c269 60%,#a77a2b);-webkit-background-clip:text;background-clip:text;color:transparent}
.lv-snow{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.lv-title{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .4s}
.lv-title b{font:600 clamp(16px,2vw,22px) Georgia,serif;letter-spacing:.6em;padding-left:.6em;color:#f5dfae}
.lv-title span{font:10px Arial,sans-serif;letter-spacing:.5em;padding-left:.5em;color:#9fb0b8}
.lv.t0 .lv-title{opacity:1}
.lv.reel .lv-title{opacity:0}
.lv-bars i{position:absolute;left:0;right:0;height:0;background:#000;z-index:7;transition:height .5s cubic-bezier(.7,0,.2,1)}
.lv-bars i:first-child{top:0}.lv-bars i:last-child{bottom:0}
.lv.reel .lv-bars i{height:9vh}
.lv.boom .lv-bars i{height:0}
.lv-flash{position:absolute;inset:0;z-index:8;pointer-events:none;background:#fff;opacity:0}
.lv-flash.cut{animation:lvCut .14s linear}
@keyframes lvCut{0%{opacity:.75}100%{opacity:0}}
.lv.dark .lv-reel,.lv.dark .lv-words{opacity:0;transition:opacity .25s}
.lv-heart{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:#fff6dc;box-shadow:0 0 40px 18px #f3d58d88;opacity:0;z-index:4}
.lv.dark .lv-heart{animation:spHeart .5s ease-in-out 2}
.lv-burst{position:absolute;left:50%;top:50%;width:170vmax;height:170vmax;margin:-85vmax;z-index:3;pointer-events:none;opacity:0;transform:scale(.4);
  background:repeating-conic-gradient(from 0deg,#ffe9a640 0deg 3deg,transparent 3deg 12deg);-webkit-mask:radial-gradient(circle,#000 0%,#0008 20%,transparent 48%);mask:radial-gradient(circle,#000 0%,#0008 20%,transparent 48%);transition:opacity .6s,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.lv.boom .lv-burst{opacity:1;transform:scale(1);animation:spSpin 24s linear infinite}
.lv.boom .lv-bg{background:radial-gradient(ellipse at 50% 55%,#2a2210,#0a0b0c 60%,#030405)}
.lv-beams{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:screen}
.lv-beams i{position:absolute;top:-10vh;width:22vw;height:95vh;transform-origin:50% 0;opacity:0;background:linear-gradient(180deg,#fff6dc 0%,#ffe9a666 30%,#f3d58d14 80%,transparent);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);filter:blur(4px);transition:opacity .5s,transform 1s cubic-bezier(.2,.8,.2,1)}
.lv-beams i:nth-child(1){left:-2vw;transform:rotate(-70deg)}.lv-beams i:nth-child(2){left:18vw;transform:rotate(-60deg)}.lv-beams i:nth-child(3){right:18vw;transform:rotate(60deg)}.lv-beams i:nth-child(4){right:-2vw;transform:rotate(70deg)}
.lv.boom .lv-beams i{opacity:.6;animation:lvSway 2.4s ease-in-out infinite alternate}
.lv.boom .lv-beams i:nth-child(1){--r:-36deg}.lv.boom .lv-beams i:nth-child(2){--r:-20deg}.lv.boom .lv-beams i:nth-child(3){--r:20deg}.lv.boom .lv-beams i:nth-child(4){--r:36deg}
@keyframes lvSway{from{transform:rotate(var(--r))}to{transform:rotate(calc(var(--r) * .6))}}
.lv-haze{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;transition:opacity 1s}
.lv-haze i{position:absolute;bottom:-18vh;width:70vw;height:46vh;border-radius:50%;background:radial-gradient(ellipse,#f3e3c070 0%,#f3e3c020 45%,transparent 70%);filter:blur(30px);animation:spHaze 6s ease-in-out infinite alternate}
.lv-haze i:nth-child(1){left:-15vw}.lv-haze i:nth-child(2){left:20vw;animation-delay:-2s}.lv-haze i:nth-child(3){right:-15vw;animation-delay:-4s}
.lv.boom .lv-haze{opacity:1}
.lv-cams{position:absolute;inset:0;z-index:5;pointer-events:none}
.lv-cams i{position:absolute;width:6px;height:6px;margin:-3px;border-radius:50%;background:#fff;box-shadow:0 0 18px 8px #ffffffcc;opacity:0;animation:spCam .28s ease-out forwards}
.lv-cams i:before,.lv-cams i:after{content:"";position:absolute;left:50%;top:50%;width:46px;height:1px;margin:-.5px -23px;background:linear-gradient(90deg,transparent,#fff,transparent)}
.lv-cams i:after{transform:rotate(90deg)}
.lv-fx{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.lv-hero{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,2vh,22px);pointer-events:none;transition:transform 1s cubic-bezier(.7,0,.25,1),opacity .7s,filter .8s}
.lv-logo{position:relative;width:min(58vw,520px);opacity:0}
.lv-logo img{width:100%;display:block;filter:drop-shadow(0 12px 40px #000c) drop-shadow(0 0 40px #f3d58d55)}
.lv-logo:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 42%,#fffbe8dd 50%,transparent 58%);background-size:300% 100%;background-position:130% 0;mix-blend-mode:screen;-webkit-mask:url('assets/crown-logo.png') center/100% 100% no-repeat;mask:url('assets/crown-logo.png') center/100% 100% no-repeat}
.lv.boom .lv-logo{animation:lvRise 1.1s cubic-bezier(.16,.9,.25,1) forwards}
@keyframes lvRise{0%{opacity:0;transform:translateY(40vh) scale(.9);filter:blur(10px) brightness(2.5)}35%{opacity:1}100%{opacity:1;transform:none;filter:none}}
.lv.shine .lv-logo:after{transition:background-position 1.4s cubic-bezier(.4,0,.2,1);background-position:-40% 0}
.lv-summit{font:900 clamp(34px,5.6vw,78px)/1.2 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.2em;padding-left:.2em;white-space:nowrap;
  background:linear-gradient(100deg,#a77a2b,#f3d58d 30%,#fff7dc 45%,#e8c777 60%,#a77a2b);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 24px #000c);
  clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1);animation:cxGold 3s linear infinite}
.lv.summit .lv-summit{clip-path:inset(0 -5% 0 0)}
.lv-sub{font:10px Arial,sans-serif;letter-spacing:.5em;padding-left:.5em;color:#c9b88f;opacity:0;transition:opacity .8s .5s}
.lv.summit .lv-sub{opacity:1}
.lv.fly .lv-hero{transform:scale(6);opacity:0;filter:blur(12px)}
.lv.fly .lv-flash{animation:spFly 1s cubic-bezier(.4,0,.2,1) forwards}
.lv.fly .lv-bg,.lv.fly .lv-burst,.lv.fly .lv-beams,.lv.fly .lv-haze,.lv.fly .lv-snow{opacity:0;transition:opacity .5s .4s}
.lv #intro-skip{position:absolute;z-index:9;top:auto;bottom:max(26px,env(safe-area-inset-bottom,0px));right:5%;font:10px Arial;letter-spacing:.25em;color:#c9b88f;border:0;border-bottom:1px solid #c9b88f66;background:none;padding:8px 0;cursor:pointer}
.lv.fly #intro-skip{opacity:0}

/* =========== v11 調整 =========== */
/* TRUST：上品な線画の握手 */
.cx-trust{background:radial-gradient(circle at 50% 40%,#fffdf4,#f6ead0)!important;box-shadow:0 0 0 .03em #c99a3e,0 0 0 .07em #fff8e4,0 0 0 .085em #c99a3e88,0 .14em .4em #5a3a0a33!important;animation:cxBob 4s ease-in-out infinite!important}
.cx-trust .hs{width:58%;height:auto;color:#8a5f1a;stroke-width:1.4}
.cx-trust em{color:#8a5f1a!important}
/* お力添え：光らせない */
.cx-boom strong:after{display:none!important}
/* MISSION：家族全員が見えるように（写真は下に全幅、文字とは重ねない） */
.mission{padding-bottom:calc(100vw * 371 / 1170 + 40px)!important}
.mission:before{background:linear-gradient(180deg,#fbf3e0 0%,#fbf3e0 calc(100% - 100vw * 371 / 1170 - 60px),#fbf3e000 calc(100% - 100vw * 371 / 1170 + 40px)),url('assets/family-park.jpg') center bottom/100% auto no-repeat,#fbf3e0!important;animation:none!important;transform:none!important}
/* VISION：赤い文字 */
.vision h2.cx-zoom{background:linear-gradient(100deg,#8e0f18 0%,#c41e2a 40%,#e8414c 52%,#c41e2a 64%,#8e0f18 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none!important;animation:cxGold 7s linear infinite}
/* 同じ未来：昼の景色 */
.cx-s-bgimg{background:linear-gradient(90deg,#0a1a24c0 0%,#0a1a2470 40%,#0a1a2400 75%),url('assets/future-day.jpg') center 40%/cover!important}
/* お問い合わせ：全体と同じ字体に統一 */
.contact,.contact p,.contact label,.contact input,.contact textarea,.contact button,.cx-tp b,.cx-topic-q{font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif!important}
.cx-ct h2{font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif!important;font-weight:700!important}
.cx-ct-lead{font-family:'Yu Mincho','Hiragino Mincho ProN',serif!important;font-weight:600!important}
#contact-form .gold-button{font-family:'Yu Mincho','Hiragino Mincho ProN',serif!important;letter-spacing:.12em}

/* =========== v12 調整 =========== */
.lv-w.long{font-size:clamp(34px,6.4vw,96px);letter-spacing:.08em;white-space:nowrap}
.lv-w:last-child{font-size:clamp(56px,11vw,160px)}
/* その実績を、も金色 */
.cx-rec-sub .t small{background:linear-gradient(100deg,#7f5014,#c99a3e 40%,#f3d58d 52%,#a77a2b 70%,#6e4410);-webkit-background-clip:text;background-clip:text;color:transparent!important;filter:drop-shadow(0 1px 0 #fff1bc)}
.cx-rec-sub .t b{background:linear-gradient(100deg,#6e4410 0%,#a77a2b 22%,#f3d58d 38%,#fff7d4 47%,#d9b569 56%,#8a5f1a 70%,#c99a3e 85%,#6e4410 100%)!important;background-size:260% 100%!important;filter:drop-shadow(0 2px 0 #fff3c4) drop-shadow(0 6px 10px #5a3a0a40)}
/* TRUST：握手の写真メダル */
.cx-trust.photo{width:1.9em!important;height:1.9em!important;padding:0;background:#fff!important;box-shadow:0 0 0 .04em #fff8e4,0 0 0 .075em #c99a3e,0 0 0 .1em #fff3c8,0 .16em .45em #5a3a0a55!important}
.cx-trust.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.cx-trust.photo em{position:absolute;bottom:.14em;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,#8a5f1a,#d9b569,#8a5f1a);color:#fff8e4!important;padding:.05em .4em .05em .7em;font-size:.11em!important;border-radius:999px;z-index:1;white-space:nowrap}
/* MISSION：家族写真を背景に、その上に見出し */
.mission{padding-top:0!important;padding-bottom:110px!important}
.mission:before{background:radial-gradient(ellipse at 15% 70%,#fff6e0,transparent 60%),linear-gradient(120deg,#fbf3e0,#f3e4bf)!important}
.cx-mhero{position:relative;margin:0 -9% 70px;min-height:clamp(380px,46vw,700px);display:flex;align-items:flex-start;justify-content:center;overflow:hidden;isolation:isolate}
.cx-mhero:before{content:"";position:absolute;inset:-30px;z-index:-2;background:url('assets/family-park.jpg') center top/cover;filter:blur(18px) brightness(1.05);transform:scale(1.1)}
.cx-mhero-img{position:absolute;left:0;right:0;bottom:0;z-index:-1;aspect-ratio:1170/371;background:url('assets/family-park.jpg') center/100% auto no-repeat;-webkit-mask:linear-gradient(180deg,transparent 0,#000 18%);mask:linear-gradient(180deg,transparent 0,#000 18%)}
.cx-mhero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0d0a0699 0%,#0d0a0640 35%,transparent 60%)}
.mission .cx-mhero-t{margin:clamp(40px,6vw,90px) 6% 0;text-align:center;color:#fffaf0!important;text-shadow:0 4px 30px #000c,0 2px 6px #0008!important;font-size:clamp(32px,4.8vw,74px)!important;line-height:1.45!important}
@media(max-width:760px){.cx-mhero{margin:0 -7% 50px;min-height:520px}.cx-mhero:before{background-position:center bottom}}
/* VISION：黒文字に戻す */
.vision h2.cx-zoom{background:none!important;color:#141414!important;-webkit-text-fill-color:#141414;animation:none!important}
/* VALUE：握手の二人が両方見えるように */
.values{background:linear-gradient(180deg,#0b1d18cc 0%,#0b1d1888 35%,#0b1d18cc 100%),url('assets/handshake.jpg') center 30%/cover!important}
/* 同じ未来：ご提供の写真に戻す */
.cx-s-bgimg{background:linear-gradient(90deg,#0d0a06c0 0%,#0d0a0670 40%,#0d0a0610 75%),url('assets/together-sunset.jpg') center 40%/cover!important}
/* サポート：常に入れ替わり続ける（速く） */
.cx-gal-row{animation-duration:20s!important}
@media(max-width:860px){.cx-gal-row{animation-duration:16s!important}}

/* =========== v13：オープニング磨き込み =========== */
.lv-f{background:none!important;display:flex;overflow:hidden}
.lv-f:after{z-index:1}
.lv-f .tl{flex:1;background:var(--img) center/cover;filter:contrast(1.08) saturate(1.05) brightness(.8)}
.lv-f.n2 .tl+.tl,.lv-f.n3 .tl+.tl{border-left:3px solid #e9cf92}
.lv-f.on .tl{animation:lvTileA .6s cubic-bezier(.15,.85,.25,1) both}
.lv-f.on .tl:nth-child(2){animation-name:lvTileB;animation-delay:.04s}
.lv-f.on .tl:nth-child(3){animation-delay:.08s}
@keyframes lvTileA{from{transform:translateY(-14%) scale(1.25)}to{transform:scale(1.04)}}
@keyframes lvTileB{from{transform:translateY(14%) scale(1.25)}to{transform:scale(1.04)}}
.lv-f.n1.on .tl{animation:lvPush 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes lvPush{from{transform:scale(1.25)}to{transform:scale(1.05)}}
.lv-f.on{animation:none!important;opacity:1}
.lv-f.blank{background:#000!important}
.lv-leak{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:screen;opacity:0;background:linear-gradient(105deg,transparent 30%,#ffcf7a55 45%,#fff3d080 50%,#ffb85a40 56%,transparent 70%);background-size:250% 100%}
.lv-leak.go{animation:lvLeak .5s ease-out}
@keyframes lvLeak{0%{opacity:1;background-position:120% 0}100%{opacity:0;background-position:-30% 0}}
.lv-w{letter-spacing:.04em!important}
.lv-w.on{animation:lvWord2 .42s cubic-bezier(.12,.9,.2,1) forwards!important}
@keyframes lvWord2{0%{opacity:0;transform:scale(1.7);filter:blur(14px)}45%{opacity:1;filter:none}100%{opacity:1;transform:scale(1)}}
.lv-w:nth-child(5).on{color:#fff7e6}
.lv-tag{font:600 clamp(14px,1.8vw,22px) 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.3em;padding-left:.3em;color:#f7ecd0;opacity:0;transform:translateY(10px);transition:all .9s .6s;text-shadow:0 2px 14px #000c}
.lv.summit .lv-tag{opacity:1;transform:none}

/* =========== v13：セクション =========== */
/* その実績を、あなたの不動産に（一続きで） */
.cx-rec-sub .t.one b{display:inline;white-space:nowrap}
.cx-rec-sub .t.one b small{font-size:.62em;margin-right:.08em;letter-spacing:.06em;-webkit-text-fill-color:transparent;background:inherit;-webkit-background-clip:text;background-clip:text}
/* お力添え：もっと大きく、光ってボーン */
.records .record-partnership.cx-boom{font-size:clamp(30px,4.2vw,62px)!important;line-height:1.5!important}
.cx-boom span:first-child{font-size:.58em!important;font-weight:700}
.cx-boom strong{text-shadow:0 0 18px #ffe7a0aa;animation:cxPulseGlow 2.6s ease-in-out infinite}
@keyframes cxPulseGlow{50%{text-shadow:0 0 28px #ffd86bcc,0 0 2px #fff}}
.cx-boom strong:after{display:block!important;background:linear-gradient(105deg,transparent 40%,#ffffffc8 50%,transparent 60%)!important;background-size:300% 100%!important;animation:cxSweep 2.8s cubic-bezier(.5,0,.3,1) infinite!important}
.motion .cx-boom.reveal{transform:scale(.2) translateY(60px)!important}
/* MISSION：家族写真を背景に、ビジョンと同じ見せ方 */
.mission{padding-top:100px!important;padding-bottom:110px!important;position:relative}
.mission:before{content:""!important;position:absolute!important;inset:0!important;z-index:-2!important;animation:none!important;transform:none!important;
  background:url('assets/family-park.jpg') center bottom/100% auto no-repeat,url('assets/family-park.jpg') center/cover!important;filter:none!important}
.mission:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#1a120888 0%,#1a120840 45%,#1a120810 75%),radial-gradient(ellipse 60% 70% at 0% 30%,#1a1208aa,transparent 70%);backdrop-filter:blur(0)}
.mission .mission-layout>div:last-child{background:#fffaf0e8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #e9cf92;padding:clamp(24px,3vw,46px);border-radius:6px;box-shadow:0 30px 70px #00000040}
.mission .editorial-heading,.mission .mvv-label>span,.mission .mvv-label p,.mission .mvv-label small{filter:drop-shadow(0 2px 12px #0009)}
.mission .mvv-label small{color:#f7ecd0!important}
.mission h2.cx-zoom{color:#3f280a!important;font-size:clamp(28px,3.6vw,56px)!important}
.mission .mvv-orbit{background:#fffaf0e0}
/* VALUE：二人とも全身が入るように */
.values{background:linear-gradient(180deg,#0b1d1855 0%,#0b1d1899 45%,#0b1d18 72%),url('assets/handshake.jpg') center top/100% auto no-repeat,#0b1d18!important}
@media(max-width:860px){.values{background:linear-gradient(180deg,#0b1d1866 0%,#0b1d18 40%),url('assets/handshake.jpg') center top/160% auto no-repeat,#0b1d18!important}}
/* 同じ未来：朝・昼の景色 */
.cx-s-bgimg{background:linear-gradient(90deg,#0a1a2499 0%,#0a1a2450 40%,#0a1a2400 75%),url('assets/together-day.jpg') center 40%/cover!important}
/* サポート：ワンテンポ速く、止めずに流す */
.cx-gal-row{animation-duration:13s!important}
.cx-gal:hover .cx-gal-row{animation-play-state:running!important}
.cx-gp{flex-basis:min(30vw,400px)!important}
.cx-gp .d{font-size:13px!important;line-height:1.85!important}
@media(max-width:860px){.cx-gp{flex-basis:76vw!important}.cx-gal-row{animation-duration:11s!important}}
/* お問い合わせ：左右のバランス */
.contact{align-items:start}
.cx-ct{position:sticky;top:110px}
.cx-ct-face{display:flex;gap:16px;align-items:center;margin-top:26px;padding:16px;background:#fff;border:1px solid #e3d4ae;border-radius:14px;box-shadow:0 14px 34px #6b4a1714;max-width:520px}
.cx-ct-face img{width:96px;height:96px;object-fit:cover;object-position:50% 25%;border-radius:50%;border:2px solid #c99a3e;flex:none}
.cx-ct-face small{display:block;font-size:12px;color:#a0701f;letter-spacing:.08em}
.cx-ct-face b{display:block;font:700 18px 'Noto Serif JP','Yu Mincho',serif;color:#1f2a24;margin:4px 0}
.cx-ct-face span{font-size:13px;line-height:1.8;color:#4a544d}
@media(max-width:860px){.cx-ct{position:static}}

/* =========== v14：オープニングを大人のブランドフィルムに =========== */
.lv-f{transition:opacity .55s ease}
.lv-f.on .tl{animation-duration:1.4s!important;animation-timing-function:cubic-bezier(.2,.6,.2,1)!important}
@keyframes lvTileA{from{transform:translateY(-4%) scale(1.12)}to{transform:scale(1.03)}}
@keyframes lvTileB{from{transform:translateY(4%) scale(1.12)}to{transform:scale(1.03)}}
.lv-f.n2 .tl+.tl,.lv-f.n3 .tl+.tl{border-left:1px solid #e9cf9299}
.lv-flash.cut{animation:none!important}
.lv-leak.go{animation-duration:.9s!important;opacity:.6}
.lv-words{align-items:end;padding-bottom:16vh}
.lv-w{font:600 clamp(24px,3.2vw,46px)/1.5 'Noto Serif JP','Yu Mincho',serif!important;letter-spacing:.24em!important;padding-left:.24em;color:#fff8ea!important;background:none!important;-webkit-text-fill-color:#fff8ea;text-shadow:0 2px 20px #000b!important;display:flex;flex-direction:column;align-items:center;gap:14px}
.lv-w small{font:10px Arial,sans-serif;letter-spacing:.5em;color:#e9cf92;-webkit-text-fill-color:#e9cf92;display:flex;align-items:center;gap:14px}
.lv-w small:before,.lv-w small:after{content:"";width:36px;height:1px;background:#e9cf92aa}
.lv-w.on{animation:lvSoft .8s cubic-bezier(.2,.7,.2,1) forwards!important}
@keyframes lvSoft{0%{opacity:0;transform:translateY(16px);letter-spacing:.4em}100%{opacity:1;transform:none}}
.lv-w.long{font-size:clamp(24px,3.2vw,46px)!important}
.lv-heart,.lv-beams,.lv-cams,.lv-fx{display:none!important}
.lv.dark .lv-reel,.lv.dark .lv-words{transition:opacity .35s}
.lv-burst{background:repeating-conic-gradient(from 0deg,#ffe9a61f 0deg 2deg,transparent 2deg 14deg)!important}
.lv.boom .lv-burst{opacity:.8;animation-duration:60s!important}
.lv.boom .lv-haze{opacity:.55}
.lv.boom .lv-logo{animation:lvReveal 1.6s cubic-bezier(.2,.7,.2,1) forwards!important}
@keyframes lvReveal{0%{opacity:0;transform:scale(1.08);filter:blur(8px) brightness(1.6)}100%{opacity:1;transform:none;filter:none}}
.lv-logo{width:min(46vw,440px)!important}
.lv-summit{font-size:clamp(28px,4.2vw,58px)!important;letter-spacing:.3em!important;padding-left:.3em!important}
/* =========== 「お力添えいたします」も金に輝く文字 =========== */
.records .record-partnership.cx-boom span{background:linear-gradient(100deg,#6e4410 0%,#a77a2b 22%,#f3d58d 38%,#fff7d4 47%,#d9b569 56%,#8a5f1a 70%,#c99a3e 85%,#6e4410 100%);background-size:260% 100%;background-position:130% 0;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #fff3c4) drop-shadow(0 6px 10px #5a3a0a40);animation:cxSweep 4.2s cubic-bezier(.5,0,.3,1) infinite;font-family:'Noto Serif JP','Yu Mincho',serif!important;font-weight:900!important}
.records .record-partnership.cx-boom span:last-child{animation-delay:.25s}
.records .record-partnership.cx-boom strong{background:none!important;color:inherit!important;-webkit-text-fill-color:transparent;text-shadow:none!important;animation:none!important;padding:0}
.records .record-partnership.cx-boom strong:after{display:none!important}
/* =========== MISSION：ビジョンと同じ「写真の上に文字」 =========== */
.mission:before{background:url('assets/family-park.jpg') center 80%/cover!important}
.mission:after{background:linear-gradient(90deg,#fbf3e0f2 0%,#fbf3e0d9 32%,#fbf3e080 52%,#fbf3e000 72%)!important}
.mission .mission-layout>div:last-child{background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.mission .editorial-heading,.mission .mvv-label>span,.mission .mvv-label p,.mission .mvv-label small{filter:none!important}
.mission .mvv-label small{color:#7e7456!important}
.mission h2.cx-zoom,.mission .mvv-lead{text-shadow:0 0 18px #fbf3e0,0 0 6px #fbf3e0}
@media(max-width:900px){.mission:after{background:linear-gradient(180deg,#fbf3e0f2 0%,#fbf3e0dd 55%,#fbf3e040 85%)!important}.mission:before{background-position:center bottom!important}}
/* =========== VALUE：3つすべてに握手の写真 =========== */
.values{background:radial-gradient(ellipse at 0 0,#223e36,#0b1d18 70%)!important}
.values .value-card{position:relative;overflow:hidden;isolation:isolate;padding:60px clamp(22px,4vw,56px) 50px!important;margin-bottom:22px;border:1px solid #f3d58d44!important;border-radius:4px}
.values .value-card:before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/handshake.jpg') var(--vp,center)/cover;transform:scale(1.08);transition:transform 6s ease-out}
.values .value-card.visible:before{transform:scale(1)}
.values .value-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1d18f0 0%,#0b1d18c0 45%,#0b1d1855 100%)}
.values .value-card:nth-child(even):after{background:linear-gradient(270deg,#0b1d18f0 0%,#0b1d18c0 45%,#0b1d1855 100%)}
.values .value-card:nth-child(1){--vp:22% 30%}.values .value-card:nth-child(2){--vp:50% 62%}.values .value-card:nth-child(3){--vp:82% 30%}
/* =========== 同じ未来：昼の写真（赤ちゃんは向こう向き） =========== */
.cx-s-bgimg{background:linear-gradient(90deg,#0a1a2499 0%,#0a1a2450 40%,#0a1a2400 75%),url('assets/together-day2.jpg') center 40%/cover!important}
/* =========== お問い合わせ：ご相談の流れ =========== */
.cx-ct-steps{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:560px}
.cx-ct-steps li{background:#fff;border:1px solid #e3d4ae;border-radius:12px;padding:16px 12px;display:flex;flex-direction:column;gap:8px;position:relative}
.cx-ct-steps li:not(:last-child):after{content:"";position:absolute;right:-9px;top:50%;width:8px;height:8px;border-top:1.5px solid #c99a3e;border-right:1.5px solid #c99a3e;transform:translateY(-50%) rotate(45deg);z-index:1}
.cx-ct-steps b{font:400 22px Georgia,serif;color:#a77a2b}
.cx-ct-steps span{font-size:13px;line-height:1.7;color:#3d463f}
@media(max-width:560px){.cx-ct-steps{grid-template-columns:1fr}.cx-ct-steps li:not(:last-child):after{display:none}}

/* =========== v15 最終仕上げ =========== */
/* オープニング：最後の一言を少し長く見せる */
.lv-w:nth-child(4){font-size:clamp(24px,3.2vw,46px)!important}
/* お力添え：金と被らない濃紺＋キラリと光る */
.records .record-partnership.cx-boom span{background:linear-gradient(100deg,#0f2a24 0%,#0f2a24 40%,#ffffff 48%,#fff4c8 52%,#0f2a24 60%,#0f2a24 100%)!important;background-size:280% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;filter:drop-shadow(0 1px 0 #fff6d8)!important}
.records .record-partnership.cx-boom span:first-child{background-image:linear-gradient(100deg,#2b3a33 0%,#2b3a33 40%,#ffffff 48%,#fff4c8 52%,#2b3a33 60%,#2b3a33 100%)!important}
/* VALUE：握手の写真は見出しの大きなバナーに、3つの行動指針は黒背景に */
.values .value-card:before,.values .value-card:after{display:none!important}
.values .value-card{background:linear-gradient(135deg,#132a24,#0b1d18)!important}
.cx-tb{position:relative;margin:0 -9% 60px;min-height:clamp(380px,48vw,680px);display:flex;align-items:center;padding:0 9%;overflow:hidden;isolation:isolate}
.cx-tb-img{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1d18e6 0%,#0b1d1899 34%,#0b1d1810 62%),url('assets/handshake.jpg') center 38%/cover;transform:scale(1.1);transition:transform 2.4s cubic-bezier(.2,.8,.2,1)}
.cx-tb:has(.section-head.visible) .cx-tb-img,body:not(.motion) .cx-tb-img{transform:none}
.cx-tb .section-head{margin:0!important;max-width:560px;display:block!important}
.cx-tb .section-head h2{font-size:clamp(38px,5vw,76px)!important;color:#fff7e6!important;text-shadow:0 4px 30px #000a}
.cx-tb .section-head p{color:#f1ebdc!important;margin-top:18px;font-size:16px}
@media(max-width:760px){.cx-tb{margin:0 -7% 40px;padding:0 7%;align-items:flex-end;padding-bottom:40px}.cx-tb-img{background:linear-gradient(0deg,#0b1d18f0 0%,#0b1d1866 50%,#0b1d1810 100%),url('assets/handshake.jpg') center/cover}}
/* 同じ未来：くっきりした昼の写真に */
.cx-s-bgimg{background:linear-gradient(90deg,#071823b3 0%,#07182366 38%,#07182300 70%),url('assets/future-day.jpg') center 55%/cover!important;filter:saturate(1.08) contrast(1.05)}
.cx-s-hero-bg .cx-s-title em{filter:drop-shadow(0 2px 10px #0008)}
/* お問い合わせ：シンプルに、誰でも気軽に */
.cx-ct{position:static!important;align-self:center}

/* =========== v16 最終 =========== */
/* オープニング：ロゴ登場と大通公園への光をもっと強く */
.lv-bloom{position:absolute;left:50%;top:50%;width:20vmax;height:20vmax;margin:-10vmax;border-radius:50%;z-index:5;pointer-events:none;opacity:0;
  background:radial-gradient(circle,#ffffff 0%,#fff6dccc 25%,#ffe2a066 50%,transparent 70%)}
.lv.boom .lv-bloom{animation:lvBloom 1.4s cubic-bezier(.15,.8,.25,1) forwards}
@keyframes lvBloom{0%{opacity:0;transform:scale(.2)}12%{opacity:1;transform:scale(2.2)}100%{opacity:.18;transform:scale(5)}}
.lv-flare{position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;z-index:6;pointer-events:none;opacity:0;transform:scaleX(0);
  background:linear-gradient(90deg,transparent,#8fd3ff66 15%,#fff 50%,#ffd88a88 85%,transparent);box-shadow:0 0 30px 8px #fff3c899,0 0 90px 30px #ffe2a044}
.lv.flare .lv-flare{animation:lvFlare 1.2s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes lvFlare{0%{opacity:0;transform:scaleX(0)}25%{opacity:1;transform:scaleX(1.1)}100%{opacity:0;transform:scaleX(1.4)}}
.lv.boom .lv-logo{animation:lvReveal2 1.1s cubic-bezier(.16,.9,.25,1) forwards!important}
@keyframes lvReveal2{0%{opacity:0;transform:scale(1.35);filter:blur(14px) brightness(3)}45%{opacity:1;filter:brightness(1.8)}100%{opacity:1;transform:none;filter:none}}
.lv-logo img{filter:drop-shadow(0 12px 40px #000c) drop-shadow(0 0 60px #f3d58d99)!important}
.lv-summit{font-size:clamp(34px,5.4vw,78px)!important;filter:drop-shadow(0 0 22px #f3d58dcc) drop-shadow(0 4px 24px #000c)!important}
.lv.summit .lv-summit{animation:cxGold 3s linear infinite,lvSummitPop .9s cubic-bezier(.18,1.5,.4,1)}
@keyframes lvSummitPop{0%{transform:scale(1.25)}100%{transform:none}}
.lv-tag{font-size:clamp(16px,2vw,26px)!important;color:#fff4d8!important;text-shadow:0 0 16px #f3d58daa,0 2px 14px #000c!important}
.lv.fly .lv-flash{animation:lvFly2 1.1s cubic-bezier(.3,0,.2,1) forwards!important;background:radial-gradient(ellipse at center,#fff 0%,#fffaf0 50%,#fff3d0 100%)!important}
@keyframes lvFly2{0%{opacity:0}35%{opacity:1}55%{opacity:1}100%{opacity:0}}
/* お力添え：きらびやかに */
.records .record-partnership.cx-boom{position:relative}
.cx-boom .spk{position:absolute;left:var(--x);top:var(--y);width:18px;height:18px;margin:-9px;pointer-events:none;animation:cxSpark 2.6s var(--d) ease-in-out infinite;opacity:0}
.cx-boom .spk:before,.cx-boom .spk:after{content:"";position:absolute;left:50%;top:50%;width:100%;height:2px;margin:-1px -50%;background:linear-gradient(90deg,transparent,#fff,transparent);border-radius:2px}
.cx-boom .spk:after{transform:rotate(90deg)}
@keyframes cxSpark{0%,100%{opacity:0;transform:scale(.2) rotate(0)}45%{opacity:1;transform:scale(1.2) rotate(45deg)}60%{opacity:.6}}
.records .record-partnership.cx-boom span{filter:drop-shadow(0 1px 0 #fff6d8) drop-shadow(0 0 14px #fff3c8)!important}
.records .record-partnership.cx-boom strong{display:inline-block;position:relative}
.records .record-partnership.cx-boom strong:before{content:"";position:absolute;left:-2%;right:-2%;bottom:.05em;height:.12em;background:linear-gradient(90deg,transparent,#c99a3e,#fff1b4,#c99a3e,transparent);border-radius:3px}
/* MISSION：お母さんが赤ちゃんを抱く家族写真に、見出しを大きく */
.mission:before{background:url('assets/family-love.jpg') 75% 30%/cover!important}
.mission h2.cx-zoom{font-size:clamp(34px,4.6vw,72px)!important;line-height:1.45!important}
@media(max-width:900px){.mission:before{background-position:60% 20%!important}}
/* VISION：5期連続No.1のように金で打ち出す */
.vision h2.cx-zoom.cx-vgold{font-family:'Noto Serif JP','Yu Mincho',serif!important;font-weight:900!important;font-size:clamp(40px,6vw,96px)!important;
  background:linear-gradient(100deg,#6e4410 0%,#a77a2b 22%,#f3d58d 38%,#fff7d4 47%,#d9b569 56%,#8a5f1a 70%,#c99a3e 85%,#6e4410 100%)!important;background-size:260% 100%!important;background-position:130% 0;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;filter:drop-shadow(0 2px 0 #fff3c4) drop-shadow(0 8px 16px #00000030);animation:cxSweep 4.2s cubic-bezier(.5,0,.3,1) infinite!important}
.vision h2.cx-zoom.cx-vgold{transform:scale(.3);opacity:0;transition:transform 1.1s cubic-bezier(.18,1.6,.4,1),opacity .5s}
.vision h2.cx-zoom.cx-vgold.in{transform:none;opacity:1}
/* VALUE：握手の写真を大画面でそのまま、3つの行動指針は札幌の写真を背景に */
.cx-tb{min-height:0!important;aspect-ratio:1536/1024;max-height:92vh;align-items:flex-end!important;padding-bottom:clamp(30px,5vw,70px)!important}
.cx-tb-img{background:linear-gradient(0deg,#0b1d18e0 0%,#0b1d1860 28%,#0b1d1800 50%),url('assets/handshake.jpg') center/cover!important}
@media(max-width:760px){.cx-tb{aspect-ratio:auto;min-height:72vh!important}}
.values .value-card{background:none!important}
.values .value-card:before{display:block!important;content:"";position:absolute;inset:0;z-index:-2;background:var(--vbg) center/cover;transform:scale(1.08);transition:transform 6s ease-out}
.values .value-card.visible:before{transform:scale(1)}
.values .value-card:after{display:block!important;content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b1d18eb 0%,#0b1d18b0 50%,#0b1d1840 100%)}
.values .value-card:nth-child(even):after{background:linear-gradient(270deg,#0b1d18eb 0%,#0b1d18b0 50%,#0b1d1840 100%)}
.values .value-card:nth-child(1){--vbg:url('assets/sp-odori.jpg')}
.values .value-card:nth-child(2){--vbg:url('assets/sp-tvtower.jpg')}
.values .value-card:nth-child(3){--vbg:url('assets/sp-night.jpg')}
/* 同じ未来：手をつないで景色を見る写真（くっきり） */
.cx-s-bgimg{background:linear-gradient(90deg,#08141cb3 0%,#08141c55 38%,#08141c00 70%),url('assets/together-day3.jpg') center 45%/cover!important;filter:none!important}
/* サポート：諸費用の提携先 */
.cx-partners{list-style:none;margin:-6px 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cx-partners li{font-size:12px;padding:5px 11px;border-radius:999px;background:#f6ecd2;color:#5a3d14;border:1px solid #e3d4ae}
/* お問い合わせ：質問から自然に相談できるように、余白を詰める */
.contact{padding-block:90px!important;align-items:center!important}
.cx-ct .cx-ct-lead{margin-bottom:18px}
.cx-ask{margin:6px 0 24px}
.cx-ask-q{margin:0 0 12px!important;font:700 16px 'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif!important;color:#1f2a24!important}
.cx-ask-q small{display:block;font-weight:400;font-size:12px;color:#7a7060;margin-top:2px}
.cx-ask-list{display:flex;flex-wrap:wrap;gap:8px}
.cx-ask-list button{border:1px solid #d9c79c;background:#fff;color:#2c3630;border-radius:999px;padding:10px 16px;font-size:14px;cursor:pointer;transition:all .25s;text-align:left}
.cx-ask-list button:before{content:"＋ ";color:#a77a2b}
.cx-ask-list button:hover{border-color:#a77a2b;background:#fffaf0;transform:translateY(-2px)}
.cx-ask-list button.on{background:#1d3a33;color:#fff3d4;border-color:#1d3a33}
.cx-ask-list button.on:before{content:"✓ ";color:#e9cf92}

/* =========== v17 =========== */
/* オープニング：世界地図から札幌へズーム */
.lv-map{position:absolute;inset:0;z-index:4;overflow:hidden;opacity:0;pointer-events:none;background:radial-gradient(ellipse at 60% 40%,#14233a 0%,#070b14 70%)}
.lv.map .lv-map{opacity:1;transition:opacity .5s}
.lv.reel .lv-map{opacity:0;transition:opacity .35s}
.lv-globe{position:absolute;left:50%;top:50%;width:max(130vw,300vh);aspect-ratio:3600/1360;transform-origin:0 0;transform:translate(-50%,-50%) scale(1);will-change:transform}
.lv-globe img{width:100%;height:100%;display:block;opacity:.9}
.lv.map .lv-globe{animation:lvDrift 1s ease-out both}
@keyframes lvDrift{from{transform:translate(-46%,-50%) scale(.92)}to{transform:translate(-50%,-50%) scale(1)}}
.lv.zoom .lv-globe{animation:lvZoom 1.45s cubic-bezier(.7,0,.2,1) forwards}
@keyframes lvZoom{0%{transform:translate(-50%,-50%) scale(1);filter:none}55%{filter:blur(1.5px)}100%{transform:translate(-624.8%,-179.8%) scale(7);filter:blur(.4px) brightness(1.2)}}
.lv-pin{position:absolute;left:89.26%;top:25.69%;width:.5%;aspect-ratio:1;margin:-.25% 0 0 -.25%;border-radius:50%;background:#fff;box-shadow:0 0 12px 4px #fff2c8,0 0 40px 14px #f3d58d88;opacity:0;transform:scale(0)}
.lv.pin .lv-pin{opacity:1;transform:none;transition:transform .5s cubic-bezier(.2,1.6,.4,1),opacity .2s}
.lv-pin b{position:absolute;inset:-60%;border:2px solid #f3d58d;border-radius:50%;opacity:0}
.lv.pin .lv-pin b{animation:lvRing 1.6s ease-out infinite}
.lv.pin .lv-pin b:nth-child(2){animation-delay:.5s}.lv.pin .lv-pin b:nth-child(3){animation-delay:1s}
@keyframes lvRing{0%{opacity:1;transform:scale(.4)}100%{opacity:0;transform:scale(4)}}
.lv-geo{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,40px);z-index:2;text-align:center;opacity:0;color:#fff8ea;font:400 clamp(38px,6vw,92px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.32em;padding-left:.32em;text-shadow:0 0 30px #f3d58d88,0 4px 30px #000c}
.lv-geo small,.lv-geo em{display:block;font:10px Arial,sans-serif;letter-spacing:.5em;color:#e9cf92;font-style:normal}
.lv-geo small{margin-bottom:16px}.lv-geo em{margin-top:16px;letter-spacing:.3em}
.lv.geo .lv-geo{animation:lvGeo .7s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes lvGeo{0%{opacity:0;letter-spacing:.8em;filter:blur(8px)}100%{opacity:1;letter-spacing:.32em;filter:none}}
/* ロゴはズドーンと */
.lv-fx{display:block!important;position:absolute;inset:0;z-index:7;pointer-events:none;width:100%;height:100%}
.lv.boom{animation:lvQuake .5s cubic-bezier(.3,.6,.4,1)}
@keyframes lvQuake{0%{transform:scale(1.04)}15%{transform:translate(-6px,4px)}30%{transform:translate(5px,-4px)}45%{transform:translate(-3px,2px)}60%{transform:translate(2px,-1px)}100%{transform:none}}
.lv.boom .lv-logo{animation:lvSlam .75s cubic-bezier(.2,1.3,.35,1) forwards!important}
@keyframes lvSlam{0%{opacity:0;transform:scale(3.2);filter:blur(18px) brightness(3)}35%{opacity:1;transform:scale(.94);filter:brightness(2.2)}60%{transform:scale(1.03)}100%{opacity:1;transform:none;filter:none}}

/* 背景写真をゆっくり動かす（共通） */
@keyframes cxKen2{0%{transform:scale(1.02) translate(0,0)}100%{transform:scale(1.12) translate(-1.5%,-1%)}}

/* MISSION：ソファで笑う家族 */
.mission{overflow:hidden;isolation:isolate}
.mission:before{background:url('assets/mission-sofa.jpg') 70% center/cover!important;animation:cxKen2 18s ease-in-out infinite alternate!important;transform-origin:70% 50%}
.mission:after{background:linear-gradient(90deg,#fffaf0f2 0%,#fffaf0d8 30%,#fffaf070 48%,#fffaf000 62%)!important}
@media(max-width:900px){.mission:before{background-position:72% center!important}.mission:after{background:linear-gradient(180deg,#fffaf0f2 0%,#fffaf0dd 58%,#fffaf020 85%)!important}}

/* VISION：札幌の街並みが動く背景 */
.vision{position:relative;overflow:hidden;isolation:isolate}
.vision .vision-background{background:none!important;overflow:hidden;z-index:-1!important;position:absolute!important;inset:0!important;opacity:1!important}
.vision .vision-background i{position:absolute;inset:-4%;background:var(--img) center/cover;opacity:0;animation:cxSlide 24s linear infinite;animation-delay:var(--dl)}
@keyframes cxSlide{0%{opacity:0;transform:scale(1.18) translateX(2%)}4%{opacity:1}25%{opacity:1}29%{opacity:0;transform:scale(1.02) translateX(-2%)}100%{opacity:0}}
.vision .vision-background:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 50% 50%,#fffaf0e6 0%,#fffaf0b8 45%,#fffaf040 100%)}
.vision .vision-content>p:not(.eyebrow){color:#1f1a10!important;text-shadow:0 0 14px #fffaf0,0 0 4px #fffaf0}

/* VALUE：黒をやめて明るく。握手の二人を大きく */
.values{background:linear-gradient(180deg,#fbf6ea,#f3e8cf)!important;color:#1f2a24!important}
.values .mvv-label small{color:#7e7456!important}
.cx-tb{aspect-ratio:16/8!important;max-height:none!important;border-radius:0;align-items:flex-end!important}
.cx-tb-img{background:url('assets/handshake.jpg') 52% 30%/118% auto no-repeat!important;transform:none;animation:cxKen2 16s ease-in-out infinite alternate;transform-origin:50% 40%}
.cx-tb .section-head{background:#fffaf0f0;padding:clamp(22px,3vw,40px) clamp(24px,3.4vw,48px)!important;border-left:4px solid #c99a3e;box-shadow:0 20px 50px #0000002a;max-width:520px!important}
.cx-tb .section-head h2{color:#1f2a24!important;text-shadow:none!important;font-size:clamp(30px,3.8vw,58px)!important}
.cx-tb .section-head p{color:#4a544d!important}
@media(max-width:760px){.cx-tb{aspect-ratio:auto!important;min-height:0!important;display:block!important;padding:0!important}.cx-tb-img{position:relative!important;height:62vw;background-size:150% auto!important;background-position:50% 25%!important}.cx-tb .section-head{margin:-30px 5% 0!important;position:relative}}
.values .value-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important}
@media(max-width:900px){.values .value-grid{grid-template-columns:1fr}}
.values .value-card{background:#fff!important;border:1px solid #e6d6ad!important;border-radius:10px!important;padding:clamp(250px,22vw,300px) 28px 32px!important;margin:0!important;box-shadow:0 18px 44px #6b4a171a;overflow:hidden}
.values .value-card:before{inset:0 0 auto 0!important;height:clamp(220px,19vw,268px);transform:scale(1.06);animation:cxKen2 14s ease-in-out infinite alternate}
.values .value-card:after{inset:clamp(180px,16vw,228px) 0 auto 0!important;height:40px;background:linear-gradient(180deg,#fff0,#fff)!important}
.values .value-card .value-number{color:#c99a3e!important;-webkit-text-fill-color:#c99a3e}
.values .value-card .value-en{color:#a77a2b!important;-webkit-text-fill-color:#a77a2b;letter-spacing:.24em}
.values .value-card h3{color:#1f2a24!important;-webkit-text-fill-color:#1f2a24;text-shadow:none!important;font-size:clamp(22px,1.9vw,28px)!important;line-height:1.5}
.values .value-card p:not(.value-en){color:#3d463f!important;text-shadow:none!important;font-size:15px!important;line-height:1.95!important}
.values .mvv-orbit{background:#fffaf0}

/* 同じ未来：ワンちゃんも入った朝日の写真（全員見えるように） */
.cx-s-hero-bg{min-height:0!important;aspect-ratio:1983/793}
.cx-s-bgimg{background:linear-gradient(90deg,#0a1a2488 0%,#0a1a2433 35%,#0a1a2400 60%),url('assets/together-sunrise.jpg') center/cover!important;animation:cxKen3 16s ease-in-out infinite alternate;transform-origin:35% 60%}
@keyframes cxKen3{from{transform:scale(1)}to{transform:scale(1.05)}}
@media(max-width:760px){.cx-s-hero-bg{aspect-ratio:auto;min-height:110vw!important}.cx-s-bgimg{background:linear-gradient(180deg,#0a1a2499 0%,#0a1a2420 45%),url('assets/together-sunrise.jpg') 62% center/cover!important}}

/* お問い合わせ：色とインパクト */
.contact{background:linear-gradient(135deg,#0f2a24 0%,#1b3d34 48%,#0f2a24 100%)!important;position:relative;overflow:hidden;isolation:isolate}
.contact:before{content:"";position:absolute;inset:-5%;z-index:-1;background:url('assets/sp-odori.jpg') center/cover;opacity:.18;animation:cxKen2 20s ease-in-out infinite alternate}
.contact:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 15% 20%,#f3d58d33,transparent 55%)}
.cx-ct .eyebrow{color:#e9cf92!important}
.cx-ct h2{color:#fff8ea!important}
.cx-ct h2 em{color:transparent!important;background:linear-gradient(100deg,#c99a3e,#fff1b4 45%,#d9b569 60%,#c99a3e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cx-ct h2 em:after{display:none}
.cx-ct .cx-ct-lead{color:#f1ebdc!important}
.cx-ask-q{color:#fff3d4!important}.cx-ask-q small{color:#d8ccb0!important}
.cx-ask-list button{background:#ffffff14!important;color:#fff8ea!important;border-color:#e9cf9277!important}
.cx-ask-list button:hover{background:#f3d58d26!important;border-color:#f3d58d!important}
.cx-ask-list button.on{background:linear-gradient(135deg,#c99a3e,#f3d58d)!important;color:#1f1608!important;border-color:#f3d58d!important}
.cx-ask-list button:before{color:#f3d58d!important}.cx-ask-list button.on:before{color:#1f1608!important}
.cx-ct-call{background:linear-gradient(135deg,#a77a2b,#f3d58d 50%,#c99a3e)!important;color:#1f1608!important;border:0!important}
.cx-ct-call *{color:#1f1608!important;-webkit-text-fill-color:#1f1608}
.cx-ct-sub,.cx-ct-sub a,.cx-ct-sub span{color:#e7dcc2!important}
.contact #contact-form{background:#fffdf7!important;border-radius:14px;box-shadow:0 30px 80px #0006;border-top:5px solid #c99a3e!important}
.lv-globe{width:max(128vw,190vh)!important}
@keyframes lvZoom{0%{transform:translate(-50%,-50%) scale(1);filter:none}55%{filter:blur(1.2px)}100%{transform:translate(-357%,-102.8%) scale(4);filter:brightness(1.15)}}
.lv-pin{width:.32%!important;margin:-.16% 0 0 -.16%!important}
.lv-pin b{inset:-120%!important;border-width:1px!important}
.lv-geo{transform:translate(-50%,90px)!important}
/* v17 fix */
.mission .mission-layout{grid-template-columns:1fr!important;max-width:min(660px,50%);gap:26px!important}
.mission .mission-logo{max-width:240px!important;margin:0!important}
.mission h2.cx-zoom{font-size:clamp(28px,3.1vw,50px)!important;white-space:nowrap}
.mission .mvv-lead{font-size:clamp(17px,1.6vw,24px)!important;line-height:2!important}
.mission:before{background-position:100% center!important}
@media(max-width:900px){.mission .mission-layout{max-width:none}.mission h2.cx-zoom{white-space:normal;font-size:clamp(26px,7vw,40px)!important}}
.cx-tb{display:block!important;aspect-ratio:auto!important;padding:0!important;overflow:visible!important}
.cx-tb-img{position:relative!important;inset:auto!important;display:block;width:100%;aspect-ratio:1536/860;background:url('assets/handshake.jpg') 50% 22%/cover no-repeat!important;overflow:hidden}
.cx-tb .section-head{position:relative;margin:-70px auto 0!important;max-width:760px!important;text-align:center;border-left:0!important;border-top:4px solid #c99a3e;border-radius:6px}
.cx-tb .section-head h2{font-size:clamp(28px,3.2vw,48px)!important;line-height:1.5!important;letter-spacing:.06em!important}
.cx-tb .section-head h2 br{display:none}
.cx-tb .section-head p{font-size:16px!important;line-height:1.9!important;margin:12px 0 0!important}
.values .value-card{display:block!important}
.values .value-card:after{display:none!important}
.values .value-card .value-en{font:600 13px/1.4 Georgia,serif!important;letter-spacing:.3em!important;margin:14px 0 8px!important;background:none!important;-webkit-background-clip:initial!important}
.values .value-card .value-number{width:auto!important;height:auto!important;border:0!important;font:400 30px Georgia,serif!important;display:block;margin:0!important}
.values .value-card h3{margin:0 0 16px!important}
.values .value-card p:not(.value-en){white-space:normal!important;margin:0 0 12px!important;padding:0!important;max-width:none!important;width:auto!important;text-indent:0!important;transform:none!important;position:static!important}
.cx-tb-img{aspect-ratio:1536/1024!important;background-position:50% 0!important;max-height:none}
.values .value-card,.values .value-card *{text-align:left!important}
.values .value-card:nth-child(even) .value-number,.values .value-card:nth-child(even) h3{margin-left:0!important}
/* サポートカード：文字がはみ出さないように */
.cx-gp{flex-basis:min(34vw,460px)!important}
.cx-gp .cp{display:block!important;position:relative!important}
.cx-gp .n{position:absolute!important;right:22px;top:-74px;font-size:64px!important;-webkit-text-stroke:1.5px #fff!important;filter:drop-shadow(0 2px 8px #0008);z-index:3}
.cx-gp h3{white-space:normal!important;font-size:clamp(20px,1.7vw,26px)!important}
.cx-gp .ph{animation:cxKen3 9s ease-in-out infinite alternate}
@media(max-width:860px){.cx-gp{flex-basis:80vw!important}}
@media(max-width:760px){.cx-tb-img{height:auto!important;background-size:cover!important;background-position:50% 0!important}.cx-tb .section-head{margin:-24px 4% 0!important}.cx-tb .section-head h2{font-size:24px!important}
 .cx-s-bgimg{background-position:72% center!important}.mission h2.cx-zoom{font-size:6.4vw!important}}
/* 代表挨拶：本文 */
.cx-msg h2{font:700 clamp(30px,3.4vw,52px)/1.5 'Noto Serif JP','Yu Mincho',serif!important;letter-spacing:.06em}
.cx-msg h3{margin:56px 0 18px;font:700 clamp(20px,1.8vw,26px)/1.6 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.08em;color:#8a5f1a;display:flex;align-items:center;gap:16px}
.cx-msg h3:before{content:"";width:34px;height:1px;background:#c99a3e;flex:none}
.cx-msg p{line-height:2.1!important}
.cx-msg-key{margin:34px 0!important;padding:26px 30px;border-left:3px solid #c99a3e;background:linear-gradient(90deg,#f3d58d22,transparent);font:700 clamp(20px,2vw,28px)/1.7 'Noto Serif JP','Yu Mincho',serif!important;color:#3f280a}
.cx-msg-key small{display:block;margin-top:6px;font:500 15px/1.9 'Yu Gothic',sans-serif;color:#5a5040}
.cx-msg-quote{font:700 clamp(17px,1.5vw,21px)/2 'Noto Serif JP','Yu Mincho',serif!important;color:#3f280a;margin:22px 0!important}
.cx-msg-end{margin-top:40px!important;font:700 clamp(20px,2vw,28px)/1.8 'Noto Serif JP','Yu Mincho',serif!important;color:#8a5f1a}
.cx-msg-sign{margin-top:30px!important;text-align:right;font:700 18px 'Noto Serif JP','Yu Mincho',serif!important;letter-spacing:.1em}
.cx-msg-sign small{display:block;font-size:13px;letter-spacing:.2em;color:#8a7a5a}
.cx-msg p:not(.eyebrow):not(.cx-msg-key):not(.cx-msg-quote):not(.cx-msg-end):not(.cx-msg-sign){font-size:clamp(15px,1.15vw,17px)!important;color:#2f352f!important}
.cx-msg .message-opening{font:700 clamp(19px,1.7vw,24px)/2 'Noto Serif JP','Yu Mincho',serif!important;color:#1f2a24!important}
.cx-msg-quote,.cx-msg-key{color:#3f280a!important}.cx-msg-end{color:#8a5f1a!important}
@media(min-width:901px){.founder .founder-photo-column{position:sticky;top:110px;align-self:start}}
/* 代表挨拶：全文を開く */
.cx-msg-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .9s cubic-bezier(.2,.8,.2,1);position:relative}
.cx-msg-more>div{overflow:hidden}
.cx-msg-more:after{content:"";position:absolute;left:0;right:0;bottom:0;height:0;pointer-events:none}
.cx-msg.open .cx-msg-more{grid-template-rows:1fr}
.cx-msg-toggle{margin:28px 0 8px;display:inline-flex;align-items:center;gap:16px;padding:16px 28px;border-radius:999px;border:1px solid #c99a3e;background:linear-gradient(135deg,#1d3a33,#0f2a24);color:#fff3d4;font:700 15px 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.12em;cursor:pointer;box-shadow:0 14px 30px #0f2a2430;transition:transform .3s,box-shadow .3s}
.cx-msg-toggle:hover{transform:translateY(-2px);box-shadow:0 18px 40px #0f2a2440}
.cx-msg-toggle i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#f3d58d;color:#1f1608;transition:transform .4s}
.cx-msg.open .cx-msg-toggle i{transform:rotate(45deg)}
.cx-msg-voice{font:700 clamp(18px,1.6vw,22px)/2 'Noto Serif JP','Yu Mincho',serif!important;color:#5a3d14!important;margin:22px 0!important;padding-left:18px;border-left:2px solid #e3d4ae}
.cx-msg-letter{margin:30px 0!important;padding:30px 34px;background:#fffdf6;border:1px solid #e6d6ad;box-shadow:0 14px 34px #6b4a1714;font:500 clamp(18px,1.7vw,24px)/2.1 'Noto Serif JP','Yu Mincho',serif!important;color:#3f280a!important;position:relative;transform:rotate(-.6deg)}
.cx-msg-letter:before{content:"LETTER";position:absolute;top:-10px;left:24px;font:10px Arial;letter-spacing:.4em;background:#c99a3e;color:#fff;padding:3px 10px}

/* =========== v18 =========== */
/* オープニング：問いかけ → ロゴ */
.lv-map{display:none!important}
.lv-burst,.lv-fx,.lv-cams,.lv-summit{display:none!important}
.lv.boom{animation:none!important}
.lv.boom .lv-logo{animation:lvReveal3 1.6s cubic-bezier(.2,.7,.2,1) forwards!important}
@keyframes lvReveal3{0%{opacity:0;transform:scale(1.06);filter:blur(10px) brightness(2.2)}100%{opacity:1;transform:none;filter:none}}
.lv-f.ask .tl{filter:brightness(.42) saturate(.8) blur(1px)!important}
.lv-q{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,3vh,34px);pointer-events:none;text-align:center;padding:0 6%}
.lv-q p{margin:0;font:600 clamp(24px,3.6vw,54px)/1.6 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.14em;color:#fff8ea;text-shadow:0 2px 26px #000d}
.lv-q .q2{color:#f6dfa6}
.lv-q span{display:inline-block;opacity:0;transform:translateY(12px);filter:blur(6px)}
.lv.q1 .q1 span,.lv.q2 .q2 span{animation:lvChar .7s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i)*45ms)}
@keyframes lvChar{to{opacity:1;transform:none;filter:none}}
.lv.dark .lv-q{opacity:0;transition:opacity .4s}
.lv-q br.sp{display:none}
@media(max-width:700px){.lv-q br.sp{display:inline}}
.lv-tag{font:600 clamp(18px,2.4vw,32px)/1.6 'Noto Serif JP','Yu Mincho',serif!important;letter-spacing:.18em!important;margin-top:18px}
.lv.summit .lv-tag{animation:lvSoft 1.2s cubic-bezier(.2,.7,.2,1) forwards!important}

/* VISION：時計台 → 札幌駅 の2枚 */
.vision .vision-background i{animation:cxSlide2 14s linear infinite!important;animation-delay:var(--dl)!important}
@keyframes cxSlide2{0%{opacity:0;transform:scale(1.16) translateX(2%)}6%{opacity:1}50%{opacity:1}56%{opacity:0;transform:scale(1.02) translateX(-2%)}100%{opacity:0}}
.vision .vision-background i:first-child{opacity:1}

/* VALUE：1・2・3を大きく、写真＋文章で */
.cx-tb{margin-bottom:70px!important}
.values .value-grid.cx-vrows{display:flex!important;flex-direction:column;gap:clamp(40px,6vw,90px)!important}
.values .cx-vrows .value-card{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible}
.values .cx-vrows .value-card:before,.values .cx-vrows .value-card:after{display:none!important}
.values .cx-vrows .value-card:nth-child(even) .cx-v-ph{order:2}
.cx-v-ph{aspect-ratio:4/3;border-radius:6px;background:var(--vbg) center/cover;box-shadow:0 30px 60px #3a2d1430;animation:cxKen3 12s ease-in-out infinite alternate}
.values .cx-vrows .value-card:nth-child(1){--vbg:url('assets/sp-odori.jpg')}
.values .cx-vrows .value-card:nth-child(2){--vbg:url('assets/sp-tvtower.jpg')}
.values .cx-vrows .value-card:nth-child(3){--vbg:url('assets/sp-night.jpg')}
.cx-v-tx .value-number{font:400 clamp(60px,7vw,110px)/1 'Cormorant Garamond',Georgia,serif!important;color:transparent!important;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #a77a2b;display:block}
.cx-v-tx .value-en{margin:10px 0 12px!important}
.cx-v-tx h3{font:700 clamp(26px,2.8vw,42px)/1.5 'Noto Serif JP','Yu Mincho',serif!important;margin:0 0 22px!important}
.cx-v-tx p:not(.value-en){font-size:16px!important;line-height:2.05!important;margin:0 0 14px!important}
.cx-v-tx p:last-child{font-weight:700;color:#3f280a!important;font-family:'Noto Serif JP','Yu Mincho',serif}
@media(max-width:860px){.values .cx-vrows .value-card{grid-template-columns:1fr}.values .cx-vrows .value-card:nth-child(even) .cx-v-ph{order:0}}

/* 同じ未来：白文字＋ロゴ */
.cx-s-hero-bg .cx-s-title em{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;filter:drop-shadow(0 4px 24px #0009)!important}
.cx-s-hero-bg .cx-s-title em:before,.cx-s-hero-bg .cx-s-title em:after{display:none!important}
.cx-s-logo{position:absolute;right:5%;bottom:8%;z-index:2;text-align:center;width:min(300px,26vw)}
.cx-s-logo img{width:100%;filter:drop-shadow(0 0 30px #fff7d8aa) drop-shadow(0 8px 20px #0007);animation:cxLogoGlow 4s ease-in-out infinite}
.cx-s-logo span{display:block;margin-top:10px;font:600 clamp(11px,1vw,14px)/1.6 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.14em;color:#fff;text-shadow:0 2px 12px #000c}
@keyframes cxLogoGlow{0%,100%{filter:drop-shadow(0 0 18px #fff7d866) drop-shadow(0 8px 20px #0007)}50%{filter:drop-shadow(0 0 40px #fff2c8dd) drop-shadow(0 8px 20px #0007)}}
@media(max-width:760px){.cx-s-logo{width:42vw;right:4%;bottom:5%}.cx-s-logo span{display:none}}

/* 代表挨拶：全画面で読む */
.cx-read{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#fbf6ea;overflow:auto;color:#2f352f}
.cx-read::backdrop{background:#0b1d18cc}
.cx-read[open]{animation:cxReadIn .6s cubic-bezier(.2,.8,.2,1)}
@keyframes cxReadIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.cx-read-in{max-width:760px;margin:0 auto;padding:clamp(70px,9vw,120px) 7% 120px}
.cx-read-x{position:fixed;top:18px;right:22px;width:52px;height:52px;border-radius:50%;border:1px solid #c99a3e;background:#0f2a24;color:#f3d58d;font-size:26px;cursor:pointer;z-index:2}
.cx-read-eb{font:11px Arial;letter-spacing:.5em;color:#a77a2b}
.cx-read h2{font:700 clamp(32px,4.4vw,60px)/1.5 'Noto Serif JP','Yu Mincho',serif;color:#1f2a24;margin:10px 0 36px}
.cx-read h3{margin:60px 0 20px;font:700 clamp(20px,2vw,26px)/1.6 'Noto Serif JP','Yu Mincho',serif;color:#8a5f1a;display:flex;align-items:center;gap:16px}
.cx-read h3:before{content:"";width:34px;height:1px;background:#c99a3e}
.cx-read p{font-size:17px;line-height:2.15;margin:0 0 22px}
.cx-read .message-opening{font:700 clamp(20px,2vw,26px)/2 'Noto Serif JP','Yu Mincho',serif;color:#1f2a24;border-left:2px solid #c99a3e;padding-left:20px}
.cx-read .cx-msg-key{margin:36px 0;padding:26px 30px;border-left:3px solid #c99a3e;background:linear-gradient(90deg,#f3d58d22,transparent);font:700 clamp(20px,2vw,28px)/1.7 'Noto Serif JP','Yu Mincho',serif;color:#3f280a}
.cx-read .cx-msg-key small{display:block;margin-top:6px;font:500 15px/1.9 'Yu Gothic',sans-serif;color:#5a5040}
.cx-read .cx-msg-quote,.cx-read .cx-msg-voice{font:700 clamp(18px,1.7vw,22px)/2 'Noto Serif JP','Yu Mincho',serif;color:#3f280a}
.cx-read .cx-msg-voice{padding-left:18px;border-left:2px solid #e3d4ae;color:#5a3d14}
.cx-read .cx-msg-end{margin-top:50px;font:700 clamp(22px,2.2vw,30px)/1.8 'Noto Serif JP','Yu Mincho',serif;color:#8a5f1a}
.cx-read .cx-msg-sign{text-align:right;font:700 18px 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.1em}
.cx-read .cx-msg-sign small{display:block;font-size:13px;letter-spacing:.2em;color:#8a7a5a}

/* お問い合わせ：5期連続No.1を背景に */
.contact:before{background:radial-gradient(ellipse at 80% 50%,#f3d58d1c,transparent 60%)!important;opacity:1!important;animation:none!important}
.cx-ct-no1{position:absolute;inset:0;z-index:-1;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.13}
.cx-ct-no1 img{width:clamp(120px,14vw,220px);filter:grayscale(.2) brightness(1.4)}
.cx-ct-no1 b{font:700 clamp(180px,30vw,460px)/.85 'Cormorant Garamond',Georgia,serif;color:transparent;-webkit-text-stroke:2px #f3d58d;letter-spacing:-.02em}
.cx-ct-no1 span{margin-top:20px;font:12px Arial;letter-spacing:.6em;color:#f3d58d}
.cx-ct-badge{display:inline-flex;align-items:center;gap:14px;margin:0 0 22px!important;padding:12px 20px 12px 14px;border:1px solid #e9cf92aa;border-radius:999px;background:#ffffff12}
.cx-ct-badge img{width:40px}
.cx-ct-badge span{font:700 14px/1.6 'Noto Serif JP','Yu Mincho',serif;color:#fff3d4}
.cx-ct-badge small{display:block;font:10px Arial;letter-spacing:.3em;color:#e9cf92}
.company{position:relative;overflow:hidden;isolation:isolate}
.company:before{content:"5";position:absolute;right:-2%;top:50%;transform:translateY(-50%);z-index:-1;font:700 clamp(300px,40vw,620px)/1 'Cormorant Garamond',Georgia,serif;color:transparent;-webkit-text-stroke:1.5px #c99a3e33}
.lv-q p{font-size:clamp(20px,2.9vw,44px)!important;white-space:nowrap}
@media(max-width:700px){.lv-q p{white-space:normal;font-size:6vw!important}}
.lv.boom .lv-reel,.lv.boom .lv-words,.lv.boom .lv-q{opacity:0!important;transition:none!important}
.values .cx-vrows .value-card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important}
@media(max-width:860px){.values .cx-vrows .value-card{grid-template-columns:1fr!important}}
.values .cx-vrows .value-card>*{grid-column:auto!important;grid-row:auto!important;width:auto!important;max-width:none!important}
.values .cx-vrows .value-card .cx-v-ph{width:100%!important}
.cx-s-logo{top:12%;bottom:auto!important;right:4%;width:min(340px,28vw)}
.cx-s-logo span{white-space:nowrap;font-size:clamp(11px,.95vw,14px)}
.cx-ct-no1{inset:auto auto 3% 3%!important;flex-direction:row!important;align-items:flex-end!important;gap:18px;opacity:.12!important}
.cx-ct-no1 b{font-size:clamp(160px,22vw,340px)!important}
.cx-ct-no1 span{writing-mode:vertical-rl;margin:0 0 20px!important}
.cx-read-in{max-width:840px}
.cx-read h2{font-size:clamp(30px,3.6vw,50px)!important}
.cx-read .message-opening{font-size:clamp(18px,1.8vw,23px)!important}
.cx-ct-no1{inset:auto!important;left:1%!important;top:52%!important;transform:translateY(-50%);opacity:.17!important}
.cx-ct-no1 b{font-size:clamp(200px,28vw,440px)!important;-webkit-text-stroke:2.5px #f3d58d!important}
.cx-ct-no1:before{content:"5期連続";position:absolute;left:4%;top:-8%;font:700 clamp(40px,5vw,80px) 'Noto Serif JP','Yu Mincho',serif;color:#f3d58d;letter-spacing:.1em}
@media(max-width:860px){.cx-ct-no1{top:22%!important}}
/* お問い合わせ：5期連続No.1と同じ金の背景に */
.contact{background:radial-gradient(ellipse at 10% 0,#fff5cd88,transparent 55%),linear-gradient(120deg,#e9cf92,#c7a15a 46%,#f5e2ae 85%,#c59e54)!important}
.contact:before{background:linear-gradient(110deg,transparent 35%,#fff8e055 50%,transparent 65%)!important;background-size:300% 100%!important;animation:cxSweep 7s linear infinite!important;opacity:1!important}
.contact:after{display:none}
.cx-ct-no1{left:auto!important;right:-2%!important;top:auto!important;bottom:-4%!important;transform:none;opacity:.22!important}
.cx-ct-no1:before{display:none}
.cx-ct-no1 b{-webkit-text-stroke:2px #7a5418!important}
.cx-ct-no1 span{color:#7a5418!important}
.cx-ct .eyebrow{color:#6e4a12!important}
.cx-ct h2{color:#2a1c08!important}
.cx-ct h2 em{background:none!important;color:#1d3a33!important;-webkit-text-fill-color:#1d3a33!important}
.cx-ct .cx-ct-lead{color:#3f2a0c!important}
.cx-ask-q{color:#2a1c08!important}.cx-ask-q small{color:#5a4318!important}
.cx-ask-list button{background:#fffaf0cc!important;color:#2a1c08!important;border-color:#a77a2b88!important}
.cx-ask-list button:before{color:#a77a2b!important}
.cx-ask-list button:hover{background:#fff!important}
.cx-ask-list button.on{background:#1d3a33!important;color:#fff3d4!important;border-color:#1d3a33!important}.cx-ask-list button.on:before{color:#f3d58d!important}
.cx-ct-call{background:linear-gradient(135deg,#0f2a24,#1d3a33)!important}
.cx-ct-call *{color:#f3d58d!important;-webkit-text-fill-color:#f3d58d}
.cx-ct-sub,.cx-ct-sub a,.cx-ct-sub span{color:#3f2a0c!important}
.cx-ct-badge{background:#1d3a33!important;border-color:#1d3a33!important;box-shadow:0 10px 30px #5a3a0a33}
.contact #contact-form{border-top-color:#1d3a33!important}

/* =========== v19 =========== */
/* オープニング：最初から鮮やかな札幌の昼 */
.lv.t0 .lv-bg{background:linear-gradient(180deg,#0a1a2a55,#0a1a2a10 40%,#0a1a2a66),url('assets/op-start.jpg') center/cover!important;animation:lvStartZoom 2.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes lvStartZoom{from{transform:scale(1.15);filter:brightness(1.4) saturate(1.2)}to{transform:none;filter:none}}
.lv.reel .lv-bg{background:#05080c!important;animation:none}
.lv.t0:not(.reel) .lv-title b,.lv.t0:not(.reel) .lv-title span{color:#fff!important;text-shadow:0 2px 24px #0008}
.lv-f .tl{filter:contrast(1.04) saturate(1.1) brightness(.95)!important}
.lv-f.hs .tl{background-position:50% 20%!important}
/* ロゴは白背景で */
.lv.boom .lv-bg,.lv.shine .lv-bg,.lv.summit .lv-bg{background:radial-gradient(ellipse at 50% 45%,#ffffff 0%,#fffaf0 55%,#f6ecd4 100%)!important;animation:none!important}
.lv.boom .lv-snow,.lv.boom .lv-haze,.lv.boom .lv-bars{opacity:0!important}
.lv.boom .lv-bloom{background:radial-gradient(circle,#fff 0%,#fff6dccc 30%,#f3d58d55 55%,transparent 72%)!important}
.lv-logo img{filter:drop-shadow(0 10px 26px #8a5f1a40)!important}
.lv.boom .lv-tag{color:#5a3d14!important;text-shadow:none!important}
.lv.boom .lv-sub{color:#a77a2b!important}
.lv-summit{display:block!important;opacity:0}
.lv.summit .lv-summit{opacity:1;font:900 clamp(40px,6.4vw,100px)/1.3 'Noto Serif JP','Yu Mincho',serif!important;letter-spacing:.2em!important;padding-left:.2em;
  background:linear-gradient(100deg,#6e4410 0%,#a77a2b 22%,#f3d58d 38%,#fff7d4 47%,#d9b569 56%,#8a5f1a 70%,#c99a3e 85%,#6e4410 100%)!important;background-size:260% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;
  filter:drop-shadow(0 2px 0 #fff3c4) drop-shadow(0 10px 24px #8a5f1a55)!important;animation:lvSlam2 .8s cubic-bezier(.2,1.4,.35,1) both,cxSweep 3s .8s linear infinite!important}
@keyframes lvSlam2{0%{opacity:0;transform:scale(2.6);filter:blur(14px)}55%{opacity:1;transform:scale(.95)}100%{opacity:1;transform:none}}
.lv-stars{display:block!important;position:absolute;inset:0;z-index:8;pointer-events:none;width:100%;height:100%}
.lv.summit .lv-flash{animation:lvPika .7s ease-out both!important;background:radial-gradient(circle at 50% 62%,#ffffff,#fff6dc88 30%,transparent 65%)!important}
@keyframes lvPika{0%{opacity:0}20%{opacity:1}100%{opacity:0}}
.lv.fly .lv-flash{animation:lvFly2 1.1s cubic-bezier(.3,0,.2,1) forwards!important;background:#fff!important}

/* VISION：画面に入ったら時計台から */
.vision .vision-background i{animation-play-state:paused!important}
.vision.vs-on .vision-background i{animation-play-state:running!important}

/* VALUE：握手の写真を全画面に、その上へ1つずつポップアップ */
.cx-vstage{position:relative;margin:0 -9%}
.cx-vstage .cx-tb{position:sticky!important;top:0;height:100vh;margin:0!important}
.cx-vstage .cx-tb-img{height:100%!important;aspect-ratio:auto!important;background-position:50% 18%!important;background-size:cover!important}
.cx-vstage .cx-tb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b1d1800 50%,#0b1d1855)}
.values .cx-vstage .value-grid.cx-vrows{position:relative;z-index:2;margin-top:-100vh!important;padding:60vh 9% 30vh!important;gap:55vh!important}
.values .cx-vstage .cx-vrows .value-card{display:block!important;max-width:820px;margin:0 auto!important;background:#fffdf7f2!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:14px!important;border-top:5px solid #c99a3e!important;box-shadow:0 40px 90px #0006!important;overflow:hidden;padding:0!important;
  opacity:0;transform:translateY(80px) scale(.75)!important;transition:opacity .6s,transform .9s cubic-bezier(.2,1.4,.35,1)!important}
.values .cx-vstage .cx-vrows .value-card.pop{opacity:1;transform:none!important}
.values .cx-vstage .cx-vrows .value-card:nth-child(even){margin-left:auto!important;margin-right:4%!important}
.values .cx-vstage .cx-vrows .value-card:nth-child(odd){margin-left:4%!important}
.values .cx-vstage .cx-v-ph{aspect-ratio:16/6!important;border-radius:0!important;box-shadow:none!important;order:0!important}
.values .cx-vstage .cx-v-tx{padding:28px clamp(24px,4vw,48px) 36px}
.values .cx-vstage .cx-v-tx .value-number{font-size:clamp(50px,5vw,80px)!important;float:right;margin-top:-10px!important}
@media(max-width:860px){.values .cx-vstage .cx-vrows .value-card{margin:0 auto!important}.values .cx-vstage .value-grid.cx-vrows{padding:50vh 4% 20vh!important;gap:40vh!important}}

/* 代表挨拶：感動的な背景写真 */
.founder{position:relative;isolation:isolate;overflow:hidden}
.founder:before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/ceo-family.jpg') center 60%/cover;animation:cxKen2 22s ease-in-out infinite alternate}
.founder:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#fbf6eaee 0%,#fbf6eacc 30%,#fbf6eaf2 60%,#fbf6ea 100%)}
.cx-read-in:before{content:"";display:block;height:clamp(200px,32vw,380px);margin:calc(clamp(70px,9vw,120px) * -1) -9vw 40px;background:linear-gradient(180deg,#0000 50%,#fbf6ea),url('assets/ceo-family.jpg') center 65%/cover}
.cx-read .cx-msg-voice{padding:18px 22px!important;background:#fffdf6;border-left:3px solid #c99a3e!important}

/* 会社概要にも5期連続No.1の金の背景を */
.company{background:radial-gradient(ellipse at 10% 0,#fff5cd88,transparent 55%),linear-gradient(120deg,#e9cf92,#c7a15a 46%,#f5e2ae 85%,#c59e54)!important;color:#3f2a0c!important}
.company:after{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#fff9dfaa .7px,transparent .7px);background-size:33px 37px;opacity:.25}
.company:before{-webkit-text-stroke:2px #7a541840!important}
.company .eyebrow,.company .company-launch{color:#6e4a12!important}
.company h2{color:#2a1c08!important}
.company .company-table{background:#fffdf7e6!important;border-radius:12px;padding:10px 28px;box-shadow:0 20px 50px #5a3a0a26}
.company .company-table dt{color:#8a5f1a!important}.company .company-table dd{color:#2a1c08!important}
.contact:after{display:block!important;content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#fff9dfaa .7px,transparent .7px);background-size:33px 37px;opacity:.25}
.lv.summit .lv-summit{margin-top:clamp(10px,2vh,24px)}
.lv-title b{font-size:clamp(20px,2.6vw,38px)!important;letter-spacing:.5em!important}
.lv.t0:not(.reel) .lv-title{opacity:1!important}
.values,.values.mvv-section{overflow:clip!important;overflow-x:clip!important}
.cx-vstage,.cx-vstage .cx-tb{overflow:visible!important}
.cx-vstage .cx-tb-img{overflow:hidden}
.founder:after{background:linear-gradient(180deg,#fbf6ea55 0%,#fbf6eaaa 22%,#fbf6eadd 45%,#fbf6eaf0 70%,#fbf6ea 100%)!important}
.founder:before{background-position:center 70%!important}
.company:before{display:none!important}

/* =========== v20 =========== */
/* サポート：支給写真（全体が見えるように横長で） */
.cx-gp .ph{aspect-ratio:2.35/1!important;background-size:cover!important;background-position:center!important}
.cx-gp[aria-label^="理想"] .n,.cx-gp[aria-label^="理想"] .en,.cx-gp[aria-label^="理想"] h3,
.cx-gp[aria-label^="プロ"] .n,.cx-gp[aria-label^="プロ"] .en,.cx-gp[aria-label^="プロ"] h3{display:none!important}
.cx-gp[aria-label^="理想"] .cp,.cx-gp[aria-label^="プロ"] .cp{padding-top:26px!important}
/* 5期連続No.1のページを背景に */
.company,.contact{position:relative;isolation:isolate;overflow:hidden}
.cx-recbg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.28;filter:saturate(1.1)}
.cx-recbg>.records{position:absolute;left:50%;top:50%;width:100%;min-height:100%;transform:translate(-50%,-50%) scale(1.04);margin:0!important;animation:none}
.cx-recbg *{animation-play-state:running}
.company .cx-recbg{opacity:.32}
.contact .cx-recbg{opacity:.24}
.company:after,.contact:after{z-index:-2!important}
.cx-recbg>.records{top:0!important;transform:translateX(-50%)!important}

/* =========== v21 =========== */
/* オープニング：帯の写真をパノラマで */
.lv.t0 .lv-bg{background:#05080c!important;animation:none!important}
.lv-f.band{background:#05080c!important;overflow:hidden}
.lv-f.band:before{content:"";position:absolute;inset:-6%;background:var(--img) center/cover;filter:blur(28px) brightness(.55) saturate(1.2);transform:scale(1.1)}
.lv-f.band .tl{position:absolute!important;left:50%;top:50%;flex:none!important;height:min(62vh,52vw*0.62);height:62vh;aspect-ratio:3344/618;width:auto!important;background:var(--img) center/100% 100% no-repeat!important;transform:translate(-50%,-50%);box-shadow:0 30px 80px #000a;filter:none!important}
.lv-f.band.on .tl{animation:lvPan 1.8s cubic-bezier(.2,.7,.2,1) both!important}
@keyframes lvPan{from{transform:translate(-46%,-50%) scale(1.06);opacity:.4}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
@media(max-aspect-ratio:1/1){.lv-f.band .tl{height:46vh}}
.lv-title{display:none!important}
/* 白い紙にロゴがドーン（大人っぽく） */
.lv.boom .lv-bg{background:#fff!important}
.lv.boom .lv-bloom,.lv.boom .lv-flare,.lv-summit,.lv-tag,.lv-sub{display:none!important}
.lv-line{position:absolute;left:50%;top:50%;width:min(60vw,640px);height:1px;margin-left:calc(min(60vw,640px)/-2);background:linear-gradient(90deg,transparent,#c99a3e,transparent);transform:scaleX(0);opacity:0}
.lv.boom .lv-line{animation:lvLine 1s cubic-bezier(.6,0,.2,1) forwards}
@keyframes lvLine{0%{transform:scaleX(0);opacity:1}55%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.lv-logo{opacity:0}
.lv.summit .lv-logo{animation:lvDon .7s cubic-bezier(.16,1.2,.3,1) forwards!important}
@keyframes lvDon{0%{opacity:0;transform:scale(1.9);filter:blur(16px)}45%{opacity:1;transform:scale(.97);filter:blur(0)}70%{transform:scale(1.01)}100%{opacity:1;transform:none;filter:drop-shadow(0 18px 30px #8a5f1a33)}}
.lv-logo{position:relative;overflow:hidden}
.lv-logo:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffffd9 50%,transparent 65%);transform:translateX(-120%);mix-blend-mode:screen}
.lv.summit .lv-logo:after{animation:lvSheen 1.1s .55s ease-in-out forwards}
@keyframes lvSheen{to{transform:translateX(120%)}}
.lv.fly .lv-flash{background:#fff!important}
/* トップ：昼だけ・ロゴが右上にボーン */
.hero-frame.winter{display:none!important}
.hero-frame.summer{opacity:1!important}
.slide-controls,#scene-name{display:none!important}
.hero-declaration{position:relative;display:inline-block}
.cx-hero-crown{position:absolute;right:-1.2em;top:-1.15em;width:clamp(110px,13vw,210px);opacity:0;transform:scale(2.2) rotate(-8deg);filter:drop-shadow(0 10px 30px #0008) drop-shadow(0 0 30px #f3d58d88);pointer-events:none}
body.cx-crown-in .cx-hero-crown{animation:cxCrownIn .8s cubic-bezier(.2,1.5,.35,1) forwards}
@keyframes cxCrownIn{0%{opacity:0;transform:scale(2.2) rotate(-8deg)}60%{opacity:1;transform:scale(.94) rotate(1deg)}100%{opacity:1;transform:none}}
@media(max-width:760px){.cx-hero-crown{right:-.4em;top:-1.3em;width:96px}}

/* VALUE：3つのパネル */
.cx-vstage .cx-tb{position:relative!important;height:auto!important}
.cx-vstage .cx-tb-img{height:auto!important;aspect-ratio:1536/860!important}
.values .cx-vstage .value-grid.cx-acc{display:flex!important;flex-direction:row!important;gap:12px!important;margin:60px 0 0!important;padding:0 6%!important;height:min(78vh,700px)}
.values .cx-acc .value-card{position:relative!important;flex:1 1 0!important;min-width:0;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:14px!important;overflow:hidden!important;cursor:pointer;background:#0b1d18!important;box-shadow:0 24px 60px #0004!important;opacity:1!important;transform:none!important;transition:flex-grow .8s cubic-bezier(.2,.8,.2,1)!important;display:block!important}
.values .cx-acc .value-card.act{flex-grow:3.4!important}
.values .cx-acc .cx-v-ph{position:absolute!important;inset:0;aspect-ratio:auto!important;border-radius:0!important;transition:transform 1.2s;animation:none!important;transform:scale(1.08)}
.values .cx-acc .value-card.act .cx-v-ph{transform:scale(1)}
.values .cx-acc .value-card:after{content:""!important;display:block!important;position:absolute;inset:0;background:linear-gradient(0deg,#0b1d18f2 0%,#0b1d18b0 45%,#0b1d1830 100%)!important;height:auto!important}
.values .cx-acc .cx-v-tx{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px clamp(20px,3vw,44px) 34px!important;color:#fff}
.values .cx-acc .cx-v-tx .value-number{float:none!important;margin:0!important;font-size:clamp(60px,6vw,96px)!important;-webkit-text-stroke:1.5px #f3d58d!important}
.values .cx-acc .cx-v-tx .value-en{color:#f3d58d!important;-webkit-text-fill-color:#f3d58d}
.values .cx-acc .cx-v-tx h3{color:#fff!important;-webkit-text-fill-color:#fff;white-space:nowrap}
.values .cx-acc .cx-v-tx p:not(.value-en){color:#efe8d8!important;max-height:0;opacity:0;overflow:hidden;margin:0!important;transition:max-height .9s ease,opacity .6s .2s,margin .6s}
.values .cx-acc .value-card.act .cx-v-tx p:not(.value-en){max-height:240px;opacity:1;margin:0 0 10px!important}
.values .cx-acc .value-card.act .cx-v-tx p:last-child{color:#f3d58d!important}
.values .cx-acc .value-card:not(.act) h3{font-size:clamp(16px,1.4vw,20px)!important;white-space:normal}
.values .cx-acc .value-card:not(.act) .value-en{writing-mode:vertical-rl;position:absolute;top:28px;right:22px;margin:0!important}
.cx-acc .value-card{opacity:0!important}
.cx-acc.shown .value-card{animation:cxAccIn .9s cubic-bezier(.2,1.3,.35,1) both}
.cx-acc.shown .value-card:nth-child(2){animation-delay:.15s}.cx-acc.shown .value-card:nth-child(3){animation-delay:.3s}
@keyframes cxAccIn{from{opacity:0;transform:translateY(60px) scale(.9)}to{opacity:1;transform:none}}
@media(max-width:860px){.values .cx-vstage .value-grid.cx-acc{flex-direction:column!important;height:auto;padding:0 4%!important}
 .values .cx-acc .value-card{min-height:62vh}.values .cx-acc .value-card .cx-v-tx p:not(.value-en){max-height:400px!important;opacity:1!important;margin:0 0 10px!important}
 .values .cx-acc .value-card:not(.act) .value-en{writing-mode:horizontal-tb;position:static}}

/* サポート：写真を大きく縦長に */
.cx-gp{flex-basis:min(38vw,540px)!important}
.cx-gp .ph{aspect-ratio:4/3.4!important}
.cx-gp[aria-label^="理想"] .ph,.cx-gp[aria-label^="プロ"] .ph{background-position:12% center!important}
@media(max-width:860px){.cx-gp{flex-basis:84vw!important}}

/* 代表挨拶：シルエット写真をやめ、全文は感動的な見せ方に */
.founder:before,.founder:after{display:none!important}
.cx-read{background:linear-gradient(180deg,#fffdf8,#fbf3e2)!important}
.cx-read-in:before{background:linear-gradient(180deg,#0000 55%,#fffdf8),url('assets/together-sunrise.jpg') center 40%/cover!important;height:clamp(240px,38vw,460px)!important}
.cx-read p{font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif!important;font-size:17px!important;line-height:2.25!important;color:#2f2a20!important;letter-spacing:.04em}
.cx-read .cx-msg-letter2{margin:34px 0!important;padding:34px 38px!important;background:#fffefa;border:1px solid #eadcb8;border-radius:4px;box-shadow:0 16px 40px #6b4a171c;font:500 clamp(18px,1.8vw,23px)/2.2 'Noto Serif JP','Yu Mincho',serif!important;color:#3f280a!important;position:relative}
.cx-read .cx-msg-letter2:before{content:"“";position:absolute;left:14px;top:-18px;font:700 72px Georgia,serif;color:#c99a3e88}
.cx-msg-letter2{font-family:'Noto Serif JP','Yu Mincho',serif;color:#3f280a}

/* 会社情報の背景は元に戻す（No.1はお問い合わせだけ） */
.company .cx-recbg{display:none!important}
.company{background:#f7f2e6!important}
.company:after{display:none!important}
.company .company-table{box-shadow:0 14px 40px #5a3a0a14}
.contact .cx-recbg{opacity:.3!important}
.cx-hero-crown{right:auto!important;left:100%;top:-.9em!important;margin-left:-.2em}
.values .cx-acc .value-card:after{inset:0!important;height:auto!important;z-index:1}
.values .cx-vstage .cx-acc .value-card:nth-child(n){margin:0!important}
.values .cx-acc .value-card:not(.act) h3{display:none!important}
.values .cx-acc .value-card:not(.act) .cx-v-tx{padding:24px 18px 30px!important}
.values .cx-acc .value-card:not(.act) .value-en{top:26px;right:50%;transform:translateX(50%)}
.values .cx-acc .value-card.act .cx-v-tx p:not(.value-en){font-size:14.5px!important;line-height:1.95!important;text-shadow:0 1px 8px #0009}
.values .cx-acc .value-card.act:after{background:linear-gradient(0deg,#0b1d18f5 0%,#0b1d18d9 55%,#0b1d1855 85%,#0b1d1820 100%)!important}
.values .cx-acc .cx-v-tx h3{font-size:clamp(24px,2.2vw,34px)!important;margin:4px 0 16px!important}
.values .cx-acc .value-card:not(.act):hover .cx-v-ph{transform:scale(1.03)}
.values .cx-acc .value-card:after{left:0!important;right:0!important;top:0!important;bottom:0!important;width:auto!important;max-width:none!important;transform:none!important}
.values .cx-acc .value-card:not(.act) .value-en{display:none!important}
.values .cx-acc .value-card:not(.act) .cx-v-tx{text-align:center!important}
.values .cx-acc .value-card:not(.act) .value-number{text-align:center!important}
.values .cx-acc .value-card.act:after{background:linear-gradient(0deg,#0b1d18f5 0%,#0b1d18cc 48%,#0b1d1800 82%)!important}
.values .cx-acc .value-card:not(.act):after{background:linear-gradient(0deg,#0b1d18d9 0%,#0b1d1840 50%,#0b1d1800 100%)!important}

/* =========== v22 =========== */
/* オープニング：帯写真をそのまま全幅で */
.lv-f.band .tl{width:100vw!important;height:auto!important;aspect-ratio:3344/618!important;left:0!important;transform:translateY(-50%)!important;box-shadow:0 0 0 1px #ffffff10,0 40px 100px #000c}
.lv-f.band.on .tl{animation:lvBandIn 1.6s cubic-bezier(.2,.7,.2,1) both!important}
@keyframes lvBandIn{from{opacity:0;transform:translateY(-50%) scale(1.08);filter:brightness(1.6) blur(6px)}to{opacity:1;transform:translateY(-50%) scale(1);filter:none}}
@media(max-aspect-ratio:1/1){.lv-f.band .tl{width:180vw!important;left:-40vw!important}}
/* 握手：ボーン */
.lv-f.hs.on .tl{animation:lvBoon .9s cubic-bezier(.16,1.3,.3,1) both!important;filter:brightness(1.02) saturate(1.1)!important}
@keyframes lvBoon{0%{transform:scale(1.35);filter:brightness(2.2) blur(8px)}35%{filter:brightness(1.2)}100%{transform:scale(1);filter:none}}
.lv-f.hs.on:after{content:"";position:absolute;inset:0;z-index:2;background:#fff;animation:lvHsFlash .5s ease-out forwards;pointer-events:none}
@keyframes lvHsFlash{from{opacity:.85}to{opacity:0}}
/* ロゴ：装飾を抑えた上質な登場 */
.lv-stars,.lv-line{display:none!important}
.lv.summit .lv-logo{animation:lvLogoPro 1.6s cubic-bezier(.22,.8,.2,1) forwards!important}
@keyframes lvLogoPro{0%{opacity:0;transform:translateY(18px) scale(.96);filter:blur(8px)}55%{opacity:1;filter:blur(0)}100%{opacity:1;transform:none;filter:drop-shadow(0 22px 36px #8a5f1a2e)}}
.lv.summit .lv-logo:after{animation:lvSheen 1.4s .9s cubic-bezier(.5,0,.3,1) forwards!important}
.lv.boom .lv-bg{background:radial-gradient(ellipse at 50% 46%,#ffffff 0%,#fffdf8 60%,#f6efe0 100%)!important}
.lv-logo{width:min(40vw,400px)!important}
/* トップのロゴ：大きく上品に */
.cx-hero-crown{left:auto!important;right:-2.2em!important;top:-1.7em!important;width:clamp(180px,19vw,320px)!important;margin:0!important;filter:drop-shadow(0 16px 40px #000a) drop-shadow(0 0 40px #f3d58d55)!important;transform:translateY(-30px)}
body.cx-crown-in .cx-hero-crown{animation:cxCrownPro 1.4s cubic-bezier(.2,.8,.2,1) forwards!important}
@keyframes cxCrownPro{0%{opacity:0;transform:translateY(-30px) scale(.92);filter:blur(10px) drop-shadow(0 16px 40px #000a)}100%{opacity:1;transform:none;filter:drop-shadow(0 16px 40px #000a) drop-shadow(0 0 40px #f3d58d55)}}
@media(max-width:760px){.cx-hero-crown{width:130px!important;right:-.6em!important;top:-1.9em!important}}

/* 5期連続No.1と同じ金のデザインを共通化 */
.cx-gold,.mission h2.cx-drop .cx-ch,.vision h2.cx-drop .cx-ch{background:linear-gradient(100deg,#6e4410 0%,#7f5014 36%,#fff7d4 47%,#ffe9a6 53%,#7f5014 64%,#6e4410 100%);background-size:260% 100%;background-position:130% 0;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif!important;font-weight:900!important;filter:drop-shadow(0 2px 0 #fff1bc)}
.cx-gold{animation:cxSweep 3.6s cubic-bezier(.5,0,.3,1) infinite}
.mission h2.cx-drop,.vision h2.cx-drop{background:none!important;-webkit-text-fill-color:initial!important;color:inherit!important;animation:none!important;filter:none!important;text-shadow:none!important;opacity:1!important;transform:none!important}
.mission h2.cx-drop{font-size:clamp(30px,3.4vw,54px)!important}
.cx-ch{display:inline-block;opacity:0;transform:translateY(-1.4em) scale(1.4);transition:none}
.cx-drop.in .cx-ch{animation:cxChDrop .75s cubic-bezier(.2,1.5,.4,1) forwards,cxSweep 3.6s cubic-bezier(.5,0,.3,1) infinite;animation-delay:calc(var(--i)*55ms),calc(var(--i)*55ms + .9s)}
@keyframes cxChDrop{0%{opacity:0;transform:translateY(-1.4em) scale(1.4)}60%{opacity:1;transform:translateY(.08em) scale(.98)}100%{opacity:1;transform:none}}
.mission .mvv-lead,.vision .vision-content>p:not(.eyebrow){opacity:0;transform:translateY(24px);transition:opacity .9s 1.4s,transform .9s 1.4s}
.mission:has(.cx-drop.in) .mvv-lead,.vision:has(.cx-drop.in) .vision-content>p:not(.eyebrow){opacity:1;transform:none}

/* VALUE：写真をテレビ塔・札幌駅・ノルベサに */
.values .cx-vrows .value-card:nth-child(1){--vbg:url('assets/sp-odori.jpg')!important}
.values .cx-vrows .value-card:nth-child(2){--vbg:url('assets/op-station-day.jpg')!important}
.values .cx-vrows .value-card:nth-child(3){--vbg:url('assets/op-wheel-night.jpg')!important}

/* サポート：写真に文字を載せる形で統一、写真は全体が見えるように大きく */
.cx-gp{flex-basis:min(46vw,660px)!important}
.cx-gp .ph{aspect-ratio:2.35/1!important;background:var(--img) center/contain no-repeat,#0b1d18!important;position:relative;overflow:hidden;animation:none!important}
.cx-gp .ph:before{content:"";position:absolute;inset:-8%;z-index:0;background:var(--img) center/cover;filter:blur(20px) brightness(.6)}
.cx-gp .ph:after{content:"";position:absolute;inset:0;z-index:1;background:var(--img) center/contain no-repeat;animation:cxKen3 10s ease-in-out infinite alternate}
.cx-gp .n,.cx-gp .en,.cx-gp h3{display:none!important}
.cx-gp .cap{position:absolute;left:0;bottom:0;z-index:2;padding:0 0 4.5% 4.5%;color:#fff;background:linear-gradient(90deg,#000a,#0000);width:70%;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.cx-gp .cap b{font:400 clamp(30px,3.6vw,54px)/1 'Cormorant Garamond',Georgia,serif;color:#fff8ea}
.cx-gp .cap small{font:10px/1 Georgia,serif;letter-spacing:.32em;margin:8px 0 6px;color:#fff3d4}
.cx-gp .cap span{font:700 clamp(14px,1.45vw,21px)/1.45 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.06em;text-shadow:0 2px 10px #0009}
.cx-gp .cp{padding-top:22px!important}
@media(max-width:860px){.cx-gp{flex-basis:88vw!important}}

/* 代表挨拶 全文：最初に写真いっぱいの扉 */
.cx-read-in{padding-top:0!important}
.cx-read-in:before{height:86vh!important;margin:0 calc(50% - 50vw) 0!important;background:linear-gradient(180deg,#0000 0%,#0a121022 45%,#0a1210aa 80%,#fffdf8 100%),url('assets/together-sunrise.jpg') center 45%/cover!important;animation:cxReadZoom 14s ease-out both}
@keyframes cxReadZoom{from{background-size:auto 112%,cover}}
.cx-read-eb{position:relative;margin-top:-44vh!important;color:#f3d58d!important;text-shadow:0 2px 10px #0008}
.cx-read h2{position:relative;color:#fff!important;text-shadow:0 4px 30px #000c;font-size:clamp(36px,5vw,70px)!important;margin-bottom:28vh!important;animation:cxReadTitle 1.6s .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes cxReadTitle{from{opacity:0;transform:translateY(30px);letter-spacing:.3em}to{opacity:1;transform:none}}
.cx-read .cx-msg-letter3{font-family:'Noto Serif JP','Yu Mincho',serif!important;font-weight:600;color:#3f280a!important;margin:26px 0!important}
.cx-msg-letter3{font-weight:600;color:#3f280a}

/* 会社情報：金のデザインで */
.company{background:linear-gradient(180deg,#fbf6ea,#f3e7cb)!important}
.cx-co-head{text-align:center;display:block!important}
.cx-co-head>div{margin:0 auto}
.cx-co-logo{width:clamp(120px,12vw,170px);display:block;margin:6px auto 10px;filter:drop-shadow(0 10px 20px #8a5f1a40)}
.company h2.cx-gold{font-size:clamp(40px,5.6vw,84px)!important;margin:0!important}
.company .company-launch{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:10px!important}
.cx-co-date{font:400 clamp(26px,2.6vw,40px) 'Cormorant Garamond',Georgia,serif;color:#8a5f1a;letter-spacing:.1em}
.company .company-launch span:last-child{padding:6px 16px;border:1px solid #c99a3e;border-radius:999px;font-size:14px;letter-spacing:.2em;color:#6e4a12}
.cx-co-lead{margin:22px auto 40px!important;font:600 clamp(15px,1.3vw,18px)/2 'Noto Serif JP','Yu Mincho',serif;color:#3f2a0c}
.company .company-table{max-width:900px;margin:0 auto!important;border-top:4px solid #c99a3e;background:#fffdf7!important}
.cx-read h2{white-space:nowrap;font-size:clamp(30px,4.2vw,60px)!important}
@media(max-width:600px){.cx-read h2{white-space:normal}}
.company h2.cx-gold{background-image:linear-gradient(100deg,#5a3608 0%,#7f5014 38%,#e9c46a 48%,#fff1c4 52%,#7f5014 62%,#5a3608 100%)!important}
.company h2.cx-gold{background-image:linear-gradient(100deg,#5a3608 0%,#8a5a18 30%,#c99a3e 45%,#f6dc9a 50%,#c99a3e 55%,#8a5a18 70%,#5a3608 100%)!important;background-size:240% 100%!important;filter:drop-shadow(0 2px 0 #fff3cf) drop-shadow(0 8px 16px #5a3a0a30)!important}
