
.detail-page .header { position:relative; background:white; }
.detail-main { background:#fff; }
.detail-main h1,.detail-main h2 { font-family:var(--round); }
.detail-breadcrumb { display:flex; gap:12px; font-size:10px; color:var(--muted); padding-block:20px 34px; }
.detail-kicker { font-size:12px; color:var(--muted); margin:0 0 20px; }
.detail-main h1 { font-size:44px; line-height:1.6; letter-spacing:.025em; }
.detail-main h2 { font-size:31px; line-height:1.65; }
.detail-intro { font-size:15px; line-height:2; margin-top:25px; }
.about-opening { display:grid; grid-template-columns:1fr 1.15fr; column-gap:7%; align-items:center; padding-bottom:70px; }
.about-place { margin:0; }
.about-place img { width:100%; aspect-ratio:1.18; object-fit:cover; object-position:65%; border-radius:3px; }
.about-place figcaption { font-size:10px; color:var(--muted); margin-top:13px; }
.about-place figcaption span { font:500 9px var(--latin); letter-spacing:.12em; margin-right:12px; color:var(--accent-dark); }
.about-history { grid-column:1 / -1; display:flex; justify-content:space-between; align-items:center; gap:36px; border-block:1px solid #ede5d5; padding-block:27px; margin-top:46px; }
.about-history>p { font-size:14px; line-height:2; }
.about-history strong { font-weight:500; }
.about-history dl { display:flex; gap:60px; }
.about-history dt { font-size:11px; }
.about-history dd { font:500 46px/1.4 var(--latin); color:var(--accent-dark); }
.about-history dd span { font:500 12px var(--body); margin-left:7px; }
.about-daily { display:grid; grid-template-columns:1fr 1.1fr; gap:9%; align-items:start; padding-block:25px 75px; }
.about-daily-photo { margin-top:18px; }
.about-daily-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:3px; }
.about-daily-photo figcaption { font-size:10px; color:var(--muted); margin-top:12px; }
.about-daily-copy h2 { margin-bottom:26px; }
.about-practice { display:flex; gap:18px; padding:19px 0; border-top:1px solid #ede5d5; }
.about-practice>span { font:500 12px var(--latin); color:var(--accent-dark); padding-top:4px; }
.about-practice h3 { font:700 18px/1.6 var(--round); }
.about-practice p { font-size:13px; line-height:1.95; margin-top:9px; }
.about-memory { background:#fff8e4; padding:40px 0; }
.about-memory-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:8%; align-items:center; }
.about-memory figure { min-width:0; }
.about-memory img { width:100%; transform:rotate(7deg) scale(.96); }
.about-memory figcaption { font-size:10px; text-align:center; color:var(--muted); }
.about-memory p { font-size:14px; line-height:2; margin-top:20px; }
.detail-text-link { display:inline-flex; gap:24px; align-items:center; color:var(--accent-dark); border-bottom:1px solid #d8c5a3; padding:10px 0; margin-top:17px; font-size:13px; }
.about-recognition { display:grid; grid-template-columns:1.1fr 1fr; gap:10%; align-items:center; padding-block:68px; }
.about-recognition p { font-size:14px; line-height:2; margin-top:20px; }
.recognition-image>div { aspect-ratio:1.6; background:#f6f4ee; border:1px solid #e4dfd3; display:flex; flex-direction:column; justify-content:center; align-items:center; color:#8d8676; }
.recognition-image span { font:500 10px var(--latin); letter-spacing:.15em; }
.recognition-image p { font-size:13px; text-align:center; margin-top:12px; }
.recognition-image figcaption { font-size:10px; color:var(--muted); margin-top:10px; }
.about-profile { border-top:1px solid #ede5d5; padding-block:35px 60px; }
.about-profile h2 { font-size:25px; margin-bottom:22px; }
.about-profile dl>div { display:grid; grid-template-columns:150px 1fr; padding:14px 0; border-bottom:1px solid #efebe3; font-size:13px; line-height:1.8; }
.about-profile dt { color:var(--muted); }
.about-profile>p { font-size:11px; color:var(--muted); margin-top:16px; }
.detail-contact { background:#fff4cd; padding:44px 0; text-align:center; }
.detail-contact h2 { font:700 29px/1.65 var(--round); }
.detail-contact p { font-size:13px; margin-top:13px; }
.detail-contact .pill { margin-top:23px; font-size:14px; gap:25px; }
.detail-mobile { display:none; }
.guide-opening { padding-block:10px 50px; }
.guide-index { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:37px; }
.guide-index a { display:flex; align-items:center; gap:15px; padding:17px 0; border-block:1px solid #e7dcc8; font:700 16px var(--round); }
.guide-index span { font:500 12px var(--latin); color:var(--accent-dark); }
.guide-index b { font-size:14px; color:var(--accent-dark); margin-left:auto; font-weight:400; }
.guide-timeline { padding-bottom:50px; }
.guide-step { display:grid; grid-template-columns:180px 1fr; gap:55px; padding:40px 0; border-top:1px solid #e9e3d6; scroll-margin-top:90px; }
.guide-step-number>span { display:block; font:500 10px var(--latin); letter-spacing:.14em; color:var(--accent-dark); }
.guide-step-number strong { font:400 68px/1.2 var(--latin); color:var(--accent-dark); }
.guide-step-number>p { font:700 17px var(--round); margin-top:10px; }
.guide-tag { font-size:11px; color:#8a7350; }
.guide-step-body h2 { font-size:28px; margin:12px 0 17px; }
.guide-step-body>p { font-size:14px; line-height:2; max-width:680px; }
.guide-note { border-left:2px solid #edc56d; padding:15px 21px; background:#fffaf0; margin-top:24px; }
.guide-note h3 { font-size:13px; font-weight:500; }
.guide-note p { font-size:12px; line-height:1.9; margin-top:8px; }
.guide-faq { display:grid; grid-template-columns:1fr 1.4fr; gap:8%; padding-bottom:65px; }
.guide-faq h2 { font-size:27px; }
.guide-faq details { border-bottom:1px solid #e7e1d4; }
.guide-faq details:first-child { border-top:1px solid #e7e1d4; }
.guide-faq summary { padding:20px 0; cursor:pointer; font-size:14px; }
.guide-faq details p { font-size:13px; line-height:1.9; padding-bottom:20px; }
.guide-faq a { text-decoration:underline; color:var(--accent-dark); }
@media(max-width:760px) {
 .detail-breadcrumb { padding-block:12px 28px; }
 .detail-main h1 { font-size:30px; line-height:1.65; }
 .detail-main h2 { font-size:26px; }
 .detail-kicker { font-size:11px; margin-bottom:14px; }
 .detail-intro { font-size:13px; margin-top:19px; }
 .about-opening { display:block; padding-bottom:40px; }
 .about-place { margin-top:28px; }
 .about-place img { aspect-ratio:16/10; }
 .about-history { display:block; margin-top:26px; padding-block:20px; }
 .about-history>p { font-size:12px; }
 .about-history dl { margin-top:20px; gap:22px; justify-content:space-between; }
 .about-history dt { font-size:10px; }
 .about-history dd { font-size:39px; }
 .about-history dd span { font-size:11px; }
 .about-daily { display:flex; flex-direction:column; gap:25px; padding-block:0 40px; }
 .about-daily-photo { order:2; margin-top:0; width:100%; }
 .about-daily-photo img { aspect-ratio:16/10; object-position:center 45%; }
 .about-daily-copy h2 { margin-bottom:20px; }
 .about-practice { padding-block:16px; }
 .about-practice h3 { font-size:17px; }
 .about-practice p { font-size:12px; }
 .about-memory { padding-block:30px 35px; }
 .about-memory-grid { display:flex; flex-direction:column-reverse; gap:15px; align-items:stretch; }
 .about-memory p { font-size:13px; margin-top:16px; }
 .about-memory figure { max-width:420px; margin:auto; }
 .about-memory img { margin-block:-10px; }
 .about-recognition { display:block; padding-block:40px; }
 .about-recognition p { font-size:13px; margin-top:16px; }
 .recognition-image { margin-top:22px; }
 .recognition-image>div { aspect-ratio:1.8; }
 .about-profile { padding-block:27px 40px; }
 .about-profile h2 { font-size:23px; }
 .about-profile dl>div { grid-template-columns:88px 1fr; font-size:12px; gap:12px; }
 .detail-contact { padding-block:32px 37px; }
 .detail-contact h2 { font-size:26px; }
 .detail-mobile { display:block; }
 .guide-opening { padding-top:0; padding-bottom:32px; }
 .guide-opening h1 { font-size:28px; }
 .guide-index { grid-template-columns:1fr 1fr; gap:0 20px; margin-top:25px; }
 .guide-index a { font-size:14px; padding-block:13px; border-top:0; }
 .guide-step { grid-template-columns:46px 1fr; gap:16px; padding-block:28px; }
 .guide-step-number strong { font-size:38px; }
 .guide-step-number>span { font-size:9px; }
 .guide-step-number>p { font-size:11px; line-height:1.5; }
 .guide-tag { font-size:10px; }
 .guide-step-body h2 { font-size:21px; line-height:1.65; margin-block:10px 13px; }
 .guide-step-body>p { font-size:13px; line-height:1.95; }
 .guide-note { padding:13px 14px; margin-top:18px; }
 .guide-note h3 { font-size:12px; }
 .guide-note p { font-size:11px; }
 .guide-step-body .detail-text-link { font-size:11px; }
 .guide-timeline { padding-bottom:20px; }
 .guide-faq { display:block; padding-bottom:38px; }
 .guide-faq>div:first-child { margin-bottom:24px; }
 .guide-faq summary { font-size:13px; }
}

.guide-step-body h2>span { display:inline-block; }
@media(max-width:760px) { .guide-opening h1 { font-size:26px; } }
