@charset "utf-8";

/* montserrat-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url('../../vendor/webfonts/montserrat-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* idealock 公開サイト用.css */
body {
    font-family: 'Montserrat', sans-serif;
    background-color: #000;
    color: #e5e5e5;
    overflow-x: hidden;
}
.navbar {
    background-color: rgba(0, 0, 0, 0.9);
    border-bottom: 1px solid #333;
}
.navbar-brand {
    color: #dcdcdc !important;
    font-weight: 600;
    letter-spacing: 1px;
}
/* 光の粒子アニメーション背景 */
.particle-bg {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    overflow: hidden;
    z-index: 0;
}
.particle {
    position: absolute;
    width: 3px; height: 3px;
    background: rgba(212,175,55,0.7);
    border-radius: 50%;
    animation: float 8s linear infinite;
}
@keyframes float {
    from { transform: translateY(100vh) scale(1); opacity: 1; }
    to { transform: translateY(-10vh) scale(0.5); opacity: 0; }
}

.idealock {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(160deg, #000 40%, #1a1a1a 100%);
    z-index: 1;
}
.idealock h1 {
    font-weight: 700;
    font-size: 2.8rem;
    color: #e5e5e5;
}
.idealock span {
    color: #d4af37;
}

.btn-gold, .content-btn {/* content-btn 下層コンテンツの共通クラス */
    background: linear-gradient(145deg, #d4af37, #b8860b);
    color: #000;
    border: none;
    font-weight: 600;
}
.btn-gold:hover, .content-btn:hover {
    background: linear-gradient(145deg, #ffd700, #c99700);
    color: #000;
}
.btn-outline-gold {
    border: 1px solid #d4af37;
    color: #d4af37;
}
.btn-outline-gold:hover {
    background: #d4af37;
    color: #000;
}
.section-title {
    font-weight: 600;
    font-size: 1.8rem;
    margin-bottom: 1rem;
    color: #c0c0c0;
}
.feature-card {
    background-color: #111;
    border: 1px solid #2c2c2c;
    border-radius: 12px;
    padding: 2rem;
    transition: 0.3s;
}
.feature-card:hover {
    border-color: #d4af37;
    box-shadow: 0 0 15px rgba(212,175,55,0.3);
}
.feature-icon {
    font-size: 2rem;
    color: #d4af37;
    margin-bottom: 1rem;
}

.content-bg { /* content-bg 下層コンテンツの共通クラス */
    background: rgba(255,255,255,0.1);
    color: white;
}

.stamp {
    display: inline-block;
    padding: 0.5rem 1rem;
    border: 2px dashed rgba(255,255,255,0.7);
    border-radius: 12px;
    font-weight: bold;
    font-size: 1.1rem;
    transform: rotate(-2deg);
    background: rgba(255,255,255,0.1);
}
.icon-lg {
    font-size: 2.5rem;
    color: #d4af37;
}

footer {
    background-color: #111;
    padding: 2rem 0;
    color: #aaa;
    text-align: center;
    border-top: 1px solid #222;
}
footer span {
    color: #d4af37;
}

.text-muted { color: #7f8c8d!important; }
