/* ===== sub pages ===== */
.pgh{position:relative;color:#fff;padding:176px 0 84px;overflow:hidden;
	background:
	radial-gradient(760px 420px at 86% 10%,rgba(22,99,214,.72),transparent 62%),
	linear-gradient(160deg,#04102a 0%,var(--navy) 50%,#0a2a66 100%)}
.pgh::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(180deg,#000 30%,transparent)}
.pgh .o1,.pgh .o2{position:absolute;border-radius:50%;right:9%;top:50%}
.pgh .o1{width:300px;height:210px;margin:-105px 0 0 0;border:1px solid rgba(212,174,90,.65);animation:orbit 30s linear infinite}
.pgh .o2{width:280px;height:190px;margin:-95px 10px 0 0;border:1px solid rgba(255,255,255,.3);animation:orbit2 45s linear infinite}
.pgh .lg{position:absolute;right:calc(9% + 90px);top:50%;width:120px;height:120px;margin-top:-60px;border-radius:50%;box-shadow:0 0 0 1px rgba(212,174,90,.7),0 18px 50px rgba(0,0,0,.45),0 0 80px rgba(22,99,214,.8)}
.pgh .ghost{position:absolute;left:-6px;bottom:-46px;font-family:var(--en);font-weight:700;font-size:190px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);white-space:nowrap;pointer-events:none}
.pgh .wrap{position:relative;z-index:1}
.pgh .en{font-family:var(--en);font-size:14px;letter-spacing:.32em;color:var(--gold);display:flex;align-items:center;gap:16px}
.pgh .en::before{content:"";width:56px;height:1px;background:var(--gold)}
.pgh h1{font-family:var(--min);font-weight:700;font-size:clamp(30px,4vw,48px);letter-spacing:.08em;margin-top:14px;text-shadow:0 4px 30px rgba(0,0,0,.35)}

.page{padding:96px 0 128px}
.narrow{max-width:980px}

/* table */
.tbl{border-top:2px solid var(--navy)}
.tbl>div{display:grid;grid-template-columns:230px 1fr;padding:26px 10px;border-bottom:1px solid var(--line)}
.tbl dt{font-weight:700;font-size:14px;letter-spacing:.1em;color:var(--deep);display:flex;align-items:baseline;gap:10px}
.tbl dt::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none;transform:translateY(-2px)}
.tbl dd{font-size:15px;line-height:2}
.tbl dd a,.note a,.bsec a.tx{color:var(--blue);border-bottom:1px solid rgba(22,99,214,.35);transition:border-color .2s}
.tbl dd a:hover,.note a:hover{border-color:var(--blue)}
.tbl dd .in{padding-left:1em}

/* business */
.lnav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.lnav a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 20px;font-size:14px;font-weight:500;transition:border-color .2s,transform .2s}
.lnav a:hover{border-color:var(--gold);transform:translateY(-2px)}
.lnav a b{font-family:var(--en);color:var(--gold);font-weight:700}
.lnavbox{background:var(--bg2);padding:36px 0}
.bsec{padding:96px 0;scroll-margin-top:60px}
.bsec:nth-of-type(even){background:var(--bg2)}
.bsec .bh{display:flex;align-items:flex-end;gap:24px;position:relative}
.bsec .bh .no{font-family:var(--en);font-weight:700;font-size:84px;line-height:.9;color:transparent;-webkit-text-stroke:1px var(--gold)}
.bsec .bh .lb{font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.26em;color:var(--gold);display:block;margin-bottom:6px}
.bsec .bh h2{font-family:var(--min);font-weight:700;font-size:clamp(24px,3vw,36px);line-height:1.5;letter-spacing:.04em}
.bsec .bh h2 small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:13px;font-weight:400;color:var(--sub);letter-spacing:0;margin-top:4px}
.bsec .ban{height:320px;border-radius:22px;background-size:cover;background-position:center;margin:36px 0 44px;box-shadow:0 22px 50px rgba(7,26,58,.18)}
.bsec .bd2{max-width:880px}
.bsec p{color:#3c4656;margin-bottom:14px}
.bsec h3{font-family:var(--min);font-weight:700;font-size:24px;letter-spacing:.04em;margin:56px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line);position:relative}
.bsec h3::after{content:"";position:absolute;left:0;bottom:-1px;width:72px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.bsec h3:first-child{margin-top:0}
.bsec h4{font-size:18px;font-weight:700;line-height:1.6;margin:34px 0 10px;padding-left:16px;border-left:3px solid var(--gold)}
.bsec .strip{display:block;width:100%;max-width:680px;height:auto;border-radius:12px;margin:14px 0 18px;box-shadow:0 10px 26px rgba(7,26,58,.12)}
.bsec .ct2{text-align:center;font-weight:700;color:var(--deep);margin:28px 0}
.bsec .tbl{margin-top:24px;background:#fff;border-radius:0 0 16px 16px}
.bsec .tbl>div{padding:20px 22px}
.bsec .map{width:100%;height:300px;border:0;border-radius:16px;margin-top:24px;display:block}
.bsec .lic{display:inline-block;margin-top:10px;font-size:13px;color:var(--sub);background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 18px}

/* note / button row */
.note{margin-top:48px;padding:32px;border-radius:18px;background:var(--bg2);text-align:center;font-size:15px}

/* form */
.frm{display:grid;gap:26px}
.frm label{display:block;font-weight:700;font-size:14px;letter-spacing:.06em;color:var(--deep);margin-bottom:10px}
.frm .req{display:inline-block;margin-left:10px;font-size:11px;font-weight:700;color:#fff;background:#c0453a;border-radius:4px;padding:1px 8px;letter-spacing:.1em}
.frm input,.frm textarea{width:100%;font:inherit;font-size:16px;padding:15px 18px;border:1px solid #cfd6e2;border-radius:12px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.frm input:focus,.frm textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(22,99,214,.14)}
.frm textarea{min-height:200px;resize:vertical;line-height:1.8}
.frm .sub{text-align:center;margin-top:10px}
.frm button{border:0;cursor:pointer;font:inherit;font-weight:700}

@media(max-width:900px){
	.pgh{padding:132px 0 60px}
	.pgh .o1{width:190px;height:130px;margin:-65px 0 0 0;right:6%}
	.pgh .o2{display:none}
	.pgh .lg{width:72px;height:72px;margin-top:-36px;right:calc(6% + 59px)}
	.pgh .ghost{font-size:92px;bottom:-22px}
	.page{padding:60px 0 84px}
	.tbl>div{grid-template-columns:1fr;gap:6px;padding:20px 6px}
	.bsec{padding:64px 0}
	.bsec .bh{gap:14px}
	.bsec .bh .no{font-size:54px}
	.bsec .ban{height:190px;margin:26px 0 30px;border-radius:16px}
	.bsec h3{font-size:20px;margin-top:44px}
	.bsec h4{font-size:16px}
	.lnav a{padding:8px 14px;font-size:13px}
	.note{padding:24px 18px}
}

/* form result */
.res{text-align:center;padding:40px 24px;border-radius:18px;background:var(--bg2);line-height:2.2}
.res .red{color:#c0453a;font-weight:700}
.res .green{color:#1c7c4a;font-weight:700;font-size:18px}
.res a{color:var(--blue);border-bottom:1px solid rgba(22,99,214,.35)}
