      html,
      body {
        margin: 0;
        padding: 0;
        width: 100%;
        background-color: #fff;
        -webkit-overflow-scrolling: touch;
      }

      @media screen and (min-width: 985px) {
        .sp-only {
          display: none;
        }

        .br-pc {
          display: none;
        }
      }

      @media screen and (min-width: 768px) {
        .sp-only_b {
          display: none;
        }
      }

      @media screen and (max-width: 984px) {
        .pc-only {
          display: none;
        }

        .br-sp {
          display: none;
        }
      }

      @media screen and (max-width: 768px) {
        .pc-only_b {
          display: none;
        }
      }



      /* ==========================================
         上部：固定メニューバー（最上部に固定）
         ========================================== */
      .menu-bar {
        width: 100%;
        position: sticky;
        top: 0;
        z-index: 100;
        background-image: url(../../img/menu/menuback.png);
        background-repeat: repeat-x;
      }

      .menu--bar {
        display: flex;
        flex-direction: row;
        justify-content: center;
        width: 80%;
        max-width: 1260px;
        padding: 10px 100px;
      }

      ul {
        list-style: none;
        padding: 0;
        margin: 0 auto;
      }

      li img {
        max-width: 100%;
      }

      /* nav */
      .header {
        background-image: url('../../images/menuback.webp');
        background-repeat: repeat-x;
        position: sticky;
        top: 0;
        z-index: 100;
      }

      .navWrap {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 20px;
        width: 100%;
        height: 100px;
        max-width: 1140px;
        margin: 0 auto;
      }

      .logo a {
        text-decoration: none;
      }

      .logo img {
        width: 100%;
        max-width: 280px;
      }

      .nav-list {
        display: flex;
        list-style: none;
        gap: 15px;
        margin: 0;
        padding: 0;
      }

      .nav-item a {
        text-decoration: none;
      }

      .nav-item img {
        width: 100%;
        max-width: 160px;
      }



      /* ==========================================
         背景変化水面コンテナ
         ========================================== */
      .content-bg-container {
        position: fixed;
        top: 100px;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        /* height: calc(100vh - 100px); を削除 */
        z-index: 1;
        overflow: hidden;
      }

      .water-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        pointer-events: none;
        filter: url(#water-wave);
        transform: scale(1.05);
      }

      .bg-yellow-water {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 1;
        z-index: 1;
      }

      .bg-orange-water {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        z-index: 2;
      }

      .content-bg-container {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        z-index: 1;

        filter: url(#water-wave);

        overflow: hidden;
      }

      .bg-layer {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: bottom;
        background-repeat: no-repeat;

        transform: scale(1.1);
        -webkit-transform: scale(1.1);
        will-change: transform;
      }

      @media screen and (max-width: 767px) {
        .content-bg-container {}

        .bg-layer {
          transform: scale(1.1) !important;
          -webkit-transform: scale(1.1) !important;
        }
      }


      /* ==========================================
         メインコンテンツのラッパー
         ========================================== */
      .main-content-wrapper {
        position: relative;
        width: 100%;
        max-width: 1170px;
        margin: 0 auto;
        z-index: 10;
      }

      .titlebox {
        margin-top: 160px;
        margin-bottom: 80px;
      }

      .titlebox img {
        display: block;
        width: 47%;
        margin: 0 auto;
      }

      .content-body-white {
        width: 90%;
        margin: 0 auto 5em;
        background-color: #fff;
        box-sizing: border-box;
        padding: 50px 20px;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        text-align: center;
      }

      .innerWrap {
        width: 90%;
        margin: 0 auto;
        padding-top: 3em;
      }

      .hidden-svg {
        position: absolute;
        left: -9999px;
        top: 0;
        width: 1px;
        height: 1px;
        opacity: 0;
        overflow: hidden;
      }


      .lead-text {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 500;
        /* font-size: clamp(15px, calc(12.857px + 0.595vw), 20px); */
        font-size: clamp(14px, calc(13.143px + 0.238vw), 16px);
        color: #004980;
        line-height: 1.8;
        margin-bottom: 3em;
        width: 90%;
        margin: 1em auto 3em;
        text-align: left;
      }

      .leadBox {
        width: 100%;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 500;
        /* font-size: clamp(16px, calc(11.714px + 1.19vw), 26px); */
        font-size: clamp(16px, calc(12.571px + 0.952vw), 24px);
        color: #00b1b8;
        text-align: left;
        line-height: 2;
        margin-bottom: 1em;
      }

      .leadBox_b {
        position: relative;
        width: 100%;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 500;
        font-size: clamp(16px, calc(12.571px + 0.952vw), 24px);
        color: #00b1b8;
        text-align: left;
        /* line-height: 2; */
        line-height: 1.47;
        margin-bottom: 1em;
      }


      .itemWrap {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 15px
      }

      .leftWrap {
        display: flex;
        flex-direction: column;
        width: 43%;
      }

      .item {
        width: 100%;
        margin-bottom: 1.5em;
      }

      .spec {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: clamp(13px, calc(12.143px + 0.238vw), 15px);
        color: #004980;
        text-align: left;
        line-height: 1.5;
      }

      .rightWrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
      }

      .box-a {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 450;
        font-size: clamp(14px, calc(13.143px + 0.238vw), 16px);
        color: #00b1b8;
        border: 2px solid #00b1b8;
        padding: 4px 10px;
        margin-bottom: 20px;
        border-radius: 10px;
        white-space: nowrap;
      }

      .box-b {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: clamp(14px, calc(13.143px + 0.238vw), 16px);
        color: #004980;
        text-align: left;
        line-height: 1.8;
        /* margin-bottom: 2em; */
      }

      .box-b ul {}

      .box-b li {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: clamp(14px, calc(13.143px + 0.238vw), 16px);
        color: #004980;
        text-align: left;
      }

      .rightWrap .box-b ul {
        margin-top: 0;
        margin-bottom: 1em;
        padding-left: 0.5em;

      }

      .rightWrap .box-b li {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: clamp(14px, calc(13.143px + 0.238vw), 16px);
        color: #004980;
        text-align: left;
        text-indent: -1.3em;
        padding-left: 1.3em;
        line-height: 1.47;
      }

      .dateWrap {
        display: flex;
        flex-direction: row;
        justify-content: left;
        align-items: flex-start;
        margin-top: 2em;
      }

      .dateWrap .box-c {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: clamp(14px, calc(13.143px + 0.238vw), 16px);
        color: #00b1b8;
        border: 2px solid #00b1b8;
        padding: 6px 10px;
        margin-bottom: 20px;
        border-radius: 10px;
      }

      .dateWrap .box-d {
        font-family: margin-mvb, sans-serif;
        font-weight: 800;
        font-style: normal;
        font-size: clamp(20px, calc(11.429px + 2.381vw), 40px);
        color: #004980;
        text-align: left;
        margin-left: 0.5em;
        margin-bottom: 0.3em;
        line-height: 1;
        transform: translateY(-0.25em);
      }

      .dateWrap .box-d span {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: clamp(15px, calc(12.857px + 0.595vw), 20px);
        margin: 0 5px;
      }

      .dateWrap .box-d span.small {
        font-family: margin-mvb, sans-serif;
        font-weight: 800;
        font-style: normal;
        font-size: clamp(20px, calc(16.364px + 1.136vw), 30px);
        color: #004980;
        text-align: left;
        margin: 0;
      }

      p.caution {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: 13px;
        color: #004980;
        text-indent: -1em;
        padding-left: 1em;
      }

      p.caution_b {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 300;
        font-size: 13px;
        text-indent: -1em;
        padding-left: 1em;
        color: #004980;
        line-height: 1.6em;
        letter-spacing: 0.05em;
      }


      .Wrap_b {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
      }

      .bWrap {
        width: 30%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin: 0 0 40px;
        color: #00b1b8;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: clamp(14px, calc(13.143px + 0.238vw), 16px);
      }

      .bWrap img {
        margin-bottom: 10px;
      }

      .cautBox {
        width: 100%;
        margin-bottom: 5em;
      }

      .cautBox ul {
        margin-bottom: 3em;
      }

      .cautBox li {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: 13px;
        color: #004980;
        text-align: left;
        margin-bottom: 0.5em;
        text-indent: -1em;
        padding-left: 1em;
      }

      .mark {
        position: absolute;
        top: -2em;
        right: 0;
        width: 20%;
      }

      .boxWrap {
        width: 100%;
        margin-bottom: 3em;
      }

      .box-b ul {
        margin: 1em 0 3em;
      }

      .box-b li {
        text-align: left;
        font-size: 13px;
        margin-bottom: 0.5em;
        text-indent: -1em;
        padding-left: 1em;
      }

      .wrap .box-a {
        display: block;
        width: fit-content;
        text-align: left;
      }

      /* schedule */

      .schedule-container {
        max-width: 90%;
        margin: 0 auto 3em;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 500;
        color: #004980;
        font-weight: bold;
      }

      .schedule-row {
        display: flex;
        align-items: center;
        padding: 25px 0 10px;
        border-bottom: 2px dashed #00b1b8;
      }

      .schedule-row:last-child {
        padding: 25px 0;

      }

      .schedule-location {
        width: 120px;
        text-align: right;
        font-size: 20px;
        padding-right: 30px;
        box-sizing: border-box;
      }

      .schedule-time {
        flex: 1;
        font-size: 22px;
        position: relative;
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 2px;
      }

      .schedule-year {
        font-family: margin-mvb, sans-serif;
        font-weight: 800;
        font-style: normal;
        position: absolute;
        top: -20px;
        left: 0;
        font-size: 26px;
      }

      .important-text {
        font-family: margin-mvb, sans-serif;
        font-weight: 800;
        font-style: normal;
        font-size: 42px;
        font-weight: 900;
        transform: translateY(4px);
      }

      .hour-text {
        font-family: margin-mvb, sans-serif;
        font-weight: 800;
        font-style: normal;
        font-size: 42px;
        font-weight: 900;
        margin-left: 4px;
        transform: translateY(4px);
      }

      .day-of-week {
        font-size: 30px;
        margin: 0 4px;
      }

      .wave {
        font-size: 26px;
        margin: 0 4px;
      }

      .notice-text {
        font-size: 20px;
        font-weight: bold;
      }

      a[target=_blank] {
        padding-right: 20px;
        background: url(../../assets/images/outlink.webp) right center/11px auto no-repeat;
      }

      .linkBox {
        width: 50%;
        padding: 1.6em;
        background-color: #ef7889;
        color: white;
        margin: 0 auto;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 500;
        font-size: 18px;
      }

      .wrap {
        margin-bottom: 4em;
      }

      .wrap a {
        text-decoration: none;
        cursor: pointer;
      }

      .wrap li {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: 13px;
        text-align: left;
        margin-bottom: 0.3em;
        text-indent: -1em;
        padding-left: 1em;
        color: #004980;
      }

      .bold {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 700;
      }

      /* ==========================================
   スマホ（SP）向けの修正：ヘッダー非表示・背景を最上部へ
   ========================================== */
      @media screen and (max-width: 768px) {
        /*984*/

        .header {
          display: none !important;
          position: static !important;
          height: 0 !important;
          margin: 0 !important;
          padding: 0 !important;
        }

        .content-bg-container {
          position: fixed !important;
          top: 0 !important;
          left: 0 !important;
          right: 0 !important;
          bottom: 0 !important;
          width: 100% !important;
          height: 100dvh !important;
          overflow: visible !important;
          z-index: 1;
        }

        .content-bg-container .water-bg {
          position: absolute !important;
          top: -30px !important;
          left: 0 !important;
          width: 100% !important;
          height: calc(100dvh + 60px) !important;
          object-fit: cover !important;
          filter: none !important;
          transform: none !important;
          will-change: opacity;
        }

        .titlebox {
          margin-top: 60px;
          margin-bottom: 40px;
        }

        .titlebox img {
          width: 70%;
        }

        .content-body-white {
          padding: 20px;
        }

        .innerWrap {
          width: 100%;
          padding: 0;
        }

        .itemWrap {
          flex-direction: column;
          justify-content: center;
          margin: 0 auto;
          align-items: center;
        }

        .lead-text {
          line-height: 1.5;
        }

        .leftWrap {
          width: 100%;
          margin-bottom: 2em;
        }

        .dateWrap {
          flex-direction: column;
        }

        .box-b {
          margin-left: 0.3em;
          line-height: 1.47;
        }

        .dateWrap .box-d {
          font-size: clamp(24px, calc(18.182px + 1.818vw), 40px);
          margin-left: 0.3em;
        }

        .dateWrap .box-d span.small {
          font-family: margin-mvb, sans-serif;
          font-weight: 800;
          font-style: normal;
          font-size: 18px;
          color: #004980;
          text-align: left;
          margin: 0;
        }

        p.caution_b {
          line-height: 1.3;
          text-indent: -1em;
          padding-left: 1em;
          margin-top: 1em;
        }

        .bWrap {
          width: 48%;
        }

        .mark {
          top: -1em;
          width: 27%;
        }

        .wrap li {
          line-height: 1.47;
        }

        .schedule-container {
          max-width: 100%;
          padding-left: 0.5em;
          transform: translateY(-1em);
        }

        .schedule-row {
          align-items: unset;
          flex-direction: column;
          padding: 1em 0 1.5em 0;
        }

        .schedule-location {
          text-align: left;
          margin-bottom: 0.7em;
        }

        .schedule-time {
          display: block !important;
          position: relative;
          padding-top: 15px;
          text-align: left;
          line-height: 1.2;
          font-size: 17px;
        }

        .schedule-time span {
          display: inline-block !important;
          vertical-align: baseline;
        }

        .schedule-year {
          position: absolute !important;
          top: 0;
          left: 0;
          font-size: 20px;
          line-height: 1;
        }

        .important-text {
          font-size: clamp(25px, calc(23.714px + 0.357vw), 28px);
        }

        .day-of-week {
          font-size: 17px;
          margin: 0 4px;
        }

        .hour-text {
          font-size: clamp(25px, calc(23.714px + 0.357vw), 28px);
        }

        .wave {
          font-size: 19px;
          margin: 0 4px;
        }

        .wave::after {
          content: "\A";
          white-space: pre;
        }

        .schedule-time br {
          display: block !important;
        }

        .schedule-time .wave+span {
          display: block !important;
          margin-top: 4px;
        }

        .linkBox {
          width: 80%;
          padding: 1.1em;
          font-size: 16px;
        }

        p.caution {
          text-align: left;
        }
      }


      .parent-list {
        list-style: none;
        padding: 0;
        margin: 0;
        text-align: left;
      }

      .parent-list>li {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: clamp(14px, calc(13.143px + 0.238vw), 16px);
        line-height: 1.8;
        margin-bottom: 0.5em;
        color: #004980;
      }

      .parent-list .list-num {
        width: 1.2em;
        flex-shrink: 0;
      }

      .parent-list .list-text {
        flex: 1;
      }

      .child-list {
        width: 100%;
        list-style: none;
        list-style-position: outside;
        padding-left: 0;
        margin: 0.3em 0 0 0;
      }

      .child-list li {
        display: list-item;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: clamp(14px, calc(13.143px + 0.238vw), 16px);
        line-height: 1.8;
        margin-bottom: 0.3em;
      }

      .parent-list .child-list {
        margin-bottom: 0;
      }

      footer {
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 400;
        font-size: clamp(13px, calc(11.714px + 0.357vw), 16px);
        text-align: center;
        line-height: 1.47;
        color: #004980;
        padding-bottom: 30px;
        margin: 40px auto 0;
      }


      /*__________________________________________________

  Goods背景
  __________________________________________________*/

      .bg-container {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        z-index: 1;
        filter: url(#water-wave);
        transform: scale(1.02);
      }

      @media screen and (max-width: 768px) {
        .bg-container {
          filter: none !important;
          transform: none !important;
        }
      }

      .bg-layer {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: bottom;
        background-repeat: no-repeat;
      }

      .bg-goods01 {
        background-image: url('../../../assets/images/camp_back_a.jpg');
        opacity: 1;
      }

      .bg-goods02 {
        background-image: url('../../../assets/images/camp_back_b.jpg');
        opacity: 0;
      }

      #benefits01 {
        scroll-margin-top: 100px;
      }

      #benefits02 {
        scroll-margin-top: 100px;
      }

      #list {
        scroll-margin-top: 100px;
      }

      #order {
        scroll-margin-top: 100px;
      }

      /*__________________________________________________

  GOODS
  __________________________________________________*/

      .content-goods {
        max-width: 1120px;
        width: 100%;
        margin: 160px auto 0 auto;
        padding: 0 2.5%;
      }

      .content-goods h2.title {
        max-width: 100%;
        width: 50%;
        margin: 0 auto 80px auto;
        padding: 0;
        text-align: center;
      }

      .content-goods .txt-box {
        width: 100%;
        margin: 0 auto;
        padding: 0;
      }

      .content-goods .txt-box p.txt01 {
        width: 100%;
        margin: 0 auto 20px auto;
        padding: 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 600;
        font-size: clamp(0.75rem, 0.404rem + 1.48vw, 1.438rem);
        /* 12px-23pxで可変 */
      }

      .content-goods .txt-box p.txt02 {
        width: 100%;
        margin: 0 auto 30px auto;
        padding: 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 600;
        font-size: clamp(1.063rem, 0.433rem + 2.68vw, 2.313rem);
        /* 17px-37pxで可変 */
      }

      /* グッズメニュー */
      .goods-menu {
        display: flex;
        justify-content: flex-start;
        gap: 0 10px;
        max-width: 1120px;
        width: 100%;
        margin: 0 auto 20px auto;
        padding: 0;
      }

      .goods-menu .btn {
        max-width: 273px;
        width: 100%;
        margin: 0;
        padding: 0;
      }

      .cuation-box {
        width: 100%;
        margin: 0 auto 60px auto;
        padding: 0;
      }

      .cuation-box p.txt {
        width: 100%;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.75rem, 0.656rem + 0.4vw, 0.938rem);
        /* 12px-15pxで可変 */
        line-height: 1.7;
        text-align: left;
      }

      /* 購入特典 / エポス会員特典 */
      .sub-content-goods01 {
        width: 100%;
        background: #ffffff;
        margin: 0 auto 30px auto;
        padding: 0 0 30px 0;
      }

      .sub-content-goods01 h3 {
        position: relative;
        width: 100%;
        margin: 0 auto;
        padding: 0;
      }

      .sub-content-goods01 .txt-box {
        width: 88%;
        margin: 0 auto;
        padding: 0;
      }

      .sub-content-goods01 .txt-box p.txt01 {
        width: 90%;
        margin: 1em auto 3em;
        padding: 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 450;
        font-size: clamp(0.875rem, 0.821rem + 0.238vw, 1rem);
        /* 14px-16pxで可変 */
        line-height: 1.8;
        text-align: left;
      }

      .sub-content-goods01 .txt-box p.txt02 {
        width: 100%;
        margin-left: -0.5em;
        padding: 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.813rem, 0.759rem + 0.238vw, 0.938rem);
        /*13px-15*/
        line-height: 1.35;
        margin-bottom: 1rem;
        text-align: left;
      }

      .sub-content-goods01 .txt-box p.txt03 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: 13px;
        /* line-height: 1.35; */
        line-height: 1;
        text-indent: -1em;
        padding-left: 1em;
        margin-bottom: 1rem;
        text-align: left;
      }

      .sub-content-goods01 .sub-title {
        position: relative;
        width: 88%;
        margin: 30px auto 60px auto;
        padding: 0;
        color: #a380cf;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 500;
        font-size: clamp(1rem, 0.811rem + 0.81vw, 1.375rem);
        /* 14px-22pxで可変 */
        text-indent: -1em;
        padding-left: 1em;
        line-height: 1.35;
        text-align: left;
      }

      .sub-title::after {
        content: "";
        position: absolute;
        top: 40px;
        left: 0;
        width: 100%;
        height: 13px;
        background: url("../../../assets/images/goods/goods_hr.png") no-repeat center;
        background-size: contain;
        opacity: 0.8;
      }

      .sub-content-goods01 .img-box {
        width: 88%;
        height: 500px;
        margin: 0 auto 30px auto;
        padding: 0;
        background: #d6d6d6;
      }

      /* ボタンリンク */
      .sub-content-goods01 .btn-box {
        width: 100%;
        margin: 40px auto 30px auto;
      }

      .btn-link {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        max-width: 470px;
        width: 100%;
        height: 72px;
        margin: 0 auto;
        background: #ffffff;
        border: 2px solid #b68ee8;
        border-radius: 9999px;
        text-decoration: none;
      }

      .btn-link:hover {
        background: #f8f1ff;
        border-color: #9b5fe0;
      }

      .btn-text {
        width: 100%;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.875rem, 0.781rem + 0.4vw, 1.063rem);
        /* 14px-17pxで可変 */
        text-align: center;
      }

      .btn-icon {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%);
        width: 34px;
        height: 34px;
      }

      .btn-icon svg {
        width: 22px;
        height: 22px;
        stroke: #666;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      /* 受注商品 */
      .sub-content-goods02 {
        width: 100%;
        background: #ffffff;
        margin: 0 auto 30px auto;
        padding: 30px 0 30px 0;
      }

      .sub-content-goods02 h3 {
        position: relative;
        width: 100%;
        margin: 0 auto;
        padding: 0;
      }

      .sub-content-goods02 .txt-box {
        width: 88%;
        margin: 0 auto;
        padding: 0;
      }

      .sub-content-goods02 .txt-box p.txt01 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.875rem, 0.781rem + 0.4vw, 1.063rem);
        /* 14px-17pxで可変 */
        line-height: 1.8;
        text-align: left;
      }

      .sub-content-goods02 .txt-box p.txt02 {
        width: 100%;
        margin-left: -0.5em;
        padding: 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.75rem, 0.656rem + 0.4vw, 0.938rem);
        /* 12px-15pxで可変 */
        line-height: 1.35;
        margin-bottom: 1rem;
        text-align: left;
      }

      .sub-content-goods02 .txt-box p.txt03 {
        width: 100%;
        margin: 0 auto;
        padding: 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.75rem, 0.656rem + 0.4vw, 0.938rem);
        /* 12px-15pxで可変 */
        line-height: 1.35;
        text-indent: -1em;
        padding-left: 1em;
        margin-bottom: 1rem;
        text-align: left;
      }

      .sub-content-goods02 .sub-title {
        position: relative;
        width: 88%;
        margin: 30px auto 60px auto;
        padding: 0;
        color: #a380cf;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(1rem, 0.811rem + 0.81vw, 1.375rem);
        /* 16px-22pxで可変 */
        text-indent: -1em;
        padding-left: 1em;
        line-height: 1.35;
        text-align: left;
      }

      .sub-content-goods02 .img-box {
        width: 88%;
        height: 500px;
        margin: 0 auto 30px auto;
        padding: 0;
        background: #d6d6d6;
      }

      /* ボタンリンク */
      .sub-content-goods02 .btn-box {
        width: 100%;
        margin: 40px auto 30px auto;
      }

      /* 商品一覧 */
      .sub-content-list {
        width: 100%;
        margin: 0 auto 30px auto;
        padding: 0 0 30px 0;
      }

      .sub-content-list h3 {
        position: relative;
        width: 100%;
        margin: 0 auto 30px auto;
        padding: 0;
      }

      .sub-content-list .list-box {
        display: flex;
        justify: space-between;
        gap: 10px;
        width: 100%;
        margin: 0 auto 20px auto;
        padding: 0;
      }

      .sub-content-list .list-box .goods-box {
        position: relative;
        max-width: 272.5px;
        width: 100%;
        margin: 0;
        padding: 10px;
        background: #ffffff;
        border: 1px solid #004980;
        border-radius: 20px;
      }

      .goods-box .img {
        width: 100%;
        margin: 0 auto;
        padding: 0;
      }

      .goods-box .img-new {
        width: 100%;
        margin: 0 auto;
        padding: 0;
      }

      .goods-box .img-new::after {
        content: "";
        position: absolute;
        top: -40px;
        left: 5px;
        width: 20%;
        height: 20%;
        background: url("../../../assets/images/goods/goods_new.png") no-repeat center;
        background-size: contain;
        opacity: 0.8;
      }

      .goods-box .title {
        width: 100%;
        margin: 5px auto 10px auto;
        padding: 5px;
        background: #ff842b;
        color: #ffffff;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.75rem, 0.656rem + 0.4vw, 0.938rem);
        /* 12px-15pxで可変 */
      }

      .goods-box .quantity {
        max-width: 174px;
        width: 100%;
        margin: 0 auto 10px auto;
        padding: 3px;
        background: #ffffff;
        border: 1px solid #004980;
        border-radius: 15px;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.75rem, 0.687rem + 0.27vw, 0.875rem);
        /* 12px-14pxで可変 */
      }

      .goods-box .name {
        width: 100%;
        margin: 0 auto 10px auto;
        padding: 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.813rem, 0.75rem + 0.27vw, 0.938rem);
        /* 13px-15pxで可変 */
        line-height: 1.35;
        text-align: center;
      }

      .goods-box .price {
        width: 100%;
        margin: 0 auto 10px auto;
        padding: 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 600;
        font-size: clamp(0.813rem, 0.592rem + 0.94vw, 1.25rem);
        /* 13px-20xで可変 */
        text-align: center;
      }

      span.small-txt {
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 600;
        font-size: 12px;
      }

      .goods-box .icon {
        width: 100%;
        margin: 0 auto 10px auto;
        padding: 0;
      }

      /* 商品一覧カード（クリック可能） */
      .sub-content-list .list-box .goods-box {
        cursor: pointer;
      }

      .goods-box .goods-detail {
        display: none;
      }

      /* 商品詳細ポップアップ */
      .goods-modal-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.6);
        z-index: 1000;
        justify-content: center;
        align-items: center;
        padding: 10px;
        opacity: 0;
        transition: opacity 0.25s ease;
      }

      .goods-modal-overlay.is-active {
        display: flex;
      }

      .goods-modal-overlay.is-visible {
        opacity: 1;
      }

      .goods-modal {
        position: relative;
        max-width: 420px;
        width: 100%;
        max-height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
        margin: 0 auto;
        padding: 35px 10px 0 10px;
        background: #ffffff;
        border: 2px solid #004980;
        border-radius: 32px;
        transform: scale(0.9);
        opacity: 0;
        transition: transform 0.25s ease, opacity 0.25s ease;
      }

      .goods-modal-overlay.is-visible .goods-modal {
        transform: scale(1);
        opacity: 1;
      }

      .goods-modal-close {
        position: absolute;
        top: 0;
        right: 5px;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border: none;
        outline: none;
        /*border-radius: 50%;*/
        background: rgba(255, 255, 255, 0.85);
        color: #004980;
        font-size: 22px;
        line-height: 1;
        cursor: pointer;
      }

      .goods-modal-media {
        position: relative;
      }

      .goods-modal-media .img {
        width: 100%;
        aspect-ratio: 1 / 1;
        overflow: hidden;
      }

      .goods-modal-media .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
      }

      .goods-modal-media .title {
        width: 100%;
        margin: 10px 0 0 0;
        padding: 8px 10px;
        background: #ff842b;
        color: #ffffff;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.75rem, 0.656rem + 0.4vw, 0.938rem);
        /* 12px-15xで可変 */
        text-align: center;
      }

      .goods-modal-body {
        padding: 20px 0 26px 0;
      }

      .goods-modal-body .quantity {
        display: inline-block;
        max-width: 100%;
        margin: 0 0 16px 0;
        padding: 4px 14px;
        background: #ffffff;
        border: 1px solid #004980;
        border-radius: 15px;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.75rem, 0.687rem + 0.27vw, 0.875rem);
        /* 12px-14xで可変 */
        text-align: left;
      }

      .goods-modal-body .name {
        margin: 0 0 16px 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 600;
        font-size: clamp(0.875rem, 0.781rem + 0.4vw, 1.063rem);
        /* 14px-17xで可変 */
        line-height: 1.5;
        text-align: left;
      }

      .goods-modal-body .sep {
        width: 100%;
        height: 13px;
        margin: 0 0 16px 0;
        background: url("../../../assets/images/goods/goods_hr_detail.png") no-repeat center;
        background-size: contain;
        opacity: 0.8;
      }

      .goods-modal-body .spec p,
      .goods-modal-body .caption p {
        margin: 0 0 6px 0;
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 350;
        font-size: clamp(0.75rem, 0.656rem + 0.4vw, 0.938rem);
        /* 12px-15xで可変 */
        line-height: 1.6;
        text-align: left;
      }

      .goods-modal-body .spec {
        margin-bottom: 16px;
      }

      .goods-modal-body .caption {
        margin-bottom: 20px;
      }

      .goods-modal-body .price {
        color: #004980;
        font-family: "source-han-sans-jp-variable", sans-serif;
        font-variation-settings: "wght" 600;
        font-size: clamp(0.813rem, 0.592rem + 0.94vw, 1.25rem);
        /* 13px-20xで可変 */
        text-align: left;
      }

      body.goods-modal-open {
        overflow: hidden;
      }

      @media only screen and (max-width: 1170px) {
        .content-goods {
          max-width: 100%;
          width: 90%;
          margin: 160px auto 0 auto;
        }
      }

      @media only screen and (max-width: 768px) {
        .content-goods {
          max-width: 100%;
          width: 95%;
          margin: 80px auto 0 auto;
        }

        .content-goods h2.title {
          position: relative;
          z-index: 2;
          max-width: 100%;
          width: 82%;
          margin: 0 auto 60px auto;
          padding: 0;
          text-align: center;
        }

        .content-goods .txt-box {
          width: 100%;
        }

        /* グッズメニュー */
        .goods-menu {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          gap: 0 15px;
          max-width: 100%;
          width: 100%;
          margin: 0 auto;
          padding: 0;
        }

        .goods-menu .btn {
          max-width: 100%;
          width: 47%;
          height: auto;
          margin: 0;
          padding: 0;
        }

        /* 購入特典 / エポス会員特典 */
        .sub-content-goods01 {
          width: 100%;
          background: #ffffff;
          margin: 0 auto 30px auto;
          padding: 5% 5% 5% 5%;
        }

        .sub-content-goods01 h3 {
          position: relative;
          width: 100%;
          margin: 0 auto 10px auto;
          padding: 0;
        }

        .sub-content-goods01 .txt-box {
          width: 100%;
          margin: 0 auto 2em;
          padding: 0;
        }

        .sub-content-goods01 .txt-box p.txt01 {
          width: 100%;
          margin: 0 auto;
          padding: 0;
          line-height: 1.5;
          text-align: left;
        }

        .sub-content-goods01 .txt-box p.txt02 {
          width: 100%;
          margin-left: -0.5em;
          padding: 0;
          line-height: 1.35;
          margin-bottom: 0.5rem;
          text-align: left;
        }

        .sub-content-goods01 .txt-box p.txt03 {
          width: 100%;
          margin: 0 auto;
          padding: 0;
          line-height: 1.35;
          text-indent: -1em;
          padding-left: 1em;
          margin-bottom: 0.5rem;
          text-align: left;
        }

        .sub-content-goods01 .sub-title {
          position: relative;
          width: 100%;
          margin: 15px auto 30px auto;
          padding: 0;
          text-indent: -1em;
          padding-left: 1em;
          line-height: 1.35;
          text-align: left;
        }

        .sub-title::after {
          content: "";
          position: absolute;
          top: 20px;
          left: 0;
          width: 100%;
          height: 13px;
          background: url("../../../assets/images/goods/goods_hr.png") no-repeat center;
          background-size: contain;
          opacity: 0.8;
        }

        .sub-content-goods01 .img-box {
          width: 88%;
          height: 250px;
          margin: 0 auto 30px auto;
          padding: 0;
          background: #d6d6d6;
        }

        /* ボタンリンク */
        .sub-content-goods01 .btn-box {
          width: 100%;
          margin: 40px auto 0 auto;
        }

        .btn-link {
          display: flex;
          justify-content: center;
          align-items: center;
          position: relative;
          max-width: 100%;
          width: 80%;
          height: 40px;
          margin: 0 auto;
          background: #ffffff;
          border: 2px solid #b68ee8;
          border-radius: 9999px;
          text-decoration: none;
        }

        .btn-link:hover {
          background: #f8f1ff;
          border-color: #9b5fe0;
        }

        .btn-text {
          width: 100%;
          text-align: center;
        }

        .btn-icon {
          display: flex;
          justify-content: center;
          align-items: center;
          position: absolute;
          right: 18px;
          top: 50%;
          transform: translateY(-50%);
          width: 34px;
          height: 34px;
        }

        .btn-icon svg {
          width: 22px;
          height: 22px;
          stroke: #666;
          stroke-width: 2;
          stroke-linecap: round;
          stroke-linejoin: round;
        }

        /* 受注商品 */
        .sub-content-goods02 {
          width: 100%;
          background: #ffffff;
          margin: 0 auto 30px auto;
          padding: 30px 0 30px 0;
        }

        .sub-content-goods02 h3 {
          position: relative;
          width: 100%;
          margin: 0 auto;
          padding: 0;
        }

        .sub-content-goods02 .txt-box {
          width: 88%;
          margin: 0 auto;
          padding: 0;
        }

        .sub-content-goods02 .txt-box p.txt01 {
          width: 100%;
          margin: 0 auto;
          padding: 0;
          line-height: 1.8;
          text-align: left;
        }

        .sub-content-goods02 .txt-box p.txt02 {
          width: 100%;
          margin-left: -0.5em;
          padding: 0;
          line-height: 1.35;
          margin-bottom: 1rem;
          text-align: left;
        }

        .sub-content-goods02 .txt-box p.txt03 {
          width: 100%;
          margin: 0 auto;
          padding: 0;
          line-height: 1.35;
          text-indent: -1em;
          padding-left: 1em;
          margin-bottom: 1rem;
          text-align: left;
        }

        .sub-content-goods02 .sub-title {
          position: relative;
          width: 88%;
          margin: 30px auto 60px auto;
          padding: 0;
          text-indent: -1em;
          padding-left: 1em;
          line-height: 1.35;
          text-align: left;
        }

        .sub-content-goods02 .img-box {
          width: 88%;
          height: 500px;
          margin: 0 auto 30px auto;
          padding: 0;
          background: #d6d6d6;
        }

        /* ボタンリンク */
        .sub-content-goods02 .btn-box {
          width: 100%;
          margin: 40px auto 30px auto;
        }

        /* 商品一覧 */
        .sub-content-list {
          width: 100%;
          margin: 0 auto 30px auto;
          padding: 0 0 30px 0;
        }

        .sub-content-list h3 {
          position: relative;
          width: 100%;
          margin: 0 auto 30px auto;
          padding: 0;
        }

        .sub-content-list .list-box {
          display: flex;
          justify: space-between;
          flex-wrap: wrap;
          gap: 20px 10px;
          width: 100%;
          margin: 0 auto 20px auto;
          padding: 0;
        }

        .sub-content-list .list-box .goods-box {
          max-width: 100%;
          width: 48.5%;
          margin: 0;
          padding: 10px;
          background: #ffffff;
          border: 1px solid #004980;
          border-radius: 20px;
        }

        .goods-modal {
          max-width: 92%;
          border-radius: 20px;
        }

        .goods-modal-body {
          padding: 16px 0 20px 0;
        }
      }