*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

@font-face {
  font-family: 'ryumin';
  src: url('font/ryumin.woff') format('woff');
}



/*PC*/
@media(min-width: 1441px) {

  /*スマホ版無効*/
  .forMobile {
    display: none;
    pointer-events: none;
  }

  html,
  body {
    font-family: ryumin;
    width: 1728px;
    display: block;
    height: 5745px;
    overflow-x: hidden;
    /* justify-content: center;
    align-items: center; */
    cursor: url('img/cursor.png'), url('img/cursor.webp'), auto;
  }

  .link2025 {
    position: absolute;
    left: 23.8px;
    top: 27.9px;
    width: 190.1px;
    height: 29.7px;
    cursor: url('img/cursor.png'), url('img/cursor.webp'), auto;
  }

  h1 {
    /* border: 2px dashed rgb(235, 135, 135); */
    position: relative;
    font-size: 53px;
    font-weight: normal;
    font-family: ryumin;
    color: black;
    writing-mode: horizontal-tb;
    transform: scale(0.9, 1);
    line-height: 1;
  }


  .p2 {
    font-size: 23px;
    line-height: 50px;
    transform: scale(0.9, 1);
    letter-spacing: 0em;
  }



  .event {
    /* border: 2px dashed rgb(235, 135, 135); */
    position: absolute;
    left: 135px;
    top: 125.2236px;
  }

  .eventtx {
    /* border: 2px dashed rgb(235, 135, 135); */
    position: absolute;
    left: 71.998px;
    top: 242.5px;
  }



  /*-------ptここから---------*/
  .pt1 {
    /* border: 2px dashed rgb(235, 135, 135); */
    position: absolute;
    left: 71.99px;
    top: 107.0px;
    width: 61.7px;
    height: 83.0px;
  }

  .pt2 {
    position: absolute;
    left: 150px;
    top: 184.2px;
    width: 184.4px;
    height: 3.6px;
  }

  .pt3 {
    position: absolute;
    left: 1514.3px;
    top: 83.7px;
    width: 163.8px;
    height: 179.7px;
  }

  .pt4 {
    position: absolute;
    left: 1047.6px;
    top: 320.8px;
    width: 607.3px;
    height: 353.0px;
  }

  .pt5 {
    position: absolute;
    left: -238.7px;
    top: 371.2px;
    width: 1260.5px;
    height: 1011.1px;
  }

  .pt6 {
    position: absolute;
    left: 1222.8px;
    top: 723.2px;
    width: 457.8px;
    height: 587.1px;
  }

  .pt7 {
    position: absolute;
    left: 1384.5px;
    top: 1032.4px;
    width: 75.0px;
    height: 102.92px;
  }

  .pt8 {
    position: absolute;
    left: 1526.1px;
    top: 1062.2px;
    width: 75.8px;
    height: 102.0px;
  }

  .pt9 {
    position: absolute;
    left: 1275.5px;
    top: 1092.6px;
    width: 113.8px;
    height: 102.3px;
  }

  .pt10 {
    position: absolute;
    left: 1421.9px;
    top: 1137.7px;
    width: 117px;
    height: 102.0px;
  }

  .pt11 {
    position: absolute;
    left: 921.1px;
    top: 1205.7px;
    width: 375.0px;
    height: 419.7px;
  }


  .pt12 {
    position: absolute;
    left: 1016.7px;
    top: 1516.7px;
    width: 187.4px;
    height: 34.6px;

  }


  .pt13 {
    position: absolute;
    left: 37.1px;
    top: 1416.0px;
    width: 570.0px;
    height: 706.6px;
  }


  .pt14 {
    position: absolute;
    left: 642.1px;
    top: 1563.9px;
    width: 331.3px;
    height: 338.0px;
  }


  .pt15 {
    position: absolute;
    left: 1378.3px;
    top: 1630.8px;
    width: 331.9px;
    height: 431.8px;
  }

  .pt16 {
    position: absolute;
    left: 1118.7px;
    top: 1978.5px;
    width: 259.0px;
    height: 273.4px;
  }

  .pt17 {
    position: absolute;
    left: 952.3px;
    top: 2183.0px;
    width: 161.9px;
    height: 132.1px;
  }

  .pt18 {
    position: absolute;
    left: 248.1px;
    top: 2253.9px;
    width: 753.3px;
    height: 400.5px;
  }

  .pt19 {
    position: absolute;
    left: 44.29px;
    top: 2531.7px;
    width: 158.3px;
    height: 185.8px;
  }

  .pt20 {
    position: absolute;
    left: 1225.3px;
    top: 2507.1px;
    width: 554.3px;
    height: 300.8px;
  }

  .pt21 {
    position: absolute;
    left: 312.1px;
    top: 2704.5px;
    width: 554.92px;
    height: 339.2px;
    z-index: 4
  }


  .pt22 {
    position: absolute;
    left: 0px;
    top: 2798.3px;
    width: 1728px;
    height: 2944.8px;
    z-index: -1
  }



  .pt23 {
    position: absolute;
    left: 53.7px;
    top: 2989.8px;
    width: 1662.1px;
    height: 378.5px;
  }

  .pt24 {
    position: absolute;
    left: 23px;
    top: 3393.5px;
    width: 1650.8px;
    height: 425.7px;
  }

  .pt25 {
    position: absolute;
    left: 47.07px;
    top: 3844.4px;
    width: 1647.3px;
    height: 415.5px;
  }

  .pt26 {
    position: absolute;
    left: 56.87px;
    top: 4285.0px;
    width: 1655.9px;
    height: 387.5px;
  }

  .pt27 {
    position: absolute;
    left: 17.6328px;
    top: 4697.7px;
    width: 1631.6px;
    height: 414.4px;
  }

  .pt28 {
    position: absolute;
    left: 52.1px;
    top: 5137.2px;
    width: 1661.7px;
    height: 442.4px;
  }

  /*-------ptここまで---------*/


  /*-------追加 花咲アニメーション---------*/
  @keyframes hanasaka-anim {
    0% {
      transform: scale(0.0);
    }

    100% {
      transform: scale(1);
    }
  }

  .hanasaka {
    visibility: hidden;
    z-index: 2;
  }

  .hanasaka.is-animated1 {
    animation: hanasaka-anim 0.6s cubic-bezier(.15, .88, .54, .97);
    visibility: visible;
  }


  /*-------追加 線アニメーション用フッター--------*/
  /* 白い四角形 */
  .footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    /* 初期状態は画面いっぱい */
    background-color: white;
    z-index: -2;
    transition: height 1.5s cubic-bezier(0.42, 0, 0.58, 1), transform 0.3s ease;
    /* cubic-bezier(0.42, 0, 0.58, 1)は滑らかなイージング */
  }

  /* footerが画面下部15vhに縮小する状態 */
  .footer.shrink {
    height: 15vh;
    /* 高さを15vhに縮小 */
  }

  /* 非表示の状態 */
  .hidden {
    opacity: 0;
    /* 見えなくする */
    pointer-events: none;
    /* ユーザー操作を無効化 */
  }



  /* 背景画像 */
  .background {
    position: absolute;
    top: 0;
    left: 0;
    width: 1728px;
    height: 5745px;
    background-image: url('img/PCeventline16inch.png');
    /* 適切な背景画像を指定 */
    background-size: cover;
    background-position: center;
    z-index: -3;
    border: none;
  }
}


@media (max-width: 1440px) and (min-width: 800px) {

  /*スマホ版無効*/
  .forMobile {
    display: none;
    pointer-events: none;
  }

  html,
  body {
    font-family: ryumin;
    width: 1440px;
    display: block;
    height: 4785px;
    overflow-x: hidden;
    /* justify-content: center;
      align-items: center; */
  }

  h1 {
    /* border: 2px dashed rgb(235, 135, 135); */
    position: relative;
    font-size: 44px;
    font-weight: normal;
    font-family: ryumin;
    color: black;
    writing-mode: horizontal-tb;
    transform: scale(0.9, 1);
    line-height: 1;
  }

  .link2025 {
    position: absolute;
    left: 23.8px;
    top: 27.9px;
    width: 190.1px;
    height: 29.7px;
  }


  .p2 {
    font-size: 19px;
    line-height: 50px;
    transform: scale(0.9, 1);
    letter-spacing: 0em;
  }



  .event {
    /* border: 2px dashed rgb(235, 135, 135); */
    position: absolute;
    left: 117px;
    top: 105px;
  }

  .eventtx {
    /* border: 2px dashed rgb(235, 135, 135); */
    position: absolute;
    left: 60px;
    top: 170px;
  }



  /*-------ptここから---------*/
  .pt1 {
    /* border: 2px dashed rgb(235, 135, 135); */
    position: absolute;
    left: 60.88px;
    top: 90.2px;
    width: 51.5px;
    height: auto;
  }

  .pt2 {
    position: absolute;
    left: 124.5px;
    top: 155px;
    width: 153.7px;
    height: auto;
  }

  .pt3 {
    position: absolute;
    left: 1260.9px;
    top: 69.8px;
    width: 136.5px;
    height: auto;
  }

  .pt4 {
    position: absolute;
    left: 862.4px;
    top: 250.5px;
    width: 500px;
    height: auto;
  }

  .pt5 {
    position: absolute;
    left: -198.5px;
    top: 310.7px;
    width: 1050.4px;
    height: auto;
  }

  .pt6 {
    position: absolute;
    left: 1023.42px;
    top: 588.5px;
    width: 381.5px;
    height: auto;
  }

  .pt7 {
    position: absolute;
    left: 1158.24px;
    top: 846.2px;
    width: 63.2px;
    height: auto;
  }

  .pt8 {
    position: absolute;
    left: 1276.5px;
    top: 871.7px;
    width: 63.2px;
    height: auto;
  }

  .pt9 {
    position: absolute;
    left: 1067.3px;
    top: 896.4px;
    width: 94.8px;
    height: auto;
  }

  .pt10 {
    position: absolute;
    left: 1189.3px;
    top: 934.6px;
    width: 97.5px;
    height: auto;
  }

  .pt11 {
    position: absolute;
    left: 767.64px;
    top: 1003.7px;
    width: 313.7px;
    height: auto;
  }


  .pt12 {
    position: absolute;
    left: 847.25px;
    top: 1263.9px;
    width: 156.2px;
    height: auto;

  }


  .pt13 {
    position: absolute;
    left: 30.9px;
    top: 1180px;
    width: 475px;
    height: auto;
  }


  .pt14 {
    position: absolute;
    left: 535px;
    top: 1303.3px;
    width: 276.8px;
    height: auto;
  }


  .pt15 {
    position: absolute;
    left: 1149.5px;
    top: 1360px;
    width: 276px;
    height: auto;
  }

  .pt16 {
    position: absolute;
    left: 932.2px;
    top: 1648.7px;
    width: 216px;
    height: auto;
  }

  .pt17 {
    position: absolute;
    left: 793.6px;
    top: 1819.1px;
    width: 134.9px;
    height: auto;
  }

  .pt18 {
    position: absolute;
    left: 206.8px;
    top: 1878.2px;
    width: 627.7px;
    height: auto;
  }

  .pt19 {
    position: absolute;
    left: 37.3px;
    top: 2110px;
    width: 131.9px;
    height: auto;
  }

  .pt20 {
    position: absolute;
    left: 1021.5px;
    top: 2089.6px;
    width: 462px;
    height: auto;
  }

  .pt21 {
    position: absolute;
    left: 260.5px;
    top: 2254.1px;
    width: 462.4px;
    height: auto;
    z-index: 4
  }


  .pt22 {
    position: absolute;
    left: 0px;
    top: 2331.9px;
    width: 1440px;
    height: auto;
    z-index: -1
  }



  .pt23 {
    position: absolute;
    left: 44.7px;
    top: 2491.5px;
    width: 1385.2px;
    height: auto;
  }

  .pt24 {
    position: absolute;
    left: 16.6px;
    top: 2827.9px;
    width: 1375.7px;
    height: auto;
  }

  .pt25 {
    position: absolute;
    left: 39.2px;
    top: 3203.7px;
    width: 1372.8px;
    height: auto;
  }

  .pt26 {
    position: absolute;
    left: 47.3px;
    top: 3570.8px;
    width: 1379.9px;
    height: auto;
  }

  .pt27 {
    position: absolute;
    left: 14.6px;
    top: 3914.7px;
    width: 1359.7px;
    height: auto;
  }

  .pt28 {
    position: absolute;
    left: 43.4px;
    top: 4280px;
    width: 1384.7px;
    height: auto;
  }

  /*-------ptここまで---------*/


  /*-------追加 花咲アニメーション---------*/
  @keyframes hanasaka-anim {
    0% {
      transform: scale(0.0);
    }

    100% {
      transform: scale(1);
    }
  }

  .hanasaka {
    visibility: hidden;
    z-index: 2;
  }

  .hanasaka.is-animated1 {
    animation: hanasaka-anim 0.6s cubic-bezier(.15, .88, .54, .97);
    visibility: visible;
  }


  /*-------追加 線アニメーション用フッター--------*/
  /* 白い四角形 */
  .footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    /* 初期状態は画面いっぱい */
    background-color: white;
    z-index: -2;
    transition: height 1.5s cubic-bezier(0.42, 0, 0.58, 1), transform 0.3s ease;
    /* cubic-bezier(0.42, 0, 0.58, 1)は滑らかなイージング */
  }

  /* footerが画面下部15vhに縮小する状態 */
  .footer.shrink {
    height: 15vh;
    /* 高さを15vhに縮小 */
  }

  /* 非表示の状態 */
  .hidden {
    opacity: 0;
    /* 見えなくする */
    pointer-events: none;
    /* ユーザー操作を無効化 */
  }



  /* 背景画像 */
  .background {
    position: absolute;
    top: 0;
    left: 0;
    width: 1440px;
    height: 4785.9px;
    background-image: url('img/PCeventline13inch.png');
    /* 適切な背景画像を指定 */
    background-size: cover;
    background-position: center;
    z-index: -3;
    border: none;
  }

}


/*mobile*/
@media(max-width: 800px) {

  /*PC版無効*/
  .forPC {
    display: none;
    pointer-events: none;
  }

  /*トップページ戻る*/
  .link2025 {
    position: fixed;
    left: 3%;
    top: 3%;
    width: 152.08px;
    height: 23.76px;
    cursor: pointer;
    z-index: 10;
    cursor: url('img/cursor13.webp'), auto;
  }

  h1 {
    position: absolute;
    font-size: 28px;
    font-weight: normal;
    font-family: ryumin;
    color: black;
    writing-mode: horizontal-tb;
    transform: scale(0.9, 1);
    line-height: 1;
    letter-spacing: -0.05em;

    width: 100%;
    left: -5.5%;
    bottom: 0%;
  }

  .p1 {
    font-size: 17px;
    line-height: 29px;
    transform: scale(0.9, 1);
    letter-spacing: -0.05em;
  }


  body {
    font-family: ryumin;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    /*background: url('img_event/スマホenent線.png') no-repeat center center fixed;*/
    position: absolute;

    /*height: 240svh;/*余白消す用*/
  }

  .content {
    position: relative;
    width: 100svw;
    margin: 0 auto;
    /* 中央揃え */
    height: 100%;
    /*background-color: rgb(255, 255, 255);*/
    overflow: hidden;
  }

  .responsive-container {
    width: 100svw;
    /* ビューポート幅いっぱい */
    /*aspect-ratio: 430 / 9217.583;*/
    /* 比率を維持 */
    /*background: linear-gradient(90deg, #3498db, #9b59b6); /* テスト用背景色 */
    position: relative;
    /* 子要素の配置基準 */
    overflow: hidden;
    /* 必要に応じて隠す */

    height: 2091.68svw;

    background-image: url('img/event_mobile/スマホenent線.png');
    background-size: cover;

    z-index: 0;
  }


  /*-----------event--------------*/
  .events {
    top: 0.86498%;
    left: 4.45962svw;
    position: absolute;
    width: 31.45238svw;
    height: 0.501424%;
  }

  .ev1 {
    top: 0%;
    left: 0%;
    width: 8.05802svw;
    height: auto;
    position: absolute;
  }

  .ev2 {
    top: calc(96/107.25 * 100%);
    left: calc(112/314.5 * 100%);
    width: 19.81021svw;
    height: auto;
    position: absolute;
  }

  .event {
    bottom: calc(17/107.25 * 100%);
    left: calc(113/314.5 * 100%);
    width: 100vw;
    height: 100%;
    position: absolute;
  }


  /*tx*/
  .eventtx {
    top: 2.228477%;
    left: 0svw;
    width: 100vw;
    position: absolute;
  }

  /*hanasaka*/
  @keyframes hanasaka-anim {
    0% {
      transform: scale(0.0);
    }

    100% {
      transform: scale(1);
    }
  }

  .hanasaka {
    visibility: hidden;
    z-index: 1;
  }

  .hanasaka.is-animated1 {
    animation: hanasaka-anim 0.6s cubic-bezier(.15, .88, .54, .97);
    visibility: visible;
  }


  /*pt*/

  .pt1 {
    top: .108465%;
    left: 75.43134svw;
    width: 20.912svw;
    height: auto;
    position: absolute;
  }

  .pt2 {
    top: 9.523989%;
    left: -21.18986svw;
    width: 105.40303svw;
    height: auto;
    position: absolute;
  }

  .pt3 {
    top: 19.499186%;
    left: 60.0528svw;
    width: 35.70807svw;
    height: auto;
    position: absolute;
  }

  .pt4 {
    top: 21.353371%;
    left: 34.26761svw;
    width: 27.83232svw;
    height: auto;
    position: absolute;
  }

  .pt5 {
    top: 22.394071%;
    left: 18.45583svw;
    width: 17.40006svw;
    height: auto;
    position: absolute;
  }

  .pt6 {
    top: 26.768589%;
    left: 3.76755svw;
    width: 36.82228svw;
    height: auto;
    position: absolute;
  }

  .pt7 {
    top: 40.461189%;
    left: 14.71047svw;
    width: 101.17045svw;
    height: auto;
    position: absolute;
  }

  .pt8 {
    top: 46.72085%;
    left: -0.15882svw;
    width: 100svw;
    height: auto;
    position: absolute;
  }

  /*in*/

  .in1 {
    top: 2.857453%;
    left: 4.08357svw;
    width: 91.83285svw;
    height: auto;
    position: absolute;
  }

  /*goods*/

  .in2 {
    top: 5.890158%;
    left: 21.84893svw;
    width: 70.69891svw;
    height: auto;
    position: absolute;
  }

  .in3 {
    top: 8.588149%;
    left: 40.3252svw;
    width: 34.33172svw;
    height: auto;
    position: absolute;
  }

  /*radio*/
  .radio {
    top: 13.643528%;
    left: 3.70729svw;
    width: 93.4194svw;
    height: 5.2218%;
    position: absolute;
  }

  .in4 {
    top: 0%;
    left: 0%;
    width: 93.4194svw;
    height: auto;
    position: absolute;
  }

  .radioicon {
    top: 0%;
    left: 0svw;
    width: 100%;
    height: 100%;
    position: absolute;
  }

  .in5 {
    top: calc(682/1102 * 100%);
    left: calc(130/934 * 100%);
    width: 24.05811svw;
    height: auto;
    position: absolute;
  }

  .in6 {
    top: calc(556/1102 * 100%);
    left: calc(359/934 * 100%);
    width: 15.77777svw;
    height: auto;
    position: absolute;
  }

  .in7 {
    top: calc(778/1102 * 100%);
    left: calc(436/934 * 100%);
    width: 24.51898svw;
    height: auto;
    position: absolute;
  }

  .in8 {
    top: calc(618/1102 * 100%);
    left: calc(657/934 * 100%);
    width: 15.77777svw;
    height: auto;
    position: absolute;
  }


  /*stamp*/

  .in9 {
    top: 23.408124%;
    left: 2.09836svw;
    width: 59.84357svw;
    height: auto;
    position: absolute;
  }

  .in10 {
    top: 29.028276%;
    left: 4.0672svw;
    width: 100.94818svw;
    height: auto;
    position: absolute;
  }

  .in11 {
    top: 36.563458%;
    left: -3.17372svw;
    width: 99.80616svw;
    height: auto;
    position: absolute;
  }

  .in12 {
    top: 43.957149%;
    left: 3.00734svw;
    width: 93.98531svw;
    height: auto;
    position: absolute;
  }

  .in13 {
    top: 47.865959%;
    left: 3.00734svw;
    width: 93.98531svw;
    height: auto;
    position: absolute;
  }

  .in14 {
    top: 56.518554%;
    left: 3.00734svw;
    width: 93.98531svw;
    height: auto;
    position: absolute;
  }

  .in15 {
    top: 64.851281%;
    left: 4.27726svw;
    width: 91.4554svw;
    height: auto;
    position: absolute;
  }

  .in16 {
    top: 73.542851%;
    left: 4.27226svw;
    width: 91.4554svw;
    height: auto;
    position: absolute;
  }

  .in17 {
    top: 82.024827%;
    left: 3.00734svw;
    width: 93.9853svw;
    height: auto;
    position: absolute;
  }

  .in18 {
    top: 90.7392%;
    left: 3.09709svw;
    width: 93.8955svw;
    height: auto;
    position: absolute;
  }



  /*-------追加 線アニメーション用フッター--------*/
  /* 白い四角形 */
  .footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    /* 初期状態は画面いっぱい */
    background-color: white;
    z-index: -2;
    transition: height 1.5s cubic-bezier(0.42, 0, 0.58, 1), transform 0.3s ease;
    /* cubic-bezier(0.42, 0, 0.58, 1)は滑らかなイージング */
  }

  /* footerが画面下部15vhに縮小する状態 */
  .footer.shrink {
    height: 15vh;
    /* 高さを15vhに縮小 */
  }

  /* 非表示の状態 */
  .hidden {
    opacity: 0;
    /* 見えなくする */
    pointer-events: none;
    /* ユーザー操作を無効化 */
  }

}