body {
            font-family: 'Inter', 'Noto Sans JP', sans-serif;
        }

html {
  scroll-behavior: smooth;
}

/* ファーストビューの最小高さ設定 */
.fv-container {
    position: relative;
    min-height: 500px;
}

/* キャンペーン背景の見出しボックス用グラデーション */
.custom-gradient-box {
    background: linear-gradient(to right, #fde047, #fb923c); /* yellow-300 to orange-400 */
    padding: 1.5rem; /* p-6 相当 */
    border-radius: 1rem; /* rounded-2xl 相当 */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg 相当 */
    margin-bottom: 2.5rem; /* mb-10 相当 */
}

/* PCサイズ (md: 768px以上) のパディング調整 */
@media (min-width: 768px) {
    .custom-gradient-box {
        padding: 2rem; /* md:p-8 相当 */
    }
}

.cta_button{
    color: white;
    background-color: #cd0b34;
    font-weight: bold;
}

.appli_exec {
    position: fixed;
    top: 15vh;
    left: 80%;
    z-index: 200;
    background-color: rgba(16, 143, 234, 0.8);
    border-radius: 8px;
    width: 18%;
}
.appli_exec p {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1.2em 0;
    padding: 0.8em;
    font-size: 14px;
}

.fv-bg-image {
    background-image: url('../images/funvest_4th_bg_end.jpg');
}

.fv-bg-image-sp {
    background-image: url('../images/funvest_4th_bg_end.jpg');
}

.custom-border-bold {
    border-width: 2px !important;
}

/* 吹き出しのしっぽ（三角部分）の定義 */
.balloon-tip {
    position: relative;
}

.balloon-tip::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 70%); /* 中央寄せにして下に配置 */
    border-style: solid;
    border-width: 12px 12px 0 12px; /* 三角形のサイズ */
    border-color: #ca8a04 transparent transparent transparent; /* yellow-600の色 */
    display: block;
}

/* マーカー線 (JIT任意値の代替) */
.marker-yellow {
    background-image: linear-gradient(to bottom, transparent 33%, #fff500 33%, #fff500 100%);
    background-repeat: no-repeat;
    background-size: 100% 50%;
    background-position: bottom;
}

/* アスペクト比 4:1 を再現しつつ中央配置する設定 */
.aspect-title {
    position: absolute; /* 親要素に対して絶対配置 */
    top: 0;
    left: 50%; /* 親の左から50%の位置に配置 */
    transform: translate(-50%, -50%); /* 自身の幅の半分だけ左上にずらして完全中央へ */
    width: 66.666%; /* スマホ時の横幅 (w-2/3相当) */
    height: 0;
    padding-top: 16.66%; /* 4:1の比率（幅に対しての高さを確保） */
    z-index: 10;
}

/* PCサイズ (md: 768px以上) の横幅調整 */
@media (min-width: 768px) {
    .aspect-title {
        width: 25%; /* md:w-1/4相当 */
        padding-top: 6.25%; /* 4:1を維持 */
    }
}

/* 中の画像を親要素いっぱいに広げる */
.aspect-title img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain; /* 画像を潰さずに収める */
}

.aspect-fund {
    aspect-ratio: 750 / 522;
}

details[open] .rotate-icon {
    transform: rotate(180deg);
}

.sns-icon-offset{
    margin-top: -15px;
    margin-right: -15px;
}

/* ボタンのテキスト改行を禁止し、中央揃えを安定させる */
.btn-nowrap {
    white-space: nowrap !important; /* 改行を禁止 */
    display: inline-block !important; /* 幅の計算を正しく行う */
    text-align: center;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

/* ポイントセクションの説明文の高さを揃える (min-h-16の代替) */
.custom-min-h-point {
    min-height: 4rem; /* 64px相当 */
    display: block;
}