*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #1a1a1a;--color-bg-alt: #222222;--color-bg-card: #2a2a2a;--color-sumi: #1a1a1a;--color-sumi-light: #333333;--color-kincha: #c99833;--color-kincha-dark: #a87d28;--color-matcha: #7a9a65;--color-matcha-light: #8fb076;--color-text: #e8e4dc;--color-text-muted: #999999;--color-border: rgba(255, 255, 255, .08);--color-white: #ffffff;--font-main: "Noto Serif JP", "Yu Mincho", "游明朝", serif;--font-gothic: "Noto Sans JP", "Hiragino Sans", sans-serif;--container-max: 1100px;--container-narrow: 780px;--section-padding: 5.5rem 1.5rem;--transition: .3s ease;--transition-slow: .6s ease}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-main);color:var(--color-text);background-color:var(--color-bg);line-height:1.9;min-height:100dvh;display:flex;flex-direction:column}img{max-width:100%;height:auto;display:block}a{color:var(--color-kincha);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-matcha-light)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.view-more{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-gothic);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-kincha);border:1px solid var(--color-kincha);padding:.6rem 1.8rem;transition:all var(--transition)}.view-more:hover{background:var(--color-kincha);color:var(--color-bg)}.view-more:after{content:"→"}.fade-in{opacity:0;transform:translateY(24px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.fade-in.is-visible{opacity:1;transform:translateY(0)}.site-header{background:#1a1a1aeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--color-text);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border)}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max);margin:0 auto;padding:.75rem 1.5rem}.site-logo{font-size:1.2rem;font-weight:700;letter-spacing:.18em;color:var(--color-text);white-space:nowrap;line-height:1.3}.site-logo small{display:block;font-size:.6rem;font-weight:400;letter-spacing:.12em;color:var(--color-kincha);font-family:var(--font-gothic)}.global-nav ul{display:flex;gap:1.8rem;list-style:none}.global-nav a{color:var(--color-text-muted);font-family:var(--font-gothic);font-size:.82rem;letter-spacing:.08em;position:relative;padding-bottom:4px}.global-nav a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-kincha);transition:width var(--transition)}.global-nav a:hover:after,.global-nav a[aria-current=page]:after{width:100%}.global-nav a:hover,.global-nav a[aria-current=page]{color:var(--color-text)}.hamburger{display:none;background:none;border:none;cursor:pointer;width:30px;height:22px;position:relative;z-index:110}.hamburger span{display:block;width:100%;height:2px;background:var(--color-text);position:absolute;left:0;transition:var(--transition)}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:50%;transform:translateY(-50%)}.hamburger span:nth-child(3){bottom:0}.hamburger[aria-expanded=true] span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}.hero{position:relative;width:100%;height:100vh;min-height:500px;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:heroFade 15s infinite}.hero-slide:nth-child(1){animation-delay:0s}.hero-slide:nth-child(2){animation-delay:5s}.hero-slide:nth-child(3){animation-delay:10s}@keyframes heroFade{0%{opacity:0}5%{opacity:1}33%{opacity:1}38%{opacity:0}to{opacity:0}}.hero-overlay{position:absolute;inset:0;background:#00000080;z-index:1}.hero-content{position:relative;z-index:2;text-align:center;color:var(--color-text);padding:0 1.5rem}.hero-content .sect-label{font-family:var(--font-gothic);font-size:.75rem;letter-spacing:.3em;color:var(--color-kincha);margin-bottom:1.2rem;display:block}.hero-content h1{font-size:3.2rem;letter-spacing:.35em;margin-bottom:.8rem;text-shadow:0 2px 20px rgba(0,0,0,.5);font-weight:400}.hero-content .tagline{font-size:1rem;letter-spacing:.2em;opacity:.85;text-shadow:0 1px 8px rgba(0,0,0,.4)}.page-header{background:var(--color-bg);color:var(--color-text);text-align:center;padding:4rem 1.5rem 3.5rem;position:relative;border-bottom:1px solid var(--color-border)}.page-header h1{font-size:1.8rem;letter-spacing:.3em;margin-bottom:.3rem;font-weight:400}.page-header .page-header-en{font-family:var(--font-gothic);font-size:.7rem;letter-spacing:.25em;color:var(--color-kincha);text-transform:uppercase}.section{padding:var(--section-padding)}.section--alt{background:var(--color-bg-alt)}.section--dark{background:#111;color:var(--color-text)}.section-title{text-align:center;font-size:1.55rem;letter-spacing:.25em;margin-bottom:.4rem;font-weight:400}.section-title-en{display:block;font-family:var(--font-gothic);font-size:.65rem;color:var(--color-kincha);letter-spacing:.22em;text-transform:uppercase;margin-bottom:2.5rem;text-align:center}.news-list{list-style:none;max-width:var(--container-narrow);margin:0 auto}.news-list li{display:flex;align-items:baseline;gap:1.2rem;padding:.9rem 0;border-bottom:1px solid var(--color-border);font-family:var(--font-gothic);font-size:.9rem}.news-date{color:var(--color-text-muted);font-size:.8rem;white-space:nowrap;min-width:6.5em}.news-category{font-size:.7rem;background:var(--color-kincha);color:var(--color-bg);padding:.15em .6em;border-radius:2px;white-space:nowrap}.news-title{flex:1}.banner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.banner-card{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:16 / 10;display:flex;align-items:flex-end}.banner-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.banner-card:hover img{transform:scale(1.06)}.banner-card-overlay{position:relative;z-index:1;width:100%;background:linear-gradient(transparent,#000c);padding:3rem 1.5rem 1.5rem;color:var(--color-text)}.banner-card-overlay h3{font-size:1.1rem;letter-spacing:.2em;margin-bottom:.4rem;font-weight:400}.banner-card-overlay .banner-link{font-family:var(--font-gothic);font-size:.65rem;color:var(--color-kincha);letter-spacing:.2em;text-transform:uppercase}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.card{background:var(--color-bg-card);border-radius:4px;padding:2rem 1.5rem;border-left:2px solid var(--color-kincha);transition:box-shadow var(--transition),transform var(--transition)}.card:hover{box-shadow:0 6px 24px #0000004d;transform:translateY(-2px)}.card h3{font-size:1.05rem;margin-bottom:.6rem;letter-spacing:.1em;display:flex;align-items:center;gap:.5em;color:var(--color-text)}.card h3:before{content:"";display:inline-block;width:6px;height:6px;background:var(--color-kincha);border-radius:50%;flex-shrink:0}.card p{font-size:.88rem;color:var(--color-text-muted);font-family:var(--font-gothic);line-height:1.75}.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.facility-card{border-radius:4px;overflow:hidden;background:var(--color-bg-card);transition:box-shadow var(--transition)}.facility-card:hover{box-shadow:0 6px 24px #0000004d}.facility-card img{width:100%;height:200px;object-fit:cover}.facility-card-body{padding:1.2rem 1.3rem 1.5rem}.facility-card-body h3{font-size:1rem;letter-spacing:.1em;margin-bottom:.4rem;color:var(--color-text)}.facility-card-body p{font-size:.85rem;color:var(--color-text-muted);font-family:var(--font-gothic);line-height:1.7}.events-table{width:100%;border-collapse:collapse;margin-top:1.5rem;font-family:var(--font-gothic)}.events-table th,.events-table td{padding:.85rem 1.2rem;text-align:left;border-bottom:1px solid var(--color-border);font-size:.9rem}.events-table th{background:var(--color-bg-card);color:var(--color-text);font-weight:500;letter-spacing:.1em;font-size:.82rem}.events-table tbody tr{transition:background var(--transition)}.events-table tbody tr:hover{background:#c998330f}.events-table td:first-child{font-weight:600;color:var(--color-kincha);white-space:nowrap;width:5em}.greeting-content{max-width:var(--container-narrow);margin:0 auto}.greeting-content p{font-size:.95rem;margin-bottom:1.2rem;line-height:2.1}.greeting-sign{text-align:right;margin-top:2.5rem;font-size:.9rem;color:var(--color-text-muted)}.about-intro{max-width:var(--container-narrow);margin:0 auto;text-align:center}.about-intro p{font-size:.95rem;line-height:2.1;margin-bottom:1rem}.access-map-full{width:100%;height:400px;border-radius:4px;overflow:hidden;margin-bottom:2.5rem}.access-map-full iframe{width:100%;height:100%;border:0}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}.access-info dl{font-family:var(--font-gothic);font-size:.9rem}.access-info dt{font-weight:700;margin-top:1.2rem;color:var(--color-kincha);letter-spacing:.06em;font-size:.85rem}.access-info dt:first-child{margin-top:0}.access-info dd{margin-left:0;padding-left:1em;border-left:2px solid var(--color-kincha);margin-top:.3rem;line-height:1.7}.access-summary{text-align:center;font-family:var(--font-gothic)}.access-summary-info{font-size:.9rem;line-height:2;margin-bottom:1.5rem}.access-summary-info strong{display:block;font-size:1.1rem;font-family:var(--font-main);letter-spacing:.1em;margin-bottom:.5rem;color:var(--color-text)}.contact-form{max-width:620px;margin:0 auto;font-family:var(--font-gothic)}.contact-intro{text-align:center;margin-bottom:2.5rem;font-size:.9rem;color:var(--color-text-muted);line-height:1.8}.form-success{background:#7a9a6526;border:1px solid var(--color-matcha);color:var(--color-matcha-light);padding:1.5rem;border-radius:4px;text-align:center;font-family:var(--font-gothic);font-size:.9rem;line-height:1.8;margin-bottom:2rem}.form-error-banner{background:#e060601f;border:1px solid #e06060;color:#e87070;padding:1rem 1.5rem;border-radius:4px;text-align:center;font-family:var(--font-gothic);font-size:.9rem;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;letter-spacing:.05em;color:var(--color-text)}.form-group label .required{color:#e06060;font-size:.7rem;margin-left:.4em;font-weight:400}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.15);border-radius:4px;font-size:.9rem;font-family:var(--font-gothic);background:var(--color-bg-card);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-kincha);box-shadow:0 0 0 3px #c9983326}.form-group textarea{min-height:160px;resize:vertical}.form-group .error-message{display:none;color:#e06060;font-size:.75rem;margin-top:.3rem}.form-group.has-error input,.form-group.has-error textarea{border-color:#e06060}.form-group.has-error .error-message{display:block}.form-actions{text-align:center;margin-top:2rem}.submit-btn{display:inline-block;background:var(--color-kincha);color:var(--color-bg);padding:.9rem 3.5rem;border:none;border-radius:4px;font-size:.9rem;font-family:var(--font-gothic);letter-spacing:.15em;cursor:pointer;transition:background var(--transition);font-weight:600}.submit-btn:hover{background:var(--color-kincha-dark)}.site-footer{background:#111;color:var(--color-text);padding:3.5rem 1.5rem 2rem;margin-top:auto;font-family:var(--font-gothic);border-top:1px solid var(--color-border)}.footer-inner{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start;padding-bottom:2rem;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem}.footer-info .footer-temple-name{font-family:var(--font-main);font-size:1.15rem;letter-spacing:.18em;margin-bottom:.6rem}.footer-info address{font-style:normal;font-size:.8rem;color:var(--color-text-muted);line-height:1.9}.footer-info .footer-phone{display:block;margin-top:.5rem;font-size:1rem;color:var(--color-text);letter-spacing:.05em}.footer-nav ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}.footer-nav a{color:var(--color-text-muted);font-size:.8rem;letter-spacing:.05em;transition:color var(--transition)}.footer-nav a:hover{color:var(--color-kincha)}.footer-sns{display:flex;gap:1rem;margin-top:.8rem}.footer-sns a{color:var(--color-text-muted);font-size:.85rem;transition:color var(--transition)}.footer-sns a:hover{color:var(--color-kincha)}.footer-bottom{text-align:center}.footer-bottom .copyright{font-size:.7rem;color:var(--color-text-muted)}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;background:var(--color-kincha);color:var(--color-bg);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition),background var(--transition);z-index:90;box-shadow:0 2px 8px #0006}.back-to-top.is-visible{opacity:1;visibility:visible}.back-to-top:hover{background:var(--color-kincha-dark)}@media(max-width:768px){.hamburger{display:block}.global-nav{position:fixed;inset:0;background:#1a1a1af7;display:flex;align-items:center;justify-content:center;transform:translate(100%);transition:transform var(--transition);z-index:105}.global-nav.is-open{transform:translate(0)}.global-nav ul{flex-direction:column;align-items:center;gap:2rem}.global-nav a{font-size:1.1rem;color:var(--color-text)}.hero{height:80vh;min-height:400px}.hero-content h1{font-size:2rem;letter-spacing:.2em}.hero-content .tagline{font-size:.9rem}.page-header{padding:2.5rem 1.5rem 2rem}.page-header h1{font-size:1.4rem}.section{padding:3.5rem 1.5rem}.section-title{font-size:1.3rem}.banner-grid{grid-template-columns:1fr}.banner-card{aspect-ratio:16 / 9}.facility-grid,.access-grid{grid-template-columns:1fr}.access-map-full{height:280px}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-nav ul{flex-direction:row;flex-wrap:wrap;justify-content:center}}@media(max-width:480px){.hero-content h1{font-size:1.5rem;letter-spacing:.15em}.card-grid{grid-template-columns:1fr}.news-list li{flex-wrap:wrap;gap:.3rem .8rem}.news-title{width:100%}.events-table th,.events-table td{padding:.6rem .7rem;font-size:.82rem}}
