@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
:root{--base:#fff;--main:#35224f;--accent:#ee5279;--purple:#68428c;--ink:#262744;--muted:#686576;--line:#eae5ed;--soft:#faf7fa;--gold:#bd9655}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--base);color:var(--ink);font:15px/1.9 'Noto Sans JP',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin:0}p{margin:12px 0}h1,h2,h3{line-height:1.6}h2{font-size:26px;letter-spacing:.035em;color:var(--main);font-weight:600}h3{font-size:17px;color:var(--main)}img{max-width:100%;display:block}.container{max-width:1200px;margin:auto;width:calc(100% - 72px)}.section{padding:58px 0}.compact{padding-top:10px}header{height:93px;background:#fffffff5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 3%;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font:600 25px/1.5 'Noto Serif JP',serif;color:#271b53;letter-spacing:.05em}.brand small{display:block;font:500 10px/1.7 'Noto Sans JP',sans-serif;letter-spacing:.15em}.moon{font:70px/.9 Georgia,serif;color:var(--purple);position:relative;transform:rotate(-15deg)}.moon i{font:22px Georgia;color:var(--gold);position:absolute;top:17px;right:4px;transform:rotate(15deg)}nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:600}nav>a:not(.button):hover{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--accent);border:0;border-radius:50px;color:#fff;padding:17px 32px;font-weight:600;letter-spacing:.035em;cursor:pointer;box-shadow:0 7px 18px #dc50751b;transition:.2s;line-height:1.6}.button.small{font-size:13px;padding:14px 22px;border-radius:12px}.button:hover{transform:translateY(-2px);background:#df4169}.outline{display:inline-block;padding:13px 24px;border:1px solid #b7a6c4;border-radius:6px;color:var(--purple);font-weight:500;background:#fff;cursor:pointer}.outline:hover{background:var(--soft)}.menu{display:none}.hero{min-height:650px;position:relative;background:#f8f0e7 url('assets/event-hero.jpg') center 48%/cover no-repeat;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fffaf7f5 0%,#fffaf7df 25%,#fffaf755 48%,transparent 65%)}.herocontent{position:relative;z-index:1;margin:auto;max-width:1200px;width:calc(100% - 80px);padding:47px 0 32px}.eyebrow{display:block;color:var(--purple);font-size:11px;letter-spacing:.16em;font-weight:600;margin-bottom:12px}.hero .eyebrow{font-size:12px;letter-spacing:.1em}.hero h1{font:500 clamp(42px,4.8vw,70px)/1.4 'Noto Serif JP',serif;letter-spacing:.04em;color:#311342;margin:15px 0}.hero h1 em{font-style:normal;color:#62277b}.herosub{font:500 23px/1.8 'Noto Serif JP',serif;color:#29214b;margin:18px 0}.herodesc{font-size:13px;line-height:1.9;margin:17px 0 22px}.herobadges{display:flex;gap:14px;margin-top:26px}.herobadges span{display:grid;place-content:center;text-align:center;background:#ffffffed;border:1px solid #eee6e5;border-radius:50%;width:95px;height:95px;font-size:11px;font-weight:600;color:var(--purple);box-shadow:0 4px 12px #563d4a0b}.heroannotation{position:absolute;right:4.5%;top:42px;font:500 24px/1.6 'Noto Serif JP',serif;color:#2e204a;background:#fff8e7d9;padding:24px 28px;border-radius:53% 44% 54% 46%;transform:rotate(8deg)}.image-note{position:absolute;right:15px;bottom:11px;background:#fff9;padding:2px 8px;font-size:10px}.introstrip{display:flex;justify-content:center;gap:30px;background:#f8f3f9;padding:17px 24px;color:var(--purple);font-size:13px}.introstrip>a{font-weight:600}.introstrip b{margin-left:20px}.sectiontitle{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.sectiontitle a{color:var(--purple);font-size:12px;white-space:nowrap;border-bottom:1px solid #bbacc9}.sectiontitle .eyebrow{margin-bottom:6px}.scenegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.scenecard{border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:.2s;background:white}.scenecard:hover,.techcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px #30203f0b}.sceneart{height:130px;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,#ede6f0,#f9e7dd);overflow:hidden}.sceneart:before,.sceneart:after{content:'';position:absolute;width:110px;height:160px;border:1px solid #fff9;border-radius:70px 70px 0 0;transform:rotate(15deg);left:12%;top:15px}.sceneart:after{left:auto;right:8%;transform:rotate(-16deg);width:140px}.sceneart span{font:70px/1 Georgia,serif;color:#84608c;z-index:1}.sceneart i{position:absolute;bottom:9px;right:12px;font:8px sans-serif;letter-spacing:2px;color:#7e6884}.scene-housing{background:linear-gradient(120deg,#f6ebda,#f0e8d9)}.scene-car,.scene-mobile{background:linear-gradient(120deg,#e7edf0,#f5ede2)}.scene-corporate{background:linear-gradient(120deg,#e9e3f1,#e6eafa)}.scene-hotel{background:linear-gradient(120deg,#f2e4dc,#f4e9d8)}.scene-seasonal{background:linear-gradient(120deg,#f6dfdc,#f5e7cf)}.cardtext{padding:17px 20px}.cardtext h3{font-size:15px}.cardtext p{font-size:12px;color:var(--muted);margin:7px 0}.tiny{font-size:11px;color:var(--muted)}.caption{font-size:10px;color:var(--muted);text-align:right}.techgrid{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}.techcard{text-align:center;transition:.2s}.techicon{height:100px;border-radius:7px;display:grid;place-items:center;background:radial-gradient(circle at 30% 15%,#fff5e8,#f0e5f2);color:var(--purple);font:44px 'Noto Serif JP',serif}.techcard:nth-child(3n) .techicon{background:radial-gradient(circle,#fff7ea,#ede4da);color:#92744e}.techcard:nth-child(3n + 2) .techicon{background:radial-gradient(circle,#f0e7ff,#d8cce9)}.techcard h3{font-size:13px;margin-top:8px}.techcard .tiny{font-size:9px}.soft{background:var(--soft)}.four,.three{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.three{grid-template-columns:repeat(3,1fr)}.panel{border:1px solid var(--line);border-radius:8px;padding:25px;background:#fff}.panel p{font-size:13px;color:var(--muted);margin-bottom:0}.textlink{display:block;text-align:right;margin-top:20px;color:var(--purple);font-size:13px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.twocol>div>p{color:var(--muted);font-size:14px}.twocol .outline{margin-top:12px}.planning{background:linear-gradient(120deg,#f8edf0,#f4ecf8);padding:36px;border:1px solid #eee1e9;border-radius:5px;position:relative}.planning:after{content:'';font-size:45px;color:var(--gold);position:absolute;right:24px;top:14px}.planning>span{color:var(--purple);font-size:11px}.planning h3{font:500 23px/1.8 'Noto Serif JP',serif;margin-top:15px}.planning a{font-size:13px;color:var(--purple);border-bottom:1px solid}.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;gap:20px}.steps li{padding:20px 0;border-top:1px solid #cdbed7}.steps b{font:30px 'Noto Serif JP';color:#b8a3c7}.steps h3{margin-top:12px}.steps p{font-size:12px;color:var(--muted)}.faqs{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0 5px}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:18px 0;color:var(--main);font-size:14px;font-weight:500}summary::-webkit-details-marker{display:none}summary:before{content:'Q';font-family:Georgia;color:var(--purple)}summary>span{margin-left:auto;color:var(--purple)}details[open] summary>span{transform:rotate(45deg)}details p{margin:0 22px 20px;font-size:13px;color:var(--muted)}.cta{text-align:center;background:radial-gradient(ellipse at 20% 40%,#fff6e9,transparent 55%),linear-gradient(120deg,#f7e9ee,#eee8f7);padding:65px 25px;position:relative}.cta:before,.cta:after{content:'';position:absolute;font:90px Georgia;color:#c8a86480;left:7%;top:24%}.cta:after{left:auto;right:8%;top:50%;font-size:55px}.cta h2{font:500 34px/1.7 'Noto Serif JP',serif}.cta p{font-size:13px;margin:18px 0 24px}.cta small{display:block;font-size:10px;color:var(--muted);margin-top:14px}footer{max-width:1200px;margin:auto;padding:45px 0 30px;width:calc(100% - 72px)}footer .brand{font-size:22px}footer .moon{font-size:48px}.footerlinks{display:flex;gap:25px;flex-wrap:wrap;margin:25px 0 14px;font-size:12px}footer p,footer>small{font-size:10px;color:var(--muted)}.mobile-only,.mobile-cta{display:none}.pagehead{background:linear-gradient(120deg,#fbf6f2,#f4eef8);padding:24px 0 60px}.crumb{font-size:11px;color:var(--muted);display:block;margin-bottom:35px}.pagehead h1{font:500 35px/1.7 'Noto Serif JP',serif;color:var(--main)}.pagehead p{font-size:14px;max-width:750px;color:var(--muted)}.article{max-width:940px}.article>h2{margin:42px 0 12px;font-size:24px}.article>p{line-height:2.1}.article .three{margin:30px 0}.article .three .panel{padding:22px}.articleintro{display:flex;gap:35px;align-items:center;margin-bottom:30px}.bigicon{min-width:150px;min-height:150px;display:grid;place-items:center;border-radius:12px;background:var(--soft);font:65px 'Noto Serif JP';color:var(--purple)}.articleintro p,.large{font-size:19px;line-height:2}.note,.notice{background:var(--soft);border-left:3px solid #b89ac9;padding:22px 25px;margin:28px 0;color:var(--muted);font-size:13px}.notice h2{font-size:19px}.notice{margin-top:0}.related{display:flex;flex-wrap:wrap;gap:30px;border-top:1px solid var(--line);margin-top:40px;padding-top:25px;color:var(--purple);font-size:13px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px;margin:25px 0}th,td{padding:18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--soft);font-weight:500;color:var(--purple)}td:first-child{min-width:140px}.regions{padding:50px 20px;background:var(--soft);text-align:center;color:var(--purple);font:500 23px/2.5 'Noto Serif JP'}.flowlist{padding:0;list-style:none}.flowlist li{display:flex;gap:35px;padding:30px 0;border-bottom:1px solid var(--line)}.flowlist b{font:40px 'Noto Serif JP';color:#bea6cc}.flowlist h2{font-size:23px}.flowlist p{font-size:14px;color:var(--muted)}.guidecard h2{font-size:20px}.guidecard>span:last-child{display:block;margin-top:18px;font-size:12px;color:var(--purple)}.calculator{background:var(--soft);padding:30px;border-radius:12px;margin:30px 0}.calculator>p{font-size:12px}.calcinputs{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.calcresult{text-align:center;border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.calcresult span{font-size:12px}.calcresult strong{display:block;font:500 50px 'Noto Serif JP';color:var(--purple);margin:5px}.calcresult p{font-size:13px}label{display:block;font-size:13px;font-weight:500;margin-bottom:20px}label>small{color:var(--muted);font-size:10px;margin-left:5px}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #d5cddd;background:#fff;padding:12px;border-radius:5px;color:var(--ink);min-height:48px}textarea{resize:vertical}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.check{display:flex;align-items:flex-start;gap:12px;font-weight:400;font-size:12px}.check input{width:18px;min-height:18px;flex-shrink:0;margin-top:4px}.review{border:1px solid var(--line);padding:30px;border-radius:8px}.review dl{display:grid;grid-template-columns:180px 1fr;gap:0}.review dt,.review dd{margin:0;border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere;white-space:pre-wrap}.review dt{font-size:12px;color:var(--muted)}.skip{position:fixed;top:-60px;left:10px;background:white;padding:10px;z-index:100}.skip:focus{top:5px}[hidden]{display:none!important}
@media(min-width:1500px){.hero{background-position:center 44%}}@media(max-width:1250px){nav{gap:14px;font-size:11px}.brand{font-size:21px}.brand small{font-size:9px}header{gap:14px}.button.small{padding:12px 16px}.hero{min-height:620px}.hero h1{font-size:60px}.herocontent{padding-top:35px}.heroannotation{font-size:20px}.techgrid{grid-template-columns:repeat(4,1fr)}.techicon{height:110px}.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){header{height:80px}.menu{display:block;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:6px;font-size:22px;width:44px;height:44px;color:var(--purple);cursor:pointer}nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:25px;box-shadow:0 20px 25px #38204a12;font-size:14px}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:12px}.scenegrid{gap:14px}.cardtext{padding:15px}.cardtext h3{font-size:13px}.twocol{gap:35px}.heroannotation{display:none}.hero{background-position:60% center}.hero:before{background:linear-gradient(90deg,#fffaf7f5,#fffaf7db 30%,#fffaf730 70%)}.three{grid-template-columns:repeat(2,1fr)}.sectiontitle h2{font-size:23px}}
@media(max-width:650px){body{font-size:14px}.container,footer{width:calc(100% - 36px)}header{height:72px;padding:0 17px}.brand{font-size:20px;gap:8px}.brand small{font-size:8px}.moon{font-size:55px}.moon i{font-size:16px}nav{top:72px}.hero{min-height:760px;background-size:auto 540px;background-position:62% 0;background-repeat:no-repeat;background-color:#fff9f3}.hero:before{background:linear-gradient(0deg,#fff9f3 0%,#fff9f3 30%,#fff9f3dc 42%,#fff9f300 68%)}.herocontent{padding:275px 0 25px;width:calc(100% - 38px)}.hero .eyebrow{font-size:10px;background:#fff9;display:inline-block;padding:3px 7px}.hero h1{font-size:43px;line-height:1.35;margin:7px 0 12px;letter-spacing:.02em}.herosub{font-size:19px;margin:10px 0}.herodesc{font-size:11px;margin:13px 0 18px}.hero .button{font-size:14px;padding:15px 25px}.herobadges{position:absolute;right:0;bottom:28px;flex-direction:column;gap:6px}.herobadges span{width:68px;height:68px;font-size:8px}.image-note{top:10px;bottom:auto;font-size:8px}.mobile-only{display:block}.introstrip{display:block;font-size:11px;padding:16px 18px}.introstrip>span{display:block;margin-bottom:4px}.introstrip b{margin-left:4px}.section{padding:36px 0}.compact{padding-top:5px}.sectiontitle{align-items:start;display:block;margin-bottom:20px}.sectiontitle h2{font-size:21px}.sectiontitle>a{display:inline-block;margin-top:8px;font-size:11px}.eyebrow{font-size:9px}.scenegrid{grid-template-columns:repeat(2,1fr);gap:12px}.sceneart{height:100px}.sceneart span{font-size:50px}.sceneart i{font-size:6px}.cardtext{padding:12px}.cardtext h3{font-size:12px}.cardtext p{font-size:10px;line-height:1.7}.cardtext .tiny{font-size:9px}.caption{font-size:9px}.techgrid{gap:12px;grid-template-columns:repeat(4,1fr)}.techicon{height:73px;font-size:31px}.techcard h3{font-size:10px}.techcard .tiny{display:none}.four,.three{grid-template-columns:1fr}.four{grid-template-columns:repeat(2,1fr);gap:10px}.panel{padding:18px 15px}.panel h3{font-size:13px}.panel p{font-size:11px}.twocol{grid-template-columns:1fr;gap:30px}h2{font-size:22px}.planning{padding:25px}.planning h3{font-size:20px}.steps{grid-template-columns:repeat(2,1fr);gap:12px}.steps h3{font-size:14px}.steps li{padding:15px 0}.steps p{font-size:11px}.steps b{font-size:26px}.cta{padding:45px 20px}.cta h2{font-size:26px}.cta:before,.cta:after{display:none}.cta p{font-size:12px}.cta .button{font-size:12px;padding:16px 20px}.cta small{font-size:9px}footer{padding-bottom:95px}.footerlinks{gap:13px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;background:#fffffff5;padding:9px 18px;z-index:20;border-top:1px solid var(--line)}.mobile-cta a{display:block;text-align:center;background:var(--accent);color:white;border-radius:30px;padding:10px;font-size:13px;font-weight:600}.pagehead{padding:18px 0 35px}.pagehead h1{font-size:28px}.pagehead p{font-size:12px}.crumb{margin-bottom:22px}.articleintro{gap:18px;align-items:flex-start}.bigicon{min-width:85px;min-height:85px;font-size:40px}.articleintro p,.large{font-size:16px}.article>h2{font-size:21px;margin-top:30px}.note,.notice{padding:18px;font-size:12px}.notice h2{font-size:17px}.regions{font-size:17px;padding:30px 12px}.flowlist li{gap:20px}.flowlist b{font-size:30px}.flowlist h2{font-size:20px}.flowlist p{font-size:13px}th,td{padding:12px;font-size:12px}.calcinputs{grid-template-columns:1fr 1fr;gap:10px}.calculator{padding:20px}.calcinputs label{font-size:11px}.formgrid{grid-template-columns:1fr}.review{padding:18px}.review dl{grid-template-columns:1fr}.review dt{border:0;padding-bottom:0}.review dd{padding-top:4px}.review .button{margin-top:10px}.related{gap:16px}.guidecard h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:650px){.hero h1{font-size:clamp(30px,9.3vw,40px);letter-spacing:0}.herocontent{padding-top:270px}.herobadges{bottom:20px}.hero{min-height:745px}}
/* Centered hero: the image and copy share one visual axis. */
.hero.hero-centered{background:linear-gradient(180deg,#fdf8f4,#fff);min-height:0;padding:34px 0 0;overflow:hidden}
.hero.hero-centered:before{display:none}.hero-heading{max-width:1000px;width:calc(100% - 40px);margin:auto;text-align:center;position:relative}.hero-centered h1{font-size:clamp(34px,3.9vw,56px);line-height:1.5;letter-spacing:.05em;margin:10px 0 16px}.hero-service{font-size:14px;color:var(--main);margin:0}.hero-description{font-size:12px;color:var(--muted);margin:4px 0 18px}.hero-actions{display:flex;justify-content:center;align-items:center;gap:27px;margin:16px 0 30px}.hero-actions .button{padding:14px 28px;font-size:14px}.hero-secondary{font-size:12px;color:var(--purple);border-bottom:1px solid #baa6c8}.hero-photo{position:relative;margin:0 auto;width:calc(100% - 100px);max-width:1200px;height:330px;border-radius:110px 110px 10px 10px;overflow:hidden;background:#f1e7e0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 49%}.hero-photo figcaption{position:absolute;right:14px;bottom:10px;background:#ffffffe6;padding:3px 8px;font-size:9px;border-radius:3px;color:#645c68}.photo-label{position:absolute;left:26px;bottom:22px;color:white;letter-spacing:.2em;font:10px/1.5 sans-serif;text-shadow:0 1px 5px #0007}.hero-points{display:flex;justify-content:center;align-items:center;gap:30px;padding:18px;color:var(--purple);font-size:11px}.hero-points i{font-style:normal;color:var(--gold);font-size:13px}.form-steps{display:flex;justify-content:space-between;list-style:none;padding:0;margin:0 0 35px;gap:10px}.form-steps li{flex:1;text-align:center;border-bottom:2px solid var(--line);padding:10px;color:var(--muted);font-size:13px}.form-steps li.current{border-color:var(--purple);color:var(--purple);font-weight:600}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy-summary{background:var(--soft);padding:18px 22px;font-size:12px;margin:15px 0}.privacy-summary a{color:var(--purple);text-decoration:underline}.form-actions{display:flex;flex-wrap:wrap;gap:14px;margin:25px 0 15px}button:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.text-button{background:none;border:0;color:var(--purple);font-size:12px;text-decoration:underline;padding:12px 0;cursor:pointer}.complete{text-align:center;padding:45px 25px}.complete-icon{display:grid;place-content:center;font-size:30px;background:#eee5f5;color:var(--purple);width:65px;height:65px;border-radius:50%;margin:0 auto 20px}#sendstatus.error{background:#fff0f2;border-left:3px solid var(--accent);padding:15px;color:#a02a45;font-size:13px}#sendstatus:empty{display:none}.review{scroll-margin-top:110px}
@media(max-width:650px){.hero.hero-centered{padding-top:28px}.hero-centered h1{font-size:clamp(27px,7.7vw,38px);letter-spacing:0;line-height:1.6;margin:12px 0 17px}.hero-centered .eyebrow{font-size:9px;background:none;padding:0;display:block}.hero-service{font-size:11px;max-width:290px;margin:auto;line-height:1.8}.hero-description{font-size:10px;margin:8px auto 18px;max-width:280px}.hero-actions{flex-direction:column;gap:13px;margin-bottom:25px}.hero-actions .button{font-size:13px;padding:13px 28px}.hero-secondary{font-size:11px}.hero-photo{width:calc(100% - 28px);height:230px;border-radius:65px 65px 8px 8px}.hero-photo img{object-position:50% 50%;width:100%;height:100%}.hero-photo figcaption{font-size:7px;right:5px;bottom:5px;left:5px;text-align:center;padding:2px}.photo-label{display:none}.hero-points{gap:7px;font-size:8px;padding:15px 7px}.hero-points i{font-size:9px}.form-steps li{font-size:11px;padding:9px 3px}.review{scroll-margin-top:90px}.form-actions{gap:10px}.form-actions .button,.form-actions .outline{font-size:13px;padding:12px 18px}}
