.t48{--cream:#FBF6EE;--navy:#1F2A44;--gold:#B9975B;--border:#EADFCB;--shadow:0 4px 16px rgba(31,42,68,.06);background:var(--cream);color:#333;font-size:17px;line-height:1.85;padding-bottom:64px}.t48 *{box-sizing:border-box;animation:none!important;transition:none!important}.t48-wrap{max-width:1208px;padding:0 24px;margin:auto}.t48 :is(h1,h2,.t48-cta-heading){font-family:"Shippori Mincho","Yu Mincho",serif;font-weight:500;color:var(--navy);font-variant-numeric:lining-nums tabular-nums}.t48 h1{font-size:34px;line-height:1.5;margin:0 0 20px}.t48 h2{display:flex;align-items:flex-start;gap:14px;font-size:28px;line-height:1.55;margin:0 0 24px}.t48 h2>span{min-width:0}.t48 h2>svg{width:32px;height:32px;flex:none;color:var(--gold);margin-top:5px}.t48 p{margin:0 0 16px}.t48 a{color:#1b5da4;text-decoration:underline;text-underline-offset:4px;text-decoration-skip-ink:none;word-break:keep-all;overflow-wrap:normal;line-break:strict}.t48 a:focus-visible,.t48 summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.t48-hero{display:grid;grid-template-columns:minmax(0,1fr) 450px;gap:44px;align-items:center;padding:46px 4px 40px}.t48-lead{font-size:18px;line-height:1.9;margin-bottom:0!important;max-width:620px}.t48-call-card{padding:24px;border-radius:16px;background:white;border:1px solid var(--border);box-shadow:var(--shadow)}.t48 .t48-phone-button{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:80px;padding:14px 16px;border:1px solid #F1DDB6;border-radius:6px;background:linear-gradient(120deg,#F3DEB1,#D7B773);color:#8B2048;font:700 32px/1.5 Arial,"Noto Sans JP",sans-serif;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;text-decoration:none;box-shadow:0 3px 14px #00000018}.t48-phone-icon{display:inline-block;flex:none;width:28px;height:28px}.t48-call-hours{margin:20px 0 12px}.t48-call-hours p{font-size:18px;color:var(--navy);font-weight:600;margin:0;line-height:1.9}.t48-call-note{font-size:17px;line-height:1.85;margin:0!important}.t48-section{padding:40px 28px;margin:0 -4px;background:white;border-radius:16px}.t48-section:nth-of-type(odd){background:var(--cream)}.t48-section+.t48-section{margin-top:18px}.t48 .t48-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;border:1px solid #D72D64;border-radius:10px;padding:12px 16px;background:#D72D64;color:white;text-decoration:none;font:inherit;font-weight:600;line-height:1.5;text-align:center;max-width:100%}.t48 .t48-button.outline{background:white;color:var(--navy);border-color:#b8becc}.t48 .t48-button.green{background:#06a54b;border-color:#06a54b;color:white}.t48-booking-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0 24px}.t48-booking-options .t48-button,.t48-contact-options .t48-button{width:100%;min-height:58px}.t48-button-note{font-size:17px;line-height:1.8;margin:10px 0 0!important}.t48-member-card{border:1px solid var(--border);border-radius:16px;padding:28px;background:white;box-shadow:var(--shadow)}.t48-member-card>p:last-child{margin-bottom:0}.t48-stores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0 24px}.t48-store{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.t48-store>img{display:block;aspect-ratio:4/3;width:100%;height:auto;object-fit:contain;object-position:center;background:var(--cream);border-radius:15px 15px 0 0}.t48-store-copy{display:flex;flex-direction:column;flex:1;padding:22px 20px}.t48-store-name{display:block;font:600 25px/1.5 "Shippori Mincho","Yu Mincho",serif;color:var(--navy);margin-bottom:16px}.t48-store p{font-size:17px;line-height:1.8;margin-bottom:14px}.t48-store-link{align-self:start;margin-top:auto;padding-top:8px;min-height:44px;line-height:1.7}.t48-directory-link{margin:0!important}.t48-directory-link a{display:inline-block;min-height:44px;padding-block:7px}.t48-contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:800px}.t48-faq{border:1px solid var(--border);border-radius:14px;background:white;box-shadow:var(--shadow);margin:0 0 14px;overflow:hidden}.t48-faq summary{cursor:pointer;list-style:none;color:var(--navy);font-weight:600;padding:20px 52px 20px 20px;position:relative;line-height:1.8}.t48-faq summary::-webkit-details-marker{display:none}.t48-faq summary:after{content:'+';position:absolute;right:20px;top:20px;color:var(--gold);font-size:23px;line-height:1.3}.t48-faq[open] summary:after{content:'−'}.t48-faq>p{padding:0 20px 20px;margin:0;line-height:1.9}.t48-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.t48-actions .t48-button{width:320px;min-height:54px}.t48-cta{padding:40px 28px;background:white;border:1px solid var(--border);border-radius:16px;margin-top:24px;box-shadow:var(--shadow)}.t48-cta-heading{font-size:27px;line-height:1.6;margin-bottom:22px!important}.t48 [id]{scroll-margin-top:180px}
@media(max-width:767px){.t48{font-size:16px;padding-bottom:40px}.t48-wrap{padding:0 16px}.t48 h1{font-size:28px;line-height:1.5;margin-bottom:14px}.t48 h2{font-size:24px;line-height:1.6;gap:10px;margin-bottom:20px}.t48 h2>svg{width:28px;height:28px;margin-top:5px}.t48-hero{display:block;padding:26px 0 28px}.t48-lead{font-size:16px;line-height:1.85}.t48-call-card{padding:16px;margin-top:22px}.t48 .t48-phone-button{font-size:28px;gap:8px;padding:12px 10px;min-height:76px}.t48-phone-icon{width:26px;height:26px}.t48-call-hours{margin:16px 0 10px}.t48-call-hours p{font-size:17px;line-height:1.85}.t48-call-note{font-size:16px;line-height:1.85}.t48-section{margin:0 -16px;padding:28px 16px;border-radius:0}.t48-section+.t48-section{margin-top:0}.t48-booking-options{grid-template-columns:1fr;gap:20px;margin:22px 0 24px}.t48-booking-options .t48-button{min-height:54px}.t48-button-note{font-size:16px;line-height:1.85}.t48-member-card{padding:20px 16px}.t48-stores{grid-template-columns:1fr;gap:24px;margin-top:24px}.t48-store-copy{padding:22px 20px}.t48-store p{font-size:16px}.t48-contact-options{grid-template-columns:1fr;gap:20px}.t48-contact-options .t48-button{min-height:54px}.t48-faq summary{padding:18px 42px 18px 16px}.t48-faq summary:after{right:16px;top:18px}.t48-faq>p{padding:0 16px 18px}.t48-actions{gap:12px}.t48-actions .t48-button{width:100%}.t48-cta{padding:28px 20px;margin-top:18px}.t48-cta-heading{font-size:24px}.t48 [id]{scroll-margin-top:110px}}
