:root{--paper:#f3f0e9;--paper2:#f6f3ec;--ink:#171715;--line:rgba(17,17,15,.16);--gold:#9b7b3f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}a{color:inherit;text-decoration:none}
header.siteHeader{position:relative;z-index:30;height:132px;padding:14px 3.2vw 0;display:grid;grid-template-columns:190px 1fr;grid-template-rows:46px 56px;color:#f3f0e9;background:#151513;border-bottom:1px solid rgba(255,255,255,.22)}.siteLogo{grid-row:1/3;display:flex;align-items:center;width:165px}.siteLogo img{width:100%;height:auto;display:block}.headerUtility{grid-column:2;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.26);font-size:11px}.headerUtility .utilityLeft{display:flex;gap:34px}.headerUtility .utilityRight{margin-left:auto;display:flex;align-items:baseline;gap:16px}.headerUtility .utilityRight span{font-size:10px}.headerUtility .utilityRight b{font-size:20px;letter-spacing:.06em}.topnav{grid-column:2;display:flex;justify-content:flex-end;align-items:center;gap:27px;font-size:13px;font-weight:600;white-space:nowrap}.topnav>a[href="joshin.html"]{color:#e3bf53}.navHall{position:relative;display:flex;align-items:center;height:100%}.navHallTrigger{display:inline-flex;align-items:center;gap:7px;height:100%}.navHallTrigger:after{content:"＋";font-size:11px;font-weight:400;opacity:.75;transition:.2s}.navHall:hover .navHallTrigger:after,.navHall:focus-within .navHallTrigger:after{transform:rotate(45deg)}.hallDropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:470px;padding:24px 26px 22px;background:#f3f0e9;color:#171715;border-top:3px solid #b99a55;box-shadow:0 18px 46px rgba(0,0,0,.18);opacity:0;visibility:hidden;pointer-events:none;transition:.18s;display:grid;grid-template-columns:1fr 1fr;column-gap:34px;z-index:60}.navHall:hover .hallDropdown,.navHall:focus-within .hallDropdown{opacity:1;visibility:visible;pointer-events:auto}.hallDropdown .dropHead{grid-column:1/3;display:flex;justify-content:space-between;align-items:end;padding-bottom:15px;margin-bottom:7px;border-bottom:1px solid rgba(17,17,15,.22)}.hallDropdown .dropHead small{font-size:8px;letter-spacing:.18em;color:#9a7b42}.hallDropdown .dropHead b{font:500 18px Georgia,"Yu Mincho",serif}.hallDropdown a{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:11px 0;border-bottom:1px solid rgba(17,17,15,.11);font-size:12px;font-weight:600}.hallDropdown a em{font-style:normal;font-size:8px;color:#9a7b42;padding-top:2px}.hallDropdown .dropContact{grid-column:1/3;margin-top:10px;border-bottom:0;padding:13px 0 2px;display:flex;justify-content:space-between;font-size:13px}
.mobileMenuButton,.mobileMenu{display:none}
.caseHero{padding:72px 6vw 38px;border-bottom:1px solid var(--line)}.caseHero small{font-size:8px;letter-spacing:.19em;color:var(--gold)}.caseHero h1{font:400 clamp(42px,5.2vw,74px)/1 Georgia,serif;margin:12px 0 7px}.caseHero .jp{font-size:13px}.caseHero p{max-width:600px;font-size:11px;line-height:2;color:#625e57;margin:22px 0 0}
.photoRail{overflow:hidden;border-bottom:1px solid var(--line);padding:14px 0;background:#efebe3}.photoTrack{display:flex;width:max-content;gap:10px;animation:moveRail 110s linear infinite}.photoTrack:hover{animation-play-state:paused}.casePhoto{width:182px;height:92px;flex:none;display:grid;place-items:center;filter:saturate(.75);background:linear-gradient(135deg,#c8c2b8,#7d776f)}.casePhoto span{font:8px Georgia,serif;letter-spacing:.15em;color:rgba(255,255,255,.62)}.casePhoto.p2{background:linear-gradient(135deg,#aaa59d,#4a4742)}.casePhoto.p3{background:linear-gradient(135deg,#d8d3cb,#91897e)}.casePhoto.p4{background:linear-gradient(135deg,#bbb4aa,#625b54)}.casePhoto.p5{background:linear-gradient(135deg,#d4cec4,#756d64)}.casePhoto.p6{background:linear-gradient(135deg,#a6a097,#353330)}.casePhoto.p7{background:linear-gradient(135deg,#d9d4cc,#867e74)}@keyframes moveRail{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.caseLayout{display:grid;grid-template-columns:260px minmax(0,1fr);background:var(--paper2)}.caseSide{background:#111;color:#fff;border-right:1px solid var(--line)}.caseSideIn{position:sticky;top:0;min-height:100vh;padding:64px 34px 35px;display:flex;flex-direction:column}.caseSideIn>small{font-size:9px;letter-spacing:.19em;color:#8f7138;font-weight:700}.caseSide nav{display:flex;flex-direction:column;margin-top:23px}.caseSide button{display:grid;grid-template-columns:30px 1fr;padding:12px 0;border:0;border-bottom:1px solid rgba(17,17,15,.10);background:none;text-align:left;font-size:10px;font-weight:500;color:#928c81;cursor:pointer;transition:.18s}.caseSide button:hover,.caseSide button.active{padding-left:5px;color:#11110f}.caseSide button span{font-size:14px;font-weight:600;letter-spacing:.02em;color:inherit}.caseSide .sideContact{margin-top:22px;border-bottom:1px solid;padding:16px 0;font-size:14px;font-weight:600;display:flex;justify-content:space-between}.caseSide .timeMark{margin-top:auto;font-size:7px;letter-spacing:.15em;color:#937642}.caseSide .timeMark i{display:block;width:1px;height:58px;margin:9px 0 9px 8px;background:linear-gradient(#555,#bd9e54)}
.caseMain{padding:58px 6vw 80px}.caseMainHead{display:flex;justify-content:space-between;gap:30px;align-items:end;padding-bottom:18px;border-bottom:1px solid var(--line)}.caseMainHead small{font-size:8px;letter-spacing:.18em;color:#98793f}.caseMainHead h2{font:500 30px/1.3 Georgia,"Yu Mincho",serif;margin:8px 0 0}.recordCount{font-size:8px;letter-spacing:.12em;color:#8d877e}.caseRow{display:grid;grid-template-columns:70px minmax(0,1fr);gap:18px;align-items:center;min-height:58px;padding:9px 0;border-bottom:1px solid var(--line)}.caseRow[hidden]{display:none}.caseYear{font-size:10px;color:#5a554e}.caseTitleLine{display:flex;gap:12px;align-items:baseline;min-width:0}.caseTitleLine h3{font-size:12.5px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caseTitleLine span{flex:none;font-size:8px;letter-spacing:.1em;color:#9a7b42}.caseText p{font-size:9.5px;color:#777169;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caseEnd{padding:52px 0 0;display:flex;justify-content:space-between;align-items:end}.caseEnd small{font-size:8px;letter-spacing:.18em;color:#98793f}.caseEnd h3{font:500 26px/1.4 Georgia,"Yu Mincho",serif;margin:8px 0}.caseEnd p{font-size:10px;color:#6e685f}.caseEnd a{font-size:10px;border-bottom:1px solid;padding-bottom:5px}

.mobileMenuInner>a[href="joshin.html"]{color:#e3bf53}

.caseFooter{background:#201c1a;color:#f3efe8;border-top:1px solid rgba(255,255,255,.12)}
.footerTop{display:grid;grid-template-columns:1.35fr .65fr;gap:0;border-bottom:1px solid rgba(255,255,255,.16)}
.footerContact,.footerGuide{padding:54px 6vw 50px}
.footerGuide{border-left:1px solid rgba(255,255,255,.16);background:#272220}
.footerTop small{display:block;font-size:8px;letter-spacing:.19em;color:#b89a5d;margin-bottom:16px}
.footerContact h2{margin:0 0 12px;font:500 25px/1.5 Georgia,"Yu Mincho",serif}
.footerContact>p,.footerGuide p{margin:0;color:#c2bbb2;font-size:10px;line-height:1.9}
.footerContactRow{display:flex;align-items:center;gap:34px;margin-top:28px}
.footerTel{display:flex;align-items:baseline;gap:11px}.footerTel span{font:9px Georgia,serif;letter-spacing:.12em;color:#c9b991}.footerTel strong{font:400 27px/1 Georgia,serif;letter-spacing:.04em}
.footerInquiry{margin-left:auto;min-width:210px;padding:15px 0;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);display:flex;justify-content:space-between;font-size:11px}
.footerGuide a{display:flex;justify-content:space-between;margin-top:27px;padding:14px 0;border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4);font-size:10px}
.footerLinks{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:44px 6vw 52px}
.footerCol{padding-right:30px}.footerCol+ .footerCol{padding-left:30px;border-left:1px solid rgba(255,255,255,.10)}
.footerCol h3{font:500 14px/1.4 Georgia,"Yu Mincho",serif;margin:0 0 18px}
.footerCol a{display:block;padding:6px 0;font-size:10px;color:#d7d0c7}.footerCol a:before{content:"—";margin-right:8px;color:#817a71}
.footerCol p{margin:0 0 12px;font-size:10px;line-height:1.8;color:#d7d0c7}.footerCol .footerAddress{font-size:9px;color:#9f978e}
.footerBottom{padding:17px 6vw 20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:7px;letter-spacing:.16em;color:#8e867d}

@media(max-width:760px){header.siteHeader{height:76px;padding:0 5vw;display:flex;align-items:center;background:#151513}.siteLogo{width:132px}.headerUtility,.topnav{display:none}.mobileMenuButton{display:flex;margin-left:auto;width:42px;height:42px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;padding:8px;z-index:80}.mobileMenuButton span{display:block;width:26px;height:1.5px;background:#fff;margin-left:auto}.mobileMenu{display:block;position:fixed;inset:0;background:rgba(18,18,16,.97);color:#f4f1ea;z-index:100;opacity:0;visibility:hidden;pointer-events:none;transition:.22s}.mobileMenu.isOpen{opacity:1;visibility:visible;pointer-events:auto}.mobileMenuInner{padding:24px 7vw 42px;overflow:auto;height:100%}.mobileMenuTop{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:17px;margin-bottom:12px}.mobileMenuTop small{font-size:9px;letter-spacing:.2em;color:#d6b558}.mobileMenuClose{border:0;background:none;color:#fff;font-size:34px}.mobileMenuInner>a,.mobileMenu summary{display:block;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14);font:500 18px/1.4 Georgia,"Yu Mincho",serif;list-style:none}.mobileHallLinks{padding:5px 0 12px 14px}.mobileHallLinks a{display:block;padding:11px 0;font-size:13px;color:#ddd8ce}.caseHero{padding:42px 18px 28px}.caseHero h1{font-size:38px}.casePhoto{width:142px;height:72px}.photoTrack{animation-duration:96s}.caseLayout{display:block}.caseSide{background:#111;color:#fff;border-right:0;border-bottom:1px solid var(--line)}.caseSideIn{position:relative;min-height:0;padding:18px}.caseSideIn>small,.timeMark,.sideContact{display:none!important}.caseSide nav{margin:0;flex-direction:row;overflow:auto;gap:15px}.caseSide button{display:block;white-space:nowrap;border:0;padding:5px 0;grid-template-columns:none}.caseSide button span{font-size:10px;letter-spacing:.08em}.caseSide button b{display:none}.caseMain{padding:35px 18px 60px}.caseMainHead h2{font-size:25px}.caseRow{grid-template-columns:46px minmax(0,1fr);gap:10px;min-height:56px}.caseTitleLine h3{font-size:11.5px}.caseTitleLine span{display:none}.caseText p{font-size:9px}.footerTop{grid-template-columns:1fr}.footerGuide{border-left:0;border-top:1px solid rgba(255,255,255,.16)}.footerContact,.footerGuide{padding:38px 18px}.footerContactRow{display:block}.footerInquiry{margin:22px 0 0;min-width:0}.footerLinks{grid-template-columns:1fr 1fr;padding:32px 18px 38px}.footerCol{padding:0 18px 25px 0}.footerCol+ .footerCol{padding-left:18px}.footerCol:nth-child(3){border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.10);padding-top:25px}.footerCol:nth-child(4){border-top:1px solid rgba(255,255,255,.10);padding-top:25px}.footerBottom{padding:16px 18px 20px}}
@media(prefers-reduced-motion:reduce){.photoTrack{animation:none}}

.footer-visual{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);
  border-top:1px solid rgba(255,255,255,.16);
  margin-top:34px;
}
.footer-map{
  min-height:245px;
  background:#ddd;
  overflow:hidden;
}
.footer-map iframe{
  display:block;width:100%;height:100%;min-height:245px;border:0;
  filter:grayscale(.18) contrast(.94);
}
.footer-photo{
  min-height:245px;
  overflow:hidden;
  position:relative;
  background:#222;
}
.footer-photo img{
  width:100%;height:100%;min-height:245px;object-fit:cover;display:block;
}
.footer-photo span{
  position:absolute;left:14px;bottom:12px;
  background:rgba(10,10,10,.72);color:#fff;
  padding:6px 8px;font-size:8px;letter-spacing:.1em;
}
@media(max-width:680px){
  .footer-visual{grid-template-columns:1fr}
  .footer-map,.footer-map iframe{min-height:220px}
  .footer-photo{min-height:150px}
  .footer-photo img{min-height:150px}
}


.clean-footer{background:#151413;color:#f4f1ea;margin-top:0}
.clean-footer-main{
  display:grid;
  grid-template-columns:1.15fr .8fr 230px;
  gap:54px;
  max-width:1240px;margin:0 auto;padding:48px 48px 42px;
  align-items:start;
}
.clean-footer-eyebrow{font-size:8px;letter-spacing:.16em;color:#918b82;margin-bottom:13px}
.clean-footer h2{font:400 25px Georgia,serif;margin:0 0 20px}
.clean-footer-address{font-size:10px;line-height:1.8;color:#aaa49a;margin:0 0 13px}
.clean-footer-tel{display:block;color:#f4f1ea;text-decoration:none;font:22px Georgia,serif;margin-bottom:22px}
.clean-footer-contact{display:inline-flex;gap:35px;color:#f4f1ea;text-decoration:none;font-size:9px;letter-spacing:.12em;border-bottom:1px solid #6f6a62;padding-bottom:7px}
.clean-footer-links{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #3a3834}
.clean-footer-links a{color:#c8c3ba;text-decoration:none;font-size:10px;padding:11px 0;border-bottom:1px solid #3a3834}
.clean-footer-photo{width:230px;height:145px;overflow:hidden}
.clean-footer-photo img{width:100%;height:100%;object-fit:cover;display:block}
.clean-footer-map{height:235px;border-top:1px solid #373530}
.clean-footer-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(.92)}
.clean-footer-bottom{max-width:1240px;margin:auto;padding:15px 48px 17px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:.13em;color:#77726b}
@media(max-width:680px){
 .clean-footer-main{grid-template-columns:1fr;padding:38px 18px 30px;gap:28px}
 .clean-footer-photo{width:145px;height:92px}
 .clean-footer-map{height:210px}
 .clean-footer-bottom{padding:14px 18px}
}


/* compact footer refinement */
.clean-footer-main{
  grid-template-columns:1.05fr .9fr 210px !important;
  gap:38px !important;
  padding:34px 48px 28px !important;
  align-items:start !important;
}
.clean-footer-eyebrow{margin-bottom:9px !important}
.clean-footer h2{font-size:22px !important;margin:0 0 14px !important}
.clean-footer-address{margin:0 0 9px !important;line-height:1.65 !important}
.clean-footer-tel{font-size:20px !important;margin-bottom:14px !important}
.clean-footer-contact{padding-bottom:5px !important}
.clean-footer-links{margin-top:0 !important}
.clean-footer-links a{padding:8px 0 !important}
.clean-footer-photo{
  width:210px !important;
  height:118px !important;
  align-self:start !important;
}
.clean-footer-map{
  height:175px !important;
}
.clean-footer-bottom{
  padding:10px 48px 12px !important;
}
@media(max-width:680px){
  .clean-footer-main{
    grid-template-columns:1fr !important;
    gap:20px !important;
    padding:28px 18px 24px !important;
  }
  .clean-footer-photo{
    width:140px !important;
    height:86px !important;
  }
  .clean-footer-map{
    height:180px !important;
  }
  .clean-footer-bottom{
    padding:10px 18px 12px !important;
  }
}
