/**
 * カスタムスタイル
 */

/* Google Fonts Import - かっこいい日本語フォント */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@700;900&family=Noto+Sans+JP:wght@700;900&display=swap');

/* スムーススクロール */
html {
    scroll-behavior: smooth;
}

/* アニメーション */
@keyframes bounce {
    0%, 100% {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    }
    50% {
        transform: translateY(0);
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
}

.animate-bounce {
    animation: bounce 1s infinite;
}

/* グラデーション背景 */
.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.bg-gradient-to-b {
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

.from-gray-900 {
    --tw-gradient-from: #111827;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(17, 24, 39, 0));
}

.via-gray-800 {
    --tw-gradient-stops: var(--tw-gradient-from), #1f2937, var(--tw-gradient-to, rgba(31, 41, 55, 0));
}

.to-gray-900 {
    --tw-gradient-to: #111827;
}

.from-rose-500 {
    --tw-gradient-from: #f43f5e;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(244, 63, 94, 0));
}

.to-pink-500 {
    --tw-gradient-to: #ec4899;
}

/* バックドロップブラー */
.backdrop-blur-sm {
    backdrop-filter: blur(4px);
}

/* ドロップシャドウ */
.drop-shadow-2xl {
    filter: drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15));
}

.drop-shadow-lg {
    filter: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1));
}

/* トランジション */
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

/* ホバーエフェクト */
.hover\:scale-105:hover {
    transform: scale(1.05);
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .text-5xl {
        font-size: 2.5rem;
        line-height: 1.2;
    }
    
    .text-7xl {
        font-size: 3rem;
        line-height: 1.1;
    }
    
    /* スマホでゴリラの顔が見えるように */
    .hero-gorilla-bg {
        object-fit: contain !important;
        object-position: center top !important;
        transform: scale(1.5) translateY(10%);
    }
}

@media (min-width: 769px) {
    /* デスクトップではゴリラを中央に */
    .hero-gorilla-bg {
        object-fit: cover !important;
        object-position: center center !important;
    }
}

/* フォーム要素のスタイル */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select,
textarea {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* フッター Instagram ボタン */
.instagram-store-btn {
    display: block !important;
    background-color: #1f2937 !important;
    color: #ffffff !important;
    font-size: 0.75rem !important;
    text-align: center !important;
    padding: 0.5rem !important;
    border-radius: 0.5rem !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
}
.instagram-store-btn:hover {
    background: linear-gradient(to bottom right, #9333ea, #db2777, #f97316) !important;
    color: #ffffff !important;
}

/* スクリーンリーダー用テキスト */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}