@charset "UTF-8";
body {
    font-family: 'Noto Sans JP', sans-serif;
    scroll-behavior: smooth; /* スムーズスクロール */
    color: #1a1a1a; /* 基本のテキストカラー (text-gray-900相当) */
    background-color: #ffffff; /* 基本の背景カラー */
    line-height: 1.6; /* 読みやすさのための行間設定 */
}

.bg-accent { background-color: #FFD700; }
.text-accent { color: #FFD700; }
.border-accent { border-color: #FFD700; }

.bg-accent\/80 { background-color: rgba(255, 215, 0, 0.9); }

nav a.active {
    color: #000000 !important; /* アクティブ時は黒 */
    font-weight: 900 !important; /* 最も太いフォントウェイト */
    position: relative;
}

/* アクティブ時の下線装飾 */
nav a.active::after {
    content: '';
    position: absolute;
    bottom: -4px; /* 下に少しずらす */
    left: 0;
    width: 100%;
    height: 4px; /* 太めの下線 */
    background-color: #000000; /* 黒の下線 */
}

.sub-hero {
    background-color: #FFD700;
    /* 幾何学パターン (SVGデータ、opacity 0.05) */
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat;
    
    padding-top: 10rem;
    padding-bottom: 6rem;
    position: relative;
    overflow: hidden;
}

.bg-hero-pattern {
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat;
}

.marker-yellow {
    background: linear-gradient(transparent 60%, #FFD700 60%);
}

.profile-label {
    position: relative;
    padding-left: 1rem;
    border-left: 4px solid #FFD700;
}

.bg-dark-section {
    background-color: #0f1115; /* footerの黒より少し明るいチャコールグレー */
    /* 薄いドットパターン (SVGデータ、opacity 0.02) */
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.02' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='1'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat;
}