@charset "utf-8";
		:root{
		  --paper:#f4e9d2;
		  --paper-2:#e8d5a8;
		  --ink:#2a1810;
		  --ink-soft:#4a2f1f;
		  --gold:#d4a341;
		  --gold-bright:#f5c542;
		  --rust:#a8431e;
		  --rust-deep:#7a2e10;
		  --emerald:#1e6f5c;
		  --turquoise:#3ba99c;
		  --amethyst:#7a4d9b;
		  --ruby:#c8395e;
		  --shadow:0 8px 0 var(--ink);
		}
		*{margin:0;padding:0;box-sizing:border-box}
		html{scroll-behavior:smooth}
		body{
		  font-family:"RocknRoll One","Hiragino Maru Gothic ProN",sans-serif;
		  color:var(--ink);
		  background:var(--paper);
		  background-image:
			radial-gradient(circle at 20% 30%, rgba(168,67,30,0.08) 0, transparent 50%),
			radial-gradient(circle at 80% 70%, rgba(212,163,65,0.12) 0, transparent 45%),
			repeating-linear-gradient(45deg, transparent 0, transparent 2px, rgba(122,46,16,0.02) 2px, rgba(122,46,16,0.02) 4px);
		  overflow-x:hidden;
		  line-height:1.6;
		}

		/* グレイン質感 */
		body::before{
		  content:"";
		  position:fixed;inset:0;
		  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 0.16  0 0 0 0 0.09  0 0 0 0 0.06  0 0 0 0.18 0'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='0.5'/></svg>");
		  pointer-events:none;
		  z-index:1000;
		  mix-blend-mode:multiply;
		  opacity:0.35;
		}

		.photo-frame{
		  position:relative;
		  overflow:hidden;
		  border:3px solid var(--ink);
		  background:var(--paper-2);
		  box-shadow:6px 6px 0 var(--ink);
		}
		.photo-frame img{
		  display:block;
		  width:100%;height:100%;
		  object-fit:cover;
		}
		.photo-frame img[src=""],
		.photo-frame img:not([src]){
		  display:none;
		}
		.photo-frame::before{
		  content:attr(data-label);
		  position:absolute;
		  inset:0;
		  display:flex;
		  align-items:center;
		  justify-content:center;
		  flex-direction:column;
		  background:
			repeating-linear-gradient(45deg, var(--paper-2) 0 10px, rgba(168,67,30,0.08) 10px 20px);
		  color:var(--ink-soft);
		  font-size:13px;
		  font-family:"Bungee",sans-serif;
		  letter-spacing:0.15em;
		  text-align:center;
		  padding:16px;
		  z-index:1;
		}
		.photo-frame::after{
		  content:"📷";
		  position:absolute;
		  top:50%;left:50%;
		  transform:translate(-50%,calc(-50% - 26px));
		  font-size:36px;
		  z-index:2;
		  filter:grayscale(0.4) opacity(0.7);
		}
		.photo-frame:has(img:not([src=""])[src])::before,
		.photo-frame:has(img:not([src=""])[src])::after{
		  display:none;
		}

		#schedule{
			font-size:22px;
			margin:25px;
			margin-right:0;
			text-align:right;
			list-style-type:none;
		}

		.ev_schedule{
		  color:#f0ffff;
		  background-image:
			linear-gradient(135deg, #a5f3fc 15%, transparent 15%),
			linear-gradient(45deg, #22d3ee 25%, transparent 25%),
			linear-gradient(225deg, #ffffff, #06b6d4 35%, transparent 35%),
			linear-gradient(315deg, #0891b2 45%, transparent 45%),
			linear-gradient(90deg, #67e8f9 10%, transparent 10%),
			linear-gradient(0deg, #0e7490, #ffffff);
		  box-shadow: inset 0 0 30px rgba(0,0,0,0.3),0 10px 25px rgba(211, 84, 0, 0.3); 
		  border:3px solid #00608d;
		  border-radius:12px;
	      text-decoration:none;
		  padding:15px;
		}

		header{
		  position:relative;
		  width:100%;
		  min-height:100vh;
	      aspect-ratio: 2192 / 1029;
		  padding:40px 24px 80px;
		  display:flex;
		  flex-direction:column;
		  justify-content:center;
		  align-items:center;
		  text-align:center;
		  overflow:hidden;
		}

		.top-bg{
		  position: absolute;
		  inset:0; 
		  z-index:-1;
		  padding:0;
		}

		.top-bg img{
		  width:100%;
		  object-fit:cover;
		  opacity:1;
		}

		.top-bg-tab{
			display:none;
		}

		.top-bg-sp{
			display:none;
		}

		.floating-stone{
		  position:absolute;
		  border-radius:50%;
		  filter:drop-shadow(2px 4px 0 rgba(0,0,0,0.3));
		  animation:float 6s ease-in-out infinite;
		  z-index:1;
		}
		.fs1{top:8%;left:6%;width:48px;height:42px;background:radial-gradient(circle at 30% 30%,#fff,#a4d4ec 60%,#3ba99c);animation-delay:0s}
		.fs2{top:14%;right:8%;width:36px;height:34px;background:radial-gradient(circle at 30% 30%,#fff,#dca5db 60%,#7a4d9b);animation-delay:1.2s}
		.fs3{top:55%;left:4%;width:54px;height:48px;background:radial-gradient(circle at 30% 30%,#fff,#f5b8c7 50%,#c8395e);animation-delay:2.4s}
		.fs4{top:62%;right:5%;width:42px;height:38px;background:radial-gradient(circle at 30% 30%,#fff,#f5c542 50%,#a8431e);animation-delay:3.6s}
		.fs5{top:32%;left:2%;width:30px;height:28px;background:radial-gradient(circle at 30% 30%,#fff,#9be0a3 50%,#1e6f5c);animation-delay:0.8s}
		.fs6{top:75%;left:48%;width:34px;height:32px;background:radial-gradient(circle at 30% 30%,#fff,#fffacf 50%,#d4a341);animation-delay:2s}

		@keyframes float{
		  0%,100%{transform:translateY(0) rotate(0)}
		  50%{transform:translateY(-18px) rotate(15deg)}
		}

		.kicker{
		  position:relative;
		  z-index:3;
		  display:inline-block;
		  background:var(--ink);
		  color:var(--gold-bright);
		  padding:8px 24px;
		  font-family:"Bungee",sans-serif;
		  font-size:14px;
		  letter-spacing:0.15em;
		  transform:rotate(-2deg);
		  margin-bottom:24px;
		  box-shadow:4px 4px 0 var(--rust-deep);
		}

		.top-logo{
		  position:relative;
		  z-index:3;
		  font-family:"Reggae One",sans-serif;
		  font-size:clamp(48px,9vw,108px);
		  line-height:0.95;
		  color:var(--paper);
		  -webkit-text-stroke:3px var(--ink);
		  text-shadow:
			0 0 0 var(--ink),
			6px 6px 0 var(--rust),
			9px 9px 0 var(--ink);
		  letter-spacing:0.02em;
		  margin-bottom:8px;
		  transform:rotate(-1deg);
		}
		.top-logo .sub{
		  display:block;
		  font-family:"Bungee",sans-serif;
		  font-size:clamp(18px,2.6vw,32px);
		  color:var(--gold-bright);
		  -webkit-text-stroke:2px var(--ink);
		  letter-spacing:0.25em;
		  margin-top:8px;
		  transform:rotate(1deg);
		}

		.tagline-stack{
		  position:relative;
		  z-index:3;
		  display:flex;
		  flex-direction:column;
		  align-items:center;
		  gap:8px;
		  margin-bottom:48px;
		}
		.tag1{
		  font-family:"Reggae One",sans-serif;
		  font-size:clamp(28px,4.5vw,56px);
		  background:linear-gradient(180deg,#fff5a8,#f5c542 60%,#a8431e);
		  -webkit-background-clip:text;
		  background-clip:text;
		  -webkit-text-fill-color:transparent;
		  -webkit-text-stroke:3px var(--ink);
		  letter-spacing:0.05em;
		}
		.tag1 .pink{
		  background:linear-gradient(180deg,#ffd3e2,#f06b9b 60%,#7a1a3a);
		  -webkit-background-clip:text;
		  background-clip:text;
		  -webkit-text-fill-color:transparent;
		}
		.tag1 .green{
		  background:linear-gradient(180deg,#d4f5a8,#7ac41e 60%,#2a5a10);
		  -webkit-background-clip:text;
		  background-clip:text;
		  -webkit-text-fill-color:transparent;
		}
		.tag2{
		  font-family:"Reggae One",sans-serif;
		  font-size:clamp(40px,7vw,84px);
		  color:var(--gold-bright);
		  -webkit-text-stroke:4px var(--ink);
		  text-shadow:6px 6px 0 var(--rust-deep);
		  letter-spacing:0.02em;
		}

		section{
		  position:relative;
		  padding:80px 24px;
		}
		.container{max-width:1300px;margin:0 auto;position:relative;z-index:2}

		.section-title{
		  font-family:"Reggae One",sans-serif;
		  font-size:clamp(36px,5.5vw,64px);
		  text-align:center;
		  margin-bottom:16px;
		  color:var(--ink);
		  letter-spacing:0.04em;
		  position:relative;
		  display:inline-block;
		}
		.section-title-wrap{
		  text-align:center;
		  margin-bottom:64px;
		}
		.section-title::before{content:"▸ ";color:var(--rust)}
		.section-title::after{content:" ◂";color:var(--rust)}
		.section-sub{
		  display:block;
		  font-family:"Bungee",sans-serif;
		  font-size:14px;
		  letter-spacing:0.4em;
		  color:var(--rust);
		  margin-top:4px;
		}

		.about{
		  background:
			linear-gradient(180deg, rgba(232,213,168,0) 0%, rgba(232,213,168,0.6) 100%);
		}

		.about-grid{
		  display:grid;
		  grid-template-columns:repeat(4,1fr);
		  gap:30px;
		  margin-top:48px;
		}
		.card{
		  background:var(--paper);
		  border:3px solid var(--ink);
		  padding:0 0 24px;
		  position:relative;
		  box-shadow:8px 8px 0 var(--ink);
		  transition:transform 0.2s;
		  overflow:hidden;
		}
		.card:nth-child(1){transform:rotate(-1.5deg)}
		.card:nth-child(2){transform:rotate(0.8deg)}
		.card:nth-child(3){transform:rotate(-0.5deg)}
		.card:hover{transform:rotate(0) translateY(-4px)}
		.card-num{
		  position:absolute;
		  top:-5px;left:-5px;
		  z-index:5;
		  width:56px;height:56px;
		  background:var(--gold-bright);
		  border:3px solid var(--ink);
		  border-radius:50%;
		  display:flex;align-items:center;justify-content:center;
		  font-family:"Bungee",sans-serif;
		  font-size:22px;
		  color:var(--ink);
		  box-shadow:3px 3px 0 var(--ink);
		}
		.card-photo{
		  position:relative;
		  aspect-ratio:4/3;
		  border:none;
		  border-bottom:3px solid var(--ink);
		  box-shadow:none;
		  margin-bottom:20px;
		}
		.card-body{padding:0 24px}
		.card h3{
		  font-family:"Reggae One",sans-serif;
		  font-size:22px;
		  margin-bottom:12px;
		  color:var(--rust-deep);
		  text-align:center;
		}
		.card p{font-size:15px;color:var(--ink-soft);text-align:center}

		.booth{
		  background:var(--paper-2);
		  background-image:
			repeating-linear-gradient(90deg, transparent 0 80px, rgba(122,46,16,0.04) 80px 81px);
		}
		.booth-grid{
		  display:grid;
		  grid-template-columns:1.4fr 1fr;
		  gap:40px;
		  align-items:center;
		}
		.booth-main-photo{
		  aspect-ratio:3/2;
		  transform:rotate(-1deg);
		}
		.booth-text h3{
		  font-family:"Reggae One",sans-serif;
		  font-size:clamp(28px,4vw,40px);
		  color:var(--rust-deep);
		  line-height:1.3;
		  margin-bottom:20px;
		}
		.booth-text h3 .accent{
		  color:var(--gold-bright);
		  -webkit-text-stroke:1px var(--ink);
		  display:inline-block;
		  transform:rotate(-2deg);
		}

		.pc-br{
			display:block;
		}

		.booth-text p{
		  font-size:16px;
		  line-height:2;
		  color:var(--ink-soft);
		  margin-bottom:20px;
		}
		.booth-points{
		  display:flex;
		  flex-direction:column;
		  gap:12px;
		}
		.booth-points li{
		  list-style:none;
		  display:flex;
		  align-items:flex-start;
		  gap:12px;
		  font-size:15px;
		  color:var(--ink);
		  font-weight:500;
		}
		.booth-points li::before{
		  content:"⛏";
		  font-size:20px;
		  color:var(--rust);
		  flex-shrink:0;
		}

		.booth-substrip{
		  margin-top:48px;
		  display:grid;
		  grid-template-columns:repeat(3,1fr);
		  gap:20px;
		}
		.substrip-photo{
		  aspect-ratio:1;
		}
		.booth-substrip .substrip-photo:nth-child(1){transform:rotate(-1deg)}
		.booth-substrip .substrip-photo:nth-child(2){transform:rotate(0.5deg)}
		.booth-substrip .substrip-photo:nth-child(3){transform:rotate(-0.8deg)}

		.gallery{
		  background:var(--paper);
		}
		.gallery-mosaic{
		  margin-top:30px;
		  display:grid;
		  grid-template-columns:repeat(4,1fr);
		  grid-template-rows:repeat(2,200px);
		  gap:16px;
		}
		.gallery-mosaic .photo-frame:nth-child(1){
		  grid-column:span 2;
		  grid-row:span 2;
		  transform:rotate(-1deg);
		}
		.gallery-mosaic .photo-frame:nth-child(2){transform:rotate(1deg)}
		.gallery-mosaic .photo-frame:nth-child(3){transform:rotate(-0.5deg)}
		.gallery-mosaic .photo-frame:nth-child(4){transform:rotate(0.5deg)}
		.gallery-mosaic .photo-frame:nth-child(5){transform:rotate(-1deg)}
		.gallery-caption{
		  text-align:center;
		  margin-top:32px;
		  font-family:"Reggae One",sans-serif;
		  font-size:18px;
		  color:var(--rust-deep);
		}

		.stones{
		  background:var(--ink);
		  color:var(--paper);
		  background-image:
			radial-gradient(circle at 10% 20%, rgba(212,163,65,0.15) 0, transparent 40%),
			radial-gradient(circle at 90% 80%, rgba(168,67,30,0.2) 0, transparent 40%);
		}
		.stones .section-title{color:var(--gold-bright)}
		.stones .section-title::before,
		.stones .section-title::after{color:var(--paper)}
		.stones .section-sub{color:var(--gold-bright)}

		.stones-poster{
		  margin:0 auto 48px;
		  max-width:780px;
		  aspect-ratio:786/1140;
		  background:var(--paper);
		  box-shadow:0 16px 40px rgba(0,0,0,0.5);
		  transform:rotate(-0.5deg);
		}
		.stones-poster::before{
		  content:"PHOTO: 30種コレクション図（ポスター裏面）";
		  color:var(--ink-soft);
		  background:
			repeating-linear-gradient(45deg, var(--paper-2) 0 10px, rgba(168,67,30,0.08) 10px 20px);
		}
		.stones-poster img{object-fit:contain;background:var(--paper)}

		.yt-container {
			width: 100%;          
			max-width: 400px;     
			margin: 0 auto;      
		}

		.youtube-block {
			width: 100%;
			aspect-ratio: 9 / 16; 
			position: relative;
			overflow: hidden;
			background-color: #000; 
		}

		.video-poster {
			width: 100%;
			height: 100%;
			cursor: pointer;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 2;
		}

		.video-poster img {
			width: 100%;
			height: 100%;
			object-fit: cover; 
			transition: transform 0.3s, filter 0.3s;
		}

		.video-poster:hover img {
			transform: scale(1.05);
			filter: brightness(0.8);
		}

		.play-icon {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			width: 80px;
			height: 56px;
			background: url(images/youtube.png) center center / contain no-repeat;
			transition: opacity 0.3s;
		}

		.video-poster:hover .play-icon {
			opacity: 0.9;
		}

		.youtube-block iframe {
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
			border: none;
		}

		.how{
		  background:var(--paper-2);
		  background-image:
			repeating-linear-gradient(90deg, transparent 0 80px, rgba(122,46,16,0.04) 80px 81px);
		}
		.steps{
		  display:grid;
		  grid-template-columns:repeat(3,1fr);
		  gap:16px;
		  position:relative;
		}
		.steps::before{
		  content:"";
		  position:absolute;
		  top:32px;left:5%;right:5%;height:6px;
		  background:repeating-linear-gradient(90deg, var(--ink) 0 12px, transparent 12px 24px);
		  z-index:0;
		}
		.step{
		  position:relative;
		  z-index:1;
		  text-align:center;
		  background:var(--paper);
		  padding:0 0 20px;
		  border:3px solid var(--ink);
		  box-shadow:5px 5px 0 var(--ink);
		  overflow:hidden;
		}
		.step-photo{
		  position:relative;
		  aspect-ratio:4/3;
		  border:none;
		  border-bottom:3px solid var(--ink);
		  box-shadow:none;
		}
		.step-photo::before{
		  font-size:11px!important;
		  padding:8px!important;
		}
		.step-circle{
		  width:56px;height:56px;
		  border-radius:50%;
		  background:var(--rust);
		  color:#fff;
		  font-family:"Bungee",sans-serif;
		  font-size:24px;
		  display:flex;align-items:center;justify-content:center;
		  margin:-28px auto 12px;
		  border:3px solid var(--ink);
		  box-shadow:3px 3px 0 var(--ink);
		  position:relative;
		  z-index:3;
		}
		.step h4{
		  font-family:"Reggae One",sans-serif;
		  font-size:18px;
		  margin-bottom:8px;
		  color:var(--ink);
		  padding:0 16px;
		}
		.step p{font-size:15px;color:var(--ink-soft);padding:0 16px}
		.steps .small{font-size:11px;margin-top:16px;opacity:0.5}

		.info{
		  background:var(--ink);
		  color:var(--paper);
		}
		.info .section-title{color:var(--gold-bright)}
		.info .section-title::before,
		.info .section-title::after{color:var(--paper)}
		.info .section-sub{color:var(--gold-bright)}

		.info-grid{
		  align-items:start;
		  margin-bottom:50px;
		}

		.info-table{
		  width:100%;
		  border-collapse:collapse;
		}
		.info-table th,.info-table td{
		  padding:18px 16px;
		  text-align:left;
		  border-bottom:1px dashed rgba(244,233,210,0.25);
		  font-size:15px;
		}
		.info-table th{
		  font-family:"Reggae One",sans-serif;
		  color:var(--gold-bright);
		  width:120px;
		  font-weight:normal;
		}

		.info-calendar{
		  width:100%;
		  border-collapse:collapse;
		}
		.info-calendar th,.info-calendar td{
		  padding:18px 16px;
		  text-align:left;
		  border:1px solid rgba(244,233,210,0.25);
		  font-size:14px;
		}
		.info-calendar th{
			width:40%;
		}
		.info-calendar td{
			font-size:20px;
		}

		.info-calendar td a:link{
			color:var(--gold-bright);
		}

		.info-calendar td a:visited{
			color:var(--gold-bright);
		}

		.info-callout{
		  background:var(--rust-deep);
		  padding:32px;
		  border:3px solid var(--gold-bright);
		  text-align:center;
		  position:relative;
		}
		.info-callout::before{
		  content:"⛏";
		  position:absolute;
		  top:-24px;left:50%;
		  transform:translateX(-50%);
		  background:var(--gold-bright);
		  width:48px;height:48px;
		  border-radius:50%;
		  display:flex;align-items:center;justify-content:center;
		  font-size:24px;
		  border:3px solid var(--ink);
		}
		.info-callout h3{
		  font-family:"Reggae One",sans-serif;
		  font-size:28px;
		  color:var(--gold-bright);
		  margin-top:8px;
		  margin-bottom:12px;
		}
		.info-callout p{color:var(--paper);line-height:1.7;font-size:14px}
		.info-callout strong{color:var(--gold-bright)}
		.info-callout a:link{
			color:var(--gold-bright);
		}
		.info-callout a:visited{
			color:var(--gold-bright);
		}

		.final-cta{
		  position:relative;
		  background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%);
		  text-align:center;
		  padding:120px 24px;
		  overflow:hidden;
		}
		.final-cta-content{position:relative;z-index:2}
		.final-cta h2{
		  font-family:"Reggae One",sans-serif;
		  font-size:clamp(36px,6vw,72px);
		  color:var(--rust-deep);
		  -webkit-text-stroke:1px var(--ink);
		  margin-bottom:24px;
		  letter-spacing:0.04em;
		}
		.final-cta p{
		  font-size:18px;
		  color:var(--ink-soft);
		  margin-bottom:40px;
		  max-width:600px;
		  margin-left:auto;margin-right:auto;
		}
		.final-cta-buttons{
		  display:flex;
		  gap:20px;
		  justify-content:center;
		  flex-wrap:wrap;
		}
		.btn-secondary{
		  display:inline-flex;
		  align-items:center;
		  gap:10px;
		  padding:20px 36px;
		  font-family:"Reggae One",sans-serif;
		  font-size:20px;
		  text-decoration:none;
		  border:3px solid var(--ink);
		  transition:transform 0.15s, box-shadow 0.15s;
		  letter-spacing:0.05em;
		}
		.btn-secondary{
		  background:var(--paper);
		  color:var(--ink);
		  box-shadow:6px 6px 0 var(--ink);
		}
		.btn-secondary:hover{
		  transform:translate(3px,3px);
		  box-shadow:3px 3px 0 var(--ink);
		}

		footer{
		  background:var(--ink);
		  color:var(--paper);
		  padding:48px 24px 32px;
		  text-align:center;
		}
		footer .logo{
		  font-family:"Reggae One",sans-serif;
		  font-size:28px;
		  color:var(--gold-bright);
		  margin-bottom:12px;
		}
		footer p{font-size:13px;line-height:1.8;color:rgba(244,233,210,0.7)}
		footer .address a:link{
			color:var(--gold-bright);
		}
		footer .address a:visited{
			color:var(--gold-bright);
		}
		footer .small{font-size:11px;margin-top:16px;opacity:0.5}

		/* レスポンシブ */
		@media (max-width:960px){
		  .about-grid,.steps{grid-template-columns:repeat(2,1fr)}
		  #schedule{
			margin:25px;
			font-size:18px;
			text-align:center;
		  }
		  header{aspect-ratio:  3 / 4;}
		  .top-bg{display:none;}
		  .top-bg-tab{display:block;}
		  .top-bg-sp{display:none;}
		  .top-bg-tab{position: absolute;inset:0; z-index:-1;padding:0;}
		  .top-bg-tab img{ width:100%;object-fit:cover;opacity:1;}
		  .booth-text h3,p{text-align:center;}
		  .pc-br{display:none;}
		  .steps::before{display:none}
		  .info-grid{grid-template-columns:1fr}
		  .<strong>info-calendar</strong> th,.info-calendar td{font-size:12px;}
		  .booth-grid{grid-template-columns:1fr;gap:32px}
		  .gallery-mosaic{
			grid-template-columns:repeat(2,1fr);
			grid-template-rows:repeat(3,160px);
		  }
		  .gallery-mosaic .photo-frame:nth-child(1){
			grid-column:span 2;
			grid-row:span 1;
		  }
		}
		@media (max-width:560px){
		  .about-grid,.steps{grid-template-columns:1fr}
		  #schedule{
			font-size:15px;
			margin:15px;
			text-align:center;
		  }	
		  .ev_schedule{
			padding:8px;
		  }			
		  header{padding:32px 16px 60px;aspect-ratio:  9 / 19.5;}
		  .top-bg{display:none;}
		  .top-bg-tab{display:none;}
		  .top-bg-sp{display:block;}
		  .top-bg-sp{position: absolute;inset:0; z-index:-1;padding:0;}
		  .top-bg-sp img{ width:100%;object-fit:cover;opacity:1;}
		  section{padding:60px 16px}
		  .booth-substrip{grid-template-columns:1fr;gap:16px}
		}
