:root{--navy:#0a1a3a;--blue:#2e6f9e;--gold:#c9a84c;--ground:#eff7fb;--paper:#ffffff;--ink:#0a1a3a;--on:#ffffff;--min:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.95;letter-spacing:.02em}body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--ground)}.w{max-width:1160px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:rgba(239,247,251,.86);backdrop-filter:blur(8px)}header .w{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}header img{height:46px;width:auto;display:block}nav{display:flex;gap:28px;font-size:15px}nav a,.line a,.next a,footer a,.book a,.ask a{color:inherit;text-decoration:none}nav a{padding:6px 0;border-bottom:1px solid transparent;transition:border-color .3s}nav a:hover,nav a:focus-visible{border-color:var(--gold)}a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.hero{position:relative;overflow:hidden;padding-block:clamp(96px,16vw,190px) clamp(90px,14vw,170px)}.hero h1{position:relative;z-index:1;margin:0;font-family:var(--min);font-weight:500;font-size:clamp(33px,5.4vw,66px);line-height:1.5;letter-spacing:.06em;text-wrap:balance}.hero p{position:relative;z-index:1;margin:30px 0 0;font-size:clamp(16px,1.6vw,19px)}.rip{position:absolute;right:-20%;top:58%;width:min(82vw,920px);transform:translateY(-44%);pointer-events:none}.rip circle{fill:var(--gold)}.rip ellipse{fill:none;stroke:var(--blue);stroke-linecap:round;transform-origin:400px 200px}.rip .a,.rip .b,.rip .c{animation:spread 2.6s cubic-bezier(.2,.7,.2,1) both}.rip .b{animation-delay:.25s}.rip .c{animation-delay:.5s}@keyframes spread{from{transform:scale(.12);opacity:0}to{transform:scale(1);opacity:var(--o)}}.band{background:var(--navy);color:var(--on);padding-block:clamp(72px,10vw,120px)}.band p{margin:0;font-family:var(--min);font-size:clamp(22px,3.2vw,38px);line-height:1.7;letter-spacing:.05em;text-wrap:balance}.band small{display:block;margin-top:22px;font-family:var(--sans);font-size:clamp(15px,1.5vw,18px);line-height:1.9;letter-spacing:.02em}section{padding-block:clamp(80px,11vw,140px)}.lab{font-size:14px;color:var(--blue);letter-spacing:.14em;margin:0 0 18px}h1,h2,.band p{word-break:keep-all;overflow-wrap:anywhere}h2{margin:0;font-family:var(--min);font-weight:500;font-size:clamp(24px,3vw,36px);line-height:1.6;letter-spacing:.05em;text-wrap:balance}.two{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,6vw,84px);align-items:start}.two>div{min-width:0}.two p{margin:0 0 1.1em}.line{margin-top:44px;border-top:1px solid rgba(46,111,158,.45)}.line a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) 24px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid rgba(46,111,158,.45)}.line a::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--gold);transition:width .7s cubic-bezier(.2,.7,.2,1)}.line a:hover::after,.line a:focus-visible::after{width:100%}.line b{font-family:var(--min);font-weight:500;font-size:clamp(21px,2.2vw,26px);letter-spacing:.04em}.line span{font-size:16px;line-height:1.8}.line i{font-style:normal;color:var(--blue)}.pro{background:var(--paper)}.pro{padding-bottom:0}.pro .two{align-items:end;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.pro img{width:100%;max-width:440px;height:auto;display:block;margin-inline:auto}.pro .txt{padding-bottom:clamp(64px,9vw,120px)}.book{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}.book img{width:100%;display:block;box-shadow:0 12px 34px rgba(10,26,58,.18)}.book a,.ask a{border-bottom:1px solid var(--gold);padding-bottom:2px}.next{background:var(--navy);color:var(--on)}.next .lab{color:#b9d6ea}.next ul{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.next li{min-width:0;border-top:1px solid rgba(255,255,255,.4);padding-top:22px}.next b{display:block;font-family:var(--min);font-weight:500;font-size:clamp(21px,2.2vw,25px);margin-bottom:8px}.next a{display:inline-block;margin-top:12px;border-bottom:1px solid var(--gold);padding-bottom:2px}footer{background:var(--navy);color:#cfe0ec;font-size:14px;padding-block:0 44px}footer .w{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}.rv{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.js .rv.wait{opacity:.28;transform:translateY(14px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rip *{animation:none!important;opacity:var(--o)}.rv{transition:none}.js .rv.wait{opacity:1;transform:none}.line a::after{transition:none}}@media (max-width:760px){.pro .two{grid-template-columns:1fr}.pro .txt{order:-1;padding-bottom:12px}.pro img{max-width:320px}header .w{flex-wrap:wrap;min-height:0;padding-block:6px;gap:0}nav{gap:18px;font-size:13px;width:100%}header img{height:34px}.two{grid-template-columns:1fr}.line a{grid-template-columns:minmax(0,1fr) 20px;gap:6px 12px}.line span{grid-row:2;grid-column:1}.line i{grid-row:1/3;grid-column:2}.next ul{grid-template-columns:1fr}.book{grid-template-columns:minmax(0,130px) minmax(0,1fr)}.rip{right:-34%;top:auto;bottom:-16%;width:130vw;transform:none;opacity:.7}.hero{padding-bottom:150px}}.page{padding-block:clamp(70px,10vw,120px) 0}.page h1{margin:0;font-family:var(--min);font-weight:500;font-size:clamp(30px,4.4vw,52px);line-height:1.5;letter-spacing:.05em}.txt-w{max-width:760px}.block{padding-block:clamp(44px,6vw,72px);border-top:1px solid rgba(46,111,158,.45)}.block h2{font-size:clamp(23px,2.6vw,31px)}.book h1{margin:0 0 12px;font-family:var(--min);font-weight:500;font-size:clamp(23px,3vw,36px);line-height:1.6;letter-spacing:.05em}.page h1{word-break:keep-all}footer{padding-top:28px}@media (max-width:760px){.page h1{font-size:25px}}.go a{border-bottom:1px solid var(--gold);padding-bottom:2px;color:inherit;text-decoration:none}main a[href^="mailto"]{color:inherit}p{text-wrap:pretty}.book h1,.book h2{word-break:keep-all}@media (max-width:760px){.book{grid-template-columns:minmax(0,108px) minmax(0,1fr);gap:24px}.book h1,.book h2{font-size:20px;letter-spacing:.02em}}@media (max-width:359px){.book{grid-template-columns:1fr}.book img{max-width:150px}}