html { scroll-behavior: smooth; scroll-padding-top: 110px; }
.btn-download .cta-label { white-space: nowrap; }
.contact > .main .btn-download .cta-free,
.lead-contact > .main .btn-download .cta-free { display: none; }
.contact .main .download-btn-container .btn-download,
.lead-contact .main .download-btn-container .btn-download { padding-inline: clamp(16px, 3vw, 40px); }
@media (max-width: 359px) {
  .download-btn-container .btn-download .cta-free { display: none; }
}
body { font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; }
.preview-notice { position: relative; z-index: 1001; background: #fff4db; color: #614600; padding: 10px 16px; text-align: center; font-size: 13px; }
.preview-notice + .header { position: sticky; top: 0; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, [role="button"]:focus-visible { outline: 3px solid #0081aa; outline-offset: 3px; }
#form-status { color: #a21c25; font-size: 14px; line-height: 1.7; }
.bizplay-video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #18202a; border-radius: 8px; }
.video-play { display: block; background: #fff; border: 1px solid #ddd; color: #333; border-radius: 24px; padding: 12px 20px; margin: 12px auto; font-weight: 700; }
.contact .main-video .player, .lead-contact .player { display: block !important; }
.video-play { width: max-content; max-width: 100%; }
.video-play[hidden] { display: none; }
.video-status { margin: 8px 0; font-size: 14px; text-align: center; }
.video-status:empty { display: none; }
/* Include the play button in the column height instead of the original fixed video-only box. */
.lead-contact .second-content .top .interview .player { display: flex !important; flex-direction: column; align-items: center; gap: 12px; height: auto; max-width: 100%; }
.lead-contact .second-content .top .interview .player .video-play { margin: 0; }
/* Reserve the video frame before metadata arrives; controls never affect its size. */
.contact .main .main-video { width: 100%; min-width: 0; }
@media (min-width: 992px) {
  .contact .main .main-video { width: clamp(350px, 60vw, 790px); flex: 0 1 790px; }
}
.contact .main .main-video .player,
.lead-contact .second-content .top .interview .player {
  position: relative;
  display: block !important;
  aspect-ratio: 16 / 9;
  height: auto;
  max-height: none;
}
.player .bizplay-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.player .video-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); margin: 0; max-width: calc(100% - 24px); }
.player .video-status { position: absolute; bottom: 40px; left: 12px; right: 12px; margin: 0; padding: 4px 8px; color: #fff; background: rgb(0 0 0 / 75%); border-radius: 4px; }
.form-contact .checkbox { display: inline-flex; align-items: center; gap: 8px; }
.form-contact .checkbox input[type="checkbox"] { display: inline-block; position: static; opacity: 1; appearance: auto; pointer-events: auto; width: 20px; height: 20px; margin: 0; flex: 0 0 20px; }
.form-contact .checkbox label { margin: 0; padding-left: 0; cursor: pointer; }
.form-contact .checkbox input[type="checkbox"] + label::before, .form-contact .checkbox input[type="checkbox"] + label::after { display: none !important; }
.contact .production-showcase .showcase-container .showcase-carousel-pc { overflow-x: auto; padding: 12px 0; }
.contact .production-showcase .showcase-container .showcase-carousel-pc__track { width: max-content; }
.showcase-card--pc.cloned { display: none !important; }
.thanks { min-height: 65vh; max-width: 800px; margin: auto; padding: 90px 24px; text-align: center; }
.thanks h1 { font-size: clamp(24px, 4vw, 32px); line-height: 1.6; margin-bottom: 24px; }
.thanks p { line-height: 2; margin-bottom: 32px; }
.thanks .thanks-check { color: #a71d2a; font-size: 52px; margin-bottom: 24px; }
button:disabled { opacity: .65; cursor: wait; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
