:root{--font-serif: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;--font-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;--c-primary: #1a365d;--c-primary-light: #2a4d7d;--c-accent: #c92a2a;--c-accent-hover: #a61e1e;--c-gold: #b8860b;--c-gold-light: #dfb235;--c-gold-bg: #fff9db;--c-teal: #1f7a6f;--c-teal-bg: #e6fcf5;--c-bg-main: #faf8f5;--c-bg-card: #ffffff;--c-bg-alt: #f1ede6;--c-text-main: #2b2d42;--c-text-muted: #5c6274;--c-text-light: #8e94a5;--c-border: #e2dcd2;--c-border-light: #ede8e1;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--shadow-hover: 0 12px 30px rgba(26, 54, 93, .15);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-pill: 9999px;--header-height: 72px;--mobile-bar-height: 60px;--max-w-container: 1180px;--transition-fast: .2s ease;--transition-normal: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--c-bg-main);color:var(--c-text-main);line-height:1.75;word-break:break-word;padding-bottom:var(--mobile-bar-height)}@media (min-width: 900px){body{padding-bottom:0}}img,svg{display:block;max-width:100%;height:auto}a{color:var(--c-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--c-accent)}ul,ol{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}h1,h2,h3,.font-serif{font-family:var(--font-serif);font-feature-settings:"palt";letter-spacing:.04em;font-weight:700;color:var(--c-primary)}.text-accent{color:var(--c-accent)}.text-gold{color:var(--c-gold)}.text-teal{color:var(--c-teal)}.text-muted{color:var(--c-text-muted)}.text-center{text-align:center}.container{width:100%;max-width:var(--max-w-container);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}.section{padding-top:60px;padding-bottom:60px}@media (min-width: 768px){.section{padding-top:90px;padding-bottom:90px}}.section-alt{background-color:var(--c-bg-alt)}.section-primary{background:linear-gradient(135deg,var(--c-primary) 0%,#0d1b2a 100%);color:#fff}.section-primary h2,.section-primary h3,.section-primary p{color:#fff}.section-title-wrap{text-align:center;margin-bottom:40px}.section-title-en{display:block;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c-gold);font-weight:700;margin-bottom:6px}.section-title{font-size:1.85rem;position:relative;display:inline-block;padding-bottom:14px}@media (min-width: 768px){.section-title{font-size:2.3rem}}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:48px;height:3px;background-color:var(--c-accent);border-radius:2px}.section-lead{max-width:720px;margin:14px auto 0;color:var(--c-text-muted);font-size:1rem}.site-header{position:sticky;top:0;z-index:1000;background-color:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--c-border-light);height:var(--header-height);display:flex;align-items:center}.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%}.site-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.logo-symbol{width:42px;height:42px;background:linear-gradient(135deg,var(--c-accent),#9b1c1c);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:700;font-size:1.25rem;box-shadow:0 2px 6px #c92a2a59;border:2px solid var(--c-gold)}.logo-text{display:flex;flex-direction:column}.logo-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--c-primary);line-height:1.2;letter-spacing:.05em}.logo-sub{font-size:.72rem;color:var(--c-text-muted);letter-spacing:.1em}.nav-desktop{display:none}@media (min-width: 960px){.nav-desktop{display:flex;align-items:center;gap:22px}.nav-link{font-size:.93rem;font-weight:500;color:var(--c-text-main);padding:8px 4px;position:relative;transition:color var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--c-accent)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--c-accent)}.header-btn{display:inline-flex;align-items:center;gap:6px;background-color:var(--c-accent);color:#fff!important;padding:9px 18px;border-radius:var(--radius-pill);font-size:.88rem;font-weight:700;box-shadow:0 3px 8px #c92a2a4d;transition:all var(--transition-fast)}.header-btn:hover{background-color:var(--c-accent-hover);transform:translateY(-1px)}}.hamburger-btn{display:flex;flex-direction:column;justify-content:space-around;width:40px;height:40px;padding:8px;border-radius:var(--radius-sm);background:transparent;cursor:pointer;border:1px solid var(--c-border)}@media (min-width: 960px){.hamburger-btn{display:none}}.hamburger-line{width:100%;height:2px;background-color:var(--c-primary);transition:transform var(--transition-normal),opacity var(--transition-normal)}.hamburger-btn.is-active .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-btn.is-active .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.is-active .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-drawer{position:fixed;top:var(--header-height);left:0;width:100%;height:calc(100vh - var(--header-height));background-color:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:999;display:flex;flex-direction:column;padding:24px;overflow-y:auto;transform:translate(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-lg)}.mobile-drawer.is-open{transform:translate(0)}.mobile-nav-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.mobile-nav-item a{display:block;padding:12px 14px;font-size:1.1rem;font-weight:600;color:var(--c-primary);border-radius:var(--radius-sm);border-bottom:1px solid var(--c-border-light)}.mobile-nav-item a:hover{background-color:var(--c-bg-alt);color:var(--c-accent)}.mobile-bar{position:fixed;bottom:0;left:0;width:100%;height:var(--mobile-bar-height);background-color:#fff;border-top:1px solid var(--c-border);box-shadow:0 -2px 10px #00000014;display:flex;z-index:900}@media (min-width: 900px){.mobile-bar{display:none}}.mobile-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;color:var(--c-text-muted);text-decoration:none;padding:4px;gap:3px}.mobile-bar-item:active,.mobile-bar-item.active{color:var(--c-accent)}.mobile-bar-icon{font-size:1.15rem}.hero{position:relative;min-height:560px;display:flex;align-items:center;background:#0f2027 url(/images/common/hero-bg.svg) center/cover no-repeat;color:#fff;overflow:hidden;padding:60px 0}@media (min-width: 768px){.hero{min-height:640px;padding:90px 0}}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#0f202766,#0f2027cc)}.hero-content{position:relative;z-index:2;max-width:820px}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background-color:#ffffff26;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-pill);font-size:.82rem;letter-spacing:.08em;color:#ffda79;margin-bottom:20px}.hero-title{font-size:2.2rem;line-height:1.35;color:#fff;margin-bottom:20px;text-shadow:0 2px 10px rgba(0,0,0,.4)}@media (min-width: 768px){.hero-title{font-size:3.4rem}}.hero-desc{font-size:1.05rem;line-height:1.8;color:#e2e8f0;margin-bottom:34px;max-width:640px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:var(--radius-pill);font-weight:700;font-size:.95rem;text-align:center;transition:all var(--transition-normal);cursor:pointer;border:2px solid transparent}.btn-accent{background-color:var(--c-accent);color:#fff;box-shadow:0 4px 14px #c92a2a59}.btn-accent:hover{background-color:var(--c-accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 6px 18px #c92a2a73}.btn-gold{background-color:var(--c-gold);color:#fff;box-shadow:0 4px 14px #b8860b59}.btn-gold:hover{background-color:#a07409;color:#fff;transform:translateY(-2px)}.btn-outline-white{background-color:transparent;color:#fff;border-color:#fffc}.btn-outline-white:hover{background-color:#fff;color:var(--c-primary);transform:translateY(-2px)}.btn-outline-primary{background-color:transparent;color:var(--c-primary);border-color:var(--c-primary)}.btn-outline-primary:hover{background-color:var(--c-primary);color:#fff}.btn-sm{padding:8px 18px;font-size:.85rem}.temple-grid{display:grid;grid-template-columns:1fr;gap:26px}@media (min-width: 640px){.temple-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.temple-grid{grid-template-columns:repeat(3,1fr)}}.temple-card{background-color:var(--c-bg-card);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--c-border-light);display:flex;flex-direction:column;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.temple-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.temple-card-media{position:relative;aspect-ratio:16 / 10;overflow:hidden;background-color:#f1f3f5}.temple-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.temple-card:hover .temple-card-media img{transform:scale(1.04)}.temple-card-tag{position:absolute;top:12px;left:12px;background-color:var(--c-accent);color:#fff;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-sm);box-shadow:0 2px 6px #0003}.temple-card-area{position:absolute;top:12px;right:12px;background-color:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.75rem;padding:3px 8px;border-radius:var(--radius-sm)}.temple-card-body{padding:22px;flex:1;display:flex;flex-direction:column}.temple-card-god{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.88rem;font-weight:700;color:var(--c-gold)}.temple-card-title{font-size:1.4rem;margin-bottom:8px;color:var(--c-primary)}.temple-card-desc{font-size:.92rem;color:var(--c-text-muted);line-height:1.6;margin-bottom:16px;flex:1}.temple-card-meta{border-top:1px solid var(--c-border-light);padding-top:14px;margin-top:auto;font-size:.85rem;color:var(--c-text-muted);display:flex;flex-direction:column;gap:6px}.temple-card-meta-row{display:flex;align-items:center;gap:6px}.temple-card-footer{padding-top:16px}.features-grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 768px){.features-grid{grid-template-columns:repeat(3,1fr)}}.feature-box{background-color:var(--c-bg-card);padding:32px 24px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--c-border-light);text-align:center;transition:transform var(--transition-normal)}.feature-box:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.feature-box-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:var(--c-bg-alt);color:var(--c-accent);display:flex;align-items:center;justify-content:center;font-size:1.8rem;border:2px solid var(--c-gold)}.feature-box-title{font-size:1.25rem;margin-bottom:12px}.feature-box-desc{font-size:.92rem;color:var(--c-text-muted);line-height:1.7}.timeline{position:relative;padding-left:28px;margin:30px 0}.timeline:before{content:"";position:absolute;top:10px;bottom:10px;left:10px;width:2px;background-color:var(--c-gold)}.timeline-item{position:relative;margin-bottom:28px}.timeline-item:before{content:"";position:absolute;left:-24px;top:6px;width:14px;height:14px;border-radius:50%;background-color:#fff;border:3px solid var(--c-accent)}.timeline-time{font-size:.85rem;font-weight:700;color:var(--c-accent);margin-bottom:4px}.timeline-card{background-color:var(--c-bg-card);padding:16px 20px;border-radius:var(--radius-sm);border:1px solid var(--c-border-light);box-shadow:var(--shadow-sm)}.timeline-card h4{font-size:1.05rem;margin-bottom:6px}.timeline-drive-badge{display:inline-block;margin:12px 0 12px -18px;background-color:var(--c-teal-bg);color:var(--c-teal);font-size:.8rem;font-weight:700;padding:4px 12px;border-radius:var(--radius-pill);border:1px solid rgba(31,122,111,.2)}.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.faq-item{background-color:var(--c-bg-card);border:1px solid var(--c-border-light);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.faq-question{width:100%;text-align:left;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:1.05rem;font-weight:700;color:var(--c-primary);background-color:transparent;cursor:pointer;transition:background-color var(--transition-fast)}.faq-question:hover{background-color:var(--c-bg-alt)}.faq-icon{font-size:1.3rem;color:var(--c-accent);transition:transform var(--transition-normal)}.faq-item.is-open .faq-icon{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;background-color:#fff;padding:0 24px;font-size:.95rem;line-height:1.75;color:var(--c-text-muted)}.faq-item.is-open .faq-answer{padding:16px 24px 24px;max-height:500px;border-top:1px solid var(--c-border-light)}.checklist-card{background-color:#fff;border-radius:var(--radius-md);padding:26px;box-shadow:var(--shadow-md);border:2px solid var(--c-gold)}.checklist-progress-bar{width:100%;height:12px;background-color:#e9ecef;border-radius:var(--radius-pill);overflow:hidden;margin:14px 0 20px}.checklist-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--c-gold),var(--c-accent));transition:width .4s ease}.checklist-items{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 640px){.checklist-items{grid-template-columns:repeat(2,1fr)}}.checklist-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background-color:var(--c-bg-main);border-radius:var(--radius-sm);border:1px solid var(--c-border);cursor:pointer;transition:all var(--transition-fast)}.checklist-item.is-checked{background-color:var(--c-teal-bg);border-color:var(--c-teal)}.checklist-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--c-teal);cursor:pointer}.data-table{width:100%;border-collapse:collapse;margin:20px 0;background-color:#fff;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm)}.data-table th,.data-table td{padding:14px 18px;border-bottom:1px solid var(--c-border-light);font-size:.92rem}.data-table th{width:28%;background-color:var(--c-bg-alt);color:var(--c-primary);font-weight:700;text-align:left;white-space:nowrap}.data-table tr:last-child th,.data-table tr:last-child td{border-bottom:none}.breadcrumb{padding:14px 0;font-size:.85rem;color:var(--c-text-muted)}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.breadcrumb-item:after{content:"›";margin-left:8px;color:var(--c-text-light)}.breadcrumb-item:last-child:after{content:""}.breadcrumb-item a{color:var(--c-text-muted)}.breadcrumb-item a:hover{color:var(--c-accent)}.notice-box{background-color:#fff9db;border:1px solid #fcc419;border-left:4px solid #f59f00;padding:16px 20px;border-radius:var(--radius-sm);font-size:.88rem;color:#7f5f06;margin:24px 0}.notice-box strong{color:#d9480f}.site-footer{background-color:#0f172a;color:#cbd5e1;padding-top:60px;padding-bottom:40px;font-size:.9rem}.footer-grid{display:grid;grid-template-columns:1fr;gap:36px;margin-bottom:48px}@media (min-width: 768px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}.footer-title{color:#fff;font-size:1.15rem;margin-bottom:18px;position:relative;padding-bottom:8px}.footer-title:after{content:"";position:absolute;bottom:0;left:0;width:32px;height:2px;background-color:var(--c-gold)}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-links a{color:#94a3b8;transition:color var(--transition-fast)}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #334155;padding-top:24px;text-align:center;font-size:.8rem;color:#64748b}@media print{.site-header,.mobile-bar,.hamburger-btn,.btn,.site-footer{display:none!important}body{background-color:#fff;color:#000;padding:0}.container{max-width:100%;padding:0}}
