@charset "utf-8";
/* FireAlpaca 15th Anniversary LP — リニューアル版
   スマホ表示：画面幅 599px 以下（カードはカルーセル表示） */

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,"Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;color:rgb(0,0,0);-webkit-font-smoothing:antialiased}
a{color:rgb(255,103,17);text-decoration:none}
a:hover{color:rgb(224,84,4)}
img{max-width:100%}

.sp{display:none}
.pc{display:inline}

/* ページ全体：柄の上に #ffea00 を 60% で重ねる */
.page{min-height:100vh;background:linear-gradient(rgba(255,234,0,.6),rgba(255,234,0,.6)),url(../images/pattern-opt.webp) top left / 960px 640px repeat fixed;background-color:rgb(255,234,0);padding:clamp(48px,7vw,96px) 16px clamp(80px,10vw,140px);display:flex;flex-direction:column;align-items:center}

/* ヒーロー */
.hero{width:100%;max-width:852px;display:flex;justify-content:center}
.hero-title{margin:0;width:100%}
.hero-title img{display:block;width:100%;height:auto}

.lang-en .hero{max-width:859px}
.lang-en .message-text{max-width:600px}
.lang-en .btn-site{width:min(400px,100%)}

/* お知らせ */
.notice{margin-top:clamp(28px,4vw,48px);width:100%;max-width:740px}
.notice img{display:block;width:100%;height:auto}

/* カード（PC：3列／スマホ：カルーセル） */
.cards{margin-top:clamp(28px,3vw,44px);width:100%;max-width:1236px}
.cards-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,18px)}
.card{display:block;border-radius:20px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.card img{display:block;width:100%;height:auto}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.22)}
.cards-nav{display:none}

/* カルーセル（スマホ時／カード4枚以上のPC時に .is-carousel が付く） */
.cards.is-carousel{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px;overflow:hidden}
.cards.is-carousel .cards-track{--w:min(68vw,300px);position:relative;display:block;height:calc(var(--w) * 1.25 + 28px);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.cards.is-carousel .card{position:absolute;left:50%;top:10px;width:var(--w);transform:translateX(-50%);transition:transform .45s cubic-bezier(.22,.7,.2,1),opacity .45s,box-shadow .45s}
.cards.is-carousel .card.is-active{box-shadow:0 10px 22px rgba(0,0,0,.22)}
.cards.is-carousel .card:hover{transform:translateX(-50%)}
.cards.is-carousel .card img{pointer-events:none}
.cards.is-carousel .cards-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:4px}
.cards.is-carousel .cards-dots{display:flex;gap:10px}
.cards.is-carousel .cards-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(69,33,8,.3);cursor:pointer;transition:background .2s,width .2s}
.cards.is-carousel .cards-dot.is-active{width:28px;border-radius:5px;background:rgb(255,103,17)}
.cards.is-carousel .cards-arrow{position:relative;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgb(69,33,8);cursor:pointer}
.cards.is-carousel .cards-arrow::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-left:3px solid rgb(255,255,255);border-bottom:3px solid rgb(255,255,255);transform:translate(-30%,-50%) rotate(45deg)}
.cards.is-carousel .cards-arrow.is-next::before{transform:translate(-70%,-50%) rotate(-135deg)}
.cards.is-carousel .cards-track{--w:min(30vw,360px)}

/* メッセージ */
.message{position:relative;margin-top:clamp(48px,5vw,68px);width:100%;max-width:1000px;border-radius:40px;overflow:hidden;background:rgb(255,255,255);box-shadow:0 0 0 1px rgba(0,0,0,.04)}
.message-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;opacity:.3;pointer-events:none}
.message-inner{position:relative;padding:clamp(48px,6vw,72px) clamp(20px,4vw,40px) clamp(48px,6vw,72px);display:flex;flex-direction:column;align-items:center;text-align:center}
.message-title{margin:0;font-weight:900;font-size:clamp(28px,3.6vw,46px);line-height:1.2;letter-spacing:.02em}
.message-lead{margin:clamp(12px,1.6vw,20px) 0 0;font-weight:700;font-size:clamp(16px,1.9vw,24px);line-height:1.5;text-wrap:balance}
.message-text{margin:clamp(36px,4.5vw,56px) 0 0;max-width:520px;font-weight:700;font-size:clamp(15px,1.5vw,19px);line-height:2.1;white-space:pre-line;text-wrap:pretty}
.btn-site{margin-top:clamp(40px,5vw,60px);width:min(368px,100%);height:58px;border-radius:30px;background:rgb(255,103,17);color:rgb(255,255,255);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(18px,1.8vw,22px);transition:background .2s,transform .2s,box-shadow .2s}
.btn-site:hover{background:rgb(236,86,4);color:rgb(255,255,255);transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,103,17,.35)}
.btn-site:active{transform:none;box-shadow:none}

/* フッター（変更なし） */
.footer{background:rgb(51,51,51);color:rgb(255,255,255);padding:clamp(48px,6vw,80px) 16px clamp(40px,4.5vw,48px);display:flex;flex-direction:column;align-items:center;gap:clamp(20px,2.4vw,28px);text-align:center}
.footer p{margin:0;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:clamp(13px,1.35vw,16px);line-height:1.6;text-wrap:balance}
.footer-logo{display:block;transition:opacity .2s}
.footer-logo:hover{opacity:.75}
.footer-logo img{display:block;width:clamp(200px,25vw,300px);height:auto}
.footer small{margin-top:clamp(12px,2vw,24px);font-weight:500;font-size:14px;line-height:1}


/* スマホ */
@media (max-width:599.98px){
  .sp{display:inline}
  .cards.is-carousel .cards-track{--w:min(68vw,300px)}
  .pc{display:none}
  .message{border-radius:24px}
}
