/* ---------- スムーズスクロール ---------- */
html { scroll-behavior: smooth;}

.back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border: 1px solid #d2be3e;
    background: #1a2b5f;
    color: #fff;
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    font-size: 18px;
    text-decoration: none;

    /* 初期状態は非表示（ただし配置は維持） */
    opacity: 0;
    visibility: hidden;
    transition:
    opacity 0.3s ease,
    visibility 0.3s ease,
    transform 0.3s ease; /* ← hover時のふんわり動作用 */
}

/* 表示状態 */
.back-to-top.show {
    opacity: 0.9;
    visibility: visible;
}

.back-to-top:hover {
    opacity: 1;
    transform: scale(1.1);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* ---------- 見出し画像 ---------- */
/* セクション */
.heading_img_section{
    background-color: #FFF;     /* 仮置き */
}

.heading_img{
    width: 100vw;
}


/* ------------ テキストアニメーション ------------ */
.slideshow_caption_tag_text,
.slideshow_caption_main_text {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s ease;
}

/* 表示開始時の状態 */
.show {
  opacity: 1;
  transform: translateY(0);
}

/* サブテキスト用（タイプライター前は非表示） */
.slideshow_caption_sub_text {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.slideshow_caption_sub_text.visible {
  opacity: 1;
}
/* --- */


/* ------------ スクロールアニメーション ------------ */
/* h2見出し要素 */
.scroll_appear_h2{
    opacity: 0;
    position: relative;
    right:300px;
    transition: all .5s ease-in-out;
}

.scroll_appear_h2.active{
    opacity: 1;
    right:0;
}

/* ラッパー要素 */
.scroll_appear_wrapper{
    opacity: 0;
    position: relative;
    transition: all .5s ease-in-out;
}

.scroll_appear_wrapper.active{
    opacity: 1;
    right:0;
}






