


.sub .logo .enso path{animation-delay:0s}
.sub main{display:block}


.hd nav a.lk.cur::after{transform:scaleX(1)}


.chk{display:inline-block;background:#f2c200;color:#3d2f00;font-size:11px;font-weight:900;letter-spacing:.06em;line-height:1.7;padding:0 7px;border-radius:2px;margin-right:6px;vertical-align:.1em;font-style:normal;white-space:nowrap}
.need{background:#fff6c4;box-shadow:0 0 0 1px #e8c64a inset;border-radius:2px;padding:.1em .35em}
div.need,p.need{display:block;padding:.6em .9em;margin-top:10px}


.phero{position:relative;background:var(--paper);padding:calc(var(--hd) + clamp(20px,3vw,48px)) clamp(16px,4vw,72px) clamp(80px,9vw,130px);overflow:hidden}
.phero-in{position:relative;max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,4vw,60px);min-height:clamp(240px,26vw,360px)}
.phero .txt{flex:1;min-width:0}
.crumb{font-size:12px;color:var(--sub);margin-bottom:clamp(14px,2vw,26px);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.crumb a{border-bottom:1px solid currentColor}
.crumb span+span::before{content:"›";margin-right:10px;color:#b9b2a3}
.phero .en{font-size:12px;letter-spacing:.42em;color:var(--shu);font-weight:700}
.phero h1{position:relative;display:inline-block;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(30px,4.2vw,58px);letter-spacing:.12em;line-height:1.35;margin-top:8px;padding-bottom:14px}
.phero h1::after{content:"";position:absolute;left:-2px;right:-6px;bottom:0;height:8px;background:var(--sky);clip-path:polygon(0 35%,4% 5%,40% 0,75% 12%,100% 30%,97% 75%,60% 100%,20% 92%,2% 100%);transform:scaleX(0);transform-origin:left;animation:brushX 2.4s cubic-bezier(.45,0,.2,1) .6s forwards} 
.phero h1.long{font-size:clamp(24px,3.2vw,44px)}
.phero .lead{margin-top:18px;font-size:15px;color:var(--sub);max-width:36em}
.phero .meta{margin-top:14px;font-size:14px;color:var(--navy);font-weight:700}
.circ2{position:relative;flex:none;width:min(340px,28vw);aspect-ratio:1;margin-right:clamp(0px,3vw,50px)}
.circ2 .ring{position:absolute;left:-19%;top:-19%;width:138%;height:138%;z-index:2;pointer-events:none;overflow:visible}
.circ2 .ring path{animation:draw 1.4s var(--soft) .1s forwards}
.circ2 .ring .main{stroke-width:40}
.circ2 .pic{position:absolute;inset:0;border-radius:50%}
.circ2 .pic>img,.circ2 .pic>.pf{animation:cOpen 1.2s cubic-bezier(.7,0,.2,1) .15s both}
@keyframes cOpen{from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(50% at 50% 50%)}}
.phero .deco{position:absolute;right:-120px;bottom:-200px;width:520px;height:520px;opacity:.35;pointer-events:none}
.phero .deco path{stroke-dashoffset:0}
.phero .note-draft{display:inline-block;margin-top:14px;background:#fff6c4;border:1px solid #e8c64a;padding:6px 14px;font-weight:700;font-size:14px;border-radius:3px}


.h3m{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(22px,2.4vw,30px);letter-spacing:.1em;line-height:1.5;margin-bottom:14px}
.prose p{font-size:15px;line-height:2.05;color:#3c3b38}
.prose p+p{margin-top:1em}
.wrap-s{max-width:880px;margin:0 auto}


.zz{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;position:relative}
.zz+.zz{margin-top:clamp(70px,9vw,130px)}
.zz .pic{grid-row:1}
.zz .txt{grid-row:1;position:relative;z-index:2}
.zz.a .pic{grid-column:1 / 8;aspect-ratio:4/3;border-radius:58% 42% 54% 46% / 50% 56% 44% 50%}
.zz.a .txt{grid-column:8 / 13;padding-left:clamp(10px,2vw,30px)}
.zz.b .pic{grid-column:7 / 13;aspect-ratio:1;border-radius:50%}
.zz.b .txt{grid-column:1 / 7;padding-right:clamp(10px,3vw,50px)}
.zz.c .pic{grid-column:2 / 7;aspect-ratio:4/5;border-radius:46% 54% 42% 58% / 40% 44% 56% 60%}
.zz.c .txt{grid-column:7 / 12;padding-left:clamp(16px,3vw,50px)}
.zz.d .pic{grid-column:6 / 13;aspect-ratio:16/10;border-radius:999px 999px 999px 999px / 60% 60% 60% 60%}
.zz.d .txt{grid-column:1 / 7;background:var(--white);padding:clamp(28px,3vw,48px);border-radius:46% 54% 42% 58% / 58% 44% 56% 42%;margin-right:-60px;box-shadow:0 20px 50px rgba(31,31,34,.07)}
.zz .num3{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(50px,6vw,84px);line-height:1;color:var(--sky-d)}
.zz .tagline{display:inline-block;font-size:13px;font-weight:700;color:var(--navy);border-bottom:2px solid var(--sky);margin-bottom:10px}


.bleed{position:relative;margin:0 calc(-1 * clamp(16px,4vw,72px));min-height:min(80vh,680px);display:flex;align-items:flex-end;color:#fff}
.bleed>.pic{position:absolute;inset:0}
.bleed>.pic::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(20,35,60,.88) 0%,rgba(20,35,60,.55) 40%,rgba(20,35,60,.05) 75%)}
.bleed>.pic .pf::after{top:12%;bottom:auto}
.bleed .over{position:relative;z-index:3;max-width:760px;padding:clamp(40px,6vw,90px) clamp(16px,6vw,110px)}
.bleed .over p{color:#eef2f8;font-size:15px;line-height:2.05}
.bleed .over p+p{margin-top:.8em}
.bleed .over .h3m{color:#fff}


.cyc-wrap{display:flex;align-items:center;gap:clamp(30px,6vw,100px);justify-content:center}
.cyc-wrap.rev{flex-direction:row-reverse}
.cycle{position:relative;flex:none;width:min(440px,78vw);aspect-ratio:1}
.cycle svg.ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cycle svg.ring .main{stroke-width:34}
.cycle.on svg.ring path{animation:draw 1.6s var(--soft) forwards}
.cycle .ctr{position:absolute;inset:26%;display:grid;place-items:center;text-align:center;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(16px,1.8vw,22px);letter-spacing:.08em;line-height:1.6}
.cycle .st{position:absolute;width:clamp(96px,10vw,130px);aspect-ratio:1;border-radius:50%;background:var(--white);box-shadow:0 12px 30px rgba(35,66,111,.12);display:grid;place-items:center;text-align:center;font-weight:700;font-size:clamp(13px,1.2vw,15px);line-height:1.4;padding:10px;opacity:0;transform:scale(.7);transition:opacity .6s, transform .7s var(--out)}
.cycle .st b{display:block;font-family:"Shippori Mincho B1",serif;font-size:1.6em;color:var(--shu);line-height:1}
.cycle .st.s1{left:50%;top:0;translate:-50% -30%}
.cycle .st.s2{right:0;top:50%;translate:30% -50%}
.cycle .st.s3{left:50%;bottom:0;translate:-50% 30%}
.cycle .st.s4{left:0;top:50%;translate:-30% -50%}
.cycle.on .st{opacity:1;transform:none}
.cycle.on .st.s2{transition-delay:.25s}.cycle.on .st.s3{transition-delay:.5s}.cycle.on .st.s4{transition-delay:.75s}
.cyc-txt{max-width:30em}
.cyc-txt .subj{display:inline-block;font-size:13px;font-weight:700;color:var(--navy);border-bottom:2px solid var(--sky);margin:4px 0 12px}


.res-mini .sch-list{padding:0;max-width:1100px}
.paper .sch.fold .names::after,.paper .sch.fold-sp .names::after{background:linear-gradient(rgba(247,245,239,0),var(--paper))}



.btn.wh{background:#fff;color:var(--navy)}
.btn.wh:hover{background:#e9eef7}

.ct.nophoto .ct-side{grid-row:1 / 3;align-self:center;margin-top:0}


.tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:2px solid var(--navy);margin-bottom:clamp(28px,4vw,48px)}
.tabs button{appearance:none;border:0;background:#e9e5da;color:var(--ink);font:inherit;font-weight:700;font-size:15px;padding:12px 24px;border-radius:24px 24px 0 0;cursor:pointer;letter-spacing:.06em}
.tabs button[aria-selected="true"]{background:var(--navy);color:#fff}
.tabs button small{display:block;font-size:11px;font-weight:500;opacity:.8}
.tpanel[hidden]{display:none}
.tpanel h3{margin-top:clamp(30px,4vw,50px)}
.tpanel h3:first-child{margin-top:0}
.tbl{width:100%;border-collapse:collapse;font-size:15px;background:var(--white)}
.tbl th,.tbl td{border:1px solid #ddd6c7;padding:12px 14px;text-align:center;vertical-align:middle;line-height:1.6}
.tbl thead th{background:var(--navy);color:#fff;font-weight:700;letter-spacing:.06em}
.tbl tbody th{background:#f1ede3;font-weight:700;white-space:nowrap}
.tbl td.l{text-align:left}
.tbl-note{font-size:13px;color:var(--sub);margin-top:10px}
.sched-img{margin-top:16px}
.sched-img .pf{min-height:180px;position:relative}


.tch2{position:relative}
.tch2+.tch2{margin-top:clamp(90px,10vw,150px)}
.tch2 .nm2{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(30px,3.6vw,50px);letter-spacing:.12em;line-height:1.3}
.tch2 .role{display:inline-block;background:var(--navy);color:#fff;font-size:13px;font-weight:700;padding:3px 14px;border-radius:99px;letter-spacing:.08em;margin-bottom:10px}
.tch2 .bio p{font-size:15px;line-height:2;color:#3c3b38}
.tch2 .bio p+p{margin-top:.8em}
.iv{margin-top:26px;display:flex;flex-direction:column;gap:12px}
.iv .q{align-self:flex-start;max-width:90%;background:var(--navy);color:#fff;font-weight:700;font-size:14px;padding:10px 18px;border-radius:20px 20px 20px 4px}
.iv .a{align-self:flex-end;max-width:92%;background:var(--white);font-size:15px;line-height:1.9;padding:14px 20px;border-radius:20px 20px 4px 20px;box-shadow:0 10px 30px rgba(31,31,34,.06)}
.paper .iv .a{background:var(--white)}
.white .iv .a{background:#f3efe6}
.tch2 .after{margin-top:20px;font-size:15px;line-height:2;color:#3c3b38}
.tch2 .sub3{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:18px;letter-spacing:.08em;margin:22px 0 6px;color:var(--navy)}
.tch2.t-a{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.tch2.t-a .pic{grid-column:1 / 6;aspect-ratio:4/5;border-radius:48% 52% 46% 54% / 38% 40% 60% 62%;position:sticky;top:calc(var(--hd) + 20px)}
.tch2.t-a .txt{grid-column:7 / 13}
.tch2.t-b{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.tch2.t-b .pic{grid-column:8 / 13;grid-row:1;aspect-ratio:3/4;border-radius:50% 50% 24px 24px / 40% 40% 24px 24px;position:sticky;top:calc(var(--hd) + 20px)}
.tch2.t-b .txt{grid-column:1 / 8;grid-row:1;padding-right:clamp(10px,3vw,50px)}
.tch2.t-c .pic.wide{aspect-ratio:21/9;border-radius:200px/120px;margin:0 0 -90px}
.tch2.t-c .txt{position:relative;z-index:2;max-width:860px;margin:0 auto;background:var(--white);padding:clamp(30px,4vw,60px);border-radius:40px;box-shadow:0 24px 60px rgba(31,31,34,.08)}
.white .tch2.t-c .txt{background:var(--paper)}
.tch2 .quote{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(17px,1.7vw,21px);line-height:2;letter-spacing:.04em;border-left:4px solid var(--sky);padding-left:20px;margin:18px 0}
.tch2.t-d{display:flex;align-items:flex-start;gap:clamp(24px,4vw,60px)}

.tch2.t-d .pic{flex:none;width:min(440px,40vw);aspect-ratio:1;border-radius:50%;position:sticky;top:calc(var(--hd) + 20px)}
.tch2.t-d .txt{flex:1;min-width:0}
.more-t{margin-top:clamp(70px,8vw,110px)}
.more-t .rail .tc{width:220px}
.more-t .rail .tc:nth-child(even){margin-top:40px}


.vbig{position:relative}
.vbig+.vbig{margin-top:clamp(80px,9vw,130px)}
.vbig .catch2{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(24px,3vw,40px);letter-spacing:.08em;line-height:1.5;color:var(--navy)}
.vbig .who2{font-size:14px;font-weight:700;color:var(--shu);margin:8px 0 14px;letter-spacing:.08em}
.vbig .body2 p{font-size:15px;line-height:2.05}
.vrail-wrap{position:relative;margin:0 calc(-1 * clamp(16px,4vw,72px))}
.vrail{display:flex;gap:22px;overflow-x:auto;padding:30px clamp(16px,6vw,110px) 40px;scroll-snap-type:x proximity;align-items:flex-start}
.vrail::-webkit-scrollbar{height:6px}.vrail::-webkit-scrollbar-thumb{background:#cfc8b8;border-radius:3px}
.vb{flex:none;scroll-snap-align:start;width:320px;background:var(--white);padding:26px 26px 22px;border-radius:28px 28px 28px 6px;box-shadow:0 14px 40px rgba(31,31,34,.07);position:relative}
.vb:nth-child(3n+2){width:380px;margin-top:40px;border-radius:28px 6px 28px 28px}
.vb:nth-child(3n){width:290px;margin-top:14px;background:var(--white)}
.vb .who3{font-weight:900;color:var(--navy);font-size:15px;margin-bottom:8px;letter-spacing:.06em}
.vb p{font-size:14px;line-height:1.95}
.vb p+p{margin-top:.6em}
.pv-list{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(30px,4vw,50px)}
.pvv{position:relative;max-width:760px;padding:clamp(28px,3vw,44px) clamp(28px,3.4vw,52px);background:var(--white);border-radius:46% 54% 42% 58% / 22% 26% 74% 78%}
.pvv:nth-child(odd){align-self:flex-start;border-radius:40px 80px 40px 80px}
.pvv:nth-child(even){align-self:flex-end;border-radius:80px 40px 80px 40px;background:#eef3fa}
.pvv p{font-size:15px;line-height:2}
.pvv p+p{margin-top:.6em}
.pvv .who3{margin-top:12px;font-weight:700;color:var(--shu);font-size:14px}
.pvv::before{content:"“";position:absolute;left:22px;top:-40px;font-family:"Shippori Mincho B1",serif;font-size:100px;line-height:1;color:var(--sky-d)}


.room{position:relative}
.room+.room{margin-top:clamp(90px,10vw,150px)}
.room .nm2{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(32px,4vw,54px);letter-spacing:.14em;line-height:1.3}
.room dl{display:grid;grid-template-columns:7em 1fr;gap:10px 16px;margin-top:18px;font-size:15px}
.room dt{font-weight:700;color:var(--navy)}
.room dd a.tl2{font-weight:900;font-size:28px;color:var(--navy);letter-spacing:.05em}
.map{position:relative;width:100%;aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:#e5e9ef;box-shadow:0 14px 40px rgba(31,31,34,.08)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.room.r1 .top{position:relative;margin:0 calc(-1 * clamp(16px,4vw,72px));height:min(70vh,600px)}
.room.r1 .top .pic{position:absolute;inset:0}

.room.r1 .top .pic::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(20,35,60,.78) 0%,rgba(20,35,60,.35) 30%,rgba(20,35,60,0) 55%),linear-gradient(90deg,rgba(20,35,60,.8),rgba(20,35,60,.1) 60%)}
.room.r1 .top .pf::after{top:12%;bottom:auto}
.room.r1 .top .nm2{position:absolute;z-index:3;left:clamp(16px,6vw,110px);bottom:clamp(30px,5vw,70px);color:#fff;text-shadow:0 2px 14px rgba(10,20,40,.65),0 0 2px rgba(10,20,40,.5)}
.room.r1 .info{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;align-items:start;margin-top:-80px;position:relative;z-index:4}
.room.r1 .info .box{grid-column:1 / 7;background:var(--white);padding:clamp(28px,3vw,44px);border-radius:0 40px 40px 40px;box-shadow:0 20px 50px rgba(31,31,34,.08)}
.room.r1 .info .map{grid-column:8 / 13;margin-top:120px}
.room.r2{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}
.room.r2 .map{grid-column:1 / 8;grid-row:1;aspect-ratio:16/11}
.room.r2 .info{grid-column:8 / 13;grid-row:1;padding-left:clamp(20px,3vw,50px)}
.room.r2 .pic{width:min(220px,18vw);aspect-ratio:1;border-radius:50%;margin-bottom:14px;border:8px solid var(--white)}
.room.r3 .head{display:flex;align-items:flex-end;gap:clamp(20px,3vw,50px);flex-wrap:wrap}
.room.r3 .head .pic{width:min(520px,44vw);aspect-ratio:3/2;border-radius:300px 300px 300px 40px / 200px 200px 200px 40px}
.room.r3 .head .info{flex:1;min-width:280px}
.room.r3 .map{margin-top:30px;aspect-ratio:21/8}


.qa-wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(30px,5vw,80px);max-width:1180px;margin:0 auto;align-items:start}
.qa-wrap .pic{position:sticky;top:calc(var(--hd) + 30px);aspect-ratio:1;border-radius:50%}
.qa details{border-top:1px solid #e4dfd3;padding:24px 4px}
.qa details:last-child{border-bottom:1px solid #e4dfd3}
.qa summary{cursor:pointer;list-style:none;display:flex;gap:16px;align-items:baseline;font-weight:700;font-size:17px;line-height:1.6}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{content:"Q";font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:28px;color:var(--navy);line-height:1}
.qa summary::after{content:"+";margin-left:auto;font-size:24px;color:var(--sub);line-height:1}
.qa details[open] summary::after{content:"−"}
.qa .ans{display:flex;gap:16px;padding:16px 0 4px;font-size:15px;line-height:2}
.qa .ans::before{content:"A";font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:28px;color:var(--shu);line-height:1}
.qa .ans>div{flex:1}


.flow{display:flex;flex-direction:column;gap:0;max-width:900px;margin:0 auto;position:relative}
.flow::before{content:"";position:absolute;left:44px;top:20px;bottom:20px;width:3px;background:var(--sky);border-radius:2px}
.flow .fs{position:relative;display:flex;gap:26px;align-items:flex-start;padding:18px 0}
.flow .fs .nb{flex:none;width:90px;height:90px;border-radius:50%;background:var(--white);border:3px solid var(--sky-d);display:grid;place-items:center;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:13px;color:var(--navy);text-align:center;line-height:1.2;position:relative;z-index:2}
.flow .fs .nb b{display:block;font-size:28px;color:var(--shu)}
.flow .fs .tx{flex:1;padding-top:20px}
.ref{max-width:900px;margin:30px auto 0;background:var(--white);border-radius:28px;padding:22px 28px}
.ref .lb{font-size:13px;font-weight:700;color:var(--navy);letter-spacing:.08em;margin-bottom:8px}
.ref dl dt{font-weight:700;margin-top:10px}
.ref dl dd{font-size:15px;line-height:1.9;color:#3c3b38}
.ways{max-width:1100px;margin:0 auto}
.way-tel{display:flex;align-items:center;gap:clamp(30px,5vw,80px)}
.way-tel .ringbox{position:relative;flex:none;width:min(300px,28vw);aspect-ratio:1;display:grid;place-items:center;text-align:center}
.way-tel .ringbox svg{position:absolute;inset:-14%;width:128%;height:128%;overflow:visible}
.way-tel .ringbox .main{stroke-width:30}
.way-tel .ringbox.on path{animation:draw 1.5s var(--soft) forwards}
.way-tel .ringbox .h3m{margin:0}
.way-tel .tels a{display:block;padding:14px 0;border-bottom:1px dashed #cfc8b8}
.way-tel .tels span{display:block;font-size:13px;font-weight:700;color:var(--sub);letter-spacing:.08em}
.way-tel .tels b{font-size:clamp(30px,3.6vw,48px);font-weight:900;color:var(--navy);letter-spacing:.05em;font-variant-numeric:tabular-nums}
.way-line{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:clamp(50px,6vw,80px);padding:clamp(24px,3vw,40px);background:#e6f7ec;border-radius:999px}
.way-line .btn{min-width:280px}
.frm{max-width:820px;margin:0 auto;background:var(--white);padding:clamp(28px,4vw,56px);border-radius:40px;box-shadow:0 24px 60px rgba(31,31,34,.07)}
.frm .row{display:grid;grid-template-columns:13em 1fr;gap:10px 20px;align-items:start;padding:16px 0;border-bottom:1px solid #eee8db}
.frm label.l{font-weight:700;font-size:15px;padding-top:10px}
.frm .req{display:inline-block;background:var(--shu);color:#fff;font-size:11px;padding:0 6px;border-radius:2px;margin-left:8px;vertical-align:.1em}
.frm input[type=text],.frm input[type=tel],.frm input[type=email],.frm textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid #cfc8b8;border-radius:8px;background:#fdfcf8}
.frm textarea{min-height:170px;resize:vertical}
.frm .agree{text-align:center;margin-top:24px;font-size:15px}
.frm .agree a{color:var(--navy);border-bottom:1px solid}
.frm .send{display:flex;justify-content:center;margin-top:20px}
.frm .send button{appearance:none;border:0;background:var(--navy);color:#fff;font:inherit;font-weight:700;font-size:17px;padding:18px 60px;border-radius:999px;cursor:pointer}
.frm .demo{text-align:center;font-size:13px;color:var(--sub);margin-top:12px}


.feat{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;max-width:1180px;margin:0 auto}
.feat .pic{grid-column:1 / 8;grid-row:1;aspect-ratio:4/3;border-radius:58% 42% 54% 46% / 50% 56% 44% 50%}
.feat .txt{grid-column:7 / 13;grid-row:1;background:var(--white);padding:clamp(28px,3vw,50px);border-radius:40px;box-shadow:0 20px 50px rgba(31,31,34,.08);position:relative;z-index:2}
.feat .new{display:inline-block;background:var(--shu);color:#fff;font-size:12px;font-weight:700;padding:2px 12px;border-radius:99px;letter-spacing:.1em}
.feat time,.nl time{color:var(--navy);font-weight:700;font-size:14px;letter-spacing:.04em}
.feat h2{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(20px,2.2vw,28px);line-height:1.6;letter-spacing:.06em;margin:10px 0 16px}
.nl{max-width:980px;margin:clamp(60px,7vw,100px) auto 0;list-style:none;position:relative}
.nl::before{content:"";position:absolute;left:118px;top:0;bottom:0;width:2px;background:var(--sky)}
.nl li a{display:grid;grid-template-columns:118px 1fr;gap:0 40px;align-items:baseline;padding:20px 0;position:relative;transition:background .2s}
.nl li a::before{content:"";position:absolute;left:112px;top:28px;width:14px;height:14px;border-radius:50%;background:var(--white);border:3px solid var(--sky-d)}
.nl li a:hover{background:rgba(207,219,239,.25)}
.nl li span{font-size:16px;line-height:1.7}
.nl li:nth-child(4n+1) span{font-weight:700}
.pager{display:flex;justify-content:center;gap:10px;margin-top:40px}
.pager a,.pager span{min-width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid #cfc8b8;font-weight:700}
.pager span.cur{background:var(--navy);color:#fff;border-color:var(--navy)}
.cats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:clamp(40px,5vw,60px)}
.cats span{border:1px solid var(--navy);color:var(--navy);font-size:13px;font-weight:700;padding:4px 16px;border-radius:99px}

.cats a{border:1px solid var(--navy);color:var(--navy);font-size:15px;font-weight:700;padding:6px 20px;border-radius:99px;transition:background .2s,color .2s}
.cats a:hover,.cats a.cur{background:var(--navy);color:#fff}
.art{max-width:780px;margin:0 auto}
.art .pic{aspect-ratio:4/3;border-radius:36px;margin-bottom:clamp(30px,4vw,50px)}
.art p{font-size:16px;line-height:2.1;margin-bottom:.9em}
.art-nav{max-width:780px;margin:clamp(50px,6vw,80px) auto 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #e4dfd3;padding-top:24px}
.art-nav a{font-weight:700;color:var(--navy);font-size:14px}
.rel{max-width:780px;margin:clamp(50px,6vw,80px) auto 0}


.pp{max-width:820px;margin:0 auto}
.pp h2{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(19px,2vw,23px);letter-spacing:.06em;margin:clamp(36px,4vw,50px) 0 12px;padding-left:16px;border-left:5px solid var(--sky)}
.pp p,.pp li{font-size:15px;line-height:2}
.pp ol,.pp ul{padding-left:1.6em;margin:.4em 0}
.pp .draft{background:#fff6c4;border:1px solid #e8c64a;border-radius:16px;padding:18px 24px;font-weight:700;line-height:1.9}
.pp dl{display:grid;grid-template-columns:8em 1fr;gap:8px 16px;margin-top:10px;font-size:15px}
.pp dt{font-weight:700}


.gaiyo{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;max-width:1180px;margin:0 auto}
.gaiyo dl{grid-column:1 / 8;display:grid;grid-template-columns:9em 1fr;border-top:1px solid #e4dfd3}
.gaiyo dt,.gaiyo dd{padding:16px 6px;border-bottom:1px solid #e4dfd3;font-size:15px;line-height:1.8}
.gaiyo dt{font-weight:700;color:var(--navy)}
.gaiyo .pic{grid-column:9 / 13;aspect-ratio:3/4;border-radius:50% 50% 30px 30px / 36% 36% 30px 30px;margin-top:30px}
.gaiyo .rooms3{grid-column:1 / 13;margin-top:clamp(40px,5vw,60px)}
.rooms3 ul{list-style:none;display:flex;flex-direction:column}
.rooms3 li{display:grid;grid-template-columns:9em 1fr auto;gap:6px 20px;align-items:baseline;padding:16px 0;border-bottom:1px dashed #cfc8b8;font-size:15px}
.rooms3 li b{font-family:"Shippori Mincho B1",serif;font-size:20px;letter-spacing:.1em}
.rooms3 li a{font-weight:900;color:var(--navy);font-size:18px;white-space:nowrap}


.greet{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;max-width:1180px;margin:0 auto}
.greet .pic{grid-column:1 / 6;aspect-ratio:3/4;border-radius:200px 200px 40px 200px / 220px 220px 40px 220px;position:sticky;top:calc(var(--hd) + 20px)}
.greet .txt{grid-column:7 / 13}
.greet .qs{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(22px,2.6vw,34px);line-height:1.8;letter-spacing:.08em;margin-bottom:24px}
.greet .qs span{display:block}
.greet .qs span:nth-child(2){padding-left:1.2em}
.greet .qs span:nth-child(3){padding-left:2.4em;color:var(--shu)}
.greet .sign{margin-top:26px;text-align:right;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:17px;letter-spacing:.1em}
.greet .sign small{display:block;font-size:13px;color:var(--sub);font-family:"Noto Sans JP",sans-serif;font-weight:500}


@media (max-width:820px){
  .phero{padding:calc(var(--hd) + 12px) 16px 70px}
  .phero-in{min-height:0;align-items:flex-start;gap:12px}
  .phero h1{font-size:clamp(26px,8vw,34px)}
  .phero h1.long{font-size:clamp(20px,6.2vw,26px)}
  .phero .lead{font-size:13.5px}
  .circ2{width:30vw;margin:30px 6px 0 0}
  .circ2 .ring .main{stroke-width:48}
  .crumb{margin-bottom:12px}
  .zz,.zz.a,.zz.b,.zz.c,.zz.d{display:flex;flex-direction:column;align-items:stretch}
  .zz .pic{width:100%}
  .zz.b .pic{width:82%;align-self:flex-end}
  .zz.c .pic{width:74%}
  .zz .txt,.zz.a .txt,.zz.b .txt,.zz.c .txt{padding:0;margin-top:24px}
  .zz.d .txt{margin:-40px 10px 0;border-radius:40px}
  .bleed{margin:0 -16px;min-height:0;display:block}
  .bleed>.pic{position:relative;inset:auto;aspect-ratio:4/5}
  .bleed .over{margin-top:-140px;padding:0 20px 40px}
  .cyc-wrap,.cyc-wrap.rev{flex-direction:column;gap:50px}
  .cycle{width:min(300px,74vw);margin:30px auto 20px}
  .cycle .st{width:84px;font-size:12px;padding:6px}
  .tabs{gap:4px}
  .tabs button{flex:1 1 0;padding:10px 6px;font-size:14px;border-radius:16px 16px 0 0}
  .tbl{font-size:12.5px}
  .tbl th,.tbl td{padding:8px 5px}
  .tch2.t-a,.tch2.t-b,.tch2.t-d{display:flex;flex-direction:column}
  .tch2.t-a .pic,.tch2.t-b .pic,.tch2.t-d .pic{position:relative;top:auto;width:78%;margin-bottom:22px}
  .tch2.t-a .pic,.tch2.t-b .pic,.tch2.t-d .pic{align-self:center} 
  .tch2.t-d .pic{width:78%}
  .tch2.t-c .pic.wide{aspect-ratio:1/1;margin-bottom:-28px} 
  .tch2.t-c .txt{padding:26px 20px;border-radius:28px}
  .vb{width:78vw}.vb:nth-child(3n+2){width:84vw;margin-top:30px}.vb:nth-child(3n){width:74vw}
  .vrail{padding:20px 16px 34px}
  .pvv,.pvv:nth-child(odd),.pvv:nth-child(even){padding:26px 22px;border-radius:28px}
  .room.r1 .top{margin:0 -16px;height:auto}
  .room.r1 .top .pic{position:relative;aspect-ratio:4/5}
  .room.r1 .info{display:flex;flex-direction:column;margin-top:-50px}
  .room.r1 .info .box{border-radius:0 28px 28px 28px;padding:24px 20px}
  .room.r1 .info .map{margin-top:24px}
  .room.r2{display:flex;flex-direction:column-reverse}
  .room.r2 .info{padding:0 0 24px}
  .room.r2 .pic{width:44vw}
  .room.r3 .head .pic{width:100%}
  .room.r3 .map{aspect-ratio:4/3}
  .room dl{grid-template-columns:5.5em 1fr;font-size:14px}
  .qa-wrap{display:block}
  .qa-wrap .pic{position:relative;top:auto;width:52vw;margin:0 auto 30px}
  .qa summary{font-size:15.5px}
  .flow::before{left:34px}
  .flow .fs .nb{width:70px;height:70px}
  .flow .fs .nb b{font-size:22px}
  .flow .fs .tx{padding-top:12px}
  .way-tel{flex-direction:column;align-items:stretch;gap:10px}
  .way-tel .ringbox{width:200px;margin:20px auto 20px}
  .way-line{border-radius:32px;justify-content:center;text-align:center}
  .way-line .btn{min-width:0;width:100%}
  .frm{padding:24px 18px;border-radius:24px}
  .frm .row{grid-template-columns:1fr;gap:6px}
  .frm label.l{padding-top:0}
  .frm .send button{width:100%;padding:16px}
  .feat{display:flex;flex-direction:column}
  .feat .txt{margin:-40px 12px 0;padding:24px 20px;border-radius:28px}
  .nl::before{left:8px}
  .nl li a{grid-template-columns:1fr;padding:16px 0 16px 34px}
  .nl li a::before{left:2px;top:22px}
  .pp dl{grid-template-columns:1fr;gap:2px}
  .pp dd{margin-bottom:8px}
  .gaiyo{display:flex;flex-direction:column}
  .gaiyo dl{grid-template-columns:6.5em 1fr}
  .gaiyo .pic{width:70%;align-self:flex-end;margin-top:30px}
  .rooms3 li{grid-template-columns:1fr;gap:2px}
  .greet{display:flex;flex-direction:column}
  .greet .pic{position:relative;top:auto;width:78%;margin-bottom:30px;align-self:center} 
  .greet .qs span:nth-child(2){padding-left:.8em}.greet .qs span:nth-child(3){padding-left:1.6em}
}


.pts{max-width:1000px;margin:clamp(80px,9vw,130px) auto 0;display:flex;flex-direction:column;gap:clamp(26px,3vw,40px)}
.pts .h3m{text-align:center;margin-bottom:10px}
.pt{display:flex;gap:22px;align-items:flex-start;max-width:720px}
.pt:nth-of-type(even){align-self:flex-end}
.pt .nb2{flex:none;width:64px;height:64px;border-radius:50%;border:3px solid var(--sky-d);display:grid;place-items:center;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:24px;color:var(--navy);background:var(--white)}
.pt h4{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:19px;letter-spacing:.08em;margin:4px 0 6px}
.pt p{font-size:15px;line-height:1.95;color:#3c3b38}
@media (max-width:820px){ .pt{gap:14px} .pt .nb2{width:48px;height:48px;font-size:19px} }



.bleed>.pic::after{background:linear-gradient(0deg,rgba(20,35,60,.92) 0%,rgba(20,35,60,.74) 50%,rgba(20,35,60,.4) 100%)}

.white .pvv:nth-child(odd){background:var(--paper)}

@media (max-width:820px){
  .phero-in{flex-direction:column;align-items:stretch}
  .circ2{width:38vw;align-self:flex-end;margin:6px 14px 0 0}
  .phero h1{letter-spacing:.08em}
}

@media (max-width:820px){
  .bleed{background:#14233c}
  .bleed>.pic::after{background:linear-gradient(0deg,#14233c 0%,rgba(20,35,60,.75) 35%,rgba(20,35,60,.35) 100%)}
}



.zz .h3m,.cyc-txt .h3m{display:table;font-size:clamp(26px,2.9vw,36px);color:var(--navy);padding:0 .15em;background:linear-gradient(transparent 58%,var(--sky) 58%,var(--sky) 92%,transparent 92%)}
.zz.d .txt .h3m{font-size:clamp(22px,2.4vw,30px)}
.cyc-txt .h3m{font-size:clamp(20px,2vw,26px)}
.bleed .over .h3m{color:#fff;background:none;padding:0}

.rmjump{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.rmjump a{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:17px;letter-spacing:.1em;padding:10px 26px;border-radius:99px;border:1px solid var(--navy);background:transparent;color:var(--navy);transition:background .25s,color .25s}
.rmjump a:hover,.rmjump a:focus-visible{background:var(--navy);color:#fff;outline:none}
.sub #nobeoka,.sub #tomi,.sub #miyazaki{scroll-margin-top:var(--hd)}
@media (max-width:820px){ .rmjump{gap:8px} .rmjump a{font-size:15px;padding:8px 18px} }

.way-line{flex-direction:column;align-items:stretch;gap:10px;background:none;padding:0;border-radius:0;max-width:420px;margin-left:calc(min(300px,28vw) + clamp(30px,5vw,80px))}
.way-line .btn{min-width:0;width:100%}
@media (max-width:820px){ .way-line{margin:36px 0 0;max-width:none} }

#nobeoka.stk:not(.rm2-sec){border-top-width:0;padding-top:0}
#nobeoka.stk:not(.rm2-sec)::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--cvh);background:var(--cvl) no-repeat 0 0 / 100% var(--cvh);z-index:6;pointer-events:none}
#nobeoka .room.r1 .top{height:calc(min(70vh,600px) + var(--cvh))}
@media (max-width:820px){ #nobeoka .room.r1 .top{height:auto} #nobeoka .room.r1 .top .pic{aspect-ratio:auto;height:calc(125vw + var(--cvh))} }
#nobeoka .room.r1 .top .pic[data-no]::before{top:calc(var(--cvh) + 8px)}
#nobeoka .room.r1 .top .pf::after{top:calc(var(--cvh) + 12%)}

.room.r1 .top .nm2{bottom:calc(80px + clamp(16px,2vw,32px))}
@media (max-width:820px){ .room.r1 .top .nm2{bottom:76px} }


@media (min-width:821px){
  .phero-in{justify-content:center}
  .phero .txt{flex:0 1 auto;max-width:640px}
  .circ2{margin-right:0}
}

.phero .lead .pw3{display:inline-block;margin:6px 0;color:var(--navy);font-weight:700;font-size:1.12em}
.phero .lead .pw3 span{white-space:nowrap}

.greet .qs span,.greet .qs span:nth-child(3){color:var(--navy)}
@media (min-width:821px){
  .greet .pic{grid-column:1 / 6}
  .greet .txt{grid-column:6 / 13;padding-left:clamp(32px,5vw,72px)}
}
.greet .sh{margin-bottom:clamp(18px,2.2vw,32px)}

.greet .sign{font-family:"Klee One",cursive;font-weight:600;font-size:26px;letter-spacing:.14em}
.greet .sign{line-height:1.35}.greet .sign small{letter-spacing:.06em;margin-bottom:0}

.greet .qs.typing .tc{font-style:normal;opacity:0}
.greet .qs.typing .tc.on{opacity:1}
.greet .qs .tcur{display:inline-block;width:3px;height:1.05em;margin-left:3px;vertical-align:-.12em;background:var(--navy);animation:tblink .8s steps(1) infinite}
.greet .qs .tcur.out{animation:none;opacity:0;transition:opacity .4s}
@keyframes tblink{50%{opacity:0}}

.zz .h3m .n{margin-right:.5em;color:var(--sky-d)}
.zz.d .txt .h3m{font-size:clamp(26px,2.9vw,36px)}

.zz.d .txt{background:none;box-shadow:none;border-radius:0;margin-right:0;padding:0 clamp(10px,3vw,50px) 0 0}
.zz.d .pic{grid-column:7 / 13;aspect-ratio:4/3;border-radius:50%}
@media (max-width:820px){ .zz.d .txt{margin:24px 0 0;padding:0} .zz.d .pic{width:100%} }

@media (min-width:821px){ .zz.a .txt{padding-left:14px;margin-right:-24px} }

@media (min-width:821px){
  .zz.a .pic{width:93%;justify-self:start}
  .zz.b .txt,.zz.d .txt{padding-right:clamp(30px,5vw,80px)}
  .zz.c .txt{padding-left:clamp(30px,5vw,80px)}
}

@media (min-width:821px){ .zz.b .txt{justify-self:end;width:fit-content;max-width:100%} }

.gaiyo .grp{grid-column:1 / 13;margin-top:clamp(40px,5vw,60px)}
.rooms3.grp li b{font-size:18px}
.rooms3.grp li a{font-size:14px;font-weight:700;border-bottom:1px solid currentColor}
.rooms3.grp li{grid-template-columns:13em 1fr auto}.rooms3.grp li b{white-space:nowrap}@media (max-width:820px){.rooms3.grp li{grid-template-columns:1fr}}

@media (min-width:821px){ .gaiyo .pic{margin-top:0} }

@media (min-width:821px){
  .gaiyo .sh{grid-column:1 / 8;grid-row:1}
  .gaiyo dl{grid-row:2}
  .gaiyo .pic{grid-column:9 / 13;grid-row:1 / span 2;margin-top:0}
}
@media (min-width:821px){ .gaiyo .pic{margin-top:28px} } 

.gaiyo .gpic{grid-column:9 / 13}
.gaiyo .gpic .pic{width:100%;aspect-ratio:3/4;border-radius:50% 50% 30px 30px / 36% 36% 30px 30px}
.gaiyo .gpic .cap{margin-top:10px;text-align:center;font-size:13px;color:var(--sub);letter-spacing:.08em}
@media (min-width:821px){ .gaiyo .gpic{grid-row:1 / span 2;margin-top:28px} .gaiyo .gpic .pic{margin-top:0} }
@media (max-width:820px){ .gaiyo .gpic{width:70%;align-self:center;margin-top:30px} .gaiyo .gpic .pic{width:100%;margin-top:0} } 
.gaiyo .rmlink{grid-column:1 / 8;margin-top:24px}
.gaiyo .sh{margin-bottom:clamp(24px,3vw,40px)}
@media (min-width:821px){ .gaiyo{grid-template-rows:auto 1fr} .gaiyo dl{align-self:start} }
@media (min-width:821px){ .gaiyo{grid-template-rows:auto auto 1fr} .gaiyo .rmlink{grid-row:3;align-self:start} .gaiyo .gpic{grid-row:1 / span 3} }

.vrail.auto{scroll-snap-type:none}
.vrail .vb{margin-top:0;width:320px;background:var(--white);border-radius:28px 28px 28px 6px}
.vrail .vb.k2{width:380px;margin-top:40px;border-radius:28px 6px 28px 28px}
.vrail .vb.k3{width:290px;margin-top:14px;background:var(--white)} 
@media (max-width:820px){ .vrail .vb{width:78vw}.vrail .vb.k2{width:84vw;margin-top:30px}.vrail .vb.k3{width:74vw} }
.vrail-wrap .rail-nav{justify-content:flex-end}

.qa-wrap .fqpics{aspect-ratio:3/4;border-radius:200px 200px 40px 200px / 220px 220px 40px 220px}
.fqpics>img{opacity:0;transform:scale(1.06);transition:opacity .7s ease,transform 1.4s cubic-bezier(.2,.8,.2,1)}
.fqpics>img.on{opacity:1;transform:none}
@media (max-width:820px){ .qa-wrap .fqpics{width:62vw} }
@media (prefers-reduced-motion: reduce){ .fqpics>img{transition:none} }

@media (min-width:821px){
  .qa-wrap{max-width:1280px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,4vw,64px)}
  .qa-wrap .fqpics{margin-left:clamp(-60px,-3vw,0px)}
}
@media (min-width:821px){ .qa-wrap .fqpics{margin-left:0;aspect-ratio:4/5} } 
@media (min-width:821px){ .qa-wrap .fqpics{margin-left:-30px} } 
.fqpics>img{scale:var(--fz,1);transform-origin:50% 55%} 
@media (min-width:1400px){ .qa-wrap{max-width:1560px} .qa-wrap .fqpics{margin-left:0} } 
@media (min-width:1400px){ .qa-wrap .fqpics{aspect-ratio:1/1} } 
@media (min-width:1400px){ .fqpics>img{scale:var(--fzw,var(--fz,1))} } 


.sub #form{scroll-margin-top:calc(var(--hd) - var(--cvh))}

.frm select{width:100%;font:inherit;font-size:16px;padding:12px 40px 12px 14px;border:1px solid #cfc8b8;border-radius:8px;background:#fdfcf8 url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 8%27%3E%3Cpath d=%27M1 1l5 5 5-5%27 fill=%27none%27 stroke=%27%23555%27 stroke-width=%271.6%27/%3E%3C/svg%3E") no-repeat right 14px center/12px 8px;appearance:none;color:var(--ink)}
.frm .opt{display:inline-block;background:#e9e4d8;color:#6b6457;font-size:11px;padding:0 6px;border-radius:2px;margin-left:8px;vertical-align:.1em}


.evs{list-style:none;margin:clamp(30px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3.4vw,48px) clamp(20px,2.6vw,36px)}
.ev{min-width:0}
.ev-ph{position:relative;margin:0;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:var(--paper)}
.ev-ph>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--out)}
.ev:hover .ev-ph>img:first-child{transform:scale(1.04)}
.ev-ph.has-sub{overflow:visible}
.ev-ph.has-sub>img:first-child{border-radius:22px}
.ev-ph .ev-sub{position:absolute;right:-10px;bottom:-18px;width:44%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;border:4px solid var(--white);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.ev-tx{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:16px}
.ev-no{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:22px;color:var(--shu);line-height:1}
.ev-tx p{flex:1;min-width:0;font-weight:700;font-size:15.5px;line-height:1.75;color:var(--ink)}
.ev-tx .ev-note{flex-basis:100%;font-weight:400;font-size:12.5px;margin-top:2px}
.ev-ph.has-sub+.ev-tx{margin-top:30px}
@media (max-width:1000px){.evs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){
  .evs{grid-template-columns:1fr;gap:40px}
}


.tcpan .pan{position:absolute;inset:0;overflow:hidden;border-radius:50%;animation:cOpen 1.2s cubic-bezier(.7,0,.2,1) .15s both}

.tcpan .pan img{position:absolute;top:-42%;left:0;height:230%;width:auto;max-width:none;transform:translateX(0);animation:tcPan 24.5s 1.2s infinite}

@keyframes tcPan{
  0%{transform:translateX(0);animation-timing-function:ease-in-out}
  50%{transform:translateX(-67.4%);animation-timing-function:ease-in-out}
  100%{transform:translateX(0)}
}
@media (prefers-reduced-motion:reduce){.tcpan .pan img{animation:none;transform:translateX(0)}}


.tch2 .pic.rv{opacity:0;transform:rotate(-200deg) scale(.2);transition:opacity .9s ease .15s, transform 1.6s cubic-bezier(.2,.85,.25,1.04) .15s}
.tch2.t-b .pic.rv{transform:rotate(200deg) scale(.2)}
.tch2 .pic.rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.tch2 .pic.rv{transition:opacity .6s ease}}
@media (min-width:821px){
  .tch2.t-c{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}
  .tch2.t-c .pic.wide{grid-column:1 / 6;grid-row:1;aspect-ratio:1/1.05;margin:0;border-radius:52% 48% 46% 54% / 44% 50% 50% 56%}
  .tch2.t-c .txt{grid-column:6 / 13;grid-row:1;max-width:none;margin:0 0 0 clamp(24px,3vw,48px)} 
}

.tch2.t-d .pic img{object-position:50% 8%}
.tch2.t-a .pic img,.tch2.t-b .pic img{object-position:50% 20%}


.uvx{position:relative;max-width:760px;background:var(--paper);border-radius:60px;padding:clamp(40px,5vw,64px) clamp(30px,5vw,70px) clamp(36px,4vw,56px)}
.uvx::before{content:"“";position:absolute;left:clamp(20px,3vw,40px);top:-40px;font-family:"Shippori Mincho B1",serif;font-size:110px;line-height:1;color:var(--sky-d)}
.uvx.u2{margin-left:auto}
.uvx.u3{margin-left:clamp(0px,8vw,120px)}
.vbig.uvx+.vbig.uvx{margin-top:clamp(56px,6vw,90px)}
@media (max-width:820px){.uvx{border-radius:36px}.uvx.u3{margin-left:0}}

.vcsec .wrap,.vcsec .vrail-wrap{position:relative;z-index:2}
.vcsec .vb{color:var(--ink)}
.vcsec .vrail::-webkit-scrollbar-thumb{background:rgba(255,255,255,.45)}

.uvphoto{color:#fff;background-color:#1d3557}
.uvphoto .uvbg{position:absolute;inset:0;z-index:0;background:linear-gradient(rgba(23,44,78,.55),rgba(23,44,78,.55)),url(../img/recv/rU_h3.jpg) center 45%/cover no-repeat fixed}
.uvphoto .wrap{position:relative;z-index:1}
.uvphoto .sh .en{color:#d6e0f0}
.uvphoto .uvx{background:rgba(255,254,251,.96);color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.18)}
.uvphoto .uvx::before{color:var(--sky)}

.uvphoto .uvbg{top:calc(-1 * var(--cvh))}
@media (max-width:820px){.uvphoto .uvbg{background-attachment:scroll}}

.uvphoto::before{content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--cvh));height:var(--cvh);background:var(--cvl) no-repeat 0 0 / 100% var(--cvh);z-index:3;pointer-events:none}

.pvphoto .uvbg{background:linear-gradient(rgba(23,44,78,.45),rgba(23,44,78,.45)),url(../img/recv/rP_bg.jpg) center 40%/cover no-repeat fixed}
.pvphoto .pvv,.pvphoto .pvv:nth-child(even){background:rgba(255,254,251,.96);color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.18)}
@media (max-width:820px){.pvphoto .uvbg{background-attachment:scroll}}

.pvf{position:relative;max-width:1100px;margin:0 auto clamp(40px,5vw,70px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,3.4vw,52px);align-items:start;padding:clamp(28px,3.4vw,52px);background:rgba(255,254,251,.96);color:var(--ink);border-radius:40px 80px 40px 80px;box-shadow:0 24px 60px rgba(0,0,0,.18)}
.pvf-ph{position:sticky;top:110px;margin:0;border-radius:28px;overflow:hidden;aspect-ratio:3/4}
.pvf-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.pvf-ttl{font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:clamp(20px,2vw,26px);line-height:1.6;color:var(--navy,#1d3557);margin-bottom:1em}
.pvf-tx p:not(.pvf-ttl){font-size:15px;line-height:2}
.pvf-tx p:not(.pvf-ttl)+p{margin-top:.8em}
.pvf .who3{margin-top:14px;font-weight:700;color:var(--shu);font-size:14px}
@media (max-width:820px){
  .pvf{grid-template-columns:1fr;padding:22px 22px 28px;border-radius:28px}
  .pvf-ph{position:relative;top:auto;aspect-ratio:4/5}
}


.tuition .tu-room+.tu-room{margin-top:clamp(50px,6vw,80px)}
.tuition .tu-h{display:inline-block;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(22px,2.4vw,28px);letter-spacing:.1em;color:#fff;background:var(--navy);padding:6px 26px;border-radius:99px;margin-bottom:6px}
.tuition .tu-sub{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:18px;letter-spacing:.06em;color:var(--navy);margin:26px 0 10px;padding-left:12px;border-left:4px solid var(--sky)}
.tuition .tu-room .h3m{font-size:18px;margin-top:26px}


.j12-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center}
.j12-catch{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(24px,2.8vw,36px);line-height:1.6;letter-spacing:.06em;color:var(--navy);margin-top:18px}
.j12-lead{margin-top:16px;font-size:15px;line-height:2;color:var(--sub)}
.j12-ph{aspect-ratio:1;border-radius:52% 48% 46% 54% / 46% 52% 48% 54%}
.j12-pts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:clamp(40px,5vw,70px)}
.j12-pt{background:var(--paper);border-radius:28px;padding:clamp(24px,2.6vw,36px)}
.j12-pt h3{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(17px,1.5vw,20px);letter-spacing:.06em;color:var(--navy);line-height:1.5;padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid var(--sky)}
.j12-pt p{font-size:14.5px;line-height:2;color:#3c3b38}
.j12-end{text-align:center;margin-top:clamp(30px,4vw,50px);font-weight:700;color:var(--navy)}
@media (max-width:820px){
  .j12-head{grid-template-columns:1fr}
  .j12-ph{width:72%;margin:0 auto}
  .j12-pts{grid-template-columns:1fr}
}


.j12-head{display:block;text-align:center;max-width:820px;margin:0 auto}
.j12-head .en{font-size:12px;letter-spacing:.42em;color:var(--shu);font-weight:700}
.j12-catch{margin-top:14px}
.j12-bands{margin:clamp(40px,5vw,70px) calc(-1 * clamp(16px,4vw,72px)) 0}
.jb{position:relative;display:flex;align-items:center;min-height:clamp(300px,30vw,400px);background:var(--navy);color:#fff;clip-path:polygon(0 6vw,100% 0,100% calc(100% - 6vw),0 100%)}
.jb:nth-child(even){clip-path:polygon(0 0,100% 6vw,100% 100%,0 calc(100% - 6vw))}
.jb+.jb{margin-top:-2.4vw}
.jb .photo{position:absolute;top:0;bottom:0;left:0;width:56%;overflow:hidden;clip-path:polygon(0 0,100% 0,82% 100%,0 100%);opacity:0;transform:translateX(-6%);transition:opacity .9s ease .2s, transform 1.3s var(--out) .2s}
.jb:nth-child(even) .photo{left:auto;right:0;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);transform:translateX(6%)}
.jb.on .photo{opacity:1;transform:none}
.jb .photo img{width:100%;height:100%;object-fit:cover}
.jb .in{position:relative;z-index:2;width:46%;margin-left:auto;padding:6.4vw clamp(24px,5vw,90px) 7.1vw clamp(24px,3vw,50px)} 
.jb:nth-child(even) .in{margin-left:0;margin-right:auto;padding:5vw clamp(24px,3vw,50px) 8.5vw clamp(24px,7vw,120px)}
.jb h3{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(22px,2.2vw,30px);letter-spacing:.08em;line-height:1.5;margin-bottom:14px}
.jb p{font-size:15px;line-height:2;color:#e6ecf5}
@media (max-width:820px){
  .jb,.jb:nth-child(even){display:block;clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),0 100%)}
  .jb+.jb{margin-top:14px}
  .jb .photo,.jb:nth-child(even) .photo{position:relative;left:auto;right:auto;width:100%;height:200px;clip-path:polygon(0 0,100% 0,100% 84%,0 100%)}
  .jb .in,.jb:nth-child(even) .in{width:auto;margin:0;padding:18px 22px 54px}
}


.cycle .flow{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;opacity:0;transition:opacity .8s ease 1.2s}
.cycle.on .flow{opacity:1}
.cycle .flow .track{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 16;animation:cycFlow 6s linear infinite}
.cycle .flow .arw path{fill:var(--navy)}
@keyframes cycFlow{to{stroke-dashoffset:-180}}
.cycle.on .st{animation:cycStep 8s ease-in-out 1.6s infinite}
.cycle.on .st.s2{animation-delay:3.6s}.cycle.on .st.s3{animation-delay:5.6s}.cycle.on .st.s4{animation-delay:7.6s}
@keyframes cycStep{0%,30%,100%{background:var(--white);color:inherit;scale:1}6%,24%{background:var(--navy);color:#fff;scale:1.1}}
.cycle.on .st b{transition:color .3s}
@media (prefers-reduced-motion:reduce){.cycle .flow .track,.cycle.on .st{animation:none}}


.cyc-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:14px}
.cyc-steps li{display:flex;gap:14px;align-items:flex-start;background:var(--white);border-radius:20px;padding:14px 18px}
.cyc-steps b{flex:none;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:"Shippori Mincho B1",serif;font-size:17px}
.cyc-steps .t{font-weight:700;color:var(--navy);font-size:16px}
.cyc-steps .kari{font-size:13px;margin-top:2px}

.cycsec{padding-top:clamp(60px,6vw,90px)}
.cycsec .sh{margin-bottom:clamp(20px,2.4vw,34px)}
.cycsec .cyc-wrap{gap:clamp(60px,9vw,150px);align-items:center}
.cycsec .cycle{width:min(520px,80vw);margin:50px 0}
@media (max-width:820px){.cycsec .cyc-wrap{gap:50px}.cycsec .cycle{width:min(320px,76vw)}}

.cycsec{padding-bottom:clamp(130px,13vw,190px)}
.cycsec .cycle .st{width:clamp(110px,11.5vw,150px);font-size:clamp(14px,1.35vw,17px);line-height:1.35;padding:12px}
.cycsec .cycle .st span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;translate:0 -2px}
.cycsec .cycle .st b{font-size:1.75em;line-height:.9}

.cycsec .cycle .st.s1{translate:-50% -40%}

.cycsec .cycle .st{font-size:clamp(15px,1.5vw,19px)}
.cycsec .cycle .st b{font-size:1.25em}
.cycsec .cyc-wrap{gap:clamp(80px,12vw,190px)}

.tuphoto .uvbg{background-position:center 40%;background-size:cover;background-repeat:no-repeat}
.tuphoto .wrap-s{position:relative;z-index:1;background:rgba(255,254,251,.97);color:var(--ink);border-radius:40px;padding:clamp(36px,5vw,70px) clamp(20px,4vw,60px);box-shadow:0 30px 70px rgba(0,0,0,.2)}
.tuphoto .wrap-s .sh .en{color:var(--shu)}
@media (max-width:820px){.tuphoto .wrap-s{border-radius:24px;padding:30px 16px}}

.tuition .ref p:first-child{margin-top:0 !important}

.sched-img{display:grid;gap:16px}
.sched-img img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 8px 24px rgba(31,31,34,.08)}
.sched-img:has(> :nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:600px){.sched-img:has(> :nth-child(2)){grid-template-columns:1fr}}

.sched-img img{cursor:zoom-in;transition:transform .3s var(--out), box-shadow .3s}
.sched-img img:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(31,31,34,.16)}
.lbx{position:fixed;inset:0;z-index:2000;background:rgba(15,25,45,.86);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:clamp(16px,4vw,50px);opacity:0;visibility:hidden;transition:opacity .3s, visibility 0s linear .3s;cursor:zoom-out}
.lbx.on{opacity:1;visibility:visible;transition:opacity .3s}
.lbx img{display:block;width:min(820px,100%);height:auto;margin:auto;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.4);background:#fff;cursor:default}
.lbx-in{position:relative;width:min(820px,100%);margin:auto}
.lbx-in img{width:100%}
.lbx-x{position:absolute;top:-16px;right:-16px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--navy);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25)}


@media (max-width:600px){
  .lbx{padding:64px 0 40px;align-items:flex-start;justify-content:flex-start}
  .lbx-in{width:170vw;min-width:170vw;margin:0 16px}
  .lbx-x{position:fixed;top:12px;right:12px}
  .lbx::after{content:"指で上下・左右に動かせます";position:fixed;left:50%;bottom:14px;translate:-50% 0;background:rgba(255,255,255,.92);color:var(--navy);font-size:13px;font-weight:700;padding:6px 14px;border-radius:99px;white-space:nowrap}
}

@media (max-width:820px){
  .tuphoto{background-color:var(--white)} 
  .tuphoto .uvbg{display:none}
  .tuphoto .wrap-s{background:none;box-shadow:none;border-radius:0;padding:0}
}

.tbl td{background:var(--white)}


.j12-subj{display:inline-block;margin-top:16px;font-size:14px;font-weight:700;color:var(--navy);border-bottom:2px solid var(--sky);padding-bottom:2px}

.cyc-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,100px);align-items:start}
.cyc-one{display:flex;flex-direction:column;align-items:center}
.cyc-one .h3m{font-size:clamp(20px,2vw,26px);margin-bottom:10px}
.cyc2 .cyc-one .cycle{width:min(440px,100%);margin:60px auto 40px}
@media (max-width:820px){.cyc-pair{grid-template-columns:1fr;gap:30px}.cyc2 .cyc-one .cycle{width:min(300px,74vw)}}

.sched-img:has(> :nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:600px){.sched-img:has(> :nth-child(3)){grid-template-columns:1fr}}

.sched-img:has(> :first-child):not(:has(> :nth-child(2))){grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:600px){.sched-img:has(> :first-child):not(:has(> :nth-child(2))){grid-template-columns:1fr}}


.rm2-sec{--bgc:var(--white)}
.rm2-sec.paper{--bgc:var(--paper)}
.rm2{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,28px);row-gap:clamp(96px,10vw,140px);align-items:start}
.rm2-nm{grid-column:1 / 2;grid-row:1;display:flex;flex-direction:column;align-items:center;gap:18px;margin:0;padding-top:6px}
.rm2-nm .no{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(26px,2.4vw,34px);color:var(--navy);letter-spacing:.04em;line-height:1}
.rm2-nm .no i{font-style:normal;font-size:.42em;color:var(--sub);margin-left:2px;letter-spacing:.08em}
.rm2-nm .ja{writing-mode:vertical-rl;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(36px,3.6vw,52px);letter-spacing:.3em;line-height:1;color:var(--ink);position:relative;padding-top:26px}
.rm2-nm .ja::before{content:"";position:absolute;top:0;left:50%;width:1px;height:16px;background:var(--shu)}
.rm2-nm .en{writing-mode:vertical-rl;font-size:11px;font-weight:700;letter-spacing:.32em;color:#8ea6cb;order:3}
.rm2-ph{grid-column:2 / 9;grid-row:1;position:relative;z-index:1}
.rm2-ph::before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid #9fb6dc;border-radius:6px 150px 6px 6px;z-index:-1;pointer-events:none}
.rm2-ph .main{aspect-ratio:4/3;border-radius:6px 150px 6px 6px;box-shadow:0 30px 60px rgba(31,31,34,.10)}
.rm2-ph .pic img{width:100%;height:100%;object-fit:cover;display:block}
.rm2-ph .sub{position:absolute;right:-9%;bottom:-16%;width:34%;aspect-ratio:4/3;border-radius:20px;border:8px solid var(--bgc);box-shadow:0 18px 40px rgba(31,31,34,.12);z-index:2}
.rm2-ph .sub.tall{aspect-ratio:3/4;width:24%;bottom:-20%}
.rm2-info{grid-column:9 / 13;grid-row:1;align-self:center;padding-left:clamp(10px,2vw,30px)}
.rm2-info .place{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--shu);border:1px solid currentColor;border-radius:99px;padding:2px 12px;margin-bottom:14px}
.rm2-info dl{display:grid;grid-template-columns:5.2em 1fr;margin:0;font-size:15px;line-height:1.75;border-top:1px solid #e3ddcf}
.rm2-info dt,.rm2-info dd{padding:15px 0;border-bottom:1px solid #e3ddcf;margin:0}
.rm2-info dt{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--sub);padding-top:19px}
.rm2-info dd.gr{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:18px;letter-spacing:.06em;color:var(--navy)}
.rm2-info a.tl2{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:clamp(22px,2vw,27px);color:var(--navy);letter-spacing:.05em;line-height:1.3}
.rm2-info a.tl2 svg{width:.72em;height:.72em;flex:none}
.rm2-links{margin-top:22px}
.rm2-map{grid-column:2 / 8;grid-row:2}

.rm2-map{text-align:center;align-self:center}
.rm2-map .globe{position:relative;width:min(100%,430px);aspect-ratio:1;margin:0 auto;border-radius:50%;overflow:hidden;isolation:isolate;transform:translateZ(0);background:#e8eef7;outline:1px solid #9fb6dc;outline-offset:12px;box-shadow:0 50px 70px -30px rgba(20,35,60,.5),0 18px 34px -12px rgba(20,35,60,.22)}
.rm2-map iframe{position:absolute;left:-25%;top:-25%;width:150%;height:150%;border:0;filter:saturate(.85)}
.rm2-map .shine{position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:2;background:radial-gradient(ellipse 34% 22% at 34% 18%,rgba(255,255,255,.38),rgba(255,255,255,0) 100%),radial-gradient(circle at 50% 45%,rgba(20,35,60,0) 66%,rgba(20,35,60,.22) 100%);box-shadow:inset 0 -18px 30px -6px rgba(20,35,60,.24),inset 0 8px 14px -4px rgba(255,255,255,.5)}
.rm2-map .gmap{display:inline-flex;align-items:center;gap:6px;margin-top:30px;font-size:13px;font-weight:700;color:var(--navy);letter-spacing:.04em}
.rm2-map .gmap svg{width:14px;height:14px}
.rm2-map .gmap:hover{text-decoration:underline;text-underline-offset:4px}
.rm2-tch{grid-column:9 / 13;grid-row:2;padding-left:clamp(10px,2vw,30px)}
.rm2-tch h3{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:20px;letter-spacing:.1em;margin:0 0 26px;display:flex;flex-direction:column;gap:4px}
.rm2-tch h3 small{font-family:"Noto Sans JP",sans-serif;font-size:11px;font-weight:700;letter-spacing:.3em;color:var(--shu)}
.rm2-tch ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px}
.rm2-tch li a{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ink)}
.rm2-tch .fc{display:block;width:100%;max-width:112px;aspect-ratio:1;border-radius:50%;overflow:hidden;outline:1px solid #9fb6dc;outline-offset:5px;margin-bottom:14px;background:#e8eef7}
.rm2-tch .fc img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--out)}
.rm2-tch li a:hover .fc img,.rm2-tch li a:focus-visible .fc img{transform:scale(1.07)}
.rm2-tch .rl{display:block;position:static;width:auto;height:auto;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--sub)}
.rm2-tch b{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:17px;letter-spacing:.08em;margin-top:2px}
.rm2-tch.solo ul{grid-template-columns:1fr}
.rm2-tch.solo li a{display:grid;grid-template-columns:120px 1fr;column-gap:26px;align-items:center;text-align:left}
.rm2-tch.solo .fc{width:120px;max-width:none;grid-row:1 / 3;margin:0}
.rm2-tch.solo .rl{align-self:end}
.rm2-tch.solo b{align-self:start;font-size:22px}
.rm2-tch .tnote{font-size:13px;margin-top:18px}
.rm2-tch>.lnk{margin-top:26px}

.rm2.rev .rm2-nm{grid-column:12 / 13}
.rm2.rev .rm2-ph{grid-column:5 / 12}
.rm2.rev .rm2-ph::before{inset:22px 22px -22px -22px;border-radius:150px 6px 6px 6px}
.rm2.rev .rm2-ph .main{border-radius:150px 6px 6px 6px}
.rm2.rev .rm2-ph .sub{right:auto;left:-9%}
.rm2.rev .rm2-info{grid-column:1 / 5;padding:0 clamp(10px,2vw,30px) 0 0}
.rm2.rev .rm2-map{grid-column:6 / 12}
.rm2.rev .rm2-tch{grid-column:1 / 5;padding:0 clamp(10px,2vw,30px) 0 0}
.rm2.nosub{row-gap:clamp(70px,7vw,100px)}

.rm2-jump a i{font-style:normal;font-size:12px;color:var(--shu);margin-right:8px;letter-spacing:.06em;vertical-align:.12em}
.rm2-jump a:hover i,.rm2-jump a:focus-visible i{color:#f4c7b5}
@media (max-width:820px){
  .rm2{display:flex;flex-direction:column;gap:0}
  .rm2-nm{flex-direction:row;align-items:baseline;gap:12px;margin-bottom:22px;padding:0}
  .rm2-nm .ja{writing-mode:horizontal-tb;font-size:32px;letter-spacing:.16em;padding:0 0 0 16px}
  .rm2-nm .ja::before{top:50%;left:0;width:8px;height:1px}
  .rm2-nm .no{order:1} .rm2-nm .ja{order:2}
  .rm2-nm .en{display:none}
  .rm2-ph{width:calc(100% - 14px)}
  .rm2-ph::before{inset:12px -12px -12px 12px;border-radius:6px 80px 6px 6px}
  .rm2-ph .main{border-radius:6px 80px 6px 6px}
  .rm2.rev .rm2-ph{align-self:flex-end}
  .rm2.rev .rm2-ph::before{inset:12px 12px -12px -12px;border-radius:80px 6px 6px 6px}
  .rm2.rev .rm2-ph .main{border-radius:80px 6px 6px 6px}
  .rm2-ph .sub{width:42%;right:-6px;bottom:-22%;border-width:6px;border-radius:14px}
  .rm2-ph .sub.tall{width:30%;bottom:-26%}
  .rm2.rev .rm2-ph .sub{left:-6px}
  .rm2-info,.rm2.rev .rm2-info{padding:0;margin-top:44px}
  .rm2:not(.nosub) .rm2-info{margin-top:96px}
  .rm2-info dl{font-size:14px}
  .rm2-map{margin-top:44px}
  .rm2-map .globe{width:min(84vw,340px)}
  .rm2-tch,.rm2.rev .rm2-tch{padding:0;margin-top:48px}
  .rm2-tch .fc{max-width:88px}
  .rm2-tch.solo li a{grid-template-columns:100px 1fr} .rm2-tch.solo .fc{width:100px}
}
.rm2-info .need{display:inline-block;margin-top:8px;font-size:12px;line-height:1.6}


.rm2-ph::before,.rm2.rev .rm2-ph::before{content:none}

.rm2-ph .rv.pic.on{clip-path:inset(-80px round 90px)}

.frmphoto{background-color:var(--paper)}
.frmphoto .frmbg{position:absolute;inset:0;top:calc(-1 * var(--cvh));z-index:0;background-position:center 75%;background-size:cover;background-repeat:no-repeat}
.frmphoto .frmbg::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(247,245,239,.3),rgba(247,245,239,.42))}
.frmphoto .wrap{position:relative;z-index:1}
.frmphoto .frm{box-shadow:0 30px 70px rgba(31,40,60,.16)}

.tch2.t-c .pic.wide.plx>img{top:0;bottom:0;height:100%;transform:none!important;object-position:50% 0%!important}


.tbl.tbl-nyukai{margin-top:10px}
.tbl.tbl-nyukai th{width:38%}

.tbl:has(+.tbl-nyukai),.tbl.tbl-nyukai{table-layout:fixed}
.tbl:has(+.tbl-nyukai) thead th:first-child{width:38%}
.tbl.tbl-nyukai .tbl-sub{display:inline-block;margin-left:.5em;font-size:12.5px;color:var(--sub)}

.cyc-steps .d{font-size:14px;line-height:1.8;color:var(--sub);margin-top:4px}

.iv .a{width:92%}


.sched-print{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.sched-print button{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--navy);color:var(--navy);font:inherit;font-size:14px;font-weight:700;padding:8px 18px;border-radius:99px;cursor:pointer;transition:background .2s,color .2s}
.sched-print button::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M6 9V3h12v6'/%3E%3Crect x='3' y='9' width='18' height='8' rx='1'/%3E%3Cpath d='M6 14h12v7H6z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M6 9V3h12v6'/%3E%3Crect x='3' y='9' width='18' height='8' rx='1'/%3E%3Cpath d='M6 14h12v7H6z'/%3E%3C/svg%3E") center/contain no-repeat}
.sched-print button:hover{background:var(--navy);color:#fff}
@media (max-width:820px){ .sched-img img{cursor:auto} .sched-img img:hover{transform:none;box-shadow:0 8px 24px rgba(31,31,34,.08)} }
.pr-clone{display:none}
@media print{
  @page{size:A4;margin:10mm}
  body.pr-sched>*:not(.pr-clone){display:none!important}
  body.pr-sched{margin:0!important;padding:0!important;background:#fff!important}
  body.pr-sched .pr-clone{display:block;break-inside:avoid}
  body.pr-sched .pr-clone img{display:block;width:100%;height:auto;max-height:265mm;width:auto;max-width:100%;object-fit:contain;margin:0 auto}
}


.vcsec .rail-nav button{border:2px solid #fff;color:#fff;background:rgba(255,255,255,.12)}
.vcsec .rail-nav button:hover{background:#fff;color:var(--navy)}
.vcsec .rail-nav svg{stroke-width:2.6}


.rm2-tch.head li a{grid-template-columns:170px 1fr;column-gap:30px}
.rm2-tch.head .fc{width:170px}
.rm2-tch.head .rl{font-size:13px}
.rm2-tch.head b{font-size:28px;white-space:nowrap}
@media (max-width:820px){ .rm2-tch.head li a{grid-template-columns:130px 1fr;column-gap:22px} .rm2-tch.head .fc{width:130px} .rm2-tch.head b{font-size:24px} }
@media (min-width:821px) and (max-width:1230px){ .rm2-tch.head li a{grid-template-columns:120px 1fr;column-gap:20px} .rm2-tch.head .fc{width:120px} .rm2-tch.head b{font-size:22px;white-space:nowrap} }


.rm2-info .pk{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:700;color:var(--navy);background:#e8eef7;padding:3px 12px 3px 8px;border-radius:99px;width:fit-content}
.rm2-info .pk::before{content:"P";display:grid;place-items:center;width:18px;height:18px;border-radius:4px;background:var(--navy);color:#fff;font-size:11px;font-weight:800;line-height:1}
.rm2-info dd:has(.pk){display:flex;flex-direction:column;align-items:flex-start}


.rm2-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.tu-room[id]{scroll-margin-top:150px}
@media (max-width:820px){ .tu-room[id]{scroll-margin-top:112px} }

@media (min-width:821px){ .rm2:not(.rev) .rm2-links{padding-left:clamp(28px,2.6vw,44px)} }

.rm2-links .lnk{font-size:clamp(14px,1.15vw,16px)}
@media (min-width:821px){ .rm2.rev .rm2-links{padding-right:clamp(28px,2.6vw,44px)} }


.vrail .vb.ph{padding-top:0;overflow:hidden}
.vb-ph{margin:0 -26px 18px;aspect-ratio:4/3;overflow:hidden}
.vb-ph img{width:100%;height:100%;object-fit:cover;display:block}

@media (min-width:821px){ main .uvphoto.stk:not(:last-child) .uvbg{bottom:calc(-1 * var(--dw))} }

.vrail .vb.phb{padding-top:26px;padding-bottom:0}
.vb.phb .vb-ph{margin:18px -26px 0}
.vb-ph.empty{background:#eef1f6;border:2px dashed #b9c6dc;border-left:0;border-right:0}
.vb.phb .vb-ph.empty{border-bottom:0}
.vb:not(.phb) .vb-ph.empty{border-top:0}

.vb-ph:has(img[src$="rVc_ht.jpg"]){aspect-ratio:16/9}
.vb-ph img[src$="rVc_ht.jpg"]{object-position:50% 22%}


.rm2-map iframe{pointer-events:none}
.rm2-map .glink{position:absolute;inset:0;z-index:4;border-radius:50%}
.rm2-map .gpin{position:absolute;left:50%;top:50%;z-index:3;width:34px;height:46px;margin:-46px 0 0 -17px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 46'%3E%3Cpath d='M17 45C17 45 2 27.5 2 17A15 15 0 0 1 32 17C32 27.5 17 45 17 45Z' fill='%2326499d' stroke='%23fff' stroke-width='2.5'/%3E%3Ccircle cx='17' cy='17' r='6' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 4px 4px rgba(0,0,0,.3))}

@media (max-width:820px){
  .cats{flex-wrap:nowrap;gap:6px;margin-bottom:44px}
  .cats a{flex:1 1 auto;max-width:140px;text-align:center;font-size:13px;padding:7px 4px;white-space:nowrap}
}
@media (max-width:340px){ .cats a{font-size:12px} }

.sched-item{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0} 
.sched-item>img{width:100%}
.sched-item .sched-print{margin-top:0}

@media (min-width:601px) and (max-width:1000px){ .sched-item .sched-print button{font-size:12.5px;padding:7px 12px;gap:6px} }

.sched-how{margin-top:14px;font-size:13px;color:var(--sub);text-align:center}
.sched-how summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--navy);font-weight:700;list-style:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.sched-how summary::-webkit-details-marker{display:none}
.sched-how summary::before{content:"?";display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;font-weight:800;line-height:1}
.sched-how ul{list-style:none;margin:12px auto 0;padding:14px 16px;background:var(--white);border:1px solid #e4dfd3;border-radius:12px;text-align:left;max-width:560px;line-height:1.75}
.sched-how li+li{margin-top:6px}
.sched-how b{color:var(--ink)}

@media (max-width:820px){
  .rm2-tch.head{text-align:center;align-self:stretch;width:100%}
  .rm2-tch.head h3{align-items:center}
  .rm2-tch.head li a{display:flex;flex-direction:column;align-items:center;text-align:center;grid-template-columns:none}
  .rm2-tch.head .fc{width:150px;margin:0 0 14px}
  .rm2-tch.head .rl{align-self:center}
  .rm2-tch.head b{align-self:center}
  .rm2-tch.head>.lnk{margin-left:auto;margin-right:auto}
}

.sched-print button{white-space:nowrap}
.sched-img:has(> :nth-child(3)) .sched-print button{font-size:13px;padding:7px 14px;gap:6px}
@media (min-width:601px) and (max-width:1000px){ .sched-img:has(> :nth-child(3)) .sched-print button{font-size:12px;padding:7px 10px} }
