﻿@keyframes fadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%{transform:scaleY(1);opacity:0.8}50%{transform:scaleY(0.6);opacity:0.4}100%{transform:scaleY(1);opacity:0.8}}@keyframes revealAnim{to{opacity:1;transform:translateY(0)}}:root{--earth-dark:#EB553A;--earth-brown:#1EA05A;--earth-mid:#EB553A;--earth-warm:#f0775e;--sage:#1EA05A;--sage-light:#3dbf77;--moss:#125c38;--cream:#FDF8E7;--parchment:#FBE041;--gold:#FBE041;--gold-light:#fde96a;--amber:#e8cc10;--foam:#FDF8E7;--text-primary:#2a1208;--text-light:#FDF8E7;--gap:clamp(2rem, 5vw, 5rem)}@media only screen and (min-width: 861px){body .view_tab-sp,body .view_tab{display:none !important}}@media print{body .view_tab-sp,body .view_tab{display:none !important}}@media only screen and (min-width: 601px){body .view_sp{display:none !important}}@media only screen and (max-width: 860px){body .view_pc{display:none !important}}@media only screen and (max-width: 600px){body .view_pc-tab,body .view_tab{display:none !important}}*{box-sizing:border-box;margin:0;padding:0}*::before{box-sizing:border-box;margin:0;padding:0}*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"Noto Sans JP",sans-serif;background:var(--foam);color:var(--text-primary);overflow-x:hidden;line-height:1.7}body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:0.5}img{display:block;max-width:100%}nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 4%;background:#eb553a;backdrop-filter:blur(14px);border-bottom:1px solid rgba(251,224,65,0.25)}.nav-logo{font-family:"Tilt Warp",sans-serif;font-size:clamp(1.8rem, 2vw, 1.4rem);color:var(--gold);text-decoration:none;z-index:201;position:relative}@media only screen and (max-width: 600px){.nav-logo{font-size:clamp(1.5rem, 2vw, 1.4rem)}}.nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;cursor:pointer;background:none;border:none;padding:4px;z-index:201;position:relative;flex-shrink:0}.nav-burger span{display:block;width:100%;height:2px;background:var(--gold);border-radius:2px;transform-origin:center;transition:transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),opacity 0.25s ease,width 0.3s ease}.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0;width:0}.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-drawer{position:fixed;top:0;right:0;width:min(320px, 85vw);height:100dvh;background:rgba(160,30,10,0.97);backdrop-filter:blur(18px);z-index:199;display:flex;flex-direction:column;justify-content:center;padding:6rem 2.5rem 3rem;transform:translateX(100%);visibility:hidden;transition:transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),visibility 0s linear 0.45s;border-left:1px solid rgba(251,224,65,0.2)}.nav-drawer ul{list-style:none;display:flex;flex-direction:column;gap:0}.nav-drawer li{border-bottom:1px solid rgba(251,224,65,0.12);overflow:hidden}.nav-drawer li:first-child{border-top:1px solid rgba(251,224,65,0.12)}.nav-drawer a{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0;color:var(--cream);text-decoration:none;font-family:"Noto Sans JP",sans-serif;font-size:1rem;letter-spacing:0.15em;transition:color 0.2s, padding-left 0.25s}.nav-drawer a:hover{color:var(--gold);padding-left:0.5rem}.nav-drawer a:hover::after{opacity:1;transform:translateX(4px)}.nav-drawer a::after{content:'→';font-size:0.9rem;opacity:0.4;transition:opacity 0.2s, transform 0.2s}.nav-drawer.open{transform:translateX(0);visibility:visible;transition:transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),visibility 0s linear 0s}.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:198;opacity:0;pointer-events:none;transition:opacity 0.4s ease}.nav-overlay.open{opacity:1;pointer-events:auto}.nav-drawer-foot{margin-top:auto;padding-top:2rem;font-size:0.65rem;color:rgba(251,224,65,0.4);font-family:"Tilt Warp",sans-serif}.nav-links{display:none}.section-label{font-family:"Tilt Warp",sans-serif;font-size:2rem;color:var(--earth-mid);display:block;margin-bottom:0.6rem}#fv{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden}.fv-video-wrap{position:absolute;inset:0;overflow:hidden;z-index:0}.fv-video-wrap::before{content:'';position:absolute;inset:0;z-index:-1}.fv-video-wrap::after{content:'';position:absolute;inset:0;pointer-events:none}@media only screen and (max-width: 860px){.fv-video-wrap{position:absolute;top:0;left:0;width:100%;height:100dvh;overflow:hidden;z-index:0}}@media only screen and (max-width: 860px){.fv-bg-video{position:absolute;top:50%;left:50%;width:100%;height:100%;object-fit:cover;transform:translate(-50%, -50%)}}.fv-bg-photo{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);min-width:100%;min-height:100%;width:auto;height:auto;object-fit:cover;object-position:center center;filter:brightness(.52) saturate(0.88);pointer-events:none}.fv-deco{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 60%, rgba(251,224,65,0.12) 0%,rgba(0,0,0,0) 70%),radial-gradient(ellipse 40% 40% at 20% 80%, rgba(30,160,90,0.1) 0%,rgba(0,0,0,0) 60%);pointer-events:none}.fv-inner{position:relative;z-index:2;text-align:center;padding:0rem 5% 9rem;max-width:960px;animation:fadeUp 1.2s ease both}.fv-eyebrow{display:inline-flex;align-items:center;gap:0.8rem;background:rgba(253,248,231,0.15);border:1px solid rgba(253,248,231,0.5);border-radius:2px;padding:0.35rem 1.2rem;margin-bottom:1.8rem;animation:fadeUp 1.2s 0.2s ease both}.fv-eyebrow span{font-family:"Tilt Warp",sans-serif;font-size:1.2rem;color:var(--gold-light)}.fv-logo-wrap{margin:0.6rem auto 2rem;max-width:min(720px, 90vw);animation:fadeUp 1.2s 0.35s ease both}.fv-logo-img{width:100%;height:auto;display:block;mix-blend-mode:screen;filter:drop-shadow(0 4px 24px rgba(0,0,0,0.4))}.fv-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.4rem;animation:fadeUp 1.2s 0.65s ease both;margin-bottom:2.8rem}.fv-meta-item{display:flex;align-items:center;gap:0.6rem;color:var(--cream)}.fv-meta-icon{width:28px;height:28px;background:rgba(253,248,231,0.2);border:1px solid rgba(253,248,231,0.7);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.75rem;flex-shrink:0}.fv-meta-text strong{display:block;font-size:0.7rem;letter-spacing:0.15em;color:var(--gold);font-weight:500}.fv-meta-text span{font-size:clamp(0.85rem, 1.8vw, 1rem);font-weight:400}.fv-cta{display:inline-block;padding:0.9rem 3rem;background:var(--gold);color:var(--earth-mid);font-family:"Tilt Warp",sans-serif;font-size:1rem;text-decoration:none;border-radius:2px;transition:background 0.3s, transform 0.3s, box-shadow 0.3s;box-shadow:0 4px 24px rgba(251,224,65,0.4);animation:fadeUp 1.2s 0.8s ease both}.fv-cta:hover{background:var(--gold-light);transform:translateY(-3px);box-shadow:0 10px 40px rgba(251,224,65,0.5)}.fv-scroll{position:absolute;bottom:16rem;display:flex;flex-direction:column;align-items:center;gap:0.5rem;animation:fadeUp 1.2s 1s ease both}.fv-scroll span{font-size:0.6rem;color:rgba(253,248,231,0.5);font-family:"Tilt Warp",sans-serif}.fv-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom, rgba(251,224,65,0.6),rgba(0,0,0,0));animation:scrollPulse 2s ease-in-out infinite}#event-info{background:#EB553A;position:relative;z-index:1;margin-top:-210px}.event-info-inner{display:flex;align-items:stretch;justify-content:center;max-width:1280px;margin:0 auto;padding:0 5%}.event-info-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;gap:0.4rem}.event-info-label{font-family:"Tilt Warp",sans-serif;font-size:1rem;letter-spacing:0.1em;color:rgba(253,248,231,0.55);display:block}.event-info-main{font-family:"Tilt Warp",sans-serif;font-size:clamp(1.8rem, 4vw, 2.8rem);letter-spacing:0.05em;color:var(--cream);line-height:1.05}.event-info-main em{font-style:normal;color:var(--gold)}.event-info-sub{font-size:clamp(0.7rem, 1.2vw, 0.8rem);color:#fdf8e7;letter-spacing:0.06em;font-weight:500;margin-top:0.3rem}.event-info-divider{width:1px;background:rgba(253,248,231,0.2);align-self:stretch;margin:1.5rem 0}#concept{background:var(--cream);padding:calc(var(--gap) * 1) 5%;position:relative;overflow:hidden}.concept-inner{max-width:950px;margin:0 auto;position:relative;z-index:1}.concept-top{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center;margin-bottom:4rem}.concept-img{border-radius:4px;overflow:hidden;position:relative}.concept-img img{width:100%;transition:transform 0.6s ease, filter 0.6s ease}.concept-img:hover img{transform:scale(1.04);filter:sepia(5%) brightness(1)}.concept-img::after{content:'';position:absolute;inset:0;border:1px solid rgba(251,224,65,0.2);border-radius:4px;pointer-events:none}.concept-text-block h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(1.6rem, 3.5vw, 2.4rem);color:var(--earth-mid);line-height:1.35;margin-bottom:1.4rem}.concept-text-block h2 em{font-style:italic;color:var(--gold)}.concept-text-block p{font-size:clamp(0.9rem, 1.6vw, 1rem);color:rgba(42,18,8,0.75);line-height:1.9;font-weight:400;margin-bottom:1rem}.concept-quote{background:rgba(235,85,58,0.07);border-left:3px solid var(--earth-mid);padding:1.6rem 2rem;border-radius:0 4px 4px 0;margin-top:2rem}.concept-quote p{font-family:"Noto Sans JP",sans-serif;font-size:clamp(1.1rem, 2.5vw, 1.5rem);color:var(--earth-mid);line-height:1.6;font-style:italic;margin:0}.concept-quote span{display:block;margin-top:0.8rem;font-size:0.75rem;color:var(--sage);letter-spacing:0.1em;font-family:"Noto Sans JP",sans-serif;font-style:normal}#monument{background:var(--sage);padding:calc(var(--gap) * 1) 5%;position:relative;overflow:hidden}.monument-inner{max-width:1200px;margin:0 auto}.monument-inner .section-label{color:var(--gold)}.monument-layout{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:560px}.monument-visual{position:relative;overflow:hidden}.monument-visual img{width:100%;height:100%;min-height:400px;object-fit:cover;transition:transform 0.8s ease, filter 0.8s ease}.monument-visual:hover img{transform:scale(1.04)}.monument-visual-badge{position:absolute;top:1.5rem;left:1.5rem;background:var(--gold);color:var(--earth-dark);font-family:"Tilt Warp",sans-serif;font-size:1rem;letter-spacing:0.1rem;padding:0.35rem 0.9rem;border-radius:2px;z-index:2}.monument-content{font-family:"Noto Sans JP",sans-serif;background:var(--moss);padding:clamp(2rem, 6%, 4rem);display:flex;flex-direction:column;justify-content:center}.monument-content h2{font-family:"Tilt Warp",sans-serif;font-size:clamp(2.2rem, 5vw, 3.5rem);color:var(--cream);letter-spacing:0.05em;line-height:1.05;margin-bottom:0.5rem}.monument-content h2 span{color:var(--gold)}.monument-content p{font-size:clamp(0.88rem, 1.5vw, 0.98rem);color:#fff;line-height:1.9;font-weight:300;margin-bottom:1rem}.monument-num{font-family:"Tilt Warp",sans-serif;font-size:5rem;line-height:1;color:rgba(251,224,65,0.12);margin-bottom:-0.8rem;pointer-events:none}.monument-tagline{font-size:0.75rem;letter-spacing:0.2em;color:rgba(251,224,65,0.85);font-family:"Tilt Warp",sans-serif;margin-bottom:1.6rem;display:flex;align-items:center;gap:0.6rem}.monument-tagline::before{content:'';display:inline-block;width:24px;height:1px;background:var(--gold)}.monument-action-tags{display:grid;grid-template-columns:repeat(2, 1fr);gap:0.75rem;margin-top:1.8rem}@media only screen and (max-width: 600px){.monument-action-tags{grid-template-columns:1fr}}.action-tag{display:flex;align-items:center;gap:0.9rem;padding:0.9rem 1.2rem;background:rgba(253,248,231,0.08);border:1px solid rgba(251,224,65,0.3);border-radius:8px;font-size:0.82rem;font-family:'Zen Kaku Gothic New', sans-serif;color:var(--cream);letter-spacing:0.04em;cursor:pointer;text-align:left;transition:background 0.22s, border-color 0.22s, transform 0.18s, box-shadow 0.22s;appearance:none;-webkit-appearance:none;line-height:1.4;position:relative;overflow:hidden}@media only screen and (min-width: 601px) and (max-width: 860px){.action-tag{grid-template-columns:1fr}}@media only screen and (max-width: 600px){.action-tag{font-size:0.8rem;padding:0.8rem 1rem}}.action-tag::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);border-radius:8px 0 0 8px;opacity:0.7;transition:opacity 0.2s, width 0.2s}.action-tag::after{content:'›';position:absolute;right:0.9rem;top:50%;transform:translateY(-50%);font-size:1.2rem;color:rgba(251,224,65,0.45);transition:color 0.2s, transform 0.2s;line-height:1}.action-tag .tag-icon{font-size:1.5rem;flex-shrink:0;line-height:1;width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;background:rgba(251,224,65,0.1);border-radius:6px;border:1px solid rgba(251,224,65,0.2);transition:background 0.2s;font-size:1rem}@media only screen and (max-width: 600px){.action-tag .tag-icon{font-size:1.3rem;width:2rem;height:2rem}}.action-tag .tag-label{flex:1;padding-right:1.2rem}.action-tag:hover{background:rgba(251,224,65,0.14);border-color:rgba(251,224,65,0.65);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.25)}.action-tag:hover::before{width:4px;opacity:1}.action-tag:hover::after{color:var(--gold);transform:translateY(-50%) translateX(2px)}.action-tag:hover .tag-icon{background:rgba(251,224,65,0.2)}.action-tag:hover:active{transform:translateY(0);box-shadow:0 2px 8px rgba(0,0,0,0.2)}.action-tag--link{text-decoration:none}.ws-modal-overlay{position:fixed;inset:0;background:rgba(8,22,14,0.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:700;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity 0.3s ease}.ws-modal-overlay.active{opacity:1;pointer-events:auto}.ws-modal-overlay.active .ws-modal{transform:translateY(0) scale(1);opacity:1}.ws-modal{background:var(--moss);border-radius:10px;width:100%;max-width:580px;max-height:90dvh;overflow-y:auto;position:relative;transform:translateY(28px) scale(0.96);transition:transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1),opacity 0.3s ease;opacity:0;box-shadow:0 32px 100px rgba(0,0,0,0.55);border:1px solid rgba(251,224,65,0.15)}.ws-modal-img-wrap{position:relative;overflow:hidden;border-radius:10px 10px 0 0}.ws-modal-img-wrap::after{content:'';position:absolute;inset:0;pointer-events:none}.ws-modal-img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.ws-modal-body{padding:2rem 2.2rem 2.4rem;font-family:"Noto Sans JP",sans-serif}.ws-modal-emoji{font-size:2.2rem;margin-bottom:0.6rem;display:block;line-height:1}.ws-modal-title{font-family:"Noto Sans JP",sans-serif;font-size:clamp(1.6rem, 4vw, 2.1rem);letter-spacing:0.06em;color:var(--gold);line-height:1.1;margin-bottom:0.5rem}@media only screen and (max-width: 600px){.ws-modal-title{font-size:clamp(1.3rem, 4vw, 2.1rem)}}.ws-modal-divider{width:36px;height:2px;background:var(--gold);margin-bottom:1.2rem;border-radius:2px}.ws-modal-desc{font-size:0.9rem;color:rgba(253,248,231,0.86);line-height:1.95;font-weight:300}.ws-modal-link{display:inline-block;margin-top:1.4rem;font-size:0.88rem;color:var(--gold);text-decoration:underline;text-underline-offset:0.2em;transition:opacity 0.2s}.ws-modal-link:hover{opacity:0.7}.ws-modal-link-btn{display:inline-flex;align-items:center;gap:0.55rem;padding:0.75rem 1.6rem;background:var(--sage);color:var(--gold);font-family:"Tilt Warp",sans-serif;font-size:0.95rem;letter-spacing:0.18em;text-decoration:none;border-radius:4px;border:1px solid rgba(251,224,65,0.35);transition:background 0.25s, transform 0.25s, box-shadow 0.25s;box-shadow:0 4px 16px rgba(18,92,56,0.35)}.ws-modal-link-btn:hover{background:var(--moss);transform:translateY(-2px);box-shadow:0 8px 28px rgba(18,92,56,0.45);border-color:rgba(251,224,65,0.7)}.ws-modal-link-btn:hover svg{transform:translate(2px, -2px)}.ws-modal-link-btn svg{flex-shrink:0;transition:transform 0.2s}.ws-modal-flow{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.4rem;align-items:center}.ws-modal-flow-step{font-size:0.65rem;letter-spacing:0.08em;color:#0d3d25;background:rgba(251,224,65,0.9);border-radius:2px;padding:0.22rem 0.65rem;font-weight:500}.ws-modal-flow-arrow{font-size:0.7rem;color:rgba(251,224,65,0.6)}.ws-modal-close{position:absolute;top:1rem;right:1rem;width:38px;height:38px;background:rgba(0,0,0,0.4);border:1px solid rgba(253,248,231,0.25);border-radius:50%;color:var(--cream);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s, transform 0.25s;z-index:10;line-height:1}.ws-modal-close:hover{background:var(--earth-mid);transform:rotate(90deg)}#contents{background:var(--parchment)}.main-contents{padding:calc(var(--gap) * 1) 5%;font-family:"Noto Sans JP",sans-serif}.main-contents .contents-inner{max-width:1200px;margin:0 auto}.contents-header{text-align:center;margin-bottom:3rem}.contents-header .section-label{font-size:2rem}.contents-header h2{font-size:clamp(1.9rem, 5vw, 3.5rem);color:var(--earth-mid);color:var(--earth-mid);letter-spacing:0.08em}.contents-header p{color:rgba(235,85,58,0.65);font-size:1rem;margin-top:0.5rem;font-weight:500;color:var(--text-primary)}.contents-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem;max-width:1200px;margin:0 auto}.contents-grid .content-card:nth-child(1){animation-delay:0.1s}.contents-grid .content-card:nth-child(2){animation-delay:0.2s}.contents-grid .content-card:nth-child(3){animation-delay:0.3s}.contents-grid .content-card:nth-child(4){animation-delay:0.4s}.contents-grid .content-card:nth-child(5){animation-delay:0.5s}.content-card{background:#fff;border-radius:4px;overflow:hidden;position:relative;transition:transform 0.35s ease, box-shadow 0.35s ease;border:1px solid rgba(235,85,58,0.15);cursor:pointer}.content-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(18,92,56,0.15)}.content-card:hover .card-img img{transform:scale(1.06);filter:saturate(1) brightness(1)}.content-card:nth-child(1){grid-column:span 2}.content-card:nth-child(1) .card-img img{aspect-ratio:16/7}.card-img{overflow:hidden;position:relative}.card-img img{width:100%;aspect-ratio:16/8;object-fit:cover;transition:transform 0.5s ease, filter 0.5s ease}.card-num{position:absolute;top:1rem;left:1rem;font-family:"Tilt Warp",sans-serif;font-size:1.2rem;letter-spacing:0.1em;background:var(--earth-dark);color:var(--gold);padding:0.25rem 0.7rem;border-radius:2px;z-index:2}.card-body{padding:1.4rem 1.6rem 1.8rem}.card-body h3{font-family:"Tilt Warp",sans-serif;font-size:clamp(1.2rem, 2.5vw, 1.6rem);color:var(--earth-mid);margin-bottom:0.4rem;line-height:1.2}.card-body h3 span{color:var(--sage)}.card-body p{font-size:0.84rem;line-height:1.7;font-weight:400}.card-divider{width:28px;height:2px;background:var(--earth-mid);margin:0.8rem 0}.cm-detail{margin-top:1.6rem;display:flex;flex-direction:column;gap:1.2rem}.cm-detail-block{border:1px solid rgba(235,85,58,0.18);border-radius:6px;overflow:hidden}.cm-detail-block-head{display:inline-flex;align-items:center;gap:0.45rem;background:var(--earth-mid);padding:0.45rem 1rem;font-family:"Tilt Warp",sans-serif;font-size:1rem;letter-spacing:0.1em;color:var(--gold);width:100%;box-sizing:border-box}.cm-detail-block-head .fa-solid{font-size:0.85em;opacity:0.95}.cm-detail-block-body{padding:1rem 1.2rem;background:rgba(235,85,58,0.04)}.cm-session-list{display:flex;flex-direction:column;gap:0.8rem;padding:1rem 1.2rem;background:rgba(235,85,58,0.04)}.cm-session-card{background:#fff;border:1px solid rgba(235,85,58,0.18);border-left:3px solid var(--earth-mid);border-radius:0 6px 6px 0;padding:0.8rem 1rem;display:flex;flex-direction:column;gap:0.4rem}.cm-session-num{font-family:"Tilt Warp",sans-serif;font-size:1rem;letter-spacing:0.1em;color:var(--earth-mid);margin-bottom:0.1rem}.cm-session-time{display:inline-flex;align-items:center;gap:0.4rem;font-family:"Tilt Warp",sans-serif;font-size:0.75rem;letter-spacing:0.15em;color:#fff;background:var(--earth-mid);padding:0.18rem 0.65rem;border-radius:2px;width:fit-content;margin-bottom:0.3rem}.cm-session-theme{font-size:0.88rem;font-weight:500;color:rgba(42,18,8,0.88);line-height:1.5}.cm-session-speaker{display:flex;align-items:flex-start;gap:0.4rem;font-size:0.75rem;color:rgba(42,18,8,0.55);line-height:1.6;font-weight:300;padding-top:0.3rem;border-top:1px solid rgba(235,85,58,0.1);margin-top:0.2rem}.cm-session-speaker .fa-solid{margin-top:0.2rem;flex-shrink:0;font-size:0.72rem;color:rgba(30,160,90,0.75)}.cm-note{margin-top:0.6rem;font-size:0.75rem;color:rgba(42,18,8,0.45);line-height:1.7;font-weight:300}.contents-map-btn{text-align:center;margin-top:3rem}.contents-map-btn .map_modal_btn{display:inline-flex;align-items:center;gap:0.6rem;padding:1rem 2.8rem;background:var(--earth-mid);color:var(--gold);font-family:"Tilt Warp",sans-serif;font-size:1.1rem;letter-spacing:0.22em;border:2px solid var(--gold);border-radius:3px;cursor:pointer;transition:background 0.3s, transform 0.3s, box-shadow 0.3s;box-shadow:0 4px 24px rgba(235,85,58,0.3)}#zerowaste{background:var(--moss);padding:calc(var(--gap) * 1) 5%;position:relative;overflow:hidden}.zerowaste-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}.zerowaste-header{margin-bottom:3.5rem;flex-wrap:wrap;gap:1rem}.zerowaste-header .section-label{color:var(--gold)}.zerowaste-header h2{display:flex;font-family:"Tilt Warp",sans-serif;font-size:clamp(2rem, 5vw, 3.5rem);color:#fff;letter-spacing:0.06em;line-height:1.1}@media only screen and (max-width: 600px){.zerowaste-header h2{flex-direction:column}}.zerowaste-header h2 em{color:var(--gold);font-style:normal;display:block}.zerowaste-header p{max-width:380px;font-size:1rem;color:rgba(253,248,231,0.88);line-height:1.8;font-weight:500}.zerowaste-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem}.zerowaste-grid .waste-item:nth-child(1){animation-delay:0.1s}.zerowaste-grid .waste-item:nth-child(2){animation-delay:0.25s}.zerowaste-grid .waste-item:nth-child(3){animation-delay:0.4s}.waste-item{background:rgba(253,248,231,0.1);border:1px solid rgba(253,248,231,0.35);border-radius:4px;padding:2.5rem 1.8rem;text-align:center;transition:background 0.35s, border-color 0.35s, transform 0.35s;position:relative;overflow:hidden;cursor:pointer}.waste-item::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg, rgba(251,224,65,0.08) 0%,rgba(0,0,0,0) 60%);opacity:0;transition:opacity 0.35s}.waste-item:hover{background:rgba(253,248,231,0.2);border-color:rgba(253,248,231,0.7);transform:translateY(-6px)}.waste-item:hover::before{opacity:1}.waste-item:hover .waste-icon{background:#c13d26;border-color:var(--gold);transform:rotate(-5deg) scale(1.1)}.waste-item h3{font-family:"Tilt Warp",sans-serif;font-size:1.3rem;letter-spacing:0.12em;color:#fff;margin-bottom:0.8rem}.waste-item .waste-keyword{display:inline-block;font-size:0.65rem;letter-spacing:0.2em;color:#fff;font-family:"Tilt Warp",sans-serif;background:#EB553A;padding:0.2rem 0.7rem;border-radius:2px;margin-bottom:1rem}.waste-item p{font-size:0.84rem;color:rgba(253,248,231,0.92);line-height:1.8;font-weight:300}.waste-icon{width:72px;height:72px;margin:0 auto 1.4rem;background:#EB553A;border:2px solid rgba(251,224,65,0.6);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:background 0.35s, border-color 0.35s, transform 0.35s}.waste-flow{display:flex;justify-content:center;gap:0.6rem;margin-top:1.2rem;flex-wrap:wrap}.flow-step{font-size:0.65rem;letter-spacing:0.08em;color:#0d3d25;background:rgba(251,224,65,0.88);border:1px solid rgba(251,224,65,0.6);border-radius:2px;padding:0.2rem 0.6rem}.flow-arrow{font-size:0.65rem;color:rgba(253,248,231,0.7);display:flex;align-items:center}footer{background:var(--gold);border-top:1px solid rgba(13,61,37,0.2);padding:3.5rem 5% 2rem;font-family:"Noto Sans JP",sans-serif}.footer-inner{max-width:1200px;margin:0 auto}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;align-items:start;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(13,61,37,0.15)}.footer-brand{background:var(--sage);border-radius:6px;padding:1.8rem 1.8rem 1.6rem}.footer-brand .logo-text{font-family:"Tilt Warp",sans-serif;font-size:1.8rem;color:var(--gold);line-height:1.1;display:block;margin-bottom:0.3rem}.footer-brand .year-text{font-family:"Tilt Warp",sans-serif;font-size:0.8rem;margin-bottom:1.2rem;display:block}.footer-brand p{font-size:0.82rem;color:#fff;line-height:1.8;font-weight:400;max-width:280px}.footer-map{margin-top:1rem;border-radius:4px;overflow:hidden;border:1px solid rgba(253,248,231,0.25);transition:opacity 0.3s}.footer-map:hover{opacity:1}.footer-col h4{font-family:"Tilt Warp",sans-serif;font-size:1.7rem;color:var(--moss);margin-bottom:1.2rem}.footer-col ul{list-style:none}.footer-col li{margin-bottom:0.6rem;font-size:0.5em}.footer-col a{font-size:0.82rem;color:var(--moss);text-decoration:none;transition:color 0.2s;letter-spacing:0.04em;font-weight:500}.footer-col a:hover{color:var(--earth-mid)}.footer-credits{font-size:1em;margin-bottom:3rem}@media only screen and (min-width: 601px) and (max-width: 860px){.footer-credits{font-size:0.8em;text-align:center}}@media only screen and (max-width: 600px){.footer-credits{display:flex;flex-direction:column;font-size:0.6em}}.footer-credits span{margin-right:50px}@media only screen and (min-width: 601px) and (max-width: 860px){.footer-credits span{margin-right:20px}}.footer-access-block{background:rgba(13,61,37,0.07);border:1px solid rgba(13,61,37,0.2);border-radius:4px;padding:1.2rem 1.4rem;margin-top:0.8rem}.footer-access-block p{color:rgba(13,61,37,0.78);font-family:"Noto Sans JP",sans-serif;font-size:0.8rem;line-height:1.8;font-weight:500}.footer-access-block p .fa-solid{width:1.15em;margin-right:0.35em;color:rgba(30,160,90,0.85);vertical-align:-0.06em}.footer-sponsors{margin-bottom:2rem}.footer-sponsors h4{font-family:"Tilt Warp",sans-serif;font-size:0.7rem;letter-spacing:0.3em;color:rgba(13,61,37,0.55);margin-bottom:1rem}.sponsor-list{display:flex;flex-wrap:wrap;gap:0.8rem}.sponsor-badge{background:rgba(13,61,37,0.07);border:1px solid rgba(13,61,37,0.2);border-radius:2px;padding:0.4rem 1rem;font-size:0.72rem;color:rgba(13,61,37,0.65);letter-spacing:0.08em;transition:border-color 0.25s, color 0.25s}.sponsor-badge:hover{border-color:var(--earth-mid);color:var(--earth-mid)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-bottom p{font-size:0.72rem;color:rgba(13,61,37,0.45);letter-spacing:0.06em}.footer-bottom-links{display:flex;gap:1.5rem;list-style:none}.footer-bottom-links a{font-size:0.72rem;color:rgba(13,61,37,0.45);text-decoration:none;transition:color 0.2s}.footer-bottom-links a:hover{color:var(--earth-mid)}#sponsors{background:#ffffff;padding:calc(var(--gap) * 1) 5%;position:relative;overflow:hidden}.sponsors-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}.sponsors-header{margin-bottom:3rem}.sponsors-header h2{font-family:"Tilt Warp",sans-serif;font-size:clamp(2rem, 5vw, 3.5rem);color:var(--earth-mid);letter-spacing:0.06em;line-height:1.1}.sponsors-header h2 em{color:var(--sage);font-style:normal}.sponsor-logo-item{display:flex;flex-direction:column;align-items:center;gap:0.7rem}.sponsor-logo-item .sponsor-tier{font-family:"Tilt Warp",sans-serif;font-size:0.58rem;letter-spacing:0.2em;color:var(--sage);background:rgba(30,160,90,0.1);border:1px solid rgba(30,160,90,0.25);border-radius:2px;padding:0.15rem 0.6rem}.sponsor-logo-item.placeholder{opacity:0.4}.sponsor-logo-box{width:100%;aspect-ratio:3 / 2;display:flex;align-items:center;justify-content:center;padding:0.8rem;transition:background 0.3s, border-color 0.3s}.sponsor-logo-name{font-family:"Noto Sans JP",sans-serif;font-size:clamp(0.6rem, 1vw, 0.78rem);text-align:center;line-height:1.4;font-weight:400}#faq{background:var(--cream);padding:calc(var(--gap) * 1) 5%;position:relative;overflow:hidden}.faq-inner{max-width:760px;margin:0 auto;position:relative;z-index:1}.faq-header{margin-bottom:3rem}.faq-header h2{font-family:"Tilt Warp",sans-serif;font-size:clamp(2rem, 5vw, 3.5rem);color:var(--earth-mid);letter-spacing:0.06em;line-height:1.1}.faq-header h2 em{color:var(--sage);font-style:normal}.faq-list{display:flex;flex-direction:column;gap:0}.faq-item{border-bottom:1px solid rgba(235,85,58,0.15)}.faq-item:first-child{border-top:1px solid rgba(235,85,58,0.15)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 0;background:none;border:none;cursor:pointer;text-align:left;font-family:"Noto Sans JP",sans-serif;font-size:clamp(0.92rem, 1.6vw, 1.05rem);font-weight:500;color:var(--text-primary);line-height:1.5;transition:color 0.2s}.faq-q:hover{color:var(--earth-mid)}.faq-icon{flex-shrink:0;width:28px;height:28px;border:1.5px solid rgba(235,85,58,0.4);border-radius:50%;position:relative;transition:background 0.25s, border-color 0.25s}.faq-icon::before{content:'';position:absolute;background:var(--earth-mid);border-radius:2px;top:50%;left:50%;transform:translate(-50%, -50%);transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),opacity 0.25s;width:12px;height:2px}.faq-icon::after{content:'';position:absolute;background:var(--earth-mid);border-radius:2px;top:50%;left:50%;transform:translate(-50%, -50%);transition:transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),opacity 0.25s;width:2px;height:12px}.faq-q[aria-expanded="true"] .faq-icon{background:var(--earth-mid);border-color:var(--earth-mid)}.faq-q[aria-expanded="true"] .faq-icon::before{background:#fff}.faq-q[aria-expanded="true"] .faq-icon::after{background:#fff;transform:translate(-50%, -50%) rotate(90deg);opacity:0}.faq-a{overflow:hidden;max-height:0;transition:max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1)}.faq-a p{padding:0 0 1.4rem;font-size:0.9rem;line-height:1.9;font-weight:400}.section-heading{text-align:center;margin-bottom:3rem}.section-heading .section-label{text-align:center}.section-heading h2{font-family:"Tilt Warp",sans-serif;font-size:clamp(2rem, 5vw, 3.5rem);letter-spacing:0.08em;color:var(--cream);line-height:1.1}.section-heading p{font-size:0.88rem;color:rgba(253,248,231,0.6);margin-top:0.5rem;font-weight:300}.reveal{opacity:0;transform:translateY(30px);animation:revealAnim 0.8s ease forwards}.wave-divider{display:block;width:100%;background:var(--cream);overflow:hidden;line-height:0;margin-bottom:-2px}.wave-divider svg{display:block;width:100%}#shops{background:var(--foam);padding:calc(var(--gap) * 1) 5%;position:relative;overflow:hidden}.shops-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}.shops-header{text-align:center;margin-bottom:3.5rem}.shops-header .section-label{color:var(--sage)}.shops-header h2{font-family:"Tilt Warp",sans-serif;font-size:clamp(2rem, 5vw, 3.5rem);color:var(--earth-dark);letter-spacing:0.08em}.shops-header p{margin-top:0.5rem;color:var(--earth-mid);font-size:0.9rem;font-weight:500}.shops-tabs{display:flex;justify-content:center;gap:0.5rem;margin-bottom:3rem;flex-wrap:wrap}.shops-tab{display:inline-flex;align-items:center;gap:0.5rem;padding:0.55rem 1.4rem;border:1.5px solid rgba(235,85,58,0.3);border-radius:2px;background:transparent;cursor:pointer;font-family:"Tilt Warp",sans-serif;font-size:0.85rem;letter-spacing:0.18em;color:var(--earth-mid);transition:background 0.25s, border-color 0.25s, color 0.25s}.shops-tab:hover{background:var(--earth-dark);border-color:var(--earth-dark);color:var(--gold)}.shops-tab .tab-count{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:rgba(251,224,65,0.2);border-radius:50%;font-size:0.65rem;color:var(--gold);line-height:1;transition:background 0.25s}.shops-tab.active{background:var(--earth-dark);border-color:var(--earth-dark);color:var(--gold)}.shops-tab.active .tab-count{background:rgba(251,224,65,0.35)}.shops-panel{display:block}.shops-category-heading{margin:3rem 0 1.4rem;display:flex;align-items:center;gap:1rem}.shops-category-heading:first-of-type{margin-top:0}.shops-category-heading::after{content:'';flex:1;height:1px;background:rgba(235,85,58,0.2)}.shops-cat-label{font-family:"Tilt Warp",sans-serif;font-size:1.1rem;color:var(--earth-mid);background:rgba(235,85,58,0.1);border:1.5px solid rgba(235,85,58,0.3);border-radius:2px;padding:0.4rem 1.2rem}.shops-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:1.2rem}.shops-grid.grid-3{grid-template-columns:repeat(3, 1fr);max-width:780px;margin:0 auto}.shops-grid.grid-3-s{grid-template-columns:repeat(3, 1fr);max-width:780px;margin:0 auto}.shop-card{cursor:pointer;border-radius:6px;overflow:hidden;background:#fff;border:1px solid rgba(160,120,74,0.18);box-shadow:0 2px 12px rgba(0,0,0,0.07);transition:transform 0.28s ease, box-shadow 0.28s ease}.shop-card:hover{transform:translateY(-4px);box-shadow:0 10px 32px rgba(0,0,0,0.14)}.shop-card:hover .shop-card-front-img img{transform:scale(1.05);filter:saturate(1) brightness(1)}.shop-card-inner{position:relative;width:100%}.shop-card-front{position:relative}.shop-card-front-img{position:relative;aspect-ratio:1 / 1;overflow:hidden}.shop-card-front-img img{width:100%;height:100%;object-fit:cover;filter:saturate(0.85);transition:transform 0.45s ease, filter 0.45s ease}.shop-flip-hint{position:absolute;bottom:0.55rem;right:0.55rem;background:rgba(175,52,31,0.84);border:1px solid rgba(251,224,65,0.5);border-radius:2px;padding:0.18rem 0.55rem;font-family:"Tilt Warp",sans-serif;font-size:0.78rem;letter-spacing:0.1em;color:var(--gold);pointer-events:none}.shop-card-foot{padding:0.65rem 0.9rem 0.75rem;background:#fff}.shop-card-foot-name{font-family:"Noto Sans JP",sans-serif;font-size:1rem;font-weight:500;color:var(--earth-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-card-foot-genre{font-size:0.62rem;color:var(--sage);letter-spacing:0.08em;margin-top:0.12rem}.shop-card-back{display:none}.shop-modal-overlay{position:fixed;inset:0;background:rgba(20,8,4,0.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:500;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity 0.3s ease}.shop-modal-overlay.active{opacity:1;pointer-events:auto}.shop-modal-overlay.active .shop-modal{transform:translateY(0) scale(1);opacity:1}.shop-modal{background:var(--earth-mid);border-radius:10px;width:100%;max-width:600px;max-height:90dvh;overflow-y:auto;position:relative;transform:translateY(28px) scale(0.96);transition:transform 0.38s cubic-bezier(0.34, 1.28, 0.64, 1),opacity 0.3s ease;opacity:0;box-shadow:0 28px 90px rgba(0,0,0,0.5)}.shop-modal::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, var(--gold), var(--sage));border-radius:10px 10px 0 0;z-index:2}.shop-modal-media:empty{display:none}.shop-modal-img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.shop-modal-body{padding:1.8rem 2rem 2.2rem}.shop-modal-genre{display:inline-block;font-family:"Tilt Warp",sans-serif;font-size:1rem;letter-spacing:0.1em;color:var(--gold);background:rgba(251,224,65,0.18);border:1px solid rgba(251,224,65,0.4);border-radius:2px;padding:0.2rem 0.65rem;margin-bottom:0.75rem}.shop-modal-name{font-family:"Noto Sans JP",sans-serif;font-size:clamp(1.5rem, 4vw, 2rem);color:var(--cream);line-height:1.15;margin-bottom:0.55rem}.shop-modal-divider{width:32px;height:2px;background:var(--gold);margin-bottom:1.1rem}.shop-modal-desc{font-size:0.9rem;color:#fff;line-height:1.9;font-weight:400}.shop-modal-close{position:absolute;top:1rem;right:1rem;width:38px;height:38px;background:rgba(0,0,0,0.35);border:1px solid rgba(253,248,231,0.28);border-radius:50%;color:var(--cream);font-size:1.05rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s, transform 0.25s;z-index:10;line-height:1}.shop-modal-close:hover{background:rgba(235,85,58,0.75);transform:rotate(90deg)}.shop-modal-link-wrap[hidden]{display:none !important}.shop-modal-link-stack{margin-top:1.6rem;display:flex;flex-direction:column;align-items:flex-start;gap:0.65rem}.shop-modal-link-stack[hidden]{display:none !important}.shop-modal-extra-links{display:flex;flex-direction:column;align-items:flex-start;gap:0.65rem;width:100%}.shop-modal-link-btn{display:inline-flex;align-items:center;gap:0.55rem;padding:0.72rem 1.5rem;background:var(--earth-mid);color:var(--cream);font-family:"Noto Sans JP",sans-serif;font-size:1rem;letter-spacing:0.1em;text-decoration:none;border-radius:4px;border:1px solid rgba(251,224,65,0.25);transition:background 0.25s, transform 0.25s, box-shadow 0.25s;box-shadow:0 4px 16px rgba(235,85,58,0.3)}.shop-modal-link-btn:hover{background:#c13d26;transform:translateY(-2px);box-shadow:0 8px 28px rgba(235,85,58,0.45)}.shop-modal-link-btn:hover svg{transform:translate(2px, -2px)}.shop-modal-link-btn svg{flex-shrink:0;transition:transform 0.2s}.content-modal-overlay{position:fixed;inset:0;background:rgba(10,5,2,0.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:600;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity 0.3s ease}.content-modal-overlay.active{opacity:1;pointer-events:auto}.content-modal-overlay.active .content-modal{transform:translateY(0) scale(1);opacity:1}.content-modal{background:var(--foam);border-radius:10px;width:100%;max-width:620px;max-height:90dvh;overflow-y:auto;position:relative;transform:translateY(30px) scale(0.96);transition:transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1),opacity 0.3s ease;opacity:0;box-shadow:0 32px 100px rgba(0,0,0,0.5)}.content-modal-img-wrap{position:relative;overflow:hidden;border-radius:10px 10px 0 0}.content-modal-img-wrap::after{content:'';position:absolute;inset:0;pointer-events:none}.content-modal-img{width:100%;aspect-ratio:18 / 9;object-fit:cover;display:block}.content-modal-tag{font-size:1rem;letter-spacing:0.1em;color:var(--gold);background:rgba(30,160,90,0.85);border:1px solid rgba(251,224,65,0.45);border-radius:2px;padding:0.22rem 0.8rem;z-index:2}.content-modal-body{padding:2rem 2.2rem 2.4rem}.content-modal-title{font-size:clamp(1.6rem, 4vw, 2.2rem);letter-spacing:0.06em;color:var(--earth-mid);line-height:1.1;margin:0.55rem auto}.content-modal-divider{width:36px;height:3px;background:var(--earth-mid);margin-bottom:1.2rem;border-radius:2px}.content-modal-desc{font-size:1rem;color:rgba(42,18,8,0.78);line-height:1.95;font-weight:500}.content-modal-link-wrap{display:none;margin-top:1.6rem}.content-modal-link-btn{display:inline-flex;align-items:center;gap:0.55rem;padding:0.72rem 1.6rem;background:var(--earth-mid);color:var(--cream);font-family:"Tilt Warp",sans-serif;font-size:0.95rem;letter-spacing:0.18em;text-decoration:none;border-radius:3px;transition:background 0.25s, transform 0.25s, box-shadow 0.25s;box-shadow:0 4px 16px rgba(235,85,58,0.3)}.content-modal-link-btn:hover{background:var(--earth-dark);transform:translateY(-2px);box-shadow:0 8px 28px rgba(235,85,58,0.45)}.content-modal-link-btn:hover svg{transform:translate(2px, -2px)}.content-modal-link-btn svg{flex-shrink:0;transition:transform 0.2s}.content-modal-close{position:absolute;top:1rem;right:1rem;width:38px;height:38px;background:rgba(0,0,0,0.4);border:1px solid rgba(255,255,255,0.3);border-radius:50%;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s, transform 0.25s;z-index:10;line-height:1}.content-modal-close:hover{background:var(--earth-mid);transform:rotate(90deg)}@media only screen and (max-width: 900px){.sponsor-logo-row{grid-template-columns:repeat(3, 1fr)}.concept-top{grid-template-columns:1fr;gap:2rem}.monument-layout{grid-template-columns:1fr}.monument-visual img{min-height:280px}.contents-grid{grid-template-columns:1fr 1fr}.content-card:nth-child(1){grid-column:span 2}.zerowaste-grid{grid-template-columns:1fr;gap:1rem}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}.shops-grid{grid-template-columns:repeat(3, 1fr)}.shops-grid.grid-3{grid-template-columns:repeat(3, 1fr);max-width:100%}.shops-grid.grid-3-s{grid-template-columns:repeat(3, 1fr);max-width:100%}}@media only screen and (max-width: 640px){.event-info-inner{flex-direction:column;padding:0 8%}.event-info-item{padding:2rem 0}.event-info-divider{width:40px;height:1px;align-self:center;margin:0}}@media only screen and (max-width: 600px){.contents-grid{grid-template-columns:1fr}.content-card:nth-child(1){grid-column:span 1}.footer-top{grid-template-columns:1fr}.footer-brand{grid-column:span 1}.fv-meta{flex-direction:column;align-items:center}.zerowaste-header{flex-direction:column}.zerowaste-header p{max-width:100%}.footer-bottom{flex-direction:column;text-align:center}.shops-grid{grid-template-columns:repeat(2, 1fr)}.shops-grid.grid-3{grid-template-columns:repeat(2, 1fr)}.shops-grid.grid-3-s{grid-template-columns:repeat(2, 1fr)}}@media only screen and (max-width: 500px){.ws-modal-body{padding:1.4rem 1.4rem 1.8rem}.sponsor-logo-row{grid-template-columns:repeat(2, 1fr)}.content-modal-body{padding:1.4rem 1.4rem 1.8rem}}#zerowaste{background:var(--moss);padding:calc(var(--gap) * 1) 5%;position:relative;overflow:hidden}.zerowaste-inner{max-width:860px;margin:0 auto;position:relative;z-index:1}.zerowaste-header{margin-bottom:3rem}.zerowaste-header h2{font-family:"Tilt Warp",sans-serif;font-size:clamp(2rem, 5vw, 3.5rem);color:#ffffff;letter-spacing:0.06em;line-height:1.1;margin-bottom:1.2rem}.zerowaste-header h2 em{color:var(--gold);font-style:normal}.zerowaste-header p{max-width:680px;font-size:0.9rem;color:rgba(253,248,231,0.82);line-height:1.9;font-weight:400}.zw-accordion{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(253,248,231,0.15)}.zw-item{border-bottom:1px solid rgba(253,248,231,0.15)}.zw-trigger{width:100%;background:none;border:none;display:flex;align-items:center;gap:1.2rem;padding:1.4rem 0.4rem;cursor:pointer;text-align:left;transition:background 0.25s;position:relative}.zw-trigger:hover{background:rgba(253,248,231,0.05)}.zw-num{font-family:"Tilt Warp",sans-serif;font-size:1rem;letter-spacing:0.25em;color:var(--gold);flex-shrink:0;width:2rem;text-align:right;transition:color 0.25s}.zw-item.open .zw-num,.zw-trigger:hover .zw-num{color:var(--gold)}.zw-icon{width:48px;height:48px;background:rgba(235,85,58,0.85);border:1px solid rgba(251,224,65,0.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;transition:background 0.28s, border-color 0.28s, transform 0.28s}.zw-icon .fa-solid{font-size:1.05rem;color:rgba(253,248,231,0.95);line-height:1}.zw-item.open .zw-icon,.zw-trigger:hover .zw-icon{background:#c13d26;border-color:var(--gold);transform:scale(1.08)}.zw-title{flex:1;font-family:'Zen Kaku Gothic New', sans-serif;font-size:clamp(0.95rem, 2vw, 1.08rem);font-weight:500;color:rgba(253,248,231,0.92);letter-spacing:0.04em;line-height:1.4;transition:color 0.25s}.zw-item.open .zw-title,.zw-trigger:hover .zw-title{color:#ffffff}.zw-chevron{flex-shrink:0;width:28px;height:28px;border:1px solid #fbfbfb;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform 0.38s cubic-bezier(0.4, 0, 0.2, 1),background 0.25s,border-color 0.25s}.zw-chevron svg{display:block;transition:stroke 0.25s}.zw-item.open .zw-chevron{transform:rotate(180deg);background:rgba(251,224,65,0.18);border-color:rgba(251,224,65,0.6)}.zw-trigger:hover .zw-chevron{border-color:rgba(251,224,65,0.5)}.zw-panel{max-height:0;overflow:hidden;transition:max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1)}.zw-panel-inner{padding:0 0.4rem 2rem calc(2rem + 1.2rem + 48px + 1.2rem)}.zw-panel-inner p{font-size:0.9rem;color:#fff;line-height:1.95;font-weight:400;margin-bottom:1.2rem}.zw-panel-img{max-width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:4px;display:block;margin:1.4rem 0;filter:brightness(.88) saturate(0.9);transition:filter 0.4s}.zw-item.open .zw-panel-img{filter:brightness(1) saturate(1)}.zw-tag{display:inline-block;font-family:"Noto Sans JP",sans-serif;font-size:.75rem;letter-spacing:0.1em;color:var(--gold);background:rgba(251,224,65,0.12);border:1px solid rgba(251,224,65,0.35);border-radius:2px;padding:0.22rem 0.8rem;margin:1rem 0}@media only screen and (max-width: 640px){.zw-panel-inner{padding:0 0.4rem 1.6rem 0.4rem}.zw-trigger{gap:0.9rem}.zw-icon{width:40px;height:40px;font-size:1.2rem}.zw-icon .fa-solid{font-size:0.95rem}}.zw-link-btn{display:inline-flex;align-items:center;gap:0.5rem;margin-top:1.2rem;padding:0.65rem 1.4rem;background:rgba(251,224,65,0.15);color:var(--gold);border:1px solid rgba(251,224,65,0.45);border-radius:4px;font-family:"Noto Sans JP",sans-serif;font-size:1rem;letter-spacing:0.1em;text-decoration:none;transition:background 0.25s, border-color 0.25s, transform 0.2s, box-shadow 0.2s}.zw-link-btn:hover{background:rgba(251,224,65,0.28);border-color:var(--gold);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.25)}.zw-link-btn:hover svg{transform:translate(2px, -2px)}.zw-link-btn svg{flex-shrink:0;transition:transform 0.2s}
