@charset "UTF-8";
body {
    margin: 0;
    background-color: #24425e;
    display: flex;
    justify-content: center;
}

.container {
    max-width: 480px;
    width: 100%;
    background-color: #ffffff;
}

.container img {
    width: 100%;
    display: block;
}
/*エントリーボタン*/
.entry{
  position: relative;
  text-align: center;
}
.entry img.imagup{
  position: absolute;
  top:87%;
  left: 50%;
  width: 70%;
  transform: translate(-50%,-50%);
  color: #fff;
}
.about {
  position: relative;
  text-align: center;
}
.about img.imagup{
  position: absolute;
  top:88%;
  left: 50%;
  width: 70%;
  transform: translate(-50%,-50%);
  color: #fff;
}

.benefits-entry{
  position: relative;
  text-align: center;
}
.benefits-entry img.imagup{
  position: absolute;
  top:85%;
  left: 50%;
  width: 70%;
  transform: translate(-50%,-50%);
  color: #fff;
}



/*ページTOPボタン*/
#page-top-btn {
    /* 画面に固定する */
    position: fixed;
    bottom: 55px;
    right: 20px;
    z-index: 99;  /* 他の要素より手前に表示 */

    /* ボタンのデザイン */
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    width: 50px;
    height: 50px;
    border-radius: 50%; /* 円形にする */
    text-align: center;
    line-height: 50px;
    font-size: 24px;
    font-weight: bold;
    text-decoration: none; 
    cursor: pointer;
    font-size: 12px;

    /* 最初は非表示にしておく */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s; 
}

/* JavaScriptで追加されるクラス */
#page-top-btn.visible {
    /* ボタンを表示する */
    opacity: 1;
    visibility: visible;
}
/* ポップアップ */
#popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* 透過50%の黒背景 */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 1;
    transition: opacity 0.3s ease;
}

#popup-window {
    width: 300px;
    height: 300px;
    background-color: #24425e; /* ポップアップの色 */
    border-radius: 30px;      /* 角丸 */
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif; /* フォント指定 */
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#popup-window h2 {
    font-size: 24px;
    font-weight: bold;
    color: #ffffff;
    margin: 0 0 10px;
}

#popup-window p {
    font-size: 14px;
    color: #ffffff;
    margin: 0 0 30px;
    line-height: 1.5;
}

.popup-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    height: 50px;
    border-radius: 25px;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    border: none;
    box-sizing: border-box;
    transition: opacity 0.3s ease;
}

.popup-btn:hover {
    opacity: 0.8;
}

.line-btn {
    background-color: #0ec655;
    color: white;
    margin-bottom: 10px;
}

.close-btn {
    background-color: white;
    color: #020144;
    border: 1px solid #020144;
    font-size: 14px;
}

/* ポップアップを非表示にするクラス */
#popup-overlay.is-hidden {
    opacity: 0;
    pointer-events: none; /* 非表示中はクリックできないようにする */
}

/*-------------------------------------------
  追従バナー
-------------------------------------------*/
#fixed-banner {
    /* 基本的なデザイン */
    height: 50px;
    background-color: rgba(14, 198, 85, 0.6); /* #E52580の透過80% */
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-decoration: none;
    font-family: 'Noto Sans JP', sans-serif;

    /* 画面下部へ固定 */
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 999; /* 他の要素より手前、ポップアップよりは後ろ */

    /* テキストを中央揃え */
    display: flex;
    justify-content: center;
    align-items: center;

    /* 表示/非表示のアニメーション */
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s, visibility 0.3s;
}

/* JavaScriptでこのクラスを付け外しして表示を制御 */
#fixed-banner.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* img3内のリンク */
.image-map-container {
    position: relative;
}

.image-map-container img {
    display: block; /* 画像下の余白を防ぐ */
    width: 100%;
    height: auto;
}

.image-map-container .map-link {
    position: absolute;
    /* 元の画像のサイズを元に、パーセンテージで位置とサイズを指定 */
    left: 15%; 
    top: 86%;  
    width: 73%; 
    height: 6.5%;

    /* クリック範囲の可視化 */
    /* background-color: rgba(255, 0, 0, 0.3);*/
}