:root{--navy:#1b2943;--gold:#c9a76b;--paper:#f7f5f0;--ink:#23314a;--muted:#627083}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 'Yu Gothic',Meiryo,sans-serif}a{color:inherit}h1,h2,h3,.brand{font-family:'Yu Mincho','Hiragino Mincho ProN',serif}h1,h2,h3{line-height:1.55}h1{font-size:clamp(30px,4.5vw,58px);font-weight:500;margin:22px 0}h2{font-size:clamp(25px,3vw,36px);margin:8px 0 24px}h3{font-size:23px}p{margin:12px 0}.review{background:#ece5d7;color:#514632;text-align:center;padding:7px 16px;font-size:12px}header{background:var(--navy);color:white;padding:20px max(24px,calc((100% - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:22px}header a{text-decoration:none}.brand{border-left:2px solid var(--gold);padding-left:14px;font-size:21px;white-space:nowrap}.brand small{display:block;font:10px/1.6 Georgia;letter-spacing:2px;color:#d9bd8a}nav{display:flex;gap:24px;font-size:13px;flex-wrap:wrap}nav a[aria-current=page]{color:#e3c38a;text-decoration:underline;text-underline-offset:7px}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.section{padding:64px 0}.eyebrow{font:12px/1.5 Georgia,serif;letter-spacing:3px;color:#937244}.hero{background:linear-gradient(115deg,#1b2943,#304462);color:white;position:relative;overflow:hidden;padding:76px 0}.hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:64px 64px;pointer-events:none}.hero .wrap{position:relative}.hero .eyebrow{color:#d2b77f}.hero p{max-width:630px;color:#d8deea}.gold{color:#dcbd80}.button{display:inline-block;padding:14px 26px;background:var(--gold);color:#17253e;text-decoration:none;font-weight:700;margin-top:20px;line-height:1.7}.button.outline{background:transparent;border:1px solid #b8c3d0;color:inherit}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.banner{display:block;transition:transform .2s,box-shadow .2s}.banner:hover{transform:translateY(-4px);box-shadow:0 15px 30px #18243a24}.banner img{display:block;width:100%;height:auto}.center{text-align:center}.muted{color:var(--muted)}.card{background:white;border:1px solid #e1ddd3;padding:28px}.card .num{font:24px Georgia;color:#ad8a54}.card p{font-size:14px}.soft{background:#eeebe4}.placeholder{border:1px dashed #b9c0ca;background:#fafafa;padding:22px;text-align:center;color:#6e7787;font-size:13px}.placement{border:1px solid #ddd5c6;background:white;padding:30px;margin-top:30px}.placement .grid{gap:18px}.caption{font-size:13px;color:#657080}.textlink{display:inline-block;margin-top:20px;text-underline-offset:5px}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.flow div{padding:22px;border-top:2px solid var(--gold);background:white}.flow strong{display:block}.plan{border-left:3px solid var(--gold);padding:25px 30px;background:white;max-width:850px}.badge{display:inline-block;font-size:12px;background:#ece4d4;color:#6e5531;padding:4px 12px}.map{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.map>div{padding:20px;border:1px solid #d7cbb9;background:white}.map .dest{flex:1;min-width:230px}.map a{display:block}.faq details{border-bottom:1px solid #d8d4cb;padding:18px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{font-size:14px}footer{background:var(--navy);color:#cfd5df;padding:40px 24px;font-size:13px;text-align:center}footer a{margin:0 10px}a:focus-visible,summary:focus-visible{outline:3px solid #b57b22;outline-offset:5px}.tools{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.tools a{padding:7px 14px;background:white;border:1px solid #c8bea9;font-size:13px}.back{font-size:13px;padding:16px 0} @media(max-width:760px){header{align-items:flex-start;flex-direction:column;padding:18px 22px;gap:14px}nav{gap:14px;font-size:12px}.wrap{width:calc(100% - 36px)}.hero{padding:45px 0}.grid,.flow{grid-template-columns:1fr}.section{padding:42px 0}.placement{padding:14px}.grid{gap:16px}.card{padding:24px}h1{font-size:28px}.button{width:100%;text-align:center}.review{font-size:11px}.map{display:block}.map>div{margin:12px 0}.map>span{display:block;text-align:center;transform:rotate(90deg)}}