/* L-01: ヘッダー／フッターの会員登録ボタン（未ログイン時のみ表示）
   Vite のビルドを通さない独立ファイル。layouts/app.blade.php から読み込む。 */
.signup-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 76px;
  height: 56px;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 3px;
  background-color: #e8590c;
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  transition: opacity .3s;
}
.signup-btn:hover, .signup-btn:focus { color: #fff; opacity: .8; }
.signup-btn__free {
  font-size: 11px;
  padding: 0 6px;
  border-radius: 8px;
  background: #fff;
  color: #e8590c;
  margin-bottom: 3px;
}
.signup-btn__text { font-size: 13px; letter-spacing: .02em; }

/* 既存ボタンが押し縮められて文字が折り返すのを防ぐ */
.l-header__right .search-btn,
.l-header__right .login-btn,
.l-header__right .signup-btn { flex-shrink: 0; }

/* PC幅が狭いとき（〜1199px）: ボタン1個分の幅をメニューの間隔から捻出し、ロゴを縮ませない */
@media (min-width: 1025px) and (max-width: 1199px) {
  .l-header__pcNav, .l-header__pcNav__list { gap: 14px !important; }
  .l-header .l-header__pcNavWrapper .contact-btn { width: 132px; padding: 16px 8px; margin: 0 8px; }
  .l-header__right .signup-btn { margin-left: 4px; }
}
@media (max-width: 1024px) {
  .l-header__right { gap: 10px !important; }
  .l-header__right .signup-btn { margin-left: 0; }
}
/* スマホ: ロゴ(84px)と重ならない幅に収める */
@media (max-width: 767px) {
  .l-header__right { gap: 6px !important; }
  .signup-btn { min-width: 50px; height: 52px; padding: 2px 3px; }
  .signup-btn__text { font-size: 11px; letter-spacing: 0; }
  .signup-btn__free { font-size: 10px; padding: 0 5px; }
}
@media (max-width: 374px) {
  .l-header__right { gap: 4px !important; }
  .signup-btn { min-width: 46px; padding: 2px 2px; }
  .signup-btn__text { font-size: 10px; }
}
/* 340px 未満はヘッダーに入り切らないため非表示（フッターのボタンは残る） */
@media (max-width: 339px) {
  .l-header__right .signup-btn { display: none; }
}

.l-footer__signup { margin: 24px 0 20px; }
.l-footer__signupBtn {
  display: inline-block;
  min-width: 280px;
  max-width: 100%;
  box-sizing: border-box;
  padding: 14px 28px;
  border-radius: 30px;
  background-color: #e8590c;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  transition: opacity .3s;
}
.l-footer__signupBtn:hover, .l-footer__signupBtn:focus { color: #fff; opacity: .8; }
