@charset "UTF-8";


.visual-header {
    position: relative;
    width: 100%;
    height: 660px;
    background-color: #e9a9b5;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
}


.curve-svg {
    position: absolute;
    top: -50px; 
    left: 49%;
    transform: translateX(-50%);
    width: 100%;
    height: 300px;
    z-index: 5;
    pointer-events: none;
}


/* カーブ文字見える & 太く */
.curve-svg text {
    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
    font-size: 1.5rem;         
    font-weight: 800;        
    fill: #ffffff;
    letter-spacing: 0.22em; 
}


/* --- 中央ロゴ（そのまま） --- */
.center-logo img {
    width: 430px;
    z-index: 10;
    animation: yurayura 3s ease-in-out infinite;
}

@keyframes yurayura {
    0%   { transform: rotate(0deg) translateY(0); }
    50%  { transform: rotate(2deg) translateY(-6px); }
    100% { transform: rotate(0deg) translateY(0); }
}


/* --- 左側縦文字（右へ移動 & フォント揃え） --- */
.side-text {
    position: absolute;
    color: #fff;
    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif; 
    font-size: 1rem;   
    font-weight: 700;
    opacity: 0.9;
    letter-spacing: 0.18em;

    left: 26%;   
    top: 55%;   

    transform: rotate(-90deg) translateX(-50%) translateY(20px);
    transform-origin: left top;

    z-index: 6;
}

/* ---------------------------------- */
/*  ヘッダーのキャッチコピー          */
/* ---------------------------------- */
.header-catch {
    position: absolute;
    bottom: 40px;        
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: #fff;
    font-size: 1rem;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: 0.04em;
    z-index: 12;
    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif; 
}



/* ---------------------------------- */
/* 投票の流れセクション全体 */



:root {
    --pink-bg: white;
    --pink-main:#da4968;
    --pink-dark: #da4968;
    --text-main: #333;
  }
  
  body {
    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
    background: #fff;
    margin: 0;
  }
  
  .schedule-section {
    background: var(--pink-bg);
    padding: 50px 20px;
    text-align: center;
  }
  
  .section-title {
    font-size: 40px;
    font-weight: 700;
    color: var(--pink-dark);
    margin-bottom: 20px;
    letter-spacing: 1px;


  }

  .english-title {
    font-size: 14px;
    font-weight: 400;
    color: var(--pink-dark); /* ← 日本語タイトルと同じ色 */
    margin-top: -25px;       /* ← 近づけたい場合 */
    margin-bottom: 40px;
    letter-spacing: 1px;
}


.cards {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}


.card {
    background: #fff;
    width: 300px;
    padding: 40px 25px;
    border-radius: 24px;
    position: relative;
    /* 影を濃くした */
    box-shadow: 0 6px 20px rgba(0,0,0,0.18);
    text-align: center;
}


.card-tag {
    position: absolute;
    top: -15px;
    left: 20px;
    background: var(--pink-main);
    color: #fff;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    font-size: 17px;
}

.card-date {
    font-size: 16px;
    font-weight: 700;
    color: var(--pink-main);
    margin-bottom: 18px;
   
}


.card-img {
    width: 110px;
    height: 110px;         /* ← 高さも揃えてサイズ一定に */
    object-fit: contain;   /* ← 元画像の比率崩さず中央配置 */
    margin: 0 auto 18px;
    display: block;
}


.card-text {
    font-size: 15px;
    color: #555;
    line-height: 1.7;
    margin-bottom: 20px;
}


.card-divider {
    width: 100%;
    height: 1px;
    background: #ddd;
    margin: 15px 0 20px;
}

/* ボタン */
.card-btn {
    display: inline-block;
    padding: 12px 18px;
    background: var(--pink-main);
    color: #fff;
    font-weight: 600;
    border-radius: 30px;
    text-decoration: none;
    transition: 0.25s;
    
}

.card-btn:hover {
    background: var(--pink-dark);
}


.mild-highlight {
    color: #da4968;   /* ピンク強調 */
    font-weight: 700; /* 少しだけ太字 */
}


.schedule-section {
    background: var(--pink-bg);
    padding: 50px 20px;
    text-align: center;
    margin-top: 80px;   /* ← これを追加して余白を作る */
}

.card {
    background: #fff;
    width: 300px;
    padding: 40px 25px;
    border-radius: 24px;
    position: relative;
    box-shadow: 0 6px 20px rgba(0,0,0,0.18);
    text-align: center;

    display: flex;
    flex-direction: column;
}

/* 説明文の部分の余白で全体の高さを調整 */
.card-text {
    margin-bottom: 20px;
    flex-grow: 1;  
}

/* 線 & ボタンは下に固定される */
.card-divider {
    margin: 15px 0 20px;
}



  

/* ---------------------------------- */
/* デザイン強化：右下固定・投票ボタン */
/* ---------------------------------- */
.fixed-vote-button {
    position: fixed;
    bottom: 26px;

    /* ← 左に寄せる（前より右から遠ざける） */
    right: 60px;

    /* グラデーションで高級感 */
    background: linear-gradient(135deg,  #e9a9b5  0%,  #f3b7c3 100%);
    color: #ffffff;

    padding: 22px 36px;
    border-radius: 50px;

    /* 白枠を2重にして存在感UP */
    border: 4px solid #ffffff;
    outline: 2px solid rgba(255, 255, 255, 0.9);
    outline-offset: -6px;

    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
    font-size: 1.28rem;
    font-weight: 800;
    text-decoration: none;

    /* 影も2段で立体感 */
    box-shadow:
        0 5px 12px rgba(0,0,0,0.25),
        0 10px 22px rgba(0,0,0,0.18);

    display: flex;
    align-items: center;
    gap: 10px;

    z-index: 9999;

    transition: 
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease,
        outline-offset 0.25s ease;
}

.vote-icon {
    font-size: 1.3rem;
    margin-top: -2px;
}


.fixed-vote-button:hover {
    transform: translateY(-7px) scale(1.07);

    background: linear-gradient(135deg, #f4bec8 0%, #e9a9b5 100%);

    box-shadow:
        0 8px 18px rgba(0,0,0,0.28),
        0 14px 32px rgba(0,0,0,0.22);

    outline-offset: -3px;  /* 白縁がふわっと広がる */
}



/* ---------------------------------- */
/* 投票方法（houhou セクション） - 統一デザイン */
/* ---------------------------------- */

.houhou {
    width: 100%;
    background: #ffffff; /* ← 白に統一 */
    padding: 120px 20px;
    text-align: center;
    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
}



/* ---------------------------------- */
/* 投票方法（houhou） - おしゃれ統一版 */
/* ---------------------------------- */

/* -----------------------------
   STEPカード本体
------------------------------ */
.houhou .step-card {
    background: #fff;
    border-radius: 28px;
    padding: 60px 50px;
    max-width: 900px;      /* 横長カード */
    margin: 50px auto 0 auto;
    text-align: center;
    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
    box-shadow: 0 8px 28px rgba(0,0,0,0.12); /* 柔らかい影 */
}

/* -----------------------------
   STEP番号（文字だけ・赤文字）
------------------------------ */
.houhou .step-section h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #da4968;       /* 赤文字 */
    margin-bottom: 20px;
}

/* -----------------------------
   STEPタイトル下の横線
------------------------------ */
.houhou .step-section h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #da4968;
    margin-bottom: 20px;
    position: relative;
}

.houhou .step-section h3::after {
    content: "";
    display: block;
    width: 180px;          /* 横線を長めに */
    height: 4px;
    background: #da4968;
    margin: 8px auto 0 auto; /* 中央揃え */
    border-radius: 2px;
}

/* -----------------------------
   STEP説明文
------------------------------ */
.houhou .step-section p {
    font-size: 1rem;
    line-height: 1.7;
    color: #555;
    margin-bottom: 30px;
    text-align: center;
}

/* -----------------------------
   Web投票 / シール投票 横並び
------------------------------ */
.houhou .vote-row {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 30px;
}


.houhou .vote-block {
    flex: 1;
    min-width: 250px;
    text-align: center;
}


.houhou .vote-block a.webform {
    display: inline-block;
    margin-top: 10px;
}


.houhou .vote-block img {
    display: block;
    margin: 10px auto 0 auto;
    width: 100%;
    max-width: 200px;
    border-radius: 16px;
}



/* ---------------------------------- */
/* 「投票はこちらから」ボタン         */
/* ---------------------------------- */


.houhou .webform {
    display: inline-block;
    padding: 22px 36px;

    background: linear-gradient(135deg,  #e9a9b5 0%,  #f3b7c3 100%);
    color: #ffffff;
    text-decoration: none;

    border-radius: 50px;

    border: 4px solid #ffffff;
    outline: 2px solid rgba(255, 255, 255, 0.9);
    outline-offset: -6px;

    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: 0.02em;

    box-shadow:
        0 5px 12px rgba(0,0,0,0.25),
        0 10px 22px rgba(0,0,0,0.18);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease,
        outline-offset 0.25s ease;
}

.houhou .webform:hover {
    transform: translateY(-7px) scale(1.07);

    background: linear-gradient(135deg, #f4bec8 0%, #e9a9b5 100%);

    box-shadow:
        0 8px 18px rgba(0,0,0,0.28),
        0 14px 32px rgba(0,0,0,0.22);

    outline-offset: -3px;
}






/* ---------------------------------- */
/* 模擬店一覧（itirann）デザイン調整版 */
/* ---------------------------------- */

.itirann {
    background: #e9a9b5; 
    padding: 160px 20px 140px;
    border-top-left-radius: 160px;
    border-top-right-radius: 160px;
    border-bottom-left-radius: 160px;
    border-bottom-right-radius: 160px;

    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
    color: #ffffff;
    text-align: center;
}

.itirann .hand-title {
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 16px;
    letter-spacing: 0.05em;
}



/* 下の固定ボタンと干渉しない余白 */
.itirann {
    padding-bottom: 220px;
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
    .itirann {
        border-top-left-radius: 100px;
        border-top-right-radius: 100px;
        padding: 120px 20px 200px;
    }

    .itirann .hand-title {
        font-size: 2.2rem;
    }

    .itirann .nakaniwamap {
        width: 94%;
        border-radius: 28px;
        margin-top: 40px;
    }
}

/* 模擬店MAP 白背景カード */
.map-card {
    background: #ffffff;
    width: 100%;                
    max-width: 1200px;          
    margin: 60px auto 0 auto;
    padding: 40px 30px;

    border-radius: 36px;
    box-shadow: 
        0 8px 20px rgba(0,0,0,0.12),
        0 4px 10px rgba(0,0,0,0.08);

    display: flex;
    justify-content: center;
}


.nakaniwamap {
    width: 100%;      /* ← カード幅にフィット */
    max-width: 1100px; /* ← めっちゃ大きく表示できる */
    border-radius: 20px;
    display: block;
}




/* ---------- itirann 全体 ---------- */
.itirann {
    background: #e9a9b5; 
    padding: 80px 20px 160px;
    text-align: center;
    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
    color: #fff;
}

.itirann .english-title {
    font-size: 0.9rem;
    font-weight: 500;
    color:white;
    opacity: 0.85;
    margin-bottom: 80px;  
    letter-spacing: 0.08em;
}

/* MAP白カード */
.map-card {
    background: #ffffff;
    width: 92%;
    max-width: 1100px;
    margin: 0 auto 36px auto;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.12);
    display: flex;
    justify-content: center;
}

.nakaniwamap {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

/* 一覧 白カード */
.list-card {
    background: #ffffff;
    width: 92%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 28px;
    border-radius: 12px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.12);
    color: #222;
}

/* 2カラムグリッド */
.list-grid {
    display: flex;
    gap: 30px;
    justify-content: space-between;
}

.list-grid .col {
    width: 50%;
}

/* 各エリアブロック */
.area-block {
    margin-bottom: 26px;
    padding: 12px 8px;
    border-radius: 8px;
    background: transparent;
}

/* ▼ タイトル：背景なし、文字色＝エリア色、下線も同色 */
.area-title {
    display: inline-block;
    font-size: 18px;
    font-weight: 800;
    padding: 4px 0;
    margin-bottom: 10px;
    color: inherit; /* 各エリア指定色を継承 */
    border-bottom: 4px solid currentColor; /* 文字色と同じ色の下線 */
}

/* 店舗リスト */
.shop-list {
    list-style: none;
    padding: 10px 6px 0 6px;
    margin: 0;
}

.shop-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 6px;
    border-bottom: 1px solid rgba(0,0,0,0.04);
}

/* 番号バッジ（背景がエリア色） */
.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 28px;
    padding: 0 6px;
    font-weight: 800;
    color: #fff;
    border-radius: 6px;
    font-size: 14px;
    flex-shrink: 0;
}

/* 店舗名 */
.shop-name {
    color: #111;
    font-size: 15px;
    line-height: 1.4;
    text-align: left;
}

/* -----------------------
   エリア別カラー指定
------------------------ */

/* 西エリア */
.area-block.west { color: #ce8281; }
.area-block.west .badge { background: #ce8281; }

/* 中央西エリア */
.area-block.central-west { color: #d5bc78; }
.area-block.central-west .badge { background: #d5bc78; }

/* 中央東エリア */
.area-block.central-east { color: #8ec3e2; }
.area-block.central-east .badge { background: #8ec3e2; }

/* ステージエリア */
.area-block.stage { color: #82be9c; }
.area-block.stage .badge { background: #82be9c; }

/* 東エリア */
.area-block.east { color: #859cc9; }
.area-block.east .badge { background: #859cc9; }

/* 南エリア */
.area-block.south { color: #ca80a0; }
.area-block.south .badge { background: #ca80a0; }

/* -----------------------
   レスポンシブ
------------------------ */
@media (max-width: 900px) {
    .list-grid { flex-direction: column; }
    .list-grid .col { width: 100%; }
    .map-card { margin-bottom: 18px; }
    .list-card { padding: 20px; }
    .shop-list li { padding: 10px 4px; }
}

/* エリア間の間隔微調整 */
.list-card .area-block + .area-block {
    margin-top: 14px;
}


/* MAP全体 */
.map-wrapper {
    position: relative;
    width: 100%;
  }
  
  /* MAP画像 */
  .nakaniwamap {
    width: 100%;
    border-radius: 24px;
  }
  


  
  /* 吹き出しアニメーション */
  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
  }
 

 
  
  .hamburger {
    position: fixed;
    top: 25px;
    right: 25px;
    width: 32px;
    height: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    z-index: 2000;
  }
  
  .hamburger span {
    display: block;
    height: 4px;
    background:white; /* ピンク */
    border-radius: 3px;
  }

  
  
  .cute-menu {
    position: fixed;
    top: 80px;
    right: -380px; /* 初期は隠す */
    width: 320px;
    background: #ffffff;
    border: 4px solid #da4968;;
    border-radius: 24px;
    padding: 24px;
    transition: 0.4s ease;
    z-index: 1500;
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
  }
  
  .cute-menu.open {
    right: 20px; 
  }
  
  .menu-title {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #da4968;;
    margin-bottom: 16px;
    letter-spacing: 1px;
  }
  
  .cute-menu ul {
    padding: 0;
    margin: 0;
    list-style: none;
  }
  
  .cute-menu li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid #ffd6e3;
  }
  
  .cute-menu li:last-child {
    border-bottom: none;
  }
  

  .jp {
    display: block;
    font-size: 17px;
    font-weight: 600;
    color: #da4968;;
  }
  
 
  .en {
    display: block;
    font-size: 11px;
    color: #444;
    font-weight:300;
  }
  

  .check {
    font-size: 18px;
    color:#da4968;;
    font-weight: bold;
  }


  :focus {
    outline: none !important;
  }

  .menu-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none; /* 下線消す */
    color: inherit;
  }

  .menu-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none; /* 下線消す */
    color: inherit;
    width: 100%;           /* li幅いっぱいに */
  }
  


html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
    scroll-behavior: auto; /* 自動スクロール防止 */
  }
  
  /* 画像・SVG の高さを確定 */
  img, svg {
    display: block;
    max-width: 100%;
    height: auto;
  }
  
  /* フェードイン用初期状態 */
  .fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  }
  
  #section-result {
    text-align: center;       /* 中央揃え */
    padding-top: 80px;        /* 上に余白（模擬店一覧との間隔） */
    padding-bottom: 60px;     /* 下に余白 */
  }
  
  .section-title {
    font-size: 40px;
    font-weight: 700;
    color: var(--pink-dark);
    margin-bottom: 20px;
    letter-spacing: 1px;
  }
  
  .english-title {
    font-size: 14px;
    font-weight: 400;
    color: var(--pink-dark);
    margin-top: -25px; 
    margin-bottom: 40px;
    letter-spacing: 1px;
  }
  



  
.kekkahappyo {
    width: 80%;           
    max-width: 500px;  
    display: block;
    margin: 20px auto;
    border-radius: 12px;   
    box-shadow: 0 4px 10px rgba(0,0,0,0.15); 
  }
  

  .map-wrapper {
    position: relative;
    z-index: 10; /* MAP を上に */
}

.area-button {
    z-index: 11; /* MAPより上、でも一覧より下にはみ出さない */
    pointer-events: auto;
}

.list-card, .itirann {
    position: relative;
    z-index: 5; /* 一覧のほうが上にくるように */
}



  /* ---------------------------------- */
/* スマホ（最大幅768px） */
/* ---------------------------------- */
@media screen and (max-width: 768px) {
    /* ヘッダー */
    .visual-header {
      height: 500px;
    }
    .curve-svg text {
      font-size: 1.2rem;
    }
    .center-logo img {
      width: 300px;
    }
    .side-text {
      font-size: 0.85rem;
      left: 22%;
      top: 50%;
    }
    .header-catch {
      font-size: 0.9rem;
      bottom: 20px;
    }
  
    
    .section-title {
      font-size: 28px;
      margin-bottom: 16px;
    }
    .english-title {
      font-size: 12px;
      margin-top: -18px;
      margin-bottom: 30px;
    }
  
 
    .houhou .step-card {
      padding: 40px 25px;
      max-width: 90%;
    }
  

    .itirann {
      padding: 100px 16px 140px;
    }
    .itirann .hand-title {
      font-size: 2rem;
    }
    .itirann .english-title {
      font-size: 0.8rem;
      margin-bottom: 50px;
    }
  
    /* MAPカード */
    .map-card, .list-card {
      width: 100%;
      padding: 20px;
      margin-bottom: 24px;
    }
    .list-grid {
      flex-direction: column;
    }
    .list-grid .col {
      width: 100%;
    }
  
    /* 固定ボタン */
    .fixed-vote-button {
      bottom: 20px;
      right: 20px;
      padding: 18px 28px;
      font-size: 1rem;
    }
  }


  /* ---------------------------------- */
  /* タブ・iPad（最大幅1024px） */
  /* ---------------------------------- */
  @media screen and (max-width: 1024px) and (min-width: 769px) {
    /* ヘッダー */
    .visual-header {
      height: 580px;
    }
    .curve-svg text {
      font-size: 1.4rem;
    }
    .center-logo img {
      width: 360px;
    }
    .side-text {
      font-size: 0.95rem;
      left: 24%;
      top: 52%;
    }
    .header-catch {
      font-size: 0.95rem;
      bottom: 30px;
    }
  
    /* セクションタイトル */
    .section-title {
      font-size: 32px;
      margin-bottom: 18px;
    }
    .english-title {
      font-size: 13px;
      margin-top: -20px;
      margin-bottom: 35px;
    }
  
    /* 投票方法・カード */
    .houhou .step-card {
      padding: 50px 30px;
      max-width: 95%;
    }
  
    /* 模擬店一覧 */
    .itirann {
      padding: 120px 18px 150px;
    }
    .itirann .hand-title {
      font-size: 2.4rem;
    }
    .itirann .english-title {
      font-size: 0.85rem;
      margin-bottom: 60px;
    }
  
    /* MAPカード */
    .map-card, .list-card {
      width: 96%;
      padding: 24px;
      margin-bottom: 30px;
    }
    .list-grid {
      flex-wrap: wrap;
      gap: 20px;
    }
    .list-grid .col {
      width: 48%;
    }
  
    /* 固定ボタン */
    .fixed-vote-button {
      bottom: 22px;
      right: 30px;
      padding: 20px 32px;
      font-size: 1.1rem;
    }


  .side-text {
    font-size:15px;   /* 少し小さく */
    left: 150px;     
    bottom: 40px;     /* 今より少し左に寄せる（値は必要に応じて調整） */
  }

  .curve-svg text {
    font-size: 18px;
    top: 400px;
  }


  .header-catch {
    font-size:13px; 
    top:460px;  
  }
 
  }
 
 

@media screen and (max-width: 768px) {

   
    .center-logo img {
      width: 265px;   
    }
  
    .header-catch {
      font-size:10px; 
      top:370px;  
    }
  

  
    
    .curve-svg text {
      font-size: 16px;
      top: 400px;
    }
  

    .side-text {
      font-size: 10px;  
      left: 18px;     
      bottom: 50px;     
    }
  
  
  .curve-svg {
    position: absolute;
    top: -50px; /* ← さらに下げた（前:120px） */
    left: 49%;
    transform: translateX(-50%);
    width: 100%;
    height: 300px;
    z-index: 5;
    pointer-events: none;
}

}


/* ---------------------------------- */
/* スマホ（最大幅768px） */
/* ---------------------------------- */
@media screen and (max-width: 768px) {

    /* ハンバーガー位置 & 大きさ */
    .hamburger {
      top: 18px;
      right: 18px;
      width: 26px;
      height: 20px;
    }
  
    .hamburger span {
      height: 3px;
    }
  
    /* メニュー本体 */
    .cute-menu {
      top: 70px;
      right: -280px;  /* 開く前 */
      width: 240px;   /* ← かなり小さく */
      padding: 18px;
      border-width: 3px;
      border-radius: 18px;
    }
  
    .cute-menu.open {
      right: 12px;  /* スライド位置も調整 */
    }
  
    /* タイトル */
    .menu-title {
      font-size: 16px;
      margin-bottom: 12px;
    }
  
    /* リスト全体 */
    .cute-menu li {
      padding: 10px 0;
    }
  
    .jp {
      font-size: 14px;
    }
  
    .en {
      font-size: 10px;
    }
  
    .check {
      font-size: 16px;
    }
  }
  