*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:#fff;color:#111;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.page-width{width:980px;max-width:100%;margin-inline:auto}

.site-header{height:120px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px 0 31px}
.logo img{width:250px;height:auto}.nav{display:flex;gap:33px;align-items:center;font-size:14px;color:#333;white-space:nowrap}.nav a{line-height:1}
.hero{width:100%;height:584px;overflow:hidden;background:#000;position:relative}.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:1}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:.58;mix-blend-mode:screen;pointer-events:none}.hero::after{content:"";position:absolute;inset:0;z-index:3;background:radial-gradient(circle at 74% 70%,rgba(255,255,255,.18),transparent 8%),radial-gradient(circle at 80% 30%,rgba(255,255,255,.13),transparent 10%);pointer-events:none}

.pickup{background:#fff;padding:68px 42px 0}.pickup-wrap{width:100%;display:grid;grid-template-columns:minmax(0,1242px) minmax(420px,1fr);gap:0;margin:0 auto}.pickup-card{position:relative;height:548px;overflow:hidden;background:#111}.pickup-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pickup-card-inner{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:42% 58%;align-items:center;color:#fff}.mini-character{width:305px;margin-left:130px;margin-top:40px}.pickup-text{padding:10px 60px 0 0;text-shadow:0 1px 4px rgba(0,0,0,.45)}.pickup-text h1{margin:0 0 21px;font-size:31px;line-height:1.35;text-decoration:underline;text-underline-offset:5px}.pickup-text h2{margin:0 0 16px;font-size:22px;line-height:1.6}.pickup-text p{margin:13px 0;font-size:15px;line-height:1.75;font-weight:700}.pickup-text .kana{font-size:14px;font-weight:700;margin-bottom:18px}.pickup-side{height:548px;overflow:hidden;background:#e9e6e6;position:relative}.pickup-side img{width:620px;max-width:none;position:absolute;left:50%;top:24px;transform:translateX(-50%)}

.follow{background:#fff;text-align:center;padding:70px 20px 45px}.follow h2{margin:0 0 28px;font-size:28px}.sns{display:flex;gap:42px;justify-content:center}.sns img{width:86px;height:86px}.thank-you{padding:0}.thank-you img{width:980px;height:295px;object-fit:cover}

.company{height:551px;min-height:551px;background-image:url("https://static.wixstatic.com/media/11062b_eb492c6cb7834f13aee3424d74aceffcf000.jpg/v1/fill/w_980%2Ch_551%2Cal_c%2Cq_85%2Cusm_0.66_1.00_0.01%2Cenc_avif%2Cquality_auto/11062b_eb492c6cb7834f13aee3424d74aceffcf000.jpg");background-size:cover;background-position:center;display:grid;place-items:center;text-align:center;color:#fff}
.company-text{text-shadow:0 2px 6px rgba(0,0,0,.48)}.company h2{margin:0 0 14px;font-size:40px;font-weight:700;line-height:1.25;letter-spacing:.03em}.company p{margin:0;font-size:27px;font-weight:700;line-height:1.3;letter-spacing:.08em}
.members{background:#000;color:#fff;text-align:center;padding:61px 0 72px}.members h2{margin:0 0 42px;font-size:42px;font-weight:700;line-height:1.35}.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;align-items:start}.member-grid article{text-align:center}.member-grid img{width:211px;height:211px;object-fit:cover;border-radius:50%;margin:0 auto 17px}.member-grid h3{margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.35}.member-grid p{margin:0;color:#fff;font-size:13px;font-weight:700;line-height:1.4}
.footer{background:#000;text-align:center;padding:28px 20px 34px;color:#fff}.footer nav{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-bottom:20px;font-size:14px}.footer p{margin:0;color:#bbb;font-size:12px;line-height:1.4}

@media(max-width:1200px){.site-header{padding-inline:24px}.logo img{width:220px}.nav{gap:20px}.hero{height:auto}.hero img{height:auto}.pickup{padding:48px 24px 0}.pickup-wrap{grid-template-columns:1fr}.pickup-card{height:auto}.pickup-card-inner{min-height:548px}.pickup-side{display:none}.mini-character{margin-left:60px}.pickup-text{padding-right:36px}.member-grid{padding-inline:24px}}
@media(max-width:760px){.site-header{height:auto;min-height:112px;flex-direction:column;gap:18px;justify-content:center;padding:18px}.nav{gap:15px;flex-wrap:wrap;justify-content:center;font-size:13px}.pickup{padding:34px 16px 0}.pickup-card-inner{grid-template-columns:1fr;min-height:0;padding:34px 20px;text-align:center}.mini-character{width:220px;margin:0 auto 20px}.pickup-text{padding:0}.pickup-text h1{font-size:24px}.pickup-text h2{font-size:18px}.pickup-text p{font-size:14px}.follow h2{font-size:20px}.company{height:390px;min-height:390px}.company h2{font-size:32px}.company p{font-size:22px}.members h2{font-size:32px}.member-grid{grid-template-columns:repeat(2,1fr);row-gap:34px}.member-grid img{width:170px;height:170px}}
@media(max-width:460px){.member-grid{grid-template-columns:1fr}.footer nav{gap:14px;font-size:13px}}


/* v6: Thank you以降の表示を明示的に復活 */
.follow,.thank-you,.company,.members,.contact,.recruit,.footer{display:block;visibility:visible;opacity:1}
.thank-you{width:980px;max-width:100%;margin:0 auto;background:#000;min-height:295px}
.thank-you img{display:block;width:100%;height:auto;min-height:295px;object-fit:cover}
.contact,.recruit{background:#fff;text-align:center;padding:80px 20px;color:#111}
.contact h2,.recruit h2{font-size:36px;margin:0 0 20px;line-height:1.35}
.contact p,.recruit p{font-size:18px;margin:0;line-height:1.8}
.recruit{background:#f3f3f3}

/* v7 lower layout fix: match Wix full-width Thank you + company/member area */
.thank-you{
  width:100%;
  max-width:none;
  height:74px;
  min-height:74px;
  margin:0;
  padding:0;
  background:#fff;
  overflow:hidden;
  position:relative;
}
.thank-you img{display:none}
.thank-you::before{
  content:"Thank　you ♥　Thank　you ♥　Thank　you ♥　Thank　you ♥　Thank　you ♥　Thank　you ♥　Thank　you ♥　Thank　you ♥　Thank　you ♥";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:max-content;
  white-space:nowrap;
  color:#a99757;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:42px;
  line-height:1;
  letter-spacing:.02em;
}
.company{
  width:100%;
  max-width:none;
  height:308px;
  min-height:308px;
  margin:0;
  background-image:linear-gradient(rgba(150,140,170,.25),rgba(150,140,170,.25)),url("https://static.wixstatic.com/media/11062b_eb492c6cb7834f13aee3424d74aceffcf000.jpg/v1/fill/w_1920%2Ch_590%2Cal_c%2Cq_85%2Cusm_0.66_1.00_0.01%2Cenc_avif%2Cquality_auto/11062b_eb492c6cb7834f13aee3424d74aceffcf000.jpg");
  background-size:cover;
  background-position:center 37%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:0;
}
.company-text{transform:translateY(-8px);}
.company h2{
  color:#d9d9d9;
  font-size:52px;
  font-style:italic;
  text-decoration:underline;
  text-underline-offset:6px;
  text-shadow:2px 3px 0 rgba(0,0,0,.55);
  margin:0 0 30px;
}
.company p{
  color:#d9d9d9;
  font-size:45px;
  font-style:italic;
  text-decoration:underline;
  text-underline-offset:6px;
  text-shadow:2px 3px 0 rgba(0,0,0,.55);
  margin:0;
}
.members{
  margin:0;
  background-image:url("https://static.wixstatic.com/media/11062b_eb492c6cb7834f13aee3424d74aceffcf000.jpg/v1/fill/w_1920%2Ch_310%2Cal_c%2Cq_85%2Cusm_0.66_1.00_0.01%2Cenc_avif%2Cquality_auto/11062b_eb492c6cb7834f13aee3424d74aceffcf000.jpg");
  background-size:cover;
  background-position:center 76%;
  color:#fff;
  padding:0 0 22px;
  min-height:280px;
}
.members .page-width{width:760px;max-width:100%;}
.members h2{
  margin:0 0 27px;
  padding-top:0;
  color:#006aff;
  font-size:50px;
  line-height:1.2;
  text-shadow:2px 2px 0 rgba(0,0,0,.8);
  transform:translateY(-93px);
  margin-bottom:-58px;
}
.member-grid{grid-template-columns:repeat(4,150px);gap:50px;justify-content:center;}
.member-grid img{width:150px;height:150px;border:7px solid #fff;margin-bottom:14px;}
.member-grid h3{font-size:18px;text-shadow:1px 1px 2px rgba(0,0,0,.6);}
.member-grid p{font-size:15px;text-shadow:1px 1px 2px rgba(0,0,0,.6);}

@media(max-width:1200px){
  .thank-you::before{font-size:36px}
  .company h2{font-size:42px}.company p{font-size:36px}
  .members h2{font-size:42px;transform:translateY(-70px);margin-bottom:-40px}
  .member-grid{grid-template-columns:repeat(4,130px);gap:32px}.member-grid img{width:130px;height:130px}
}
@media(max-width:760px){
  .thank-you{height:56px;min-height:56px}.thank-you::before{font-size:28px}
  .company{height:240px;min-height:240px}.company h2{font-size:32px}.company p{font-size:27px}
  .members{padding-top:30px}.members h2{transform:none;margin:0 0 28px;font-size:32px;color:#fff}.member-grid{grid-template-columns:repeat(2,140px);gap:34px}.member-grid img{width:140px;height:140px}
}


/* v8: first visual video effect */
@media (prefers-reduced-motion: reduce){
  .hero-video{display:none}
}
@media(max-width:1200px){
  .hero{height:auto;aspect-ratio:1920/584}
  .hero-poster,.hero-video{height:100%}
}


/* v9: 先頭ビジュアルを「動画埋め込み」枠に変更 */
.hero-embed-section {
  width: 100%;
  height: 580px;
  background: #000;
  overflow: hidden;
  position: relative;
}

.hero-embed {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #000;
}

@media (max-width: 900px) {
  .hero-embed-section {
    height: 56.25vw;
    min-height: 260px;
  }
}


/* v10: iframeではなく実際に再生できるvideoタグに修正 */
.hero-video-section{
  width:100%;
  height:580px;
  background:#000;
  overflow:hidden;
  position:relative;
}
.hero-main-video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  background:#000;
}
@media(max-width:900px){
  .hero-video-section{
    height:56.25vw;
    min-height:260px;
  }
}


/* v11: Wixの実動画URLを直接再生。元HPに合わせて操作ボタンなし */
.hero-video-section{
  height:584px;
}
.hero-main-video{
  object-fit:cover;
  object-position:center center;
}


/* v12 full screen hero */
.hero-video-section{
  width:100%;
  min-height:100vh !important;
  height:100vh !important;
  position:relative;
  overflow:hidden;
  background:#000;
}
.hero-main-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}



/* v13: pickup section closer to Wix original */
.pickup{
  background:#fff;
  padding:68px 42px 0;
}

.pickup-wrap{
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:66.25% 33.75%;
  gap:0;
  margin:0 auto;
}

.pickup-card{
  height:724px;
  position:relative;
  overflow:hidden;
  background:#111;
}

.pickup-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

.pickup-card-inner-v13{
  position:relative;
  z-index:1;
  height:100%;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  color:#fff;
  text-align:center;
}

.pickup-text-v13{
  width:100%;
  max-width:520px;
  padding:52px 0 0;
  text-shadow:none;
}

.pickup-text-v13 h1{
  margin:0 0 52px;
  color:#fff;
  font-size:34px;
  line-height:1.25;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:6px;
  text-shadow:0 2px 4px rgba(0,0,0,.55);
}

.pickup-text-v13 h2{
  margin:0 0 8px;
  color:#fff;
  font-size:28px;
  line-height:1.55;
  font-weight:700;
  text-shadow:0 2px 4px rgba(0,0,0,.55);
}

.pickup-text-v13 .kana{
  margin:0 0 44px;
  color:#fff;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
  text-shadow:0 2px 4px rgba(0,0,0,.55);
}

.message-box{
  position:relative;
  width:356px;
  min-height:344px;
  margin:0 auto 62px;
  padding:28px 36px 26px;
  background:rgba(238,238,238,.86);
  color:#111;
  text-align:left;
  box-shadow:0 2px 6px rgba(0,0,0,.45);
}

.message-box::before,
.message-box::after{
  content:"";
  position:absolute;
  top:20px;
  bottom:-10px;
  width:58px;
  background:rgba(190,190,190,.55);
  z-index:-1;
  clip-path:polygon(0 0,100% 0,50% 50%,100% 100%,0 100%,50% 50%);
}

.message-box::before{
  left:-38px;
}

.message-box::after{
  right:-38px;
  transform:scaleX(-1);
}

.message-box p{
  margin:0 0 22px;
  color:#111;
  font-size:16px;
  line-height:1.48;
  font-weight:700;
}

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

.pickup-follow{
  margin-top:0;
  text-align:center;
}

.pickup-follow p{
  margin:0 0 24px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:31px;
  line-height:1.22;
  font-weight:400;
  letter-spacing:.04em;
  color:#b585b0;
  text-shadow:0 1px 1px rgba(255,255,255,.35);
}

.pickup-sns{
  display:flex;
  justify-content:center;
  gap:44px;
}

.pickup-sns img{
  width:78px;
  height:78px;
  object-fit:contain;
}

.pickup-side{
  height:724px;
  overflow:hidden;
  background:#e9e6e6;
  position:relative;
}

.pickup-side img{
  width:690px;
  max-width:none;
  position:absolute;
  left:50%;
  top:22px;
  transform:translateX(-50%);
}

.follow-hidden{
  display:none !important;
}

@media(max-width:1200px){
  .pickup{
    padding:48px 24px 0;
  }
  .pickup-wrap{
    grid-template-columns:1fr;
  }
  .pickup-card{
    height:auto;
    min-height:724px;
  }
  .pickup-card-inner-v13{
    min-height:724px;
  }
  .pickup-side{
    display:none;
  }
}

@media(max-width:760px){
  .pickup{
    padding:34px 16px 0;
  }
  .pickup-card,
  .pickup-card-inner-v13{
    min-height:0;
  }
  .pickup-text-v13{
    padding:34px 20px 44px;
    max-width:100%;
  }
  .pickup-text-v13 h1{
    font-size:24px;
    margin-bottom:30px;
  }
  .pickup-text-v13 h2{
    font-size:20px;
  }
  .message-box{
    width:min(356px, 100%);
    padding:24px;
  }
  .pickup-follow p{
    font-size:24px;
  }
}



/* v14: pickup section dimensional alignment */
.pickup{
  padding:68px 28px 0 !important;
}

.pickup-wrap{
  grid-template-columns:67.3% 32.7% !important;
}

.pickup-card,
.pickup-side{
  height:747px !important;
}

.pickup-card-inner-v13{
  height:747px !important;
  min-height:747px !important;
}

.pickup-text-v13{
  max-width:620px !important;
  padding-top:54px !important;
}

.pickup-text-v13 h1{
  font-size:34px !important;
  margin-bottom:57px !important;
}

.pickup-text-v13 h2{
  font-size:28px !important;
  line-height:1.5 !important;
  margin-bottom:6px !important;
}

.pickup-text-v13 .kana{
  margin-bottom:53px !important;
}

.message-box{
  width:386px !important;
  min-height:352px !important;
  margin-bottom:66px !important;
  padding:29px 38px 27px !important;
}

.message-box p{
  font-size:16px !important;
  line-height:1.48 !important;
}

.pickup-follow p{
  font-size:32px !important;
  margin-bottom:25px !important;
}

.pickup-sns img{
  width:79px !important;
  height:79px !important;
}

.pickup-side img{
  width:760px !important;
  top:30px !important;
  left:50% !important;
}

@media(max-width:1200px){
  .pickup-wrap{
    grid-template-columns:1fr !important;
  }
  .pickup-card,
  .pickup-card-inner-v13{
    min-height:747px !important;
    height:auto !important;
  }
  .pickup-side{
    display:none !important;
  }
}



/* v16: rebuild pickup section against the Wix screenshot */
.pickup{
  background:#fff;
  padding:68px 42px 0 !important;
}

.pickup-wrap{
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:66.7% 33.3% !important;
  gap:0;
  margin:0 auto;
}

.pickup-card,
.pickup-side{
  height:735px !important;
}

.pickup-card{
  position:relative;
  overflow:hidden;
  background:#050505;
}

.pickup-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:0;
}

/* Moving light effect: not a different video, but animated light layers over the same Wix background */
.pickup-card::before,
.pickup-card::after{
  content:"";
  position:absolute;
  inset:-8%;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 14%, rgba(255,255,255,.55) 0 6px, transparent 9px),
    radial-gradient(circle at 22% 74%, rgba(255,235,95,.72) 0 7px, transparent 11px),
    radial-gradient(circle at 46% 34%, rgba(160,150,255,.75) 0 5px, transparent 9px),
    radial-gradient(circle at 72% 18%, rgba(255,255,255,.62) 0 8px, transparent 12px),
    radial-gradient(circle at 84% 68%, rgba(130,120,255,.72) 0 6px, transparent 10px),
    radial-gradient(circle at 64% 82%, rgba(255,230,70,.70) 0 6px, transparent 10px);
  filter:blur(.2px);
  opacity:.58;
  animation:pickupSparkleMove 10s linear infinite alternate;
}

.pickup-card::after{
  opacity:.34;
  transform:scale(1.2);
  animation-duration:15s;
  animation-direction:alternate-reverse;
}

@keyframes pickupSparkleMove{
  from{ transform:translate3d(-18px,-12px,0) scale(1); }
  to{ transform:translate3d(22px,18px,0) scale(1.04); }
}

.pickup-card-inner-v13{
  position:relative;
  z-index:2 !important;
  height:735px !important;
  min-height:735px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  text-align:center !important;
  color:#fff;
}

.pickup-text-v13{
  width:100%;
  max-width:610px !important;
  padding:55px 0 0 !important;
  text-shadow:0 2px 4px rgba(0,0,0,.65);
}

.pickup-text-v13 h1{
  margin:0 0 55px !important;
  color:#fff;
  font-size:34px !important;
  line-height:1.25 !important;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:6px;
}

.pickup-text-v13 h2{
  margin:0 0 6px !important;
  color:#fff;
  font-size:28px !important;
  line-height:1.5 !important;
  font-weight:700;
}

.pickup-text-v13 .kana{
  margin:0 0 50px !important;
  color:#fff;
  font-size:14px !important;
  font-weight:700;
}

.message-box{
  position:relative;
  width:384px !important;
  min-height:346px !important;
  margin:0 auto 54px !important;
  padding:29px 38px 26px !important;
  background:rgba(238,238,238,.86) !important;
  color:#111 !important;
  text-align:left !important;
  box-shadow:0 2px 6px rgba(0,0,0,.45);
  text-shadow:none;
}

.message-box::before,
.message-box::after{
  content:"";
  position:absolute;
  top:20px;
  bottom:-10px;
  width:58px;
  background:rgba(190,190,190,.55);
  z-index:-1;
  clip-path:polygon(0 0,100% 0,50% 50%,100% 100%,0 100%,50% 50%);
}

.message-box::before{ left:-38px; }
.message-box::after{ right:-38px; transform:scaleX(-1); }

.message-box p{
  margin:0 0 22px !important;
  color:#111 !important;
  font-size:16px !important;
  line-height:1.47 !important;
  font-weight:700 !important;
}

.message-box p:last-child{ margin-bottom:0 !important; }

.pickup-follow{
  display:block !important;
  margin:0 !important;
  text-align:center;
}

.pickup-follow p{
  margin:0 0 24px !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:32px !important;
  line-height:1.22 !important;
  font-weight:400 !important;
  letter-spacing:.04em;
  color:#b585b0 !important;
  text-shadow:0 1px 1px rgba(255,255,255,.28);
}

.pickup-sns{
  display:flex !important;
  justify-content:center !important;
  gap:44px !important;
}

.pickup-sns img{
  width:79px !important;
  height:79px !important;
  object-fit:contain;
}

.pickup-side{
  overflow:hidden;
  background:#e9e6e6 !important;
  position:relative;
}

.pickup-side img{
  width:900px !important;
  max-width:none !important;
  position:absolute !important;
  left:52% !important;
  top:-18px !important;
  transform:translateX(-50%) !important;
}

.follow-hidden{
  display:none !important;
}

@media (prefers-reduced-motion: reduce){
  .pickup-card::before,
  .pickup-card::after{
    animation:none;
  }
}

@media(max-width:1200px){
  .pickup{
    padding:48px 24px 0 !important;
  }
  .pickup-wrap{
    grid-template-columns:1fr !important;
  }
  .pickup-card,
  .pickup-card-inner-v13{
    height:auto !important;
    min-height:735px !important;
  }
  .pickup-side{
    display:none !important;
  }
}

@media(max-width:760px){
  .pickup{
    padding:34px 16px 0 !important;
  }
  .pickup-card,
  .pickup-card-inner-v13{
    min-height:0 !important;
  }
  .pickup-text-v13{
    padding:34px 20px 44px !important;
    max-width:100% !important;
  }
  .pickup-text-v13 h1{
    font-size:24px !important;
    margin-bottom:30px !important;
  }
  .pickup-text-v13 h2{
    font-size:20px !important;
  }
  .message-box{
    width:min(384px,100%) !important;
    padding:24px !important;
  }
  .pickup-follow p{
    font-size:24px !important;
  }
}



/* v18: force coordinate layout for pickup section */
.pickup{
  padding:68px 42px 0 !important;
  background:#fff !important;
}

.pickup-wrap{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:67.5% 32.5% !important;
  gap:0 !important;
  margin:0 !important;
}

.pickup-card,
.pickup-side{
  height:735px !important;
  min-height:735px !important;
}

.pickup-card{
  position:relative !important;
  overflow:hidden !important;
  background:#000 !important;
}

.pickup-bg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  z-index:0 !important;
}

/* keep the effect but make it subtle */
.pickup-card::before,
.pickup-card::after{
  opacity:.22 !important;
}

.pickup-card-inner-v13{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  display:block !important;
  z-index:5 !important;
}

.pickup-text-v13{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  padding:0 !important;
  text-align:center !important;
  color:#fff !important;
}

.pickup-text-v13 h1{
  position:absolute !important;
  top:58px !important;
  left:0 !important;
  right:0 !important;
  margin:0 !important;
  font-size:34px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  text-decoration:underline !important;
  text-underline-offset:6px !important;
  color:#fff !important;
}

.pickup-text-v13 h2{
  position:absolute !important;
  top:164px !important;
  left:0 !important;
  right:0 !important;
  margin:0 !important;
  font-size:28px !important;
  line-height:1.48 !important;
  font-weight:700 !important;
  color:#fff !important;
}

.pickup-text-v13 .kana{
  position:absolute !important;
  top:257px !important;
  left:0 !important;
  right:0 !important;
  margin:0 !important;
  font-size:14px !important;
  line-height:1.2 !important;
  color:#fff !important;
}

.message-box{
  position:absolute !important;
  top:330px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:405px !important;
  min-height:335px !important;
  margin:0 !important;
  padding:28px 38px 24px !important;
  background:rgba(238,238,238,.86) !important;
  color:#111 !important;
  text-align:left !important;
  box-shadow:0 2px 6px rgba(0,0,0,.45) !important;
  text-shadow:none !important;
}

.message-box p{
  margin:0 0 20px !important;
  font-size:15.5px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  color:#111 !important;
}

.message-box p:last-child{
  margin-bottom:0 !important;
}

.pickup-follow{
  position:absolute !important;
  top:690px !important;
  left:0 !important;
  right:0 !important;
  margin:0 !important;
  display:block !important;
  text-align:center !important;
}

.pickup-follow p{
  margin:0 0 24px !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:32px !important;
  line-height:1.18 !important;
  font-weight:400 !important;
  color:#b585b0 !important;
  letter-spacing:.04em !important;
}

.pickup-sns{
  display:flex !important;
  justify-content:center !important;
  gap:45px !important;
}

.pickup-sns img{
  width:80px !important;
  height:80px !important;
  object-fit:contain !important;
}

.pickup-side{
  position:relative !important;
  overflow:hidden !important;
  background:#e9e6e6 !important;
}

.pickup-side img{
  position:absolute !important;
  width:1040px !important;
  max-width:none !important;
  left:53% !important;
  top:-70px !important;
  transform:translateX(-50%) !important;
}

/* since follow is inside pickup, section must be taller enough to show it */
.pickup-card,
.pickup-side,
.pickup-card-inner-v13{
  height:880px !important;
  min-height:880px !important;
}

.follow-hidden{
  display:none !important;
}

@media(max-width:1200px){
  .pickup-wrap{
    grid-template-columns:1fr !important;
  }
  .pickup-side{
    display:none !important;
  }
}




/* v19: pickup height enlarged to match Wix screenshot */
.pickup{
  padding:68px 42px 0 !important;
  background:#fff !important;
}

.pickup-wrap{
  grid-template-columns:67.5% 32.5% !important;
}

.pickup-card,
.pickup-side,
.pickup-card-inner-v13{
  height:1040px !important;
  min-height:1040px !important;
}

.pickup-text-v13 h1{
  top:70px !important;
  font-size:36px !important;
}

.pickup-text-v13 h2{
  top:205px !important;
  font-size:30px !important;
}

.pickup-text-v13 .kana{
  top:314px !important;
}

.message-box{
  top:400px !important;
  width:425px !important;
  min-height:365px !important;
  padding:32px 42px 28px !important;
}

.message-box p{
  font-size:16px !important;
  line-height:1.48 !important;
}

.pickup-follow{
  top:805px !important;
}

.pickup-follow p{
  font-size:34px !important;
  margin-bottom:28px !important;
}

.pickup-sns img{
  width:88px !important;
  height:88px !important;
}

.pickup-side img{
  width:1180px !important;
  top:-55px !important;
  left:54% !important;
}

.thank-you{
  margin-top:0 !important;
}

@media(max-width:1200px){
  .pickup-card,
  .pickup-card-inner-v13{
    height:1040px !important;
    min-height:1040px !important;
  }
}


/* v20 much taller like wix */
.pickup-card,.pickup-side,.pickup-card-inner-v13{
 height:1420px!important;
 min-height:1420px!important;
}
.pickup-text-v13 h1{
 top:95px!important;
 font-size:42px!important;
}
.pickup-text-v13 h2{
 top:275px!important;
 font-size:34px!important;
}
.pickup-text-v13 .kana{
 top:410px!important;
}
.message-box{
 top:530px!important;
 width:470px!important;
 min-height:420px!important;
 padding:36px 46px 34px!important;
}
.message-box p{
 font-size:18px!important;
 line-height:1.55!important;
}
.pickup-follow{
 top:1110px!important;
}
.pickup-follow p{
 font-size:40px!important;
 line-height:1.2!important;
}
.pickup-sns{
 gap:60px!important;
}
.pickup-sns img{
 width:100px!important;
 height:100px!important;
}
.pickup-side img{
 width:1500px!important;
 top:-120px!important;
 left:54%!important;
}


/* v21 fix character clipping */
.pickup-side{
 overflow:hidden!important;
}
.pickup-side img{
 width:1320px!important;
 top:35px!important;
 left:53%!important;
 transform:translateX(-50%)!important;
 object-fit:contain!important;
 max-height:none!important;
}



/* v22: stronger character head clipping fix */
.pickup-side{
  overflow:hidden !important;
}

.pickup-side img{
  width:1120px !important;
  top:95px !important;
  left:53% !important;
  transform:translateX(-50%) !important;
  max-width:none !important;
  height:auto !important;
}



/* v23: character image fully contained in the right frame */
.pickup-side{
  overflow:hidden !important;
}

.pickup-side img{
  width:980px !important;
  max-width:none !important;
  height:auto !important;
  top:135px !important;
  left:53% !important;
  transform:translateX(-50%) !important;
}



/* v24: use uncropped original character image */
.pickup-side{
  overflow:hidden !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  background:#e9e6e6 !important;
}

.pickup-side img{
  position:relative !important;
  width:auto !important;
  height:94% !important;
  max-width:none !important;
  max-height:none !important;
  top:28px !important;
  left:auto !important;
  transform:none !important;
  object-fit:contain !important;
  object-position:top center !important;
}



/* v25: enlarge the gray message box area */
.message-box{
  width:560px !important;
  min-height:455px !important;
  top:370px !important;
  padding:42px 58px 38px !important;
}

.message-box p{
  font-size:19px !important;
  line-height:1.58 !important;
  font-weight:700 !important;
}

.message-box::before,
.message-box::after{
  width:78px !important;
  top:28px !important;
  bottom:-16px !important;
}

.message-box::before{
  left:-54px !important;
}

.message-box::after{
  right:-54px !important;
}

.pickup-follow{
  top:875px !important;
}

.pickup-follow p{
  font-size:38px !important;
  line-height:1.22 !important;
  margin-bottom:30px !important;
}

.pickup-sns{
  gap:58px !important;
}

.pickup-sns img{
  width:96px !important;
  height:96px !important;
}

/* keep enough vertical room after enlarging the text box */
.pickup-card,
.pickup-side,
.pickup-card-inner-v13{
  height:1420px !important;
  min-height:1420px !important;
}


/* v26 keep follow/SNS and reveal kana */
.message-box{
 width:560px!important;
 min-height:455px!important;
 top:440px!important;
 padding:42px 58px 38px!important;
}
.pickup-text-v13 h2{
 top:205px!important;
}
.pickup-text-v13 .kana{
 top:320px!important;
 z-index:10!important;
 position:absolute!important;
}
/* restore original follow positions */
.pickup-follow{
 top:1110px!important;
}
.pickup-follow p{
 font-size:40px!important;
 margin-bottom:28px!important;
}
.pickup-sns{
 gap:60px!important;
}
.pickup-sns img{
 width:100px!important;
 height:100px!important;
}


/* v27 slightly larger message box only */
.message-box{
 width:620px!important;
 min-height:500px!important;
 top:470px!important;
 padding:48px 66px 42px!important;
}
.message-box p{
 font-size:20px!important;
 line-height:1.62!important;
}
.message-box::before,
.message-box::after{
 width:88px!important;
}
.message-box::before{
 left:-62px!important;
}
.message-box::after{
 right:-62px!important;
}
.pickup-text-v13 .kana{
 top:330px!important;
}


/* v28 message box 125% scale */
.message-box{
 width:775px!important;          /* 620 × 1.25 */
 min-height:625px!important;    /* 500 × 1.25 */
 top:500px!important;
 padding:60px 82px 52px!important;
}
.message-box p{
 font-size:25px!important;
 line-height:1.64!important;
}
.message-box::before,
.message-box::after{
 width:110px!important;
 top:36px!important;
 bottom:-22px!important;
}
.message-box::before{
 left:-78px!important;
}
.message-box::after{
 right:-78px!important;
}
/* keep kana visible */
.pickup-text-v13 .kana{
 top:350px!important;
}


/* v29 move message box upward without covering kana */
.message-box{
 top:430px!important;
}
.pickup-text-v13 .kana{
 top:340px!important;
 z-index:20!important;
}



/* v30: sparkle animation + fixed side trapezoids */
.pickup-card{
  isolation:isolate !important;
}

/* 動く光エフェクト */
.pickup-card::before,
.pickup-card::after{
  content:"" !important;
  position:absolute !important;
  inset:-10% !important;
  pointer-events:none !important;
  z-index:1 !important;
  background-repeat:repeat !important;
  background-size:520px 520px, 680px 680px, 860px 860px !important;
  mix-blend-mode:screen !important;
  opacity:.55 !important;
  filter:none !important;
  animation:pickupStarMoveA 12s linear infinite !important;
}

.pickup-card::before{
  background-image:
    radial-gradient(circle, rgba(255,255,255,.9) 0 2px, rgba(255,255,255,.35) 3px, transparent 9px),
    radial-gradient(circle, rgba(255,230,80,.85) 0 3px, rgba(255,230,80,.35) 4px, transparent 12px),
    radial-gradient(circle, rgba(150,130,255,.9) 0 3px, rgba(150,130,255,.3) 4px, transparent 12px) !important;
}

.pickup-card::after{
  opacity:.35 !important;
  background-size:760px 760px, 940px 940px !important;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.75) 0 2px, rgba(255,255,255,.25) 4px, transparent 16px),
    radial-gradient(circle, rgba(255,255,255,.65) 0 2px, rgba(255,255,255,.2) 5px, transparent 22px) !important;
  animation:pickupStarMoveB 18s linear infinite !important;
}

@keyframes pickupStarMoveA{
  0%{background-position:0 0, 80px 120px, 180px 60px; transform:translate3d(0,0,0);}
  100%{background-position:220px 140px, -180px 260px, 300px -160px; transform:translate3d(12px,-10px,0);}
}

@keyframes pickupStarMoveB{
  0%{background-position:0 0, 240px 160px; transform:translate3d(0,0,0) scale(1);}
  100%{background-position:-260px 180px, 160px -220px; transform:translate3d(-18px,16px,0) scale(1.03);}
}

/* 中身はエフェクトより前面 */
.pickup-card-inner-v13{
  z-index:5 !important;
}

/* 三角形が変形して見えないよう、clip-pathを固定 */
.message-box{
  overflow:visible !important;
  z-index:10 !important;
}

.message-box::before,
.message-box::after{
  content:"" !important;
  position:absolute !important;
  top:28px !important;
  bottom:28px !important;
  width:115px !important;
  background:rgba(170,170,170,.58) !important;
  z-index:-1 !important;
  transform:none !important;
}

/* 左：外側が広く、内側が縦に揃う台形 */
.message-box::before{
  left:-72px !important;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, 38% 50%) !important;
}

/* 右：左と対称 */
.message-box::after{
  right:-72px !important;
  clip-path:polygon(0 0, 100% 0, 62% 50%, 100% 100%, 0 100%) !important;
}

/* 動きを減らす設定の端末では停止 */
@media (prefers-reduced-motion: reduce){
  .pickup-card::before,
  .pickup-card::after{
    animation:none !important;
  }
}



/* v31: faster effect + simple non-deforming trapezoids */

/* エフェクト速度を上げる */
.pickup-card::before{
  animation:pickupStarMoveFastA 4s linear infinite !important;
  opacity:.62 !important;
}

.pickup-card::after{
  animation:pickupStarMoveFastB 6s linear infinite !important;
  opacity:.42 !important;
}

@keyframes pickupStarMoveFastA{
  0%{
    background-position:0 0, 80px 120px, 180px 60px;
    transform:translate3d(0,0,0);
  }
  100%{
    background-position:360px 260px, -320px 420px, 520px -300px;
    transform:translate3d(22px,-18px,0);
  }
}

@keyframes pickupStarMoveFastB{
  0%{
    background-position:0 0, 240px 160px;
    transform:translate3d(0,0,0) scale(1);
  }
  100%{
    background-position:-420px 310px, 320px -360px;
    transform:translate3d(-28px,24px,0) scale(1.04);
  }
}

/* 三角形ではなく、Wixに近いシンプルな台形に戻す */
.message-box::before,
.message-box::after{
  content:"" !important;
  position:absolute !important;
  top:24px !important;
  bottom:24px !important;
  width:96px !important;
  background:rgba(150,150,150,.62) !important;
  z-index:-1 !important;
  transform:none !important;
}

/* 左側：内側は文章枠の裏に隠れる、外側だけ斜め */
.message-box::before{
  left:-76px !important;
  clip-path:polygon(0 0, 100% 10%, 100% 90%, 0 100%) !important;
}

/* 右側：左側と対称 */
.message-box::after{
  right:-76px !important;
  clip-path:polygon(0 10%, 100% 0, 100% 100%, 0 90%) !important;
}

@media (prefers-reduced-motion: reduce){
  .pickup-card::before,
  .pickup-card::after{
    animation:none !important;
  }
}



/* v32: radial sparkle effect from center to outside */
.pickup-card::before,
.pickup-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  z-index:1 !important;
  mix-blend-mode:screen !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  transform-origin:center center !important;
}

.pickup-card::before{
  opacity:.72 !important;
  background-image:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.95) 0 2px, rgba(255,255,255,.45) 3px, transparent 11px),
    radial-gradient(circle at 50% 50%, rgba(255,230,80,.95) 0 3px, rgba(255,230,80,.35) 4px, transparent 13px),
    radial-gradient(circle at 50% 50%, rgba(150,135,255,.9) 0 3px, rgba(150,135,255,.35) 4px, transparent 13px),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.7) 0 2px, rgba(255,255,255,.28) 5px, transparent 22px) !important;
  background-size:
    180px 180px,
    260px 260px,
    340px 340px,
    480px 480px !important;
  animation:pickupBurstA 2.8s linear infinite !important;
}

.pickup-card::after{
  opacity:.45 !important;
  background-image:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.85) 0 2px, rgba(255,255,255,.28) 4px, transparent 18px),
    radial-gradient(circle at 50% 50%, rgba(255,225,90,.75) 0 3px, rgba(255,225,90,.22) 5px, transparent 24px),
    radial-gradient(circle at 50% 50%, rgba(140,130,255,.72) 0 3px, rgba(140,130,255,.22) 5px, transparent 24px) !important;
  background-size:
    220px 220px,
    380px 380px,
    620px 620px !important;
  animation:pickupBurstB 3.6s linear infinite !important;
}

@keyframes pickupBurstA{
  0%{
    transform:scale(.25);
    opacity:0;
    filter:blur(0px);
  }
  12%{
    opacity:.85;
  }
  70%{
    opacity:.65;
  }
  100%{
    transform:scale(2.8);
    opacity:0;
    filter:blur(1.5px);
  }
}

@keyframes pickupBurstB{
  0%{
    transform:scale(.1) rotate(0deg);
    opacity:0;
  }
  18%{
    opacity:.58;
  }
  100%{
    transform:scale(3.2) rotate(8deg);
    opacity:0;
  }
}

@media (prefers-reduced-motion: reduce){
  .pickup-card::before,
  .pickup-card::after{
    animation:none !important;
  }
}



/* v33: visible radial sparkle elements */
.pickup-card::before,
.pickup-card::after{
  display:none !important;
}

.sparkle-field{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
}

.sparkle-field span{
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#fff;
  box-shadow:
    0 0 10px #fff,
    0 0 22px rgba(255,255,255,.9),
    0 0 36px rgba(255,230,90,.75);
  opacity:0;
  animation:sparkleOut 2s linear infinite;
  animation-delay:var(--d);
}

.sparkle-field span:nth-child(3n){
  background:#ffe770;
  box-shadow:
    0 0 10px #ffe770,
    0 0 24px rgba(255,230,90,.9),
    0 0 42px rgba(255,230,90,.65);
}

.sparkle-field span:nth-child(3n+1){
  background:#b9b0ff;
  box-shadow:
    0 0 10px #b9b0ff,
    0 0 24px rgba(185,176,255,.9),
    0 0 42px rgba(185,176,255,.65);
}

@keyframes sparkleOut{
  0%{
    transform:translate(-50%,-50%) scale(.3);
    opacity:0;
  }
  12%{
    opacity:1;
  }
  100%{
    transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(1.35);
    opacity:0;
  }
}

.pickup-card-inner-v13{
  z-index:5 !important;
}


/* v34: effect across entire black area */
.sparkle-field{
 position:absolute!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 overflow:hidden!important;
 z-index:2!important;
 pointer-events:none!important;
}

/* move effect behind text but over background */
.pickup-card-inner-v13{
 z-index:4!important;
}

.sparkle-field span{
 width:14px!important;
 height:14px!important;
 animation:sparkleExpand 1.8s linear infinite!important;
}

@keyframes sparkleExpand{
 0%{
   left:50%;
   top:50%;
   transform:translate(-50%,-50%) scale(.1);
   opacity:0;
 }
 8%{
   opacity:1;
 }
 100%{
   left:calc(50% + var(--x));
   top:calc(50% + var(--y));
   transform:translate(-50%,-50%) scale(1.8);
   opacity:0;
 }
}



/* v35: full black-panel radial star flow based on the Wix background */
.pickup-card{
  position:relative !important;
  overflow:hidden !important;
}

/* Disable older pseudo-element effects so the new full-panel layer is not masked */
.pickup-card::before,
.pickup-card::after{
  display:none !important;
  content:none !important;
}

.sparkle-field{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  pointer-events:none !important;
  z-index:2 !important;
  transform:none !important;
}

.sparkle-field span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  background:#fff !important;
  opacity:0;
  transform:translate(-50%,-50%) scale(.1);
  filter:drop-shadow(0 0 8px rgba(255,255,255,.95));
  box-shadow:
    0 0 10px rgba(255,255,255,.95),
    0 0 24px rgba(255,255,255,.65);
  animation:starFlowFull 1.85s linear infinite !important;
  animation-delay:var(--d) !important;
}

/* color variation like the Wix star image */
.sparkle-field span:nth-child(3n){
  background:#ffe96a !important;
  box-shadow:
    0 0 10px rgba(255,233,106,.95),
    0 0 26px rgba(255,220,40,.75);
}

.sparkle-field span:nth-child(3n+1){
  background:#a99cff !important;
  box-shadow:
    0 0 10px rgba(169,156,255,.95),
    0 0 26px rgba(120,105,255,.75);
}

/* cross flare */
.sparkle-field span::before,
.sparkle-field span::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  background:rgba(255,255,255,.75) !important;
  border-radius:999px !important;
}

.sparkle-field span::before{
  width:34px !important;
  height:2px !important;
}

.sparkle-field span::after{
  width:2px !important;
  height:34px !important;
}

@keyframes starFlowFull{
  0%{
    transform:translate(-50%,-50%) scale(.05);
    opacity:0;
  }
  7%{
    opacity:.95;
  }
  100%{
    transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(var(--s));
    opacity:0;
  }
}

/* keep all text and box above the moving full-panel effect */
.pickup-card-inner-v13{
  z-index:5 !important;
}

/* trapezoids: simple straight-sided shape, no pinched deformation */
.message-box{
  overflow:visible !important;
  z-index:10 !important;
}

.message-box::before,
.message-box::after{
  content:"" !important;
  position:absolute !important;
  top:26px !important;
  bottom:26px !important;
  width:118px !important;
  background:rgba(160,160,160,.58) !important;
  z-index:-1 !important;
  transform:none !important;
}

/* left side decoration */
.message-box::before{
  left:-84px !important;
  clip-path:polygon(0 0, 100% 8%, 100% 92%, 0 100%) !important;
}

/* right side decoration */
.message-box::after{
  right:-84px !important;
  clip-path:polygon(0 8%, 100% 0, 100% 100%, 0 92%) !important;
}

@media (prefers-reduced-motion: reduce){
  .sparkle-field span{
    animation:none !important;
    opacity:.35;
  }
}



/* v36: make blue/yellow effects move too */
.sparkle-field span{
  animation-duration:1.55s !important;
}

/* larger colored glow layers moving from center */
.sparkle-field::before,
.sparkle-field::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:26px !important;
  height:26px !important;
  border-radius:50% !important;
  opacity:0;
  pointer-events:none !important;
  mix-blend-mode:screen !important;
}

/* yellow moving glow */
.sparkle-field::before{
  background:#ffe45c !important;
  box-shadow:
    -520px -280px 34px 14px rgba(255,230,70,.80),
    -280px 210px 32px 12px rgba(255,230,70,.70),
    180px -250px 38px 16px rgba(255,230,70,.75),
    520px 180px 34px 14px rgba(255,230,70,.72),
    720px -380px 30px 12px rgba(255,230,70,.65);
  animation:coloredGlowYellow 2.2s linear infinite !important;
}

/* blue / purple moving glow */
.sparkle-field::after{
  background:#9f92ff !important;
  box-shadow:
    -680px 120px 38px 16px rgba(120,105,255,.78),
    -330px -360px 34px 14px rgba(120,105,255,.70),
    260px 300px 42px 18px rgba(120,105,255,.78),
    580px -120px 36px 16px rgba(120,105,255,.70),
    880px 340px 34px 14px rgba(120,105,255,.62);
  animation:coloredGlowBlue 2.7s linear infinite !important;
}

@keyframes coloredGlowYellow{
  0%{
    transform:translate(-50%,-50%) scale(.15);
    opacity:0;
  }
  10%{
    opacity:.92;
  }
  100%{
    transform:translate(-50%,-50%) scale(2.3) rotate(8deg);
    opacity:0;
  }
}

@keyframes coloredGlowBlue{
  0%{
    transform:translate(-50%,-50%) scale(.1) rotate(0deg);
    opacity:0;
  }
  12%{
    opacity:.88;
  }
  100%{
    transform:translate(-50%,-50%) scale(2.6) rotate(-10deg);
    opacity:0;
  }
}

/* reduce the static-looking background a little so moving effects stand out */
.pickup-bg{
  filter:brightness(.78) contrast(1.04) !important;
}

@media (prefers-reduced-motion: reduce){
  .sparkle-field::before,
  .sparkle-field::after{
    animation:none !important;
    opacity:.35;
  }
}



/* v37: suppress baked-in static effects and emphasize moving effects */
.pickup-card{
  background:#000 !important;
}

/* 背景画像に描き込まれている静止光を弱める */
.pickup-bg{
  filter:brightness(.48) contrast(1.12) saturate(.55) !important;
  opacity:.82 !important;
}

/* 黒背景の雰囲気を保ちながら静止エフェクトをさらに目立たなくする */
.pickup-card::marker{
  display:none;
}

.pickup-card .sparkle-field{
  z-index:3 !important;
}

/* 動く白星を増やして目立たせる */
.sparkle-field span{
  width:13px !important;
  height:13px !important;
  opacity:0;
  animation-duration:1.35s !important;
  box-shadow:
    0 0 12px rgba(255,255,255,1),
    0 0 28px rgba(255,255,255,.85),
    0 0 48px rgba(255,255,255,.45) !important;
}

/* 動く青・黄色の光を強める */
.sparkle-field::before{
  opacity:0;
  width:34px !important;
  height:34px !important;
  box-shadow:
    -560px -320px 52px 24px rgba(255,230,70,.95),
    -340px 250px 50px 22px rgba(255,230,70,.88),
    120px -290px 58px 26px rgba(255,230,70,.92),
    480px 240px 52px 24px rgba(255,230,70,.86),
    760px -420px 50px 22px rgba(255,230,70,.82) !important;
  animation:coloredGlowYellowStrong 1.75s linear infinite !important;
}

.sparkle-field::after{
  opacity:0;
  width:34px !important;
  height:34px !important;
  box-shadow:
    -720px 160px 58px 26px rgba(120,105,255,.95),
    -390px -410px 54px 24px rgba(120,105,255,.88),
    260px 340px 62px 28px rgba(120,105,255,.92),
    620px -160px 56px 26px rgba(120,105,255,.86),
    920px 390px 52px 24px rgba(120,105,255,.82) !important;
  animation:coloredGlowBlueStrong 2.05s linear infinite !important;
}

@keyframes coloredGlowYellowStrong{
  0%{
    transform:translate(-50%,-50%) scale(.08);
    opacity:0;
  }
  8%{
    opacity:.95;
  }
  72%{
    opacity:.78;
  }
  100%{
    transform:translate(-50%,-50%) scale(2.65) rotate(10deg);
    opacity:0;
  }
}

@keyframes coloredGlowBlueStrong{
  0%{
    transform:translate(-50%,-50%) scale(.06) rotate(0deg);
    opacity:0;
  }
  9%{
    opacity:.92;
  }
  76%{
    opacity:.72;
  }
  100%{
    transform:translate(-50%,-50%) scale(2.95) rotate(-12deg);
    opacity:0;
  }
}

/* 文字と枠はエフェクトより前面 */
.pickup-card-inner-v13{
  z-index:6 !important;
}



/* v38: clean background without baked-in colored lights + red moving effects */
.pickup-bg{
  filter:none !important;
  opacity:1 !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.pickup-card::before,
.pickup-card::after{
  display:none !important;
  content:none !important;
}

.sparkle-field{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  pointer-events:none !important;
  z-index:3 !important;
}

/* normal moving stars */
.sparkle-field span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:12px !important;
  height:12px !important;
  border-radius:50% !important;
  background:#fff !important;
  opacity:0;
  transform:translate(-50%,-50%) scale(.1);
  box-shadow:
    0 0 12px rgba(255,255,255,1),
    0 0 28px rgba(255,255,255,.75),
    0 0 48px rgba(255,255,255,.45) !important;
  animation:starFlowFull 1.55s linear infinite !important;
  animation-delay:var(--d) !important;
}

.sparkle-field span:nth-child(4n){
  background:#ffe96a !important;
  box-shadow:
    0 0 14px rgba(255,233,106,.98),
    0 0 32px rgba(255,220,40,.8),
    0 0 60px rgba(255,220,40,.45) !important;
}

.sparkle-field span:nth-child(4n+1){
  background:#a99cff !important;
  box-shadow:
    0 0 14px rgba(169,156,255,.98),
    0 0 32px rgba(120,105,255,.8),
    0 0 60px rgba(120,105,255,.45) !important;
}

/* red individual moving lights */
.sparkle-field span:nth-child(4n+2){
  background:#ff4a4a !important;
  box-shadow:
    0 0 14px rgba(255,74,74,1),
    0 0 34px rgba(255,30,30,.85),
    0 0 70px rgba(255,30,30,.5) !important;
}

.sparkle-field span::before,
.sparkle-field span::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  background:currentColor !important;
  border-radius:999px !important;
  opacity:.72 !important;
}

.sparkle-field span::before{
  width:36px !important;
  height:2px !important;
}

.sparkle-field span::after{
  width:2px !important;
  height:36px !important;
}

@keyframes starFlowFull{
  0%{
    transform:translate(-50%,-50%) scale(.05);
    opacity:0;
  }
  8%{
    opacity:.95;
  }
  100%{
    transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(var(--s));
    opacity:0;
  }
}

/* large blue/yellow/red glow waves */
.sparkle-field::before,
.sparkle-field::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  opacity:0;
  pointer-events:none !important;
  mix-blend-mode:screen !important;
}

/* yellow + red glow wave */
.sparkle-field::before{
  box-shadow:
    -560px -320px 52px 24px rgba(255,230,70,.95),
    -340px 250px 50px 22px rgba(255,230,70,.88),
    120px -290px 58px 26px rgba(255,230,70,.92),
    480px 240px 52px 24px rgba(255,230,70,.86),
    760px -420px 50px 22px rgba(255,230,70,.82),
    -720px -110px 54px 24px rgba(255,50,50,.82),
    320px 120px 58px 26px rgba(255,40,40,.86),
    880px 360px 52px 24px rgba(255,45,45,.78) !important;
  animation:coloredGlowWarm 1.75s linear infinite !important;
}

/* blue + red glow wave */
.sparkle-field::after{
  box-shadow:
    -720px 160px 58px 26px rgba(120,105,255,.95),
    -390px -410px 54px 24px rgba(120,105,255,.88),
    260px 340px 62px 28px rgba(120,105,255,.92),
    620px -160px 56px 26px rgba(120,105,255,.86),
    920px 390px 52px 24px rgba(120,105,255,.82),
    -120px -520px 54px 24px rgba(255,45,45,.74),
    520px 20px 58px 26px rgba(255,55,55,.78) !important;
  animation:coloredGlowCool 2.05s linear infinite !important;
}

@keyframes coloredGlowWarm{
  0%{
    transform:translate(-50%,-50%) scale(.08) rotate(0deg);
    opacity:0;
  }
  8%{
    opacity:.95;
  }
  72%{
    opacity:.78;
  }
  100%{
    transform:translate(-50%,-50%) scale(2.65) rotate(10deg);
    opacity:0;
  }
}

@keyframes coloredGlowCool{
  0%{
    transform:translate(-50%,-50%) scale(.06) rotate(0deg);
    opacity:0;
  }
  9%{
    opacity:.92;
  }
  76%{
    opacity:.72;
  }
  100%{
    transform:translate(-50%,-50%) scale(2.95) rotate(-12deg);
    opacity:0;
  }
}

.pickup-card-inner-v13{
  z-index:6 !important;
}


/* v39 apply gold font only to pickup title */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@700&family=Shippori+Mincho:wght@700&display=swap');

.pickup-text-v13 h1{
 font-family:"Cormorant Garamond","Shippori Mincho",serif!important;
 font-weight:700!important;
 letter-spacing:.04em!important;

 background:linear-gradient(
 180deg,
 #fff8da 0%,
 #f8e59b 14%,
 #d7b35a 34%,
 #b98b2c 50%,
 #efd98c 72%,
 #fff7cf 100%
 )!important;

 -webkit-background-clip:text!important;
 background-clip:text!important;
 color:transparent!important;

 text-shadow:
 0 1px 0 rgba(255,255,255,.32),
 0 0 12px rgba(255,220,110,.20),
 0 4px 16px rgba(80,55,0,.30)!important;

 position:absolute!important;
 overflow:visible!important;
}

.pickup-text-v13 h1::after{
 content:"";
 position:absolute;
 top:0;
 left:-30%;
 width:32%;
 height:100%;
 background:linear-gradient(
 90deg,
 transparent,
 rgba(255,255,255,.55),
 transparent
 );
 transform:skewX(-18deg);
 animation:goldSweep 4.6s linear infinite;
}

@keyframes goldSweep{
 0%{
  left:-35%;
  opacity:0;
 }
 10%{
  opacity:.95;
 }
 30%{
  left:120%;
  opacity:0;
 }
 100%{
  left:120%;
  opacity:0;
 }
}


/* v40 stronger gold title, larger, remove highlight */
.pickup-text-v13 h1{
 font-family:"Cormorant Garamond","Shippori Mincho",serif!important;
 font-weight:900!important;
 font-size:46px!important;
 letter-spacing:.03em!important;
 background:linear-gradient(
 180deg,
 #fff8dc 0%,
 #f7e598 14%,
 #d6b35a 36%,
 #b68525 52%,
 #e8d183 76%,
 #fff7d2 100%
 )!important;
 -webkit-background-clip:text!important;
 background-clip:text!important;
 color:transparent!important;
 text-shadow:
 0 1px 0 rgba(255,255,255,.35),
 0 0 10px rgba(255,220,110,.18),
 0 5px 18px rgba(80,55,0,.34)!important;
}

/* remove moving highlight */
.pickup-text-v13 h1::after{
 content:none!important;
 display:none!important;
}


/* v41 enlarge + italic title */
.pickup-text-v13 h1{
 font-size:54px!important;
 font-weight:900!important;
 font-style:italic!important;
 letter-spacing:.02em!important;
 transform:skewX(-6deg)!important;
}



/* v42: moving Thank you marquee */
.thank-you.thank-you-marquee{
  width:100% !important;
  max-width:none !important;
  height:82px !important;
  min-height:82px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  position:relative !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
}

.thank-you.thank-you-marquee::before,
.thank-you.thank-you-marquee::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  width:120px !important;
  height:100% !important;
  z-index:3 !important;
  pointer-events:none !important;
}

.thank-you.thank-you-marquee::before{
  left:0 !important;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,0)) !important;
}

.thank-you.thank-you-marquee::after{
  right:0 !important;
  background:linear-gradient(270deg,#fff,rgba(255,255,255,0)) !important;
}

.thank-you-track{
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  width:max-content !important;
  white-space:nowrap !important;
  animation:thankYouFlow 28s linear infinite !important;
  will-change:transform !important;
}

.thank-you-track-copy{
  left:100% !important;
}

.thank-you-track span{
  display:inline-block !important;
  font-family:"Cormorant Garamond","Shippori Mincho",Georgia,"Times New Roman",serif !important;
  font-size:54px !important;
  line-height:1 !important;
  font-style:italic !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  color:#a99757 !important;
  opacity:.82 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 2px 8px rgba(169,151,87,.22) !important;
}

@keyframes thankYouFlow{
  0%{
    transform:translate(0,-50%);
  }
  100%{
    transform:translate(-100%,-50%);
  }
}

@media(max-width:760px){
  .thank-you.thank-you-marquee{
    height:62px !important;
    min-height:62px !important;
  }

  .thank-you-track span{
    font-size:38px !important;
  }

  .thank-you-track{
    animation-duration:22s !important;
  }
}



/* v43: reliable Thank you marquee */
.thank-you,
.thank-you.thank-you-marquee{
  width:100% !important;
  max-width:none !important;
  height:82px !important;
  min-height:82px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  position:relative !important;
  background:#fff !important;
  display:block !important;
}

/* disable older pseudo text */
.thank-you::before,
.thank-you::after{
  content:"" !important;
}

.thank-you-line{
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  display:flex !important;
  width:max-content !important;
  white-space:nowrap !important;
  transform:translateY(-50%) !important;
  animation:thankYouMarqueeV43 16s linear infinite !important;
  will-change:transform !important;
}

.thank-you-line span{
  display:inline-block !important;
  flex:0 0 auto !important;
  font-family:"Cormorant Garamond","Shippori Mincho",Georgia,"Times New Roman",serif !important;
  font-size:54px !important;
  line-height:1 !important;
  font-style:italic !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  color:#a99757 !important;
  opacity:.84 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 2px 8px rgba(169,151,87,.22) !important;
}

@keyframes thankYouMarqueeV43{
  0%{
    transform:translate3d(0,-50%,0);
  }
  100%{
    transform:translate3d(-50%,-50%,0);
  }
}

@media(max-width:760px){
  .thank-you,
  .thank-you.thank-you-marquee{
    height:62px !important;
    min-height:62px !important;
  }
  .thank-you-line span{
    font-size:38px !important;
  }
  .thank-you-line{
    animation-duration:12s !important;
  }
}



/* v44: use marquee tag for Thank you flow */
.thank-you,
.thank-you.thank-you-marquee{
  width:100% !important;
  max-width:none !important;
  height:82px !important;
  min-height:82px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  position:relative !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
}

/* disable old pseudo / css marquee layers */
.thank-you::before,
.thank-you::after,
.thank-you-line,
.thank-you-track{
  content:none !important;
  display:none !important;
}

.thank-you-marquee-tag{
  display:block !important;
  width:100% !important;
  font-family:"Cormorant Garamond","Shippori Mincho",Georgia,"Times New Roman",serif !important;
  font-size:54px !important;
  line-height:82px !important;
  font-style:italic !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  color:#a99757 !important;
  opacity:.84 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 2px 8px rgba(169,151,87,.22) !important;
}

@media(max-width:760px){
  .thank-you,
  .thank-you.thank-you-marquee{
    height:62px !important;
    min-height:62px !important;
  }
  .thank-you-marquee-tag{
    font-size:38px !important;
    line-height:62px !important;
  }
}


/* v45 start marquee already shifted left */
.thank-you-marquee-tag{
 transform:translateX(-38%)!important;
 padding-left:0!important;
 margin-left:0!important;
}


/* v46 restore CSS thank you flow */
.thank-you,
.thank-you-css-flow{
 position:relative!important;
 overflow:hidden!important;
 width:100%!important;
 height:88px!important;
 background:#fff!important;
 margin:0!important;
}

.thank-you::before,
.thank-you::after,
.thank-you-marquee-tag,
.thank-you-track,
.thank-you-line{
 display:none!important;
 content:none!important;
}

.thank-you-flow{
 position:absolute!important;
 left:-55%!important;
 top:50%!important;
 display:flex!important;
 white-space:nowrap!important;
 transform:translateY(-50%)!important;
 animation:thankFlowV46 36s linear infinite!important;
 will-change:transform!important;
}

.thank-you-flow span{
 display:inline-block!important;
 padding-right:120px!important;
 font-family:"Cormorant Garamond","Shippori Mincho",serif!important;
 font-size:56px!important;
 font-style:italic!important;
 font-weight:700!important;
 color:#ab9855!important;
 opacity:.86!important;
 letter-spacing:.04em!important;
}

@keyframes thankFlowV46{
 0%{
  transform:translate(0,-50%);
 }
 100%{
  transform:translate(-50%,-50%);
 }
}

@media(max-width:760px){
 .thank-you{height:64px!important}
 .thank-you-flow span{font-size:40px!important}
}



/* v47: reliable CSS Thank you flow with unique class names */
.thank-you,
.thank-you::before,
.thank-you::after,
.thank-you-line,
.thank-you-track,
.thank-you-marquee-tag,
.thank-you-css-flow{
  display:none !important;
  content:none !important;
}

.thank-you-flow-section{
  width:100% !important;
  height:88px !important;
  min-height:88px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  position:relative !important;
  background:#fff !important;
  display:block !important;
}

.thank-you-flow-track{
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  width:max-content !important;
  white-space:nowrap !important;
  transform:translate3d(-25%, -50%, 0) !important;
  animation:thankYouFlowV47 24s linear infinite !important;
  will-change:transform !important;
}

.thank-you-flow-track span{
  display:inline-block !important;
  flex:0 0 auto !important;
  font-family:"Cormorant Garamond","Shippori Mincho",Georgia,"Times New Roman",serif !important;
  font-size:56px !important;
  line-height:1 !important;
  font-style:italic !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  color:#ab9855 !important;
  opacity:.86 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 2px 8px rgba(169,151,87,.22) !important;
}

@keyframes thankYouFlowV47{
  0%{
    transform:translate3d(-25%, -50%, 0);
  }
  100%{
    transform:translate3d(-75%, -50%, 0);
  }
}

@media(max-width:760px){
  .thank-you-flow-section{
    height:64px !important;
    min-height:64px !important;
  }
  .thank-you-flow-track span{
    font-size:40px !important;
  }
}



/* v48: JavaScript driven Thank you flow */
.thank-you,
.thank-you::before,
.thank-you::after,
.thank-you-line,
.thank-you-track,
.thank-you-marquee-tag,
.thank-you-css-flow,
.thank-you-flow-section{
  display:none !important;
  content:none !important;
}

.thank-you-js-section{
  width:100% !important;
  height:88px !important;
  min-height:88px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  position:relative !important;
  background:#fff !important;
  display:block !important;
}

.thank-you-js-track{
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  width:max-content !important;
  white-space:nowrap !important;
  will-change:transform !important;
  transform:translate3d(-260px,-50%,0);
}

.thank-you-js-track span{
  display:inline-block !important;
  flex:0 0 auto !important;
  font-family:"Cormorant Garamond","Shippori Mincho",Georgia,"Times New Roman",serif !important;
  font-size:56px !important;
  line-height:1 !important;
  font-style:italic !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  color:#ab9855 !important;
  opacity:.86 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 2px 8px rgba(169,151,87,.22) !important;
}

@media(max-width:760px){
  .thank-you-js-section{
    height:64px !important;
    min-height:64px !important;
  }

  .thank-you-js-track span{
    font-size:40px !important;
  }
}


/* v49 update lower texts */
/* remove company line if element remains */
.company-name,
.footer-company,
.tmr,
.corporate-name{
 display:none!important;
}

/* increase spacing between office title and member intro */
.section-title,
.office-title,
.about-title,
.member-title,
.intro-title{
 position:relative!important;
}

/* target lower section spacing */
.member-section,
.member-intro,
.staff-section,
.profile-section{
 margin-top:90px!important;
}

/* fallback if structure uses heading adjacency */
h2 + h2,
.lower-title + .member-title,
.office-heading + .member-heading{
 margin-top:64px!important;
}


/* v50 enlarge lower four circles */
.circle,
.circle-item,
.member-circle,
.staff-circle,
.intro-circle,
.profile-circle,
.lower-icons .item,
.lower-grid .card{
 transform:scale(1.22)!important;
 transform-origin:center center!important;
}

.circle img,
.circle-item img,
.member-circle img,
.staff-circle img,
.intro-circle img,
.profile-circle img,
.lower-icons img,
.lower-grid img{
 width:340px!important;
 max-width:none!important;
 height:auto!important;
}

/* keep spacing after enlargement */
.lower-icons,
.lower-grid,
.member-list,
.profile-list{
 gap:56px!important;
 padding-top:40px!important;
}


/* v51 force enlarge the four member circles */
[class*="member"] img,
[class*="staff"] img,
[class*="profile"] img,
[class*="circle"] img,
[class*="introduc"] img,
[class*="operator"] img,
[class*="card"] img,
[class*="avatar"] img{
 width:420px!important;
 height:420px!important;
 object-fit:cover!important;
 border-radius:50%!important;
}

[class*="member"],
[class*="staff"],
[class*="profile"],
[class*="circle"],
[class*="introduc"],
[class*="operator"],
[class*="card"]{
 transform:none!important;
}

/* grid spacing */
[class*="member-list"],
[class*="staff-list"],
[class*="profile-list"],
[class*="circle-list"],
[class*="grid"]{
 gap:90px!important;
 row-gap:110px!important;
}



/* v52: keep the four member images as true circles */
.member-grid{
  grid-template-columns:repeat(4, 220px) !important;
  gap:70px !important;
  justify-content:center !important;
  align-items:start !important;
}

.member-grid article{
  width:220px !important;
  text-align:center !important;
}

.member-grid img{
  width:220px !important;
  height:220px !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  border-radius:50% !important;
  display:block !important;
  margin:0 auto 18px !important;
  max-width:none !important;
}

/* undo overly broad v51 selectors that made other images distort */
[class*="member"] img,
[class*="staff"] img,
[class*="profile"] img,
[class*="circle"] img,
[class*="introduc"] img,
[class*="operator"] img,
[class*="card"] img,
[class*="avatar"] img{
  width:auto;
  height:auto;
}

.member-grid img{
  width:220px !important;
  height:220px !important;
}


/* v53 enlarge lower section typography */
/* ライバー事務所Esperanza */
.lower-section h1,
.office-heading,
.company-title{
 font-size:72px!important;
 line-height:1.15!important;
}

/* 運営メンバー紹介 */
.lower-section h2,
.member-heading,
.staff-heading{
 font-size:58px!important;
 line-height:1.18!important;
 margin-top:26px!important;
}

/* 名前 */
.member-grid h3,
.member-name,
.staff-name,
.profile-name{
 font-size:40px!important;
 line-height:1.18!important;
 font-weight:700!important;
}

/* 役職 */
.member-grid p,
.member-role,
.staff-role,
.profile-role{
 font-size:28px!important;
 line-height:1.3!important;
}

/* 間隔微調整 */
.member-grid article{
 row-gap:18px!important;
}


/* v61 remove member background image completely */
.members,
.member-section,
.staff-section,
.profile-section{
 background:none !important;
 background-image:none !important;
}

.members::before,
.members::after,
.member-section::before,
.member-section::after,
.staff-section::before,
.staff-section::after,
.profile-section::before,
.profile-section::after{
 display:none !important;
 content:none !important;
 background:none !important;
}



/* v62: remove remaining upper background in office/member area */
.company,
.company-section,
.office-section,
.about-office,
.members,
.member-section,
.staff-section,
.profile-section{
  background:none !important;
  background-image:none !important;
  background-color:#fff !important;
}

.company::before,
.company::after,
.company-section::before,
.company-section::after,
.office-section::before,
.office-section::after,
.about-office::before,
.about-office::after,
.members::before,
.members::after,
.member-section::before,
.member-section::after,
.staff-section::before,
.staff-section::after,
.profile-section::before,
.profile-section::after{
  display:none !important;
  content:none !important;
  background:none !important;
  background-image:none !important;
}

/* keep text visible after background removal */
.company,
.company-text,
.company-text h2,
.company-text p,
.members,
.members .page-width,
.members h2,
.members .member-grid,
.members .member-grid article,
.members .member-grid h3,
.members .member-grid p{
  position:relative !important;
  z-index:2 !important;
  visibility:visible !important;
  opacity:1 !important;
}



/* v63: CSS pink-gold particle background for office/member area */
.company,
.members{
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255, 198, 210, .48) 0 0.08rem, transparent 0.12rem),
    radial-gradient(circle at 24% 32%, rgba(226, 171, 105, .34) 0 0.06rem, transparent 0.11rem),
    radial-gradient(circle at 72% 24%, rgba(255, 231, 190, .42) 0 0.07rem, transparent 0.12rem),
    radial-gradient(circle at 86% 72%, rgba(214, 151, 96, .32) 0 0.08rem, transparent 0.13rem),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.78), rgba(255,244,236,.72) 34%, rgba(246,214,198,.52) 68%, rgba(255,255,255,.82) 100%),
    linear-gradient(135deg, #fffaf8 0%, #f8e9e8 35%, #fff6ef 62%, #f6dfd0 100%) !important;
  background-size:
    88px 88px,
    116px 116px,
    144px 144px,
    180px 180px,
    cover,
    cover !important;
  background-position:
    0 0,
    18px 34px,
    40px 12px,
    12px 56px,
    center,
    center !important;
  background-repeat:repeat, repeat, repeat, repeat, no-repeat, no-repeat !important;
  background-color:#fff7f2 !important;
}

/* add a soft glitter veil without covering text */
.company,
.members{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

.company::before,
.members::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.62) 0 1px, transparent 2px),
    radial-gradient(circle at 65% 42%, rgba(214,169,88,.34) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.45) 0 1px, transparent 2px),
    radial-gradient(circle at 38% 78%, rgba(220,158,106,.32) 0 1px, transparent 2px);
  background-size:120px 120px, 170px 170px, 210px 210px, 260px 260px !important;
  opacity:.7 !important;
}

.company > *,
.members > *,
.members .page-width,
.company .company-text{
  position:relative !important;
  z-index:2 !important;
}

/* make text readable on the light background */
.company h2,
.company p{
  color:#5d504b !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.85),
    0 2px 4px rgba(100,70,50,.22) !important;
}

.members h2{
  text-shadow:
    0 1px 0 rgba(255,255,255,.65),
    1px 2px 3px rgba(0,0,0,.34) !important;
}

.member-grid h3,
.member-grid p{
  color:#5b4a45 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.78),
    0 1px 3px rgba(90,60,45,.18) !important;
}



/* v64: restore member heading above pink-gold background */
.members{
  position:relative !important;
  overflow:visible !important;
  isolation:isolate !important;
}

.members::before{
  z-index:0 !important;
}

.members .page-width,
.members h2,
.members-heading-fixed,
.members .member-grid,
.members .member-grid article,
.members .member-grid img,
.members .member-grid h3,
.members .member-grid p{
  position:relative !important;
  z-index:10 !important;
  display:block;
  visibility:visible !important;
  opacity:1 !important;
}

.members h2,
.members-heading-fixed{
  color:#006aff !important;
  font-size:58px !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  text-align:center !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.65),
    1px 2px 3px rgba(0,0,0,.38) !important;
  clip-path:none !important;
  height:auto !important;
  min-height:0 !important;
}


/* v65 restore 4-circle horizontal layout */
.members .member-grid{
 display:grid !important;
 grid-template-columns:repeat(4,minmax(180px,1fr)) !important;
 grid-auto-flow:column !important;
 justify-content:center !important;
 align-items:start !important;
 gap:48px !important;
 max-width:1400px !important;
 margin:0 auto !important;
 position:relative !important;
 z-index:10 !important;
}

.members .member-grid article,
.members .member-grid > div,
.members .member-grid li{
 display:flex !important;
 flex-direction:column !important;
 align-items:center !important;
 width:auto !important;
 min-width:0 !important;
}

.members .member-grid img{
 display:block !important;
 margin:0 auto 16px !important;
}

/* cancel accidental block styling */
.members h2,
.members-heading-fixed{
 display:inherit !important;
}

@media(max-width:900px){
 .members .member-grid{
   grid-template-columns:repeat(2,minmax(180px,1fr)) !important;
 }
}


/* v66 widen spacing between four circles */
.members .member-grid{
 grid-template-columns:repeat(4,240px) !important;
 justify-content:center !important;
 column-gap:120px !important;
 row-gap:40px !important;
 max-width:1600px !important;
 padding-left:60px !important;
 padding-right:60px !important;
}

.members .member-grid article,
.members .member-grid > div,
.members .member-grid li{
 width:240px !important;
}

.members .member-grid img{
 margin-bottom:26px !important;
}

@media(max-width:1200px){
 .members .member-grid{
  column-gap:70px !important;
 }
}


/* v67 make inside of circles white */
.members .member-grid img{
 background:#ffffff !important;
 border-radius:50% !important;
 padding:10px !important;
 box-sizing:border-box !important;
 object-fit:cover !important;
 box-shadow:
   0 0 0 6px rgba(255,255,255,.95),
   0 8px 20px rgba(0,0,0,.08) !important;
}

.members .member-grid article,
.members .member-grid > div,
.members .member-grid li{
 background:transparent !important;
}


/* v68 remove white border, keep white inside only */
.members .member-grid img{
 background:#ffffff !important;
 border-radius:50% !important;
 padding:0 !important;
 box-sizing:border-box !important;
 object-fit:cover !important;
 box-shadow:none !important;
 border:none !important;
}


/* v69 restore original thin white edge */
.members .member-grid img{
 background:#ffffff !important;
 border-radius:50% !important;
 padding:0 !important;
 border:4px solid rgba(255,255,255,.96) !important;
 box-shadow:none !important;
}



/* v71: remove only content sections, keep main page visible */
section.contact,
section.recruit,
#contact,
#recruit{
  display:none !important;
}



/* v72: fix oversized SNS icons under pickup follow text */
.pickup-sns{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:58px !important;
  margin-top:18px !important;
}

.pickup-sns a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:88px !important;
  height:88px !important;
  overflow:hidden !important;
}

.pickup-sns img{
  width:88px !important;
  height:88px !important;
  max-width:88px !important;
  max-height:88px !important;
  object-fit:contain !important;
  display:block !important;
}

/* keep the follow block inside the black panel */
.pickup-follow{
  top:1110px !important;
  overflow:visible !important;
}

.pickup-card{
  overflow:hidden !important;
}


/* v73: company page */
.company-page-main{
  background:#fff;
  color:#222;
}

.page-hero{
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 26%, rgba(255,210,220,.45), transparent 28%),
    radial-gradient(circle at 82% 72%, rgba(218,170,90,.30), transparent 26%),
    linear-gradient(135deg,#fffaf7,#f7e6e3 45%,#fff7ee);
}

.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 22%, rgba(255,255,255,.85) 0 1px, transparent 2px),
    radial-gradient(circle at 42% 64%, rgba(181,145,71,.35) 0 1px, transparent 2px),
    radial-gradient(circle at 78% 28%, rgba(255,255,255,.78) 0 1px, transparent 2px);
  background-size:120px 120px,180px 180px,230px 230px;
  opacity:.75;
}

.page-hero-inner{
  position:relative;
  z-index:1;
  padding:40px 20px;
}

.page-kicker{
  margin:0 0 14px;
  font-family:"Cormorant Garamond","Shippori Mincho",serif;
  font-style:italic;
  font-size:32px;
  color:#b4964d;
  letter-spacing:.08em;
}

.page-hero h1{
  margin:0 0 18px;
  font-size:58px;
  line-height:1.2;
  color:#4b3c36;
  letter-spacing:.08em;
}

.page-hero p{
  margin:0;
  font-size:20px;
  color:#5c514d;
  line-height:1.8;
}

.company-profile-section,
.company-message-section{
  padding:90px 24px;
  background:#fff;
}

.company-profile-card,
.company-message-card{
  width:980px;
  max-width:100%;
  margin:0 auto;
  padding:56px 64px;
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,247,241,.86));
  box-shadow:
    0 20px 50px rgba(120,80,60,.10),
    inset 0 0 0 1px rgba(190,150,90,.22);
}

.company-profile-card h2,
.company-message-card h2{
  margin:0 0 36px;
  text-align:center;
  font-size:40px;
  line-height:1.35;
  color:#4b3c36;
}

.company-profile-list{
  margin:0;
  border-top:1px solid rgba(170,130,80,.28);
}

.company-profile-list div{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:30px;
  padding:24px 0;
  border-bottom:1px solid rgba(170,130,80,.28);
}

.company-profile-list dt{
  font-weight:700;
  color:#9b7b3e;
  font-size:18px;
}

.company-profile-list dd{
  margin:0;
  font-size:18px;
  line-height:1.8;
  color:#333;
}

.company-message-card p{
  margin:0 0 22px;
  font-size:19px;
  line-height:2;
  color:#333;
}

.company-message-card p:last-child{
  margin-bottom:0;
}

@media(max-width:760px){
  .page-hero{
    min-height:320px;
  }

  .page-hero h1{
    font-size:40px;
  }

  .page-kicker{
    font-size:24px;
  }

  .company-profile-section,
  .company-message-section{
    padding:54px 16px;
  }

  .company-profile-card,
  .company-message-card{
    padding:34px 22px;
    border-radius:18px;
  }

  .company-profile-list div{
    grid-template-columns:1fr;
    gap:8px;
  }
}


/* v74: company guide page */
.guide-page-main{
  background:#fff;
  color:#2b2523;
}

.guide-hero{
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 18%, rgba(255,205,220,.45), transparent 26%),
    radial-gradient(circle at 78% 70%, rgba(216,171,91,.30), transparent 28%),
    linear-gradient(135deg,#fffaf8 0%,#f4e7ee 45%,#fff4e8 100%);
}

.guide-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 24%, rgba(255,255,255,.9) 0 1px, transparent 2px),
    radial-gradient(circle at 44% 68%, rgba(181,145,71,.34) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 28%, rgba(255,255,255,.75) 0 1px, transparent 2px);
  background-size:120px 120px,180px 180px,230px 230px;
  opacity:.75;
  pointer-events:none;
}

.guide-hero-inner{
  position:relative;
  z-index:1;
  padding:50px 20px;
}

.guide-kicker,
.guide-section-title p,
.office-guide-heading p{
  margin:0 0 12px;
  font-family:"Cormorant Garamond","Shippori Mincho",Georgia,serif;
  font-style:italic;
  font-weight:700;
  letter-spacing:.08em;
  color:#b4964d;
}

.guide-kicker{
  font-size:34px;
}

.guide-hero h1{
  margin:0 0 18px;
  font-size:68px;
  line-height:1.15;
  letter-spacing:.08em;
  color:#4b3c36;
}

.guide-hero p:last-child{
  margin:0;
  font-size:20px;
  line-height:1.8;
  color:#5d514d;
}

.office-guide-section,
.guide-service-section,
.media-section,
.partner-section{
  padding:90px 24px;
}

.office-guide-section{
  background:#fff;
}

.office-guide-wrap{
  width:1120px;
  max-width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:320px 1fr;
  gap:64px;
  align-items:start;
}

.office-guide-heading h2,
.guide-section-title h2{
  margin:0;
  font-size:48px;
  line-height:1.3;
  color:#4b3c36;
  letter-spacing:.06em;
}

.office-guide-text{
  padding:44px 52px;
  border-radius:26px;
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,247,241,.9));
  box-shadow:
    0 20px 50px rgba(120,80,60,.10),
    inset 0 0 0 1px rgba(190,150,90,.22);
}

.office-guide-text p{
  margin:0 0 22px;
  font-size:18px;
  line-height:2;
}

.office-guide-text p:last-child{
  margin-bottom:0;
}

.guide-service-section{
  background:
    linear-gradient(135deg,#fff8f5,#f8e9e8 50%,#fff6ee);
}

.guide-section-title{
  text-align:center;
  margin:0 auto 54px;
}

.guide-section-title p{
  font-size:30px;
}

.guide-service-grid{
  width:1120px;
  max-width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:36px;
}

.guide-service-card,
.partner-card{
  background:rgba(255,255,255,.88);
  border-radius:26px;
  padding:46px 48px;
  box-shadow:
    0 18px 42px rgba(120,80,60,.10),
    inset 0 0 0 1px rgba(190,150,90,.22);
}

.service-number{
  font-family:"Cormorant Garamond",serif;
  font-size:50px;
  line-height:1;
  color:#c7a24d;
  opacity:.8;
  margin-bottom:18px;
}

.guide-service-card h3{
  margin:0 0 22px;
  font-size:32px;
  color:#4b3c36;
}

.guide-service-card p,
.guide-service-card li,
.partner-card p{
  font-size:18px;
  line-height:1.9;
  margin:0 0 18px;
}

.guide-service-card ul{
  margin:0;
  padding-left:1.2em;
}

.media-section{
  background:#fff;
}

.media-grid{
  width:980px;
  max-width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:20px;
}

.media-grid article{
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px 12px;
  border-radius:999px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.95), rgba(255,247,241,.92));
  box-shadow:
    0 12px 28px rgba(120,80,60,.10),
    inset 0 0 0 1px rgba(190,150,90,.26);
  color:#5b4a45;
  font-size:20px;
  font-weight:700;
}

.partner-section{
  background:
    linear-gradient(135deg,#fffaf8,#f4e7ee 55%,#fff4e8);
}

.partner-card{
  width:760px;
  max-width:100%;
  margin:0 auto;
  text-align:center;
}

@media(max-width:900px){
  .office-guide-wrap,
  .guide-service-grid{
    grid-template-columns:1fr;
  }

  .media-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .guide-hero h1{
    font-size:46px;
  }

  .office-guide-heading h2,
  .guide-section-title h2{
    font-size:36px;
  }
}

@media(max-width:520px){
  .media-grid{
    grid-template-columns:1fr;
  }

  .office-guide-text,
  .guide-service-card,
  .partner-card{
    padding:32px 24px;
  }
}


/* v75 add character visuals to branding/support */
.guide-service-card{
 position:relative;
 overflow:hidden;
 padding-top:230px !important;
}

.service-character{
 position:absolute;
 top:18px;
 left:50%;
 transform:translateX(-50%);
 width:220px;
 max-width:72%;
 height:auto;
 object-fit:contain;
 pointer-events:none;
 filter:drop-shadow(0 14px 24px rgba(0,0,0,.12));
}

.service-branding{
 background:
 radial-gradient(circle at 50% 0%, rgba(255,232,236,.92), transparent 46%),
 rgba(255,255,255,.9);
}

.service-support{
 background:
 radial-gradient(circle at 50% 0%, rgba(248,236,255,.92), transparent 46%),
 rgba(255,255,255,.9);
}

@media(max-width:900px){
 .guide-service-card{
  padding-top:180px!important;
 }
 .service-character{
  width:170px;
 }
}


/* v76 use original company guide characters */
.service-character{
 width:250px!important;
 top:10px!important;
 filter:none!important;
}

.guide-service-card{
 padding-top:250px!important;
}


/* v77 fix service character overflow */
.guide-service-card{
 position:relative !important;
 overflow:hidden !important;
 padding-top:140px !important;
 min-height:620px !important;
}

.service-character{
 width:170px !important;
 max-width:170px !important;
 top:14px !important;
 left:50% !important;
 transform:translateX(-50%) !important;
 object-fit:contain !important;
 z-index:1 !important;
}

.service-number{
 position:relative !important;
 z-index:2 !important;
 margin-bottom:6px !important;
}

.guide-service-card h3,
.guide-service-card p,
.guide-service-card ul{
 position:relative !important;
 z-index:2 !important;
}

.guide-service-card h3{
 margin-top:10px !important;
}

@media(max-width:900px){
 .guide-service-card{
  padding-top:120px !important;
 }
 .service-character{
  width:140px !important;
 }
}


/* v78 keep original aspect ratio (remove oval distortion) */
.service-character{
 width:auto !important;
 height:170px !important;
 max-width:none !important;
 max-height:170px !important;
 aspect-ratio:auto !important;
 object-fit:contain !important;
 object-position:center top !important;
 transform:translateX(-50%) !important;
}

.guide-service-card{
 padding-top:210px !important;
}

@media(max-width:900px){
 .service-character{
  height:140px !important;
 }
 .guide-service-card{
  padding-top:180px !important;
 }
}



/* v79: show service character images normally, not as oval/clipped background */
.guide-service-card{
  position:relative !important;
  overflow:hidden !important;
  padding-top:0 !important;
  min-height:auto !important;
}

.service-character{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;

  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;

  margin:0 auto 34px !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:0 !important;
  clip-path:none !important;
  z-index:1 !important;
}

.guide-service-card .service-number,
.guide-service-card h3,
.guide-service-card p,
.guide-service-card ul{
  position:relative !important;
  z-index:2 !important;
}

@media(max-width:900px){
  .service-character{
    width:100% !important;
    height:auto !important;
  }

  .guide-service-card{
    padding-top:0 !important;
  }
}



/* v80: make service character images a little smaller */
.service-character{
  width:82% !important;
  max-width:360px !important;
  height:auto !important;
  margin:0 auto 30px !important;
  display:block !important;
  object-fit:contain !important;
  border-radius:0 !important;
  clip-path:none !important;
}

.guide-service-card{
  padding-top:0 !important;
}

@media(max-width:900px){
  .service-character{
    width:76% !important;
    max-width:300px !important;
  }
}


/* v81 remove oval effect and shrink more */
.guide-service-card{
 overflow:visible !important;
}

.service-character{
 display:block !important;
 position:relative !important;
 left:auto !important;
 top:auto !important;
 transform:none !important;

 width:58% !important;
 max-width:220px !important;
 height:auto !important;
 max-height:none !important;

 object-fit:contain !important;
 object-position:center center !important;
 aspect-ratio:auto !important;

 clip-path:none !important;
 border-radius:0 !important;
 mask:none !important;
 overflow:visible !important;

 margin:24px auto 18px auto !important;
}

.service-branding,
.service-support{
 background:rgba(255,255,255,.92)!important;
}

@media(max-width:900px){
 .service-character{
   width:52% !important;
   max-width:180px !important;
 }
}


/* v82 keep rectangular image and shrink to ~1/3 */
.service-character{
 width:34% !important;
 max-width:120px !important;
 height:auto !important;
 display:block !important;
 margin:22px auto 14px auto !important;
 object-fit:contain !important;
 border-radius:0 !important;
 clip-path:none !important;
}

.guide-service-card{
 padding-top:0 !important;
}

@media(max-width:900px){
 .service-character{
   width:32% !important;
   max-width:100px !important;
 }
}


/* v83 force character image to become visibly smaller */
.guide-service-card img.service-character{
 display:block !important;
 width:auto !important;
 height:90px !important;
 max-height:90px !important;
 max-width:none !important;
 min-width:0 !important;
 object-fit:contain !important;
 object-position:center center !important;
 margin:18px auto 10px auto !important;
 border-radius:0 !important;
 clip-path:none !important;
 transform:none !important;
 left:auto !important;
 top:auto !important;
}

.guide-service-card{
 padding-top:0 !important;
}

@media(max-width:900px){
 .guide-service-card img.service-character{
   height:72px !important;
   max-height:72px !important;
 }
}


/* v84 double the service character size from v83 */
.guide-service-card img.service-character{
 height:180px !important;
 max-height:180px !important;
 width:auto !important;
 margin:18px auto 16px auto !important;
}

@media(max-width:900px){
 .guide-service-card img.service-character{
   height:144px !important;
   max-height:144px !important;
 }
}


/* v85 expand media platform grid */
.media-grid{
 width:1200px !important;
 max-width:100% !important;
 display:grid !important;
 grid-template-columns:repeat(5,minmax(160px,1fr)) !important;
 gap:26px !important;
}

.media-grid article{
 min-height:130px !important;
 padding:26px 18px !important;
 border-radius:999px !important;
 font-size:22px !important;
 line-height:1.35 !important;
}

@media(max-width:1000px){
 .media-grid{
   grid-template-columns:repeat(3,1fr)!important;
 }
}

@media(max-width:700px){
 .media-grid{
   grid-template-columns:repeat(2,1fr)!important;
 }
}


/* v86 partner office logos */
.partner-logo-card{
 width:920px !important;
 max-width:100% !important;
 padding:48px 56px !important;
}

.partner-logo-grid{
 display:grid !important;
 grid-template-columns:repeat(2, minmax(260px,1fr)) !important;
 gap:44px !important;
 align-items:center !important;
 justify-content:center !important;
}

.partner-logo-grid a{
 display:flex !important;
 align-items:center !important;
 justify-content:center !important;
 min-height:180px !important;
 padding:24px !important;
 border-radius:22px !important;
 background:rgba(255,255,255,.88) !important;
 box-shadow:inset 0 0 0 1px rgba(190,150,90,.22), 0 10px 26px rgba(120,80,60,.08) !important;
 transition:transform .22s ease, box-shadow .22s ease !important;
}

.partner-logo-grid a:hover{
 transform:translateY(-4px) !important;
 box-shadow:inset 0 0 0 1px rgba(190,150,90,.32), 0 16px 34px rgba(120,80,60,.14) !important;
}

.partner-logo-grid img{
 display:block !important;
 max-width:100% !important;
 max-height:160px !important;
 width:auto !important;
 height:auto !important;
 object-fit:contain !important;
}

@media(max-width:760px){
 .partner-logo-card{
  padding:30px 20px !important;
 }
 .partner-logo-grid{
  grid-template-columns:1fr !important;
  gap:26px !important;
 }
}


/* v87 keep partner logos rectangular */
.partner-logo-grid a{
 border-radius:0 !important;
 overflow:visible !important;
 min-height:auto !important;
 padding:12px !important;
}

.partner-logo-grid img{
 width:auto !important;
 height:auto !important;
 max-width:100% !important;
 max-height:120px !important;
 border-radius:0 !important;
 clip-path:none !important;
 mask:none !important;
 object-fit:contain !important;
}


/* v88: contact page */
.contact-page-main{
  background:#fff;
  color:#2b2523;
}

.contact-hero{
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,205,220,.42), transparent 26%),
    radial-gradient(circle at 78% 72%, rgba(216,171,91,.26), transparent 28%),
    linear-gradient(135deg,#fffaf8 0%,#f4e7ee 45%,#fff4e8 100%);
}

.contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 24%, rgba(255,255,255,.9) 0 1px, transparent 2px),
    radial-gradient(circle at 44% 68%, rgba(181,145,71,.34) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 28%, rgba(255,255,255,.75) 0 1px, transparent 2px);
  background-size:120px 120px,180px 180px,230px 230px;
  opacity:.75;
}

.contact-hero-inner{
  position:relative;
  z-index:1;
  padding:50px 20px;
}

.contact-kicker{
  margin:0 0 12px;
  font-family:"Cormorant Garamond","Shippori Mincho",Georgia,serif;
  font-style:italic;
  font-weight:700;
  letter-spacing:.08em;
  font-size:34px;
  color:#b4964d;
}

.contact-hero h1{
  margin:0;
  font-size:66px;
  line-height:1.15;
  letter-spacing:.08em;
  color:#4b3c36;
}

.contact-main-section{
  padding:90px 24px 110px;
  background:
    radial-gradient(circle at 12% 16%, rgba(255,215,225,.28), transparent 30%),
    radial-gradient(circle at 88% 80%, rgba(218,170,90,.18), transparent 28%),
    #fff;
}

.contact-wrap{
  width:1080px;
  max-width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:420px 1fr;
  gap:48px;
  align-items:stretch;
}

.contact-apply-card,
.contact-info-card{
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,247,241,.9));
  box-shadow:
    0 20px 50px rgba(120,80,60,.10),
    inset 0 0 0 1px rgba(190,150,90,.22);
}

.contact-apply-card{
  padding:42px 34px;
  text-align:center;
}

.contact-apply-card img{
  display:block;
  width:230px;
  max-width:100%;
  height:auto;
  margin:0 auto 28px;
  object-fit:contain;
}

.contact-apply-card h2{
  margin:0 0 30px;
  font-size:30px;
  line-height:1.5;
  color:#4b3c36;
}

.contact-line-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  padding:15px 28px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#caa24c,#a7832f);
  font-weight:700;
  font-size:18px;
  box-shadow:0 10px 24px rgba(120,80,60,.18);
}

.contact-info-card{
  padding:56px 64px;
}

.contact-info-card h2{
  margin:0 0 12px;
  font-size:42px;
  line-height:1.35;
  color:#4b3c36;
}

.contact-office-name{
  margin:0 0 42px;
  font-size:28px;
  line-height:1.4;
  color:#9b7b3e;
  font-weight:700;
}

.contact-info-list{
  margin:0;
  border-top:1px solid rgba(170,130,80,.28);
}

.contact-info-list div{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:26px;
  padding:24px 0;
  border-bottom:1px solid rgba(170,130,80,.28);
}

.contact-info-list dt{
  font-size:18px;
  font-weight:700;
  color:#9b7b3e;
}

.contact-info-list dd{
  margin:0;
  font-size:19px;
  line-height:1.8;
  color:#333;
}

.contact-info-list a{
  color:#333;
  text-decoration:underline;
  text-underline-offset:4px;
}

@media(max-width:900px){
  .contact-wrap{
    grid-template-columns:1fr;
  }

  .contact-hero h1{
    font-size:46px;
  }

  .contact-info-card{
    padding:38px 26px;
  }

  .contact-info-list div{
    grid-template-columns:1fr;
    gap:8px;
  }
}



/* v90: contact page layout based on provided reference */
.contact-apply-page{
  background:#fff !important;
  min-height:calc(100vh - 160px) !important;
}

.contact-apply-layout{
  width:1240px !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:70px 24px 100px !important;
  background:#fff !important;
}

.contact-apply-top{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  gap:64px !important;
  margin:0 auto 8px !important;
}

.contact-apply-character{
  width:420px !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
}

.contact-apply-title{
  padding-bottom:34px !important;
  text-align:left !important;
  color:#000 !important;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif !important;
  font-weight:400 !important;
}

.contact-apply-title p{
  margin:0 !important;
  font-size:64px !important;
  line-height:1.55 !important;
  letter-spacing:.03em !important;
}

.contact-line-banner-wrap{
  width:1140px !important;
  max-width:100% !important;
  margin:0 auto !important;
  display:flex !important;
  justify-content:center !important;
}

.contact-line-banner{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
}

@media(max-width:900px){
  .contact-apply-layout{
    padding:44px 18px 70px !important;
  }

  .contact-apply-top{
    gap:24px !important;
    align-items:flex-end !important;
  }

  .contact-apply-character{
    width:44vw !important;
    max-width:300px !important;
  }

  .contact-apply-title p{
    font-size:34px !important;
  }
}

@media(max-width:560px){
  .contact-apply-top{
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
  }

  .contact-apply-title{
    text-align:center !important;
    padding-bottom:10px !important;
  }

  .contact-apply-character{
    width:280px !important;
  }

  .contact-apply-title p{
    font-size:32px !important;
  }
}


/* v91 add map */
.contact-map-wrap{
 width:1140px !important;
 max-width:100% !important;
 margin:40px auto 0 !important;
}

.contact-map-wrap iframe{
 display:block !important;
 width:100% !important;
 height:520px !important;
 border:0 !important;
 border-radius:0 !important;
 box-shadow:0 18px 40px rgba(120,80,60,.10);
}

@media(max-width:900px){
 .contact-map-wrap iframe{
   height:380px !important;
 }
}



/* v92: contact page stable fixed layout */
.contact-page-fixed{
  background:#fff !important;
  min-height:auto !important;
}

.contact-apply-fixed{
  width:1180px !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:52px 24px 90px !important;
  background:#fff !important;
  box-sizing:border-box !important;
}

.contact-apply-head-fixed{
  display:flex !important;
  justify-content:center !important;
  align-items:flex-end !important;
  gap:52px !important;
  margin:0 auto 12px !important;
}

.contact-character-fixed{
  display:block !important;
  width:330px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center bottom !important;
}

.contact-title-fixed{
  padding-bottom:28px !important;
  text-align:left !important;
  color:#000 !important;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif !important;
  font-weight:400 !important;
}

.contact-title-fixed p{
  margin:0 !important;
  padding:0 !important;
  font-size:58px !important;
  line-height:1.55 !important;
  letter-spacing:.04em !important;
}

.contact-line-fixed{
  width:920px !important;
  max-width:100% !important;
  margin:0 auto 38px !important;
}

.contact-line-fixed img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

.contact-map-fixed{
  width:920px !important;
  max-width:100% !important;
  margin:0 auto !important;
}

.contact-map-fixed iframe{
  display:block !important;
  width:100% !important;
  height:420px !important;
  border:0 !important;
}

/* disable previous contact layout rules */
.contact-hero,
.contact-main-section,
.contact-wrap,
.contact-apply-card,
.contact-info-card,
.contact-map-wrap,
.contact-apply-layout,
.contact-apply-top,
.contact-line-banner-wrap{
  all:unset;
}

@media(max-width:900px){
  .contact-apply-fixed{
    padding:36px 18px 70px !important;
  }

  .contact-apply-head-fixed{
    gap:20px !important;
  }

  .contact-character-fixed{
    width:42vw !important;
    max-width:260px !important;
  }

  .contact-title-fixed p{
    font-size:34px !important;
  }

  .contact-map-fixed iframe{
    height:340px !important;
  }
}

@media(max-width:560px){
  .contact-apply-head-fixed{
    flex-direction:column !important;
    align-items:center !important;
    gap:10px !important;
  }

  .contact-title-fixed{
    text-align:center !important;
    padding-bottom:8px !important;
  }

  .contact-character-fixed{
    width:260px !important;
  }

  .contact-title-fixed p{
    font-size:32px !important;
  }
}



/* v93: rebuild contact page layout cleanly */
.contact-v93{
  background:#fff !important;
}

.contact-v93-inner{
  width:1180px !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:64px 24px 96px !important;
  box-sizing:border-box !important;
  background:#fff !important;
}

.contact-v93-head{
  width:920px !important;
  max-width:100% !important;
  margin:0 auto 26px !important;
  display:grid !important;
  grid-template-columns:430px 1fr !important;
  align-items:end !important;
  column-gap:54px !important;
}

.contact-v93-character{
  display:block !important;
  width:430px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  margin:0 !important;
}

.contact-v93-title{
  padding-bottom:18px !important;
  text-align:left !important;
  color:#000 !important;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif !important;
  font-weight:400 !important;
}

.contact-v93-title p{
  margin:0 !important;
  padding:0 !important;
  font-size:62px !important;
  line-height:1.55 !important;
  letter-spacing:.04em !important;
}

.contact-v93-line,
.contact-v93-map{
  width:920px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.contact-v93-line{
  margin-top:0 !important;
  margin-bottom:44px !important;
}

.contact-v93-line img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  object-fit:contain !important;
}

.contact-v93-map iframe{
  display:block !important;
  width:100% !important;
  height:430px !important;
  border:0 !important;
  margin:0 !important;
}

/* hard-disable previous contact layouts */
.contact-hero,
.contact-main-section,
.contact-wrap,
.contact-apply-card,
.contact-info-card,
.contact-map-wrap,
.contact-apply-layout,
.contact-apply-top,
.contact-line-banner-wrap,
.contact-apply-fixed,
.contact-apply-head-fixed,
.contact-line-fixed,
.contact-map-fixed{
  display:none !important;
}

@media(max-width:900px){
  .contact-v93-inner{
    padding:40px 18px 72px !important;
  }

  .contact-v93-head{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    row-gap:10px !important;
    margin-bottom:22px !important;
  }

  .contact-v93-character{
    width:320px !important;
    max-width:85vw !important;
  }

  .contact-v93-title{
    text-align:center !important;
    padding-bottom:0 !important;
  }

  .contact-v93-title p{
    font-size:36px !important;
  }

  .contact-v93-map iframe{
    height:340px !important;
  }
}



/* v94: contact page two-column layout */
.contact-v94{
  background:#fff !important;
}

.contact-v94-hero{
  min-height:300px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,205,220,.42), transparent 26%),
    radial-gradient(circle at 78% 72%, rgba(216,171,91,.26), transparent 28%),
    linear-gradient(135deg,#fffaf8 0%,#f4e7ee 45%,#fff4e8 100%) !important;
}

.contact-v94-hero p{
  margin:0 0 10px !important;
  font-family:"Cormorant Garamond","Shippori Mincho",serif !important;
  font-style:italic !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  font-size:34px !important;
  color:#b4964d !important;
}

.contact-v94-hero h1{
  margin:0 !important;
  font-size:56px !important;
  line-height:1.2 !important;
  color:#4b3c36 !important;
  letter-spacing:.08em !important;
}

.contact-v94-content{
  width:1180px !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:70px 24px 96px !important;
  box-sizing:border-box !important;
}

.contact-v94-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1.25fr) 520px !important;
  gap:72px !important;
  align-items:center !important;
}

.contact-v94-left{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}

.contact-v94-apply-head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  gap:28px !important;
  margin-bottom:0 !important;
  width:100% !important;
}

.contact-v94-apply-head img{
  display:block !important;
  width:260px !important;
  height:auto !important;
  object-fit:contain !important;
}

.contact-v94-apply-head div{
  padding-bottom:36px !important;
}

.contact-v94-apply-head p{
  margin:0 !important;
  font-size:44px !important;
  line-height:1.5 !important;
  letter-spacing:.04em !important;
  color:#000 !important;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif !important;
}

.contact-v94-line{
  display:block !important;
  width:620px !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

.contact-v94-info{
  min-height:520px !important;
  padding:52px 54px !important;
  border-radius:26px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,248,242,.92)) !important;
  box-shadow:
    0 20px 50px rgba(120,80,60,.10),
    inset 0 0 0 1px rgba(190,150,90,.22) !important;
  box-sizing:border-box !important;
}

.contact-v94-info h2{
  margin:0 0 12px !important;
  font-size:36px !important;
  line-height:1.35 !important;
  color:#4b3c36 !important;
}

.contact-v94-office{
  margin:0 0 38px !important;
  font-size:23px !important;
  color:#9b7b3e !important;
  font-weight:700 !important;
}

.contact-v94-info dl{
  margin:0 !important;
  border-top:1px solid rgba(170,130,80,.26) !important;
}

.contact-v94-info dl div{
  display:grid !important;
  grid-template-columns:120px 1fr !important;
  gap:20px !important;
  padding:22px 0 !important;
  border-bottom:1px solid rgba(170,130,80,.26) !important;
}

.contact-v94-info dt{
  font-size:16px !important;
  font-weight:700 !important;
  color:#9b7b3e !important;
}

.contact-v94-info dd{
  margin:0 !important;
  font-size:17px !important;
  line-height:1.8 !important;
  color:#333 !important;
}

.contact-v94-info a{
  color:#333 !important;
  text-decoration:underline !important;
  text-underline-offset:4px !important;
}

.contact-v94-map{
  width:760px !important;
  max-width:100% !important;
  margin:58px auto 0 !important;
}

.contact-v94-map iframe{
  display:block !important;
  width:100% !important;
  height:420px !important;
  border:0 !important;
}

/* disable older contact layouts */
.contact-hero,
.contact-main-section,
.contact-wrap,
.contact-apply-card,
.contact-info-card,
.contact-map-wrap,
.contact-apply-layout,
.contact-apply-top,
.contact-line-banner-wrap,
.contact-apply-fixed,
.contact-apply-head-fixed,
.contact-line-fixed,
.contact-map-fixed,
.contact-v93-inner{
  display:none !important;
}

@media(max-width:980px){
  .contact-v94-grid{
    grid-template-columns:1fr !important;
    gap:44px !important;
  }

  .contact-v94-info{
    min-height:auto !important;
  }
}

@media(max-width:620px){
  .contact-v94-hero{
    min-height:220px !important;
  }

  .contact-v94-hero h1{
    font-size:38px !important;
  }

  .contact-v94-content{
    padding:42px 16px 70px !important;
  }

  .contact-v94-apply-head{
    flex-direction:column !important;
    align-items:center !important;
    gap:8px !important;
  }

  .contact-v94-apply-head img{
    width:260px !important;
  }

  .contact-v94-apply-head div{
    padding-bottom:0 !important;
    text-align:center !important;
  }

  .contact-v94-apply-head p{
    font-size:32px !important;
  }

  .contact-v94-info{
    padding:34px 24px !important;
  }

  .contact-v94-info dl div{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }

  .contact-v94-map iframe{
    height:330px !important;
  }
}


/* v95 reduce apply title size */
.contact-v94-apply-head p{
 font-size:34px !important;
 line-height:1.45 !important;
}

@media(max-width:620px){
 .contact-v94-apply-head p{
   font-size:26px !important;
 }
}


/* v96: recruit page */
.recruit-page-main{
  background:#fff;
  color:#2b2523;
}

.recruit-hero{
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,205,220,.42), transparent 26%),
    radial-gradient(circle at 78% 72%, rgba(216,171,91,.26), transparent 28%),
    linear-gradient(135deg,#fffaf8 0%,#f4e7ee 45%,#fff4e8 100%);
}

.recruit-hero-inner{
  padding:50px 20px;
}

.recruit-kicker{
  margin:0 0 10px;
  font-family:"Cormorant Garamond","Shippori Mincho",serif;
  font-style:italic;
  font-weight:700;
  letter-spacing:.08em;
  font-size:34px;
  color:#b4964d;
}

.recruit-hero h1{
  margin:0 0 16px;
  font-size:64px;
  line-height:1.15;
  letter-spacing:.08em;
  color:#4b3c36;
}

.recruit-hero p:last-child{
  margin:0;
  font-size:28px;
  font-weight:700;
  color:#5b4a45;
}

.recruit-main-visual{
  width:1180px;
  max-width:100%;
  margin:70px auto 0;
  padding:0 24px;
  box-sizing:border-box;
}

.recruit-main-visual img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  box-shadow:0 18px 42px rgba(120,80,60,.14);
}

.recruit-worry-section{
  padding:80px 24px;
}

.recruit-worry-wrap{
  width:1080px;
  max-width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:360px 1fr;
  gap:54px;
  align-items:center;
}

.recruit-worry-title h2{
  margin:0;
  font-size:46px;
  line-height:1.35;
  color:#4b3c36;
}

.recruit-worry-list{
  margin:0;
  padding:42px 54px;
  border-radius:26px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,247,241,.9));
  box-shadow:0 18px 42px rgba(120,80,60,.10), inset 0 0 0 1px rgba(190,150,90,.22);
  list-style:none;
}

.recruit-worry-list li{
  font-size:20px;
  line-height:1.9;
  color:#333;
}

.recruit-worry-list li::before{
  content:"・";
  color:#b4964d;
  font-weight:700;
}

.recruit-support-message{
  padding:80px 24px;
  text-align:center;
  background:linear-gradient(135deg,#fff8f5,#f8e9e8 50%,#fff6ee);
}

.recruit-arrows{
  font-size:42px;
  margin-bottom:24px;
  color:#4b3c36;
}

.recruit-support-message h2{
  margin:0 auto 36px;
  max-width:980px;
  font-size:34px;
  line-height:1.65;
  color:#4b3c36;
}

.recruit-support-message h3{
  margin:0;
  font-size:44px;
  line-height:1.45;
  color:#b4964d;
}

.recruit-feature-section{
  padding:90px 24px;
  background:#fff;
}

.recruit-feature-grid{
  width:1120px;
  max-width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}

.recruit-feature-grid article{
  padding:42px 34px 46px;
  text-align:center;
  border-radius:26px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,247,241,.9));
  box-shadow:0 18px 42px rgba(120,80,60,.10), inset 0 0 0 1px rgba(190,150,90,.22);
}

.recruit-feature-grid img{
  display:block;
  width:150px;
  height:auto;
  margin:0 auto 22px;
  object-fit:contain;
}

.recruit-feature-grid h3{
  margin:0 0 20px;
  font-size:28px;
  line-height:1.45;
  color:#4b3c36;
}

.recruit-feature-grid p{
  margin:0;
  font-size:17px;
  line-height:1.9;
  color:#333;
}

.recruit-contact-section{
  padding:90px 24px 110px;
  text-align:center;
  background:linear-gradient(135deg,#fffaf8,#f4e7ee 55%,#fff4e8);
}

.recruit-contact-kicker{
  margin:0 0 10px;
  font-family:"Cormorant Garamond","Shippori Mincho",serif;
  font-style:italic;
  font-weight:700;
  letter-spacing:.08em;
  font-size:30px;
  color:#b4964d;
}

.recruit-contact-section h2{
  margin:0 0 22px;
  font-size:48px;
  color:#4b3c36;
}

.recruit-contact-section > p:not(.recruit-contact-kicker){
  margin:0 0 28px;
  font-size:20px;
  line-height:1.8;
  color:#333;
}

.recruit-contact-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:240px;
  padding:15px 30px;
  margin-bottom:36px;
  border-radius:999px;
  background:linear-gradient(135deg,#caa24c,#a7832f);
  color:#fff;
  font-weight:700;
  font-size:18px;
}

.recruit-line-img{
  display:block;
  width:720px;
  max-width:100%;
  height:auto;
  margin:0 auto;
}

@media(max-width:900px){
  .recruit-worry-wrap,
  .recruit-feature-grid{
    grid-template-columns:1fr;
  }

  .recruit-hero h1{
    font-size:44px;
  }

  .recruit-worry-title h2,
  .recruit-support-message h3{
    font-size:34px;
  }

  .recruit-support-message h2{
    font-size:26px;
  }
}

@media(max-width:560px){
  .recruit-worry-list{
    padding:30px 24px;
  }

  .recruit-worry-list li{
    font-size:17px;
  }
}



/* v97: recruit first section redesign */
.recruit-hero p:last-child{
  display:none !important;
}

.recruit-intro-v97{
  padding:82px 24px 74px !important;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,205,220,.34), transparent 30%),
    radial-gradient(circle at 85% 72%, rgba(216,171,91,.18), transparent 30%),
    #fff !important;
}

.recruit-intro-card-v97{
  width:1180px !important;
  max-width:100% !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:480px 1fr !important;
  gap:52px !important;
  align-items:stretch !important;
}

.recruit-intro-image-v97,
.recruit-intro-list-v97{
  border-radius:28px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,247,250,.92)) !important;
  box-shadow:
    0 20px 50px rgba(120,80,60,.10),
    inset 0 0 0 1px rgba(226,160,190,.26) !important;
  overflow:hidden !important;
}

.recruit-intro-image-v97{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:500px !important;
  padding:0 !important;
}

.recruit-intro-image-v97 img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.recruit-intro-list-v97{
  padding:52px 60px !important;
}

.recruit-intro-list-v97 h2{
  margin:0 0 34px !important;
  color:#4b3c36 !important;
  font-size:42px !important;
  line-height:1.35 !important;
  letter-spacing:.04em !important;
}

.recruit-intro-list-v97 ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.recruit-intro-list-v97 li{
  position:relative !important;
  padding:17px 0 17px 26px !important;
  border-bottom:1px solid rgba(190,150,90,.22) !important;
  font-size:20px !important;
  line-height:1.6 !important;
  color:#333 !important;
}

.recruit-intro-list-v97 li:last-child{
  border-bottom:none !important;
}

.recruit-intro-list-v97 li::before{
  content:"•" !important;
  position:absolute !important;
  left:0 !important;
  top:17px !important;
  color:#e56b9f !important;
  font-size:22px !important;
  line-height:1 !important;
}

/* hide older first-section layouts if any remain */
.recruit-main-visual,
.recruit-worry-section{
  display:none !important;
}

@media(max-width:980px){
  .recruit-intro-card-v97{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }

  .recruit-intro-image-v97{
    min-height:auto !important;
  }

  .recruit-intro-image-v97 img{
    height:auto !important;
    object-fit:contain !important;
  }

  .recruit-intro-list-v97{
    padding:38px 28px !important;
  }

  .recruit-intro-list-v97 h2{
    font-size:32px !important;
  }
}

@media(max-width:560px){
  .recruit-intro-v97{
    padding:48px 16px !important;
  }

  .recruit-intro-list-v97 li{
    font-size:17px !important;
  }
}



/* v98: recruit black layout reproduction */
.recruit-hero p:last-child{
  display:none !important;
}

.recruit-intro-v97,
.recruit-worry-section,
.recruit-main-visual,
.recruit-support-message,
.recruit-feature-section{
  display:none !important;
}

.recruit-black-layout-v98{
  background:#000 !important;
  color:#fff !important;
  padding:78px 24px 92px !important;
}

.recruit-black-inner-v98{
  width:1440px !important;
  max-width:100% !important;
  margin:0 auto !important;
}

.recruit-black-inner-v98 h2{
  margin:0 0 68px !important;
  color:#fff !important;
  font-size:92px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
}

.recruit-black-content-v98{
  display:grid !important;
  grid-template-columns:1fr 430px !important;
  gap:96px !important;
  align-items:center !important;
  width:1120px !important;
  max-width:100% !important;
  margin:0 auto !important;
}

.recruit-black-content-v98 ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.recruit-black-content-v98 li{
  color:#ddd !important;
  font-size:34px !important;
  line-height:1.48 !important;
  font-weight:400 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
}

.recruit-black-content-v98 li::before{
  content:"・" !important;
  margin-right:.35em !important;
}

.recruit-black-content-v98 img{
  display:block !important;
  width:430px !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

.recruit-support-copy-v98{
  padding:70px 24px 42px !important;
  background:#fff !important;
  text-align:center !important;
}

.recruit-support-copy-v98 p{
  margin:0 !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
}

.recruit-support-copy-v98 .line1{
  font-size:46px !important;
  line-height:1.55 !important;
  color:#7663d8 !important;
}

.recruit-support-copy-v98 .line2{
  margin-top:28px !important;
  font-size:42px !important;
  line-height:1.55 !important;
  background:linear-gradient(90deg,#7a63d9,#b16b99,#df8e5b);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}

.recruit-support-copy-v98 .line3{
  margin-top:42px !important;
  font-size:82px !important;
  line-height:1.2 !important;
  color:#3d3d3d !important;
  text-shadow:
    0 4px 0 rgba(255,255,255,.9),
    0 7px 9px rgba(0,0,0,.38) !important;
}

.recruit-feature-v98{
  padding:48px 24px 90px !important;
  background:#fff !important;
}

.recruit-feature-grid-v98{
  width:1180px !important;
  max-width:100% !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:72px !important;
  text-align:center !important;
}

.recruit-feature-grid-v98 article{
  padding:0 16px !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

.recruit-feature-grid-v98 img{
  display:block !important;
  width:170px !important;
  height:170px !important;
  object-fit:contain !important;
  margin:0 auto 24px !important;
}

.recruit-feature-grid-v98 h3{
  margin:0 0 28px !important;
  color:#111 !important;
  font-size:27px !important;
  line-height:1.5 !important;
  font-weight:500 !important;
}

.recruit-feature-grid-v98 p{
  margin:0 !important;
  color:#222 !important;
  font-size:24px !important;
  line-height:1.8 !important;
}

@media(max-width:1000px){
  .recruit-black-inner-v98 h2{
    font-size:54px !important;
  }

  .recruit-black-content-v98{
    grid-template-columns:1fr !important;
    gap:40px !important;
    text-align:left !important;
  }

  .recruit-black-content-v98 li{
    font-size:24px !important;
    white-space:normal !important;
  }

  .recruit-black-content-v98 img{
    margin:0 auto !important;
  }

  .recruit-support-copy-v98 .line1{
    font-size:30px !important;
  }

  .recruit-support-copy-v98 .line2{
    font-size:28px !important;
  }

  .recruit-support-copy-v98 .line3{
    font-size:44px !important;
  }

  .recruit-feature-grid-v98{
    grid-template-columns:1fr !important;
    gap:54px !important;
  }
}



/* v99: ensure third feature image displays normally */
.recruit-feature-grid-v98 article:nth-child(3) img{
  display:block !important;
  width:170px !important;
  height:170px !important;
  object-fit:contain !important;
  margin:0 auto 24px !important;
}


/* v101 widen first feature column title */
.recruit-feature-grid-v98{
  width:1280px !important;
  gap:52px !important;
}

.recruit-feature-grid-v98 article{
  min-width:0 !important;
}

.recruit-feature-grid-v98 h3{
  font-size:23px !important;
  line-height:1.35 !important;
  white-space:normal !important;
  word-break:keep-all !important;
}

.recruit-feature-grid-v98 article:first-child h3{
  font-size:22px !important;
  max-width:360px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:1000px){
  .recruit-feature-grid-v98{
    width:100% !important;
  }

  .recruit-feature-grid-v98 article:first-child h3{
    max-width:none !important;
  }
}


/* v102 keep title size and widen first card instead */
.recruit-feature-grid-v98{
  width:1380px !important;
  grid-template-columns:1.25fr 1fr 1fr !important;
  gap:56px !important;
}

.recruit-feature-grid-v98 h3{
  font-size:27px !important;
  line-height:1.5 !important;
}

.recruit-feature-grid-v98 article:first-child h3{
  font-size:27px !important;
  max-width:none !important;
  white-space:nowrap !important;
}

@media(max-width:1000px){
 .recruit-feature-grid-v98{
   width:100% !important;
   grid-template-columns:1fr !important;
 }

 .recruit-feature-grid-v98 article:first-child h3{
   white-space:normal !important;
 }
}



/* v103: center the three feature columns again */
.recruit-feature-grid-v98{
  width:1180px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:72px !important;
  justify-content:center !important;
  align-items:start !important;
}

.recruit-feature-grid-v98 article{
  width:auto !important;
  max-width:none !important;
  padding-left:16px !important;
  padding-right:16px !important;
  text-align:center !important;
}

.recruit-feature-grid-v98 h3{
  font-size:27px !important;
  line-height:1.5 !important;
  white-space:normal !important;
}

.recruit-feature-grid-v98 article:first-child h3{
  font-size:27px !important;
  white-space:nowrap !important;
  max-width:none !important;
}

@media(max-width:1000px){
  .recruit-feature-grid-v98{
    width:100% !important;
    grid-template-columns:1fr !important;
    gap:54px !important;
  }

  .recruit-feature-grid-v98 article:first-child h3{
    white-space:normal !important;
  }
}


/* v104 recruit support message sizing */
.recruit-support-copy-v98 .line1,
.recruit-support-copy-v98 .line2{
  font-size:58px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
}

.recruit-support-copy-v98 .line2{
  margin-top:22px !important;
}

.recruit-support-copy-v98 .line3{
  font-size:104px !important;
  line-height:1.12 !important;
  margin-top:50px !important;
}

@media(max-width:1000px){
  .recruit-support-copy-v98 .line1,
  .recruit-support-copy-v98 .line2{
    font-size:40px !important;
  }

  .recruit-support-copy-v98 .line3{
    font-size:64px !important;
  }
}


/* v105 add top recruit visual */
.recruit-top-banner-v105{
  width:100%;
  background:#fff;
}

.recruit-top-banner-v105 img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}


/* v106 global menu/footer size up */
header nav a,
.header-nav a,
.nav-menu a,
.site-header nav a{
  font-size:18px !important;
  font-weight:500 !important;
  letter-spacing:.05em !important;
}

footer,
.site-footer{
  font-size:18px !important;
}

footer a,
.site-footer a{
  font-size:18px !important;
}

footer p,
.site-footer p,
footer span,
.site-footer span,
footer li,
.site-footer li{
  font-size:18px !important;
  line-height:1.8 !important;
}

footer .copyright,
.site-footer .copyright{
  font-size:16px !important;
}

@media(max-width:768px){
  header nav a,
  .header-nav a,
  .nav-menu a,
  .site-header nav a{
    font-size:15px !important;
  }

  footer,
  .site-footer{
    font-size:15px !important;
  }
}


/* v107 menu/footer hover effects */
header nav a,
.header-nav a,
.nav-menu a,
.site-header nav a,
footer a,
.site-footer a{
  transition:
    color .25s ease,
    opacity .25s ease,
    transform .25s ease;
}

header nav a:hover,
.header-nav a:hover,
.nav-menu a:hover,
.site-header nav a:hover{
  color:#C9A25D !important;
}

footer a:hover,
.site-footer a:hover{
  color:#D99BB5 !important;
}

header nav a:hover,
footer a:hover,
.site-footer a:hover{
  transform:translateY(-1px);
}


/* v109 company guide heading */
.company-kicker{
 margin:0 0 12px !important;
 text-align:center !important;
 font-family:"Cormorant Garamond","Shippori Mincho",serif !important;
 font-style:italic !important;
 font-size:34px !important;
 font-weight:700 !important;
 color:#b4964d !important;
 letter-spacing:.08em !important;
}


/* v110 unify page hero size */
.company-kicker,
.contact-kicker,
.recruit-kicker,
.contact-v94-hero p,
.recruit-hero .recruit-kicker{
  font-size:34px !important;
  line-height:1.2 !important;
  margin:0 0 12px !important;
}

.company-page-hero,
.contact-hero,
.contact-v94-hero,
.recruit-hero{
  min-height:320px !important;
  padding:0 24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.company-page-hero h1,
.contact-hero h1,
.contact-v94-hero h1,
.recruit-hero h1{
  margin:0 !important;
  font-size:66px !important;
  line-height:1.15 !important;
  letter-spacing:.08em !important;
}

.company-page-hero .hero-inner,
.contact-hero-inner,
.contact-v94-hero,
.recruit-hero-inner{
  min-height:320px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  text-align:center !important;
}

@media(max-width:768px){
 .company-kicker,
 .contact-kicker,
 .recruit-kicker,
 .contact-v94-hero p{
   font-size:26px !important;
 }

 .company-page-hero,
 .contact-hero,
 .contact-v94-hero,
 .recruit-hero{
   min-height:240px !important;
 }

 .company-page-hero h1,
 .contact-hero h1,
 .contact-v94-hero h1,
 .recruit-hero h1{
   font-size:42px !important;
 }
}


/* v113 unify company hero area height with contact/recruit */
.company-page-hero,
.company-hero,
.company-header,
.hero-company{
  min-height:320px !important;
  height:320px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 24px !important;
  box-sizing:border-box !important;
}

.company-page-hero .hero-inner,
.company-hero-inner,
.company-header-inner{
  min-height:320px !important;
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
}

.company-page-hero .company-kicker,
.company-hero .company-kicker{
  margin:0 0 12px !important;
}

.company-page-hero h1,
.company-hero h1{
  margin:0 !important;
  font-size:66px !important;
  line-height:1.15 !important;
}

@media(max-width:768px){
 .company-page-hero,
 .company-hero,
 .company-header,
 .hero-company,
 .company-page-hero .hero-inner,
 .company-hero-inner,
 .company-header-inner{
   min-height:240px !important;
   height:240px !important;
 }
}



/* v114: force company title hero to match Contact / Liver Recruitment */
.unified-page-hero.company-title-hero{
  height:300px !important;
  min-height:300px !important;
  max-height:300px !important;
  padding:0 24px !important;
  box-sizing:border-box !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;

  overflow:hidden !important;

  background:
    radial-gradient(circle at 18% 22%, rgba(255,205,220,.42), transparent 26%),
    radial-gradient(circle at 78% 72%, rgba(216,171,91,.26), transparent 28%),
    linear-gradient(135deg,#fffaf8 0%,#f4e7ee 45%,#fff4e8 100%) !important;
}

.unified-page-hero.company-title-hero .guide-hero-inner,
.unified-page-hero.company-title-hero .page-hero-inner,
.unified-page-hero.company-title-hero > div{
  min-height:300px !important;
  height:300px !important;
  padding:0 !important;

  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

.unified-page-hero.company-title-hero .company-kicker,
.unified-page-hero.company-title-hero .guide-kicker,
.unified-page-hero.company-title-hero p:first-child{
  margin:0 0 12px !important;
  font-size:34px !important;
  line-height:1.2 !important;
}

.unified-page-hero.company-title-hero h1{
  margin:0 !important;
  font-size:66px !important;
  line-height:1.15 !important;
  letter-spacing:.08em !important;
}

/* Match the other two page heroes as the reference size */
.contact-v94-hero,
.recruit-hero{
  height:300px !important;
  min-height:300px !important;
  max-height:300px !important;
}

@media(max-width:768px){
  .unified-page-hero.company-title-hero,
  .unified-page-hero.company-title-hero .guide-hero-inner,
  .unified-page-hero.company-title-hero .page-hero-inner,
  .unified-page-hero.company-title-hero > div,
  .contact-v94-hero,
  .recruit-hero{
    height:240px !important;
    min-height:240px !important;
    max-height:240px !important;
  }

  .unified-page-hero.company-title-hero h1{
    font-size:42px !important;
  }

  .unified-page-hero.company-title-hero .company-kicker,
  .unified-page-hero.company-title-hero .guide-kicker,
  .unified-page-hero.company-title-hero p:first-child{
    font-size:26px !important;
  }
}


/* v115: livers page */
.livers-page-main{
  background:#fff;
  color:#2b2523;
}

.livers-hero{
  height:300px;
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,205,220,.42), transparent 26%),
    radial-gradient(circle at 78% 72%, rgba(216,171,91,.26), transparent 28%),
    linear-gradient(135deg,#fffaf8 0%,#f4e7ee 45%,#fff4e8 100%);
}

.livers-kicker{
  margin:0 0 12px;
  font-family:"Cormorant Garamond","Shippori Mincho",serif;
  font-style:italic;
  font-weight:700;
  letter-spacing:.08em;
  font-size:34px;
  line-height:1.2;
  color:#b4964d;
}

.livers-hero h1{
  margin:0;
  font-size:66px;
  line-height:1.15;
  letter-spacing:.08em;
  color:#4b3c36;
}

.livers-title-section{
  padding:72px 24px 34px;
  text-align:center;
}

.livers-title-section h2{
  margin:0 0 16px;
  font-size:46px;
  line-height:1.35;
  color:#4b3c36;
  letter-spacing:.06em;
}

.livers-title-section p{
  margin:0;
  font-size:18px;
  color:#6a5a55;
}

.livers-list-section{
  width:1180px;
  max-width:100%;
  margin:0 auto;
  padding:20px 24px 110px;
  box-sizing:border-box;
}

.liver-group{
  margin:0 0 72px;
}

.liver-group > h2{
  margin:0 0 28px;
  font-family:"Cormorant Garamond","Shippori Mincho",serif;
  font-style:italic;
  font-size:46px;
  color:#b4964d;
  text-align:left;
  border-bottom:1px solid rgba(190,150,90,.30);
  padding-bottom:10px;
}

.liver-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:34px 28px;
}

.liver-card{
  text-align:center;
  padding:24px 14px 26px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,247,241,.90));
  box-shadow:
    0 14px 34px rgba(120,80,60,.08),
    inset 0 0 0 1px rgba(190,150,90,.20);
  transition:transform .22s ease, box-shadow .22s ease;
}

.liver-card:hover{
  transform:translateY(-5px);
  box-shadow:
    0 20px 42px rgba(120,80,60,.14),
    inset 0 0 0 1px rgba(190,150,90,.28);
}

.liver-thumb{
  width:150px;
  height:150px;
  margin:0 auto 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border-radius:50%;
  overflow:hidden;
}

.liver-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.liver-card h3{
  margin:0;
  font-size:20px;
  line-height:1.45;
  color:#2b2523;
  font-weight:700;
}

.liver-role{
  margin:8px 0 0;
  font-size:15px;
  line-height:1.5;
  color:#9b7b3e;
  font-weight:700;
}

@media(max-width:1050px){
  .liver-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media(max-width:700px){
  .livers-hero{
    height:240px;
    min-height:240px;
  }

  .livers-kicker{
    font-size:26px;
  }

  .livers-hero h1{
    font-size:42px;
  }

  .liver-grid{
    grid-template-columns:repeat(2, 1fr);
    gap:22px 16px;
  }

  .liver-thumb{
    width:120px;
    height:120px;
  }

  .liver-card h3{
    font-size:17px;
  }
}



/* v116: fix livers page image sizes */
.liver-card{
  padding:18px 12px 22px !important;
}

.liver-thumb{
  width:146px !important;
  height:146px !important;
  margin:0 auto 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border-radius:0 !important;
  overflow:hidden !important;
}

.liver-thumb img{
  width:146px !important;
  height:146px !important;
  max-width:146px !important;
  max-height:146px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
  display:block !important;
}

/* placeholder images should not stretch oddly */
.liver-thumb img[src*="950dd872"]{
  object-fit:contain !important;
  background:#fff !important;
}

@media(max-width:700px){
  .liver-thumb,
  .liver-thumb img{
    width:118px !important;
    height:118px !important;
    max-width:118px !important;
    max-height:118px !important;
  }
}


/* v133: liver detail modal */
body.modal-open{
  overflow:hidden;
}

.liver-card-clickable{
  cursor:pointer;
}

.liver-card-clickable:focus{
  outline:3px solid rgba(201,162,93,.45);
  outline-offset:4px;
}

.liver-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:34px;
}

.liver-modal.is-open{
  display:flex;
}

.liver-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(3px);
}

.liver-modal-panel{
  position:relative;
  z-index:1;
  width:min(980px, 94vw);
  min-height:560px;
  display:grid;
  grid-template-columns:46% 54%;
  background:rgba(255,255,255,.96);
  border-radius:16px;
  box-shadow:0 26px 70px rgba(0,0,0,.28);
  overflow:hidden;
}

.liver-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  width:44px;
  height:44px;
  border:2px solid rgba(75,60,54,.45);
  border-radius:50%;
  background:#fff;
  color:#4b3c36;
  font-size:32px;
  line-height:36px;
  cursor:pointer;
}

.liver-modal-image-area{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px 30px;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,205,220,.44), transparent 32%),
    linear-gradient(135deg,#fffaf8,#f5e9ef 56%,#fff4e8);
}

.liver-modal-image-area::before{
  content:"";
  position:absolute;
  inset:28px;
  border-radius:20px;
  background:rgba(255,255,255,.45);
}

.liver-modal-image-area img{
  position:relative;
  z-index:1;
  display:block;
  width:82%;
  max-width:340px;
  height:auto;
  max-height:470px;
  object-fit:contain;
  filter:drop-shadow(0 16px 28px rgba(80,50,40,.18));
}

.liver-modal-info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:74px 64px 58px;
  text-align:center;
  color:#243044;
}

.liver-modal-en{
  margin:0 0 16px;
  font-family:"Cormorant Garamond","Shippori Mincho",serif;
  font-style:italic;
  font-weight:700;
  font-size:28px;
  letter-spacing:.08em;
  color:#b4964d;
}

.liver-modal-info h2{
  margin:0;
  font-size:48px;
  line-height:1.25;
  letter-spacing:.08em;
  color:#243044;
}

.liver-modal-role{
  margin:12px 0 0;
  font-size:18px;
  font-weight:700;
  color:#9b7b3e;
}

.liver-modal-meta{
  margin:34px auto 0;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:18px;
  width:100%;
}

.liver-modal-meta div{
  padding:16px 12px;
  border-radius:14px;
  background:rgba(255,247,241,.86);
  box-shadow:inset 0 0 0 1px rgba(190,150,90,.20);
}

.liver-modal-meta span{
  display:block;
  margin-bottom:6px;
  font-size:16px;
  font-weight:700;
  color:#27a8c4;
  letter-spacing:.04em;
}

.liver-modal-meta strong{
  display:block;
  font-size:17px;
  line-height:1.5;
  color:#243044;
}

.liver-modal-profile{
  margin:34px 0 0;
  font-size:18px;
  line-height:1.9;
  color:#333;
}

.liver-modal-tags{
  margin:24px 0 0;
  font-size:18px;
  line-height:1.7;
  font-weight:700;
  color:#243044;
}

@media(max-width:820px){
  .liver-modal{
    padding:18px;
    align-items:flex-start;
    overflow:auto;
  }

  .liver-modal-panel{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .liver-modal-image-area{
    padding:52px 20px 26px;
  }

  .liver-modal-image-area img{
    max-height:300px;
  }

  .liver-modal-info{
    padding:34px 24px 42px;
  }

  .liver-modal-info h2{
    font-size:36px;
  }

  .liver-modal-meta{
    grid-template-columns:1fr;
  }
}


/* v136: use high resolution image for modal and improve display quality */
.liver-modal-image-area img{
  width:88% !important;
  max-width:420px !important;
  max-height:520px !important;
  image-rendering:auto !important;
}

.liver-thumb img{
  image-rendering:auto !important;
}



/* v138: mobile top page content fixes only
   Header and footer are intentionally not changed. */
@media (max-width: 768px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  main,
  main section {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  main img,
  main video {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .hero,
  .hero-section,
  .top-hero,
  .main-visual,
  .kv,
  .mv,
  .pickup-section,
  .featured-section,
  .attention-section,
  .thankyou-section,
  .thank-you-section,
  .office-section,
  .members-section,
  .home-section {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .hero-inner,
  .top-hero-inner,
  .main-visual-inner,
  .section-inner,
  .pickup-inner,
  .featured-inner,
  .attention-inner,
  .thankyou-inner,
  .thank-you-inner,
  .office-inner,
  .members-inner,
  .container,
  .wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .hero img,
  .hero video,
  .hero-section img,
  .hero-section video,
  .top-hero img,
  .top-hero video,
  .main-visual img,
  .main-visual video,
  .kv img,
  .kv video,
  .mv img,
  .mv video {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
  }

  .pickup-grid,
  .featured-grid,
  .attention-grid,
  .liver-pickup-grid,
  .top-liver-grid,
  .highlight-grid,
  .cards,
  .card-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .pickup-card,
  .featured-card,
  .attention-card,
  .liver-pickup-card,
  .top-liver-card,
  .highlight-card,
  .card {
    width: 100% !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .pickup-card img,
  .featured-card img,
  .attention-card img,
  .liver-pickup-card img,
  .top-liver-card img,
  .highlight-card img,
  .card img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .visual,
  .visual-box,
  .image-box,
  .photo-box {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
  }

  .visual img,
  .visual-box img,
  .image-box img,
  .photo-box img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .hero-text,
  .catchcopy,
  .catch-copy,
  .message-box,
  .text-box {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .hero-text h1,
  .catchcopy h1,
  .catch-copy h1 {
    font-size: clamp(28px, 8vw, 44px) !important;
    line-height: 1.35 !important;
  }

  .hero-text p,
  .catchcopy p,
  .catch-copy p,
  .message-box p,
  .text-box p {
    font-size: clamp(15px, 4.2vw, 20px) !important;
    line-height: 1.8 !important;
  }

  .thankyou-section,
  .thank-you-section,
  .thankyou,
  .thank-you {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
}


/* v139: smartphone fix for HOME content only. Header/footer are untouched. */
@media (max-width: 768px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  main {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* HOME: prevent desktop-width blocks from overflowing */
  main section,
  main div,
  main article,
  main figure {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* HOME: all normal content images fit inside the phone width */
  main img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* First big visual area */
  .hero,
  .home-hero,
  .main-visual,
  .kv,
  .first-view,
  .top-visual,
  .hero-section {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .hero img,
  .home-hero img,
  .main-visual img,
  .kv img,
  .first-view img,
  .top-visual img,
  .hero-section img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* Pickup / featured sections on HOME */
  .pickup,
  .pickup-section,
  .featured,
  .featured-section,
  .liver-pickup,
  .pickup-liver,
  .spotlight,
  .spotlight-section,
  .member-section,
  .profile-section {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
  }

  .pickup-grid,
  .featured-grid,
  .liver-pickup-grid,
  .spotlight-grid,
  .member-grid,
  .profile-grid,
  .cards,
  .card-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .pickup-grid > *,
  .featured-grid > *,
  .liver-pickup-grid > *,
  .spotlight-grid > *,
  .member-grid > *,
  .profile-grid > *,
  .cards > *,
  .card-list > * {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Do not let absolutely-positioned-looking image blocks keep desktop size */
  main [style*="width: 1920"],
  main [style*="width:1920"],
  main [style*="width: 1200"],
  main [style*="width:1200"],
  main [style*="width: 980"],
  main [style*="width:980"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Text */
  main h1,
  main h2,
  main h3,
  main p {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main h1,
  main h2,
  main h3 {
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  /* Thank you moving text area */
  .marquee,
  .thank-you-marquee,
  .thankyou-marquee,
  .thankyou-track,
  .ticker {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
}

@media (max-width: 480px) {
  .pickup,
  .pickup-section,
  .featured,
  .featured-section,
  .liver-pickup,
  .pickup-liver,
  .spotlight,
  .spotlight-section,
  .member-section,
  .profile-section {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  main h1 {
    font-size: clamp(28px, 8vw, 42px) !important;
  }

  main h2 {
    font-size: clamp(24px, 7vw, 36px) !important;
  }

  main h3 {
    font-size: clamp(20px, 6vw, 28px) !important;
  }
}


/* v149: final smartphone home layout correction
   Header and footer are intentionally not modified. */
@media screen and (max-width: 760px) {

  /* ヒーロー：縦長切り取りをやめ、左右が見えるように横長表示 */
  main .hero.hero-video-section,
  main .hero-video-section {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    background: #000 !important;
    overflow: hidden !important;
  }

  main .hero-main-video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #000 !important;
  }

  /* 注目ライバー：上部余白をさらに縮小 */
  main .pickup {
    padding: 6px 8px 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  main .pickup-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 注目ライバー：黒一色ではなく、キャラ画像を右側背景に */
  main .pickup-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background:
      linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.86) 58%, rgba(0,0,0,.30) 100%),
      url("assets/local/wix_005_e2dd965128.png") right bottom / auto 96% no-repeat,
      #000 !important;
  }

  main .pickup-bg,
  main .sparkle-field,
  main .pickup-card::before,
  main .pickup-card::after {
    display: none !important;
    content: none !important;
  }

  main .pickup-side {
    display: none !important;
  }

  main .pickup-card-inner,
  main .pickup-card-inner-v13,
  main .pickup-text,
  main .pickup-text-v13 {
    position: relative !important;
    inset: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    transform: none !important;
  }

  main .pickup-card-inner,
  main .pickup-card-inner-v13 {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
  }

  main .pickup-text,
  main .pickup-text-v13 {
    display: block !important;
    width: 66% !important;
    padding: 18px 0 24px 8px !important;
    margin: 0 !important;
    text-align: center !important;
    background: transparent !important;
    color: #fff !important;
  }

  main .pickup-text-v13 h1,
  main .pickup-text-v13 h2,
  main .pickup-text-v13 .kana,
  main .pickup-follow {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }

  main .pickup-text-v13 h1 {
    margin: 0 0 14px !important;
    font-size: 22px !important;
    line-height: 1.35 !important;
  }

  main .pickup-text-v13 h2 {
    margin: 0 0 5px !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
  }

  main .pickup-text-v13 .kana {
    margin: 0 0 14px !important;
    font-size: 12px !important;
  }

  main .message-box {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 18px 0 !important;
    padding: 18px 14px !important;
    background: rgba(238,238,238,.88) !important;
    color: #111 !important;
    text-align: left !important;
  }

  main .message-box::before,
  main .message-box::after {
    display: none !important;
    content: none !important;
  }

  main .message-box p {
    font-size: 12.5px !important;
    line-height: 1.55 !important;
    margin-bottom: 12px !important;
  }

  main .pickup-follow p {
    margin: 0 0 12px !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  main .pickup-sns {
    display: flex !important;
    justify-content: center !important;
    gap: 24px !important;
  }

  main .pickup-sns img {
    width: 54px !important;
    height: 54px !important;
  }

  /* Thank you を低くする */
  main .thank-you-js-section {
    height: 44px !important;
    min-height: 44px !important;
    overflow: hidden !important;
  }

  main .thank-you-js-track,
  main #thankYouTrack {
    height: 44px !important;
    font-size: 30px !important;
    line-height: 44px !important;
  }

  /* ライバー事務所Esperanza と 運営メンバー紹介 の間隔をさらに縮小 */
  main .company {
    height: 82px !important;
    min-height: 82px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  main .company-text {
    transform: none !important;
  }

  main .company p {
    font-size: 23px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
  }

  main .members {
    margin: 0 !important;
    padding: 8px 10px 30px !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  main .members .page-width {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 運営メンバー紹介：色はPC版と同じ青 */
  main .members h2 {
    color: #006aff !important;
    transform: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    font-size: 30px !important;
    line-height: 1.25 !important;
  }

  /* 運営メンバー：4名を2×2で表示 */
  main .member-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  main .member-grid article {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  main .member-grid img {
    width: 96px !important;
    height: 96px !important;
    margin: 0 auto 8px !important;
    border-width: 5px !important;
  }

  main .member-grid h3 {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  main .member-grid p {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
}


/* v150: smartphone pickup background + members 2x2 refinement */
@media screen and (max-width: 760px) {

  /* 注目ライバー：背景キャラをより大きく・明るく表示 */
  main .pickup-card {
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.86) 0%,
        rgba(0,0,0,.76) 48%,
        rgba(0,0,0,.32) 72%,
        rgba(0,0,0,.12) 100%
      ),
      url("assets/local/wix_005_e2dd965128.png") right center / auto 108% no-repeat,
      #000 !important;
  }

  main .pickup-text,
  main .pickup-text-v13 {
    width: 68% !important;
    padding: 18px 0 24px 8px !important;
  }

  main .message-box {
    max-width: 100% !important;
    padding: 18px 14px !important;
    background: rgba(238,238,238,.90) !important;
  }

  main .message-box p {
    font-size: 12.5px !important;
    line-height: 1.55 !important;
  }

  /* Thank you を少し低く */
  main .thank-you-js-section {
    height: 42px !important;
    min-height: 42px !important;
  }

  main .thank-you-js-track,
  main #thankYouTrack {
    height: 42px !important;
    line-height: 42px !important;
  }

  /* 運営メンバー：2×2で4人が見えるようにする */
  main .members {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 8px 10px 32px !important;
    overflow: visible !important;
  }

  main .member-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
    gap: 18px 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    align-items: start !important;
    overflow: visible !important;
  }

  main .member-grid article {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
  }

  main .member-grid img {
    width: 82px !important;
    height: 82px !important;
    border-width: 4px !important;
    margin: 0 auto 7px !important;
  }

  main .member-grid h3 {
    font-size: 13px !important;
    line-height: 1.3 !important;
    margin-bottom: 5px !important;
  }

  main .member-grid p {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  main .members h2 {
    margin-bottom: 16px !important;
  }
}

/* narrower phone */
@media screen and (max-width: 430px) {
  main .pickup-card {
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.88) 0%,
        rgba(0,0,0,.78) 52%,
        rgba(0,0,0,.34) 76%,
        rgba(0,0,0,.12) 100%
      ),
      url("assets/local/wix_005_e2dd965128.png") right center / auto 102% no-repeat,
      #000 !important;
  }

  main .pickup-text,
  main .pickup-text-v13 {
    width: 69% !important;
  }

  main .member-grid img {
    width: 78px !important;
    height: 78px !important;
  }
}


/* v151: smartphone pickup character foreground + force members 2x2 */
@media screen and (max-width: 760px) {

  /* 注目ライバー：キャラを背景ではなく前面レイヤーとして表示 */
  main .pickup-card {
    position: relative !important;
    background: #000 !important;
    overflow: hidden !important;
  }

  main .pickup-card::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 6 !important;
    right: -44px !important;
    top: 110px !important;
    width: 58% !important;
    height: calc(100% - 130px) !important;
    background: url("assets/local/wix_005_e2dd965128.png") no-repeat right top / contain !important;
    pointer-events: none !important;
    opacity: .92 !important;
  }

  main .pickup-text,
  main .pickup-text-v13 {
    width: 100% !important;
    padding: 18px 10px 24px !important;
    z-index: 7 !important;
  }

  main .pickup-text-v13 h1,
  main .pickup-text-v13 h2,
  main .pickup-text-v13 .kana {
    position: relative !important;
    z-index: 9 !important;
  }

  main .message-box {
    position: relative !important;
    z-index: 5 !important;
    width: 68% !important;
    max-width: 300px !important;
    margin: 0 auto 18px 0 !important;
    background: rgba(238,238,238,.88) !important;
  }

  main .pickup-follow {
    position: relative !important;
    z-index: 9 !important;
  }

  /* 運営メンバー：2×2を強制 */
  main .members {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 8px 8px 34px !important;
  }

  main .members .page-width {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  main .member-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    grid-auto-flow: row !important;
    gap: 16px 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    justify-content: stretch !important;
    align-items: start !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  main .member-grid article,
  main .member-grid article:nth-child(1),
  main .member-grid article:nth-child(2),
  main .member-grid article:nth-child(3),
  main .member-grid article:nth-child(4) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    text-align: center !important;
  }

  main .member-grid img {
    width: 72px !important;
    height: 72px !important;
    border-width: 4px !important;
    margin: 0 auto 6px !important;
  }

  main .member-grid h3 {
    font-size: 12px !important;
    line-height: 1.25 !important;
    margin: 0 0 4px !important;
    white-space: normal !important;
  }

  main .member-grid p {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    white-space: normal !important;
  }
}


/* v152: stop pickup character animation + force members 2 columns */
@media screen and (max-width: 760px) {

  /* 注目ライバーのキャラ画像：アニメーション完全停止 */
  main .pickup-card::before {
    display: none !important;
    content: none !important;
    animation: none !important;
  }

  main .pickup-card::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 6 !important;
    right: -42px !important;
    top: 120px !important;
    width: 56% !important;
    height: calc(100% - 145px) !important;

    background-image: url("assets/local/wix_005_e2dd965128.png") !important;
    background-repeat: no-repeat !important;
    background-position: right top !important;
    background-size: contain !important;

    opacity: .95 !important;
    pointer-events: none !important;

    animation: none !important;
    transform: none !important;
    transition: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }

  /* 中央から広がる古い光エフェクトを完全停止 */
  main .sparkle-field,
  main .sparkle-field::before,
  main .sparkle-field::after,
  main .sparkle-field span,
  main .sparkle-field span::before,
  main .sparkle-field span::after {
    display: none !important;
    content: none !important;
    animation: none !important;
  }

  /* 白い文章枠は左寄せ、キャラはその上に少し重なる */
  main .message-box {
    z-index: 5 !important;
    width: 67% !important;
    max-width: 295px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  main .pickup-text,
  main .pickup-text-v13 {
    z-index: 7 !important;
    width: 100% !important;
  }

  /* 運営メンバー紹介：必ず2列×2行 */
  main .members {
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  main .members .page-width {
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  main .member-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 50%) !important;
    grid-template-rows: auto auto !important;
    grid-auto-flow: row !important;
    column-gap: 0 !important;
    row-gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 auto !important;
    justify-content: center !important;
    align-items: start !important;
  }

  main .member-grid article {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    overflow: visible !important;
    text-align: center !important;
  }

  main .member-grid article:nth-child(1) { grid-column: 1 !important; grid-row: 1 !important; }
  main .member-grid article:nth-child(2) { grid-column: 2 !important; grid-row: 1 !important; }
  main .member-grid article:nth-child(3) { grid-column: 1 !important; grid-row: 2 !important; }
  main .member-grid article:nth-child(4) { grid-column: 2 !important; grid-row: 2 !important; }

  main .member-grid img {
    width: 74px !important;
    height: 74px !important;
    max-width: 74px !important;
    max-height: 74px !important;
    border-width: 4px !important;
    margin: 0 auto 6px !important;
  }
}

/* 460px以下でも1列にしない */
@media screen and (max-width: 460px) {
  main .member-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 50%) !important;
  }
}


/* v153: move pickup character right + compact member layout */
@media screen and (max-width: 760px) {

  /* 注目ライバー：キャラ画像を右寄せ・下寄せにする */
  main .pickup-card::after {
    right: -18px !important;
    left: auto !important;
    top: 175px !important;
    bottom: 18px !important;
    width: 46% !important;
    height: auto !important;
    background-position: right bottom !important;
    background-size: contain !important;
    opacity: .96 !important;
    z-index: 6 !important;
    transform: none !important;
    animation: none !important;
  }

  /* 白い文章枠は左側に固定し、キャラは右側に重ねる */
  main .message-box {
    width: 66% !important;
    max-width: 305px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    z-index: 5 !important;
  }

  main .pickup-follow {
    z-index: 8 !important;
  }

  /* 運営メンバー：4名を横並びで見えるようにする */
  main .members {
    padding: 8px 6px 28px !important;
    overflow: visible !important;
  }

  main .member-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  main .member-grid article {
    display: block !important;
    flex: 0 0 24% !important;
    width: 24% !important;
    max-width: 24% !important;
    min-width: 0 !important;
    text-align: center !important;
    overflow: visible !important;
  }

  main .member-grid img {
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
    border-width: 3px !important;
    margin: 0 auto 5px !important;
  }

  main .member-grid h3 {
    font-size: 10px !important;
    line-height: 1.2 !important;
    margin: 0 0 3px !important;
    white-space: normal !important;
    word-break: keep-all !important;
  }

  main .member-grid p {
    font-size: 9px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    white-space: normal !important;
  }
}

/* 極端に狭い端末だけ2×2に戻す */
@media screen and (max-width: 360px) {
  main .member-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 6px !important;
  }

  main .member-grid article {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  main .member-grid img {
    width: 70px !important;
    height: 70px !important;
    max-width: 70px !important;
    max-height: 70px !important;
  }
}


/* v154 center-right character + member force */
@media screen and (max-width:760px){

main .pickup-card::after{
 right:-10px !important;
 left:auto !important;
 top:50% !important;
 bottom:auto !important;
 width:44% !important;
 height:72% !important;
 transform:translateY(-50%) !important;
 background-position:center right !important;
 background-size:contain !important;
 opacity:.95 !important;
}

/* 運営メンバーを強制横並び */
main .member-grid,
main .members .member-grid,
main .members .page-width .member-grid{
 display:flex !important;
 flex-direction:row !important;
 flex-wrap:nowrap !important;
 justify-content:space-evenly !important;
 align-items:flex-start !important;
 gap:2px !important;
}

main .member-grid>*{
 display:block !important;
 flex:0 0 24% !important;
 width:24% !important;
 max-width:24% !important;
}

main .member-grid img{
 width:56px !important;
 height:56px !important;
}

main .member-grid h3{
 font-size:10px !important;
}

main .member-grid p{
 font-size:9px !important;
}
}
