 .cwc2026 {
     --cwc-ink: #211d1b;
     --cwc-muted: #6f655f;
     --cwc-ivory: #f8f3ee;
     --cwc-warm: #eee3db;
     --cwc-gold: #a38458;
     --cwc-line: rgba(84, 70, 60, 0.20);
     --cwc-ivory: #f3ece4;
     --main-color: #176a44;
     width: 100%;
     color: var(--cwc-ink);
     font-family:
         "Yu Mincho",
         "YuMincho",
         "Hiragino Mincho ProN",
         "Hiragino Mincho Pro",
         "Noto Serif JP",
         "MS PMincho",
         serif;
     font-size: 16px;
     line-height: 1.9;
     letter-spacing: 0.035em;
 }

 .cwc2026,
 .cwc2026 * {
     box-sizing: border-box;
 }

 .cwc2026 img {
     display: block;
     max-width: 100%;
     height: auto;
 }

 .cwc2026 a {
     color: inherit;
     font-size: clamp(16px, 1.7vw, 19px);
     margin-top: 10px;
 }

 .cwc2026__hero {
     margin: 0 0;
 }

 .cwc2026__hero img {
     width: 100%;
 }

 .cwc2026__inner {
     width: min(1080px, calc(100% - 48px));
     margin-inline: auto;
 }

 .cwc2026__lead {
     max-width: 840px;
     margin: 0 auto clamp(64px, 8vw, 104px);
     text-align: center;
 }

 .cwc2026__eyebrow {
     margin: 0 0 18px;
     color: var(--cwc-gold);
     font-family: "Times New Roman", "Yu Mincho", "Noto Serif JP", serif;
     font-size: clamp(20px, 4.2vw, 40px);
     letter-spacing: 0.24em;
 }

 .cwc2026 h1,
 .cwc2026 h2,
 .cwc2026 h3,
 .cwc2026 p {
     margin-top: 0;
 }

 .cwc2026 h1,
 .cwc2026 h2 {
     font-weight: 400;
 }

 .cwc2026 h1 {
     margin-bottom: 30px;
     font-size: clamp(18px, 2.8vw, 32px);
     line-height: 1.45;
     letter-spacing: 0.10em;
 }

 .cwc2026__intro {
     margin-bottom: 0;
     font-size: clamp(16px, 1.7vw, 17px);
     line-height: 2.5;
 }

 .cwc2026__event {
     margin-bottom: clamp(72px, 9vw, 120px);
     padding: clamp(46px, 6vw, 72px) clamp(28px, 7vw, 88px);
     border: 1px solid var(--cwc-gold) !important;
     background: #fff !important;
     text-align: center;
 }

 .cwc2026__section-heading {
     margin-bottom: clamp(30px, 4vw, 44px);
     text-align: center;
 }

 .cwc2026__section-heading span {
     display: block;
     margin-bottom: 12px;
     color: var(--cwc-gold);
     font-family: "Times New Roman", "Yu Mincho", "Noto Serif JP", serif;
     font-size: 12px;
     letter-spacing: 0.24em;
 }

 .cwc2026__section-heading h2 {
     margin-bottom: 0;
     font-size: clamp(25px, 3vw, 34px);
     line-height: 1.55;
     letter-spacing: 0.09em;
 }

 .cwc2026__date-display {
     display: flex;
     align-items: baseline;
     justify-content: center;
     gap: clamp(10px, 2vw, 18px);
     font-family: "Times New Roman", "Yu Mincho", "Noto Serif JP", serif;
     line-height: 1;
     white-space: nowrap;
 }

 .cwc2026__date-year {
     font-size: clamp(17px, 2vw, 23px);
     letter-spacing: 0.04em;
 }

 .cwc2026__date-item {
     display: inline-flex;
     align-items: baseline;
 }

 .cwc2026__date-number {
     font-size: clamp(36px, 7vw, 72px);
     font-weight: 400;
 }

 .cwc2026__date-day {
     margin-left: 7px;
     font-size: clamp(14px, 1.7vw, 19px);
     letter-spacing: 0.02em;
 }

 .cwc2026__date-separator {
     font-size: clamp(28px, 4vw, 44px);
     font-weight: 300;
 }

 .cwc2026__date-times {
     display: flex;
     justify-content: center;
     gap: clamp(18px, 4vw, 44px);
     margin: 26px 0 0;
     color: var(--cwc-muted);
     font-size: clamp(13px, 1.5vw, 16px);
     letter-spacing: 0.06em;
 }

 .cwc2026__date-times span {
     font-size: clamp(14px, 1.7vw, 19px);
     font-weight: 600;
     padding: 10px 0 20px;
 }

 .cwc2026__date-note {
     margin: 14px 0 0;
     color: var(--cwc-muted);
     font-size: 12px;
     line-height: 1.8;
     letter-spacing: 0.04em;
     padding-bottom: clamp(26px, 4vw, 38px);
 }

 .cwc2026__venue {
     margin: clamp(34px, 5vw, 48px) 0 0;
     padding-top: clamp(26px, 4vw, 38px);
     border-top: 1px solid var(--cwc-line);
 }

 .cwc2026__venue-label {
     display: block;
     margin-bottom: 10px;
     color: var(--cwc-gold);
     font-family: "Times New Roman", serif;
     font-size: 11px;
     letter-spacing: 0.22em;
 }

 .cwc2026__venue strong {
     display: block;
     margin-bottom: 5px;
     font-size: clamp(18px, 2.2vw, 23px);
     font-weight: 400;
     letter-spacing: 0.06em;
 }

 .cwc2026__venue-address {
     display: block;
     color: var(--cwc-muted);
     font-size: 13px;
 }

 .cwc2026__details {
     margin: 0;
 }

 .cwc2026__details-row {
     display: grid;
     grid-template-columns: 150px minmax(0, 1fr);
     gap: 28px;
     padding: 28px 0;
     border-top: 1px solid var(--cwc-line);
 }

 .cwc2026__details-row:last-child {
     border-bottom: 1px solid var(--cwc-line);
 }

 .cwc2026__details dt {
     color: var(--cwc-muted);
     font-size: 13px;
     font-weight: 700;
     letter-spacing: 0.14em;
 }

 .cwc2026__details dd {
     margin: 0;
 }

 .cwc2026__details strong,
 .cwc2026__details span,
 .cwc2026__details small {
     display: block;
 }

 .cwc2026__details strong {
     margin-bottom: 4px;
     font-size: clamp(18px, 2.2vw, 24px);
     font-weight: 500;
     line-height: 1.7;
 }

 .cwc2026__details small {
     margin-top: 8px;
     color: var(--cwc-muted);
     font-size: 12px;
     line-height: 1.7;
 }

 .cwc2026__benefits {
     margin-bottom: clamp(72px, 9vw, 120px);
 }

 .cwc2026__benefit-grid {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 24px;
 }

 .cwc2026__benefit-card {
     min-height: 330px;
     padding: clamp(36px, 5vw, 60px);
     border: 1px solid rgba(163, 132, 88, 0.38);
     background: var(--cwc-ivory) !important;
     text-align: center;
 }

 .cwc2026__benefit-number {
     display: flex;
     width: 42px;
     height: 42px;
     margin: 0 auto 22px;
     align-items: center;
     justify-content: center;
     border: 1px solid var(--cwc-gold);
     border-radius: 50%;
     color: var(--cwc-gold);
     font-family: "Times New Roman", "Yu Mincho", "Noto Serif JP", serif;
     font-size: 13px;
 }

 .cwc2026__benefit-card h3 {
     margin-bottom: 18px;
     font-size: clamp(21px, 2.6vw, 28px);
     font-weight: 400;
     line-height: 1.55;
     letter-spacing: 0.07em;
 }

 .cwc2026__benefit-card h3 em {
     color: var(--cwc-gold);
     font-family: "Times New Roman", "Yu Mincho", "Noto Serif JP", serif;
     font-size: clamp(40px, 6vw, 62px);
     font-style: normal;
     line-height: 1.05;
     letter-spacing: 0.02em;
 }

 .cwc2026__benefit-card p {
     margin-bottom: 0;
     color: var(--cwc-muted);
     font-size: 14px;
     line-height: 1.9;
 }

 .cwc2026__message {
     max-width: 820px;
     margin: 0 auto clamp(72px, 9vw, 120px);
     text-align: center;
     background-color: #fff !important;
 }

 .cwc2026__message h2 {
     margin-bottom: 26px;
     font-size: clamp(26px, 3.2vw, 38px);
     line-height: 1.65;
     letter-spacing: 0.08em;
 }

 .cwc2026__message p {
     margin-bottom: 0;
 }

 .cwc2026__shop {
     width: 100%;
     padding: clamp(72px, 10vw, 120px) 24px;
     background:
         linear-gradient(rgba(0, 0, 0, 0.5),
             rgba(0, 0, 0, 0.5)),
         url("../img/mito_thumbnail.webp") center center / cover no-repeat !important;
     color: #fff;
     text-align: center;
 }

 .cwc2026__shop-inner {
     width: min(1080px, 100%);
     margin-inline: auto;
 }

 .cwc2026__shop-label {
     margin-bottom: 12px;
     color: #cbb28e;
     font-family: "Times New Roman", serif;
     font-size: 12px;
     letter-spacing: 0.24em;
 }

 .cwc2026__shop h2 {
     margin-bottom: 24px;
     font-size: clamp(26px, 3.4vw, 38px);
     letter-spacing: 0.08em;
 }

 .cwc2026__shop-address {
     margin-bottom: 28px;
     color: rgba(255, 255, 255, 0.78);
     font-size: 14px;
 }

 .cwc2026__button {
     display: inline-flex;
     min-width: 280px;
     min-height: 58px;
     align-items: center;
     justify-content: center;
     padding: 12px 30px;
     border: 1px solid rgba(255, 255, 255, 0.72);
     color: #fff;
     font-size: 14px;
     letter-spacing: 0.12em;
     text-decoration: none;
     background-color: var(--main-color);
     transition: background-color 0.25s ease, color 0.25s ease;
 }

 .cwc2026__button:hover,
 .cwc2026__button:focus-visible {
     background: #fff;
     color: var(--cwc-ink);
 }

 .cwc2026__notes {
     padding-top: 24px;
     margin: 24px 0 0;
     color: var(--cwc-muted);
     font-size: 11px;
     line-height: 1.8;
 }

 .cwc2026__access {
     width: 100%;
     height: clamp(320px, 42vw, 480px);
     filter: grayscale(100%);
     padding: 0;
 }

 .cwc2026__access iframe {
     display: block;
     width: 100%;
     height: 100%;
     border: 0;
 }

 @media (max-width: 767px) {
     .cwc2026 {
         font-size: 15px;
         line-height: 1.85;
     }

     .cwc2026__inner {
         width: min(1080px, calc(100% - 32px));
     }

     .cwc2026__lead {
         text-align: left;
     }

     .cwc2026__eyebrow {
         text-align: center;
     }

     .cwc2026 h1 {
         text-align: center;
     }

     .cwc2026__intro {
         line-height: 2;
     }

     .cwc2026__event {
         padding-inline: 22px;
     }

     .cwc2026__date-display {
         flex-wrap: nowrap;
         gap: 6px;
         white-space: nowrap;
     }

     .cwc2026__date-year {
         flex-basis: auto;
         margin-bottom: 0;
         font-size: 14px;
     }

     .cwc2026__date-day {
         margin-left: 5px;
     }

     .cwc2026__date-times {
         flex-direction: column;
         gap: 5px;
         margin-top: 22px;
     }

     .cwc2026__details-row {
         grid-template-columns: 1fr;
         gap: 10px;
         padding: 22px 0;
     }

     .cwc2026__benefit-grid {
         grid-template-columns: 1fr;
     }

     .cwc2026__benefit-card {
         min-height: auto;
     }

     .cwc2026__message {
         text-align: left;
     }

     .cwc2026__message h2 {
         text-align: center;
     }

     .cwc2026__shop {
         padding-inline: 22px;
     }

     .cwc2026__button {
         width: 100%;
         min-width: 0;
     }
     .cwc2026__benefit-card p{
        text-align: left;
     }
 }

 @media (min-width: 768px) {
     .cwc2026__benefit-card h3 {
         display: flex;
         min-height: 72px;
         margin-bottom: 18px;
         align-items: center;
         justify-content: center;
         white-space: nowrap;
     }

     .cwc2026__benefit-card h3 em {
         display: inline;
         margin-right: 0.1em;
     }
 }