/* Approved XD course artwork and display; no permanent content mapping. */
.saito-course-shell .saito-breadcrumb { flex-wrap:nowrap; }
.saito-course-shell .saito-breadcrumb > :not(:last-child) { flex-shrink:0; }
.saito-course-shell .saito-breadcrumb > :last-child { min-width:0; }
.saito-course-heading { margin-bottom:80px; }
.saito-course-heading .saito-page-title-wrap { position:relative; }
.saito-course-heading-art { margin:0 0 0 2px; width:43.683998px; height:268.10199px; }
.saito-course-heading-art img { display:block; width:100%; height:100%; }
.saito-course-subtitle { position:absolute; left:81px; top:0; transform:rotate(90deg); transform-origin:0 0; white-space:nowrap; font-family:"DIN Condensed",serif; font-size:12px; line-height:12px; letter-spacing:.1em; text-transform:uppercase; color:#8b3d3d; }
.saito-course-english-sp { display:none; }
.saito-course-grid { display:grid; grid-template-columns:minmax(0,828fr) minmax(150px,205fr); column-gap:77px; align-items:start; position:relative; }
.saito-course-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; align-items:start; min-width:0; }
.saito-course-card { min-width:0; }
.saito-course-card-link { display:block; text-decoration:none; }
.saito-course-photo { position:relative; display:block; aspect-ratio:4/3; border-radius:2px; overflow:hidden; }
.saito-course-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease-out; transform-origin:50% 50%; }
.saito-course-photo.has-crop-pc { aspect-ratio:var(--course-pc-aspect); }
.saito-course-photo.has-crop-pc img { position:absolute; left:var(--course-pc-left); top:var(--course-pc-top); width:var(--course-pc-width); max-width:none; height:auto; }
.saito-course-card h2 { margin:20px 0 0; font-size:24px; line-height:24px; font-weight:600; color:#355e3b; transition:color .3s ease-out; }
.saito-course-excerpt { position:relative; top:-5px; margin:20px 0 0; font-size:14px; line-height:24px; font-weight:400; }
.saito-course-badges { display:flex; align-items:stretch; width:max-content; max-width:100%; margin-top:10px; font-family:var(--saito-sans); font-size:12px; font-weight:700; line-height:22px; }
.saito-course-badges > span { display:block; padding:0 10px; border:1px solid #385132; min-width:0; }
.saito-course-duration { color:#fff; background:#385132; border-radius:4px 0 0 4px; }
.saito-course-recommendation { border-radius:0 4px 4px 0; }
.saito-course-duration + .saito-course-recommendation { border-left:0; }
.saito-course-badges > :only-child { border-radius:4px; }
.saito-course-card-link:is(:hover,:focus-visible) h2 { color:#6c2735; }
.saito-course-card-link:is(:hover,:focus-visible) .saito-course-photo img { transform:scale(1.068519386); }
.saito-course-card-link:is(:hover,:focus-visible) .saito-course-photo.has-crop-pc img { transform:scale(var(--course-pc-hover)); }
.saito-course-sidebar { border-left:1px solid #d5c9b9; padding:14px 0 0 19px; min-width:0; width:calc(100% + 30px); }
.saito-course-sidebar h2 { margin:0; font-size:24px; line-height:36px; font-weight:600; letter-spacing:.05em; }
.saito-course-sidebar h2 span { display:block; margin-top:0; transform:translateY(3px); font-family:"DIN Condensed",serif; font-size:12px; font-weight:400; line-height:28px; letter-spacing:.05em; text-transform:uppercase; color:#6c2735; }
.saito-course-sidebar ul { margin:16px 0 0; padding:0; list-style:none; }
.saito-course-sidebar li { position:relative; display:flex; align-items:center; min-height:56px; font-size:16px; line-height:28px; }
.saito-course-sidebar li::before { content:""; position:absolute; left:-24.5px; top:50%; transform:translateY(-50%); width:10px; height:10px; border-radius:50%; background:#6c2735; }
.saito-course-sidebar a { display:block; width:100%; padding:10px 0; text-decoration:none; font-weight:400; transition:color .3s ease-out; }
.saito-course-sidebar a:is(:hover,:focus-visible) { color:#6c2735; }
.saito-course-pagination { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:center; gap:7px; padding-right:2px; margin-top:193px; }
.saito-course-pagination .page-numbers { position:relative; display:flex; align-items:center; justify-content:center; width:32px; min-height:32px; border:1px solid #355e3b; color:#385132; text-decoration:none; font-size:14px; line-height:24px; transition:background-color .3s ease-out,color .3s ease-out; }
.saito-course-pagination .page-numbers::after { content:""; position:absolute; inset:-3px -3px 1px 1px; border:1px solid #355e3b; pointer-events:auto; }
.saito-course-pagination .dots { border:0; }
.saito-course-pagination .dots::after { content:none; }
.saito-course-pagination a:is(:hover,:focus-visible) { color:#fff; background:#355e3b; }
.saito-course-archive .saito-page-bottom { margin-top:-80px; }
@media(max-width:1000px) {
 .saito-course-grid { column-gap:40px; }
 .saito-course-list { gap:30px 20px; }
 .saito-course-card h2 { font-size:20px; line-height:28px; }
 .saito-course-heading-art { width:38.2235px; height:234.5892px; }
}
@media(max-width:700px) {
 .saito-course-grid { grid-template-columns:minmax(0,1fr); }
 .saito-course-sidebar { grid-row:3; margin:55px 0 0 5px; padding-top:14px; width:calc(100% - 5px); }
 .saito-course-sidebar h2 { font-size:20px; line-height:22px; }
 .saito-course-sidebar h2 span { transform:none; margin-top:8px; }
 .saito-course-sidebar ul { margin-top:13px; }
 .saito-course-sidebar li { min-height:44px; font-size:14px; }
 .saito-course-sidebar a { padding:8px 0; }
 .saito-course-pagination { grid-row:2; margin-top:106.25px; }
 .saito-course-archive .saito-page-bottom { margin-top:-56px; }
}
@media(max-width:600px) {
 .saito-course-heading { margin-bottom:58.745605px; }
 .saito-course-heading-art { margin-left:5.999817px; width:30.034px; height:184.322642px; }
 .saito-course-subtitle { left:64.033813px; }
 .saito-course-english-pc { display:none; }
 .saito-course-english-sp { display:inline; }
 .saito-course-list { grid-template-columns:minmax(0,1fr); gap:30px; }
 .saito-course-card h2 { font-size:20px; line-height:20px; }
 .saito-course-photo.has-crop-pc { aspect-ratio:4/3; }
 .saito-course-photo.has-crop-pc img { position:static; width:100%; max-width:100%; height:100%; }
 .saito-course-photo.has-crop-sp { aspect-ratio:var(--course-sp-aspect); }
 .saito-course-photo.has-crop-sp img { position:absolute; left:var(--course-sp-left); top:var(--course-sp-top); width:var(--course-sp-width); max-width:none; height:auto; }
 .saito-course-card-link:is(:hover,:focus-visible) .saito-course-photo.has-crop-pc img { transform:scale(1.068519386); }
 .saito-course-card-link:is(:hover,:focus-visible) .saito-course-photo.has-crop-sp img { transform:scale(var(--course-sp-hover)); }
}
@media(prefers-reduced-motion:reduce) {
 .saito-course-photo img,.saito-course-card h2,.saito-course-sidebar a,.saito-course-pagination .page-numbers { transition:none; }
}

/* Course detail: standard editable HTML, original timeline artwork. */
.saito-course-article { min-width:0; }
.saito-course-article-heading { display:flow-root; }
.saito-course-article-heading h1 { position:relative; width:max-content; max-width:100%; margin:8px auto 0; padding:18px 32px; color:#355e3b; font-size:42px; line-height:62px; font-weight:600; letter-spacing:.05em; text-align:center; }
.saito-course-article-heading h1::before { content:""; position:absolute; inset:-8px 0; pointer-events:none; background:url(../images/heading-corner.svg) left top/46px 16px no-repeat,url(../images/heading-corner-top-right.svg) right top/46px 16px no-repeat,url(../images/heading-corner-bottom-left.svg) left bottom/46px 16px no-repeat,url(../images/heading-corner-bottom-right.svg) right bottom/46px 16px no-repeat; }
.saito-course-article-heading .saito-course-badges { margin:28px auto 0; }
.saito-course-body { margin-top:60px; }
.saito-course-body .saito-course-intro { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin:0; }
.saito-course-intro-copy > p { position:relative; top:-6px; margin:0; font-size:18px; line-height:31px; letter-spacing:.05em; }
.saito-course-body .saito-course-visits-title { margin:32px 0 0; padding:0; width:auto; text-align:left; font-size:24px; font-weight:800; line-height:24px; letter-spacing:.05em; color:#333; }
.saito-course-visits-title::before { display:none; }
.saito-course-body .saito-course-visits { margin:33px 0 0; padding:0 0 0 35px; }
.saito-course-visits li { margin:0; padding:0; font-size:18px; line-height:42px; letter-spacing:0; }
.saito-course-body .saito-course-visits li::before { left:-19px; top:calc(50% - 6px); }
.saito-course-visits a { font-weight:600; }
.saito-course-visits a::after { display:none; }
.saito-course-map-wrap { margin:0; line-height:0; }
.saito-course-body .saito-course-intro-visual figure { margin:0; aspect-ratio:540/304; }
.saito-course-intro-visual figure img { display:block; width:100%; height:100%; object-fit:cover; }
.saito-course-map-link { display:flex; align-items:center; gap:6px; margin-top:20px; width:max-content; max-width:100%; font-size:18px; line-height:26px; }
.saito-course-map-link img { flex:0 0 26px; width:26px; height:26px; }
.saito-course-map-link span { text-decoration:underline; }
.saito-course-body .saito-course-guide { margin:60px 0 0; }
.saito-course-body .saito-course-guide > h2 { position:relative; z-index:0; width:100%; height:auto; min-height:72px; margin:0; padding:16px 24px; border-radius:36px; color:#333; background:rgb(213 201 185/.25); font-size:32px; line-height:40px; letter-spacing:.05em; }
.saito-course-body .saito-course-guide > h2::before { content:""; display:block; position:absolute; z-index:-1; inset:auto 0 -7px; height:38.001px; background:url(../images/xd/exception__head-bg.svg) center/100% 100% no-repeat; }
.saito-course-guide > h2::after { content:""; position:absolute; left:calc(50% - 11px); top:100%; width:23px; height:15px; background:url(../images/xd/head__triangle.svg) center/contain no-repeat; }
.saito-course-body .saito-course-endpoint { margin:0; width:80px; text-align:center; color:#8b3d3d; font-family:"DIN Condensed",serif; font-size:16px; font-weight:400; line-height:24px; letter-spacing:.1em; }
.saito-course-body .saito-course-start { margin-top:50px; }
.saito-course-body .saito-course-timeline { position:relative; margin:42px 0 0; padding:0 0 0 177px; list-style:none; }
.saito-course-timeline::before { content:""; position:absolute; left:39.5px; top:-25px; bottom:-29px; width:1px; background:#d5c9b9; }
.saito-course-timeline > li { position:relative; padding:0; margin:0; min-width:0; }
.saito-course-timeline > li::before { content:""; position:absolute; left:-145.5px; top:5px; width:18px; height:18px; border:0; background:url(../images/xd/arrow__down-Course.svg) center/contain no-repeat; }
.saito-course-timeline > li::after { content:""; position:absolute; left:-136.5px; top:14px; width:120px; height:1px; background:#d5c9b9; z-index:-1; }
.saito-course-timeline .saito-course-travel p { position:relative; top:1px; margin:0; font-size:16px; line-height:27px; letter-spacing:.1em; }
.saito-course-timeline > .saito-course-stop::before { top:2px; }
.saito-course-timeline > .saito-course-stop::after { top:11px; }
.saito-course-travel + .saito-course-stop { margin-top:40px; }
.saito-course-stop + .saito-course-stop { margin-top:33.5px; }
.saito-course-stop + .saito-course-travel { margin-top:8px; }
.saito-course-stop + .saito-course-travel.is-return { margin-top:30px; }
.saito-course-timeline .saito-course-stop { display:grid; grid-template-columns:minmax(0,458fr) minmax(0,445fr); gap:30px; }
.saito-course-stop > div { min-width:0; }
.saito-course-body .saito-course-stop h3 { margin:0; padding:0; font-size:24px; line-height:24px; letter-spacing:.1em; font-weight:600; color:#6c2735; }
.saito-course-stop h3::after { display:none; }
.saito-course-body .saito-course-stop-caption { position:relative; top:1px; margin:9px 0 0; font-size:18px; line-height:31px; font-weight:600; letter-spacing:.1em; }
.saito-course-body .saito-course-stop-text { position:relative; top:1px; margin:18px 0 0; font-size:16px; line-height:27px; letter-spacing:.1em; }
.saito-course-body p.saito-course-stop-more { margin:20px 0 0; font-size:16px; line-height:24px; letter-spacing:0; }
.saito-course-stop-more .saito-text-link { border-bottom:1px solid #355e3b; }
.saito-course-body .saito-course-stop > figure { margin:0; aspect-ratio:445/250; }
.saito-course-stop > figure img { display:block; width:100%; height:100%; object-fit:cover; }
.saito-course-body .saito-course-goal { margin-top:47.5px; }
.saito-course-body [id] { scroll-margin-top:calc(var(--saito-header) + 24px); }
.saito-course-return { display:flex; justify-content:center; padding-right:2px; margin-top:60px; }
.saito-course-return-button { position:relative; z-index:0; isolation:isolate; display:flex; align-items:center; justify-content:center; gap:16px; width:238px; max-width:calc(100% - 4px); min-height:56px; padding:13px 12px; border:1px solid #355e3b; color:#385132; text-decoration:none; font-size:16px; font-weight:600; line-height:28px; transition:color .8s ease-out; }
.saito-course-return-button::after { content:""; position:absolute; inset:-4px -4px 2px 2px; border:1px solid #355e3b; pointer-events:auto; }
.saito-course-return-button > img,.saito-course-return-button > span:not(.saito-course-button-fill) { position:relative; }
.saito-course-return-button img { width:11px; height:11.911px; transition:filter .8s ease-out; }
.saito-course-button-fill { position:absolute; z-index:-1; inset:-1px; border-radius:2px; overflow:hidden; pointer-events:none; }
.saito-course-button-fill::before { content:""; position:absolute; left:calc(50% + .5px); top:50%; width:max(310px,calc(100% + 56px)); aspect-ratio:1; border-radius:50%; background:#385132; transform:translate(-50%,-50%) scale(.032258064516); opacity:.000849686; transition:transform .8s ease-out,opacity .8s ease-out; }
.saito-course-return-button:is(:hover,:focus-visible) { color:#fff; }
.saito-course-return-button:is(:hover,:focus-visible) img { filter:brightness(0) invert(1); }
.saito-course-return-button:is(:hover,:focus-visible) .saito-course-button-fill::before { transform:translate(-50%,-50%) scale(1); opacity:1; }
.saito-course-single .saito-page-bottom { margin-top:-80px; }
@media(max-width:1000px) {
 .saito-course-body .saito-course-timeline { padding-left:120px; }
 .saito-course-timeline > li::before { left:-88.5px; }
 .saito-course-timeline > li::after { left:-79.5px; width:64px; }
 .saito-course-timeline .saito-course-stop { grid-template-columns:minmax(0,1fr); gap:15px; }
}
@media(max-width:600px) {
 .saito-course-single .saito-course-heading { margin-bottom:60px; }
 .saito-course-article-heading h1 { width:100%; max-width:100%; padding:20px 23px 24px; font-size:32px; line-height:38px; }
 .saito-course-article-heading .saito-course-badges { margin-top:28px; }
 .saito-course-body { margin-top:40px; }
 .saito-course-body .saito-course-intro { display:block; }
 .saito-course-intro-copy > p { top:-5px; font-size:15px; line-height:26px; }
 .saito-course-body .saito-course-visits-title { margin-top:19px; font-size:18px; line-height:18px; }
 .saito-course-body .saito-course-visits { margin-top:20px; }
 .saito-course-visits li { font-size:15px; line-height:35px; }
 .saito-course-intro-visual { margin-top:35px; }
 .saito-course-body .saito-course-intro-visual figure { aspect-ratio:353/199; }
 .saito-course-map-link { margin-top:10px; font-size:15px; }
 .saito-course-body .saito-course-guide { margin-top:45px; }
 .saito-course-body .saito-course-guide > h2 { font-size:24px; padding-top:19px; padding-bottom:13px; }
 .saito-course-body .saito-course-guide > h2::before { background-image:url(../images/xd/exception__head-bg-2.svg); }
 .saito-course-body .saito-course-endpoint { width:40px; }
 .saito-course-body .saito-course-start { margin-top:43px; }
 .saito-course-body .saito-course-timeline { margin-top:46px; padding-left:98px; }
 .saito-course-timeline::before { left:19.5px; top:-29px; bottom:-27.25px; }
 .saito-course-timeline > li::before { left:-87px; }
 .saito-course-timeline > li::after { left:-77.5px; width:68px; }
 .saito-course-timeline .saito-course-travel p { top:2px; font-size:15px; line-height:26px; }
 .saito-course-timeline > .saito-course-stop::before { top:0; }
 .saito-course-timeline > .saito-course-stop::after { top:9px; }
 .saito-course-travel + .saito-course-stop { margin-top:41px; }
 .saito-course-stop + .saito-course-stop { margin-top:45px; }
 .saito-course-stop + .saito-course-travel,.saito-course-stop + .saito-course-travel.is-return { margin-top:40px; }
 .saito-course-timeline .saito-course-stop { display:block; }
 .saito-course-body .saito-course-stop h3 { position:relative; top:-3px; font-size:20px; line-height:28px; }
 .saito-course-body .saito-course-stop-caption { position:relative; top:-2px; margin-top:8px; font-size:16px; line-height:24px; }
 .saito-course-body .saito-course-stop-caption.is-spacious { top:-3px; line-height:27px; }
 .saito-course-body .saito-course-stop-text { position:relative; top:1px; margin-top:8px; font-size:15px; line-height:26px; }
 .saito-course-body .saito-course-stop-caption.is-spacious + .saito-course-stop-text { margin-top:5px; }
 .saito-course-body p.saito-course-stop-more { margin-top:10px; }
 .saito-course-body .saito-course-stop > figure { margin-top:15px; }
 .saito-course-body .saito-course-stop-copy:has(.saito-course-stop-more) + figure { margin-top:27.5px; }
 .saito-course-body .saito-course-goal { margin-top:46px; }
 .saito-course-return { margin-top:45px; }
 .saito-course-single .saito-page-bottom { margin-top:-19px; }
}
@media(max-width:360px) {
 .saito-course-body .saito-course-timeline { padding-left:72px; }
 .saito-course-timeline > li::before { left:-61px; }
 .saito-course-timeline > li::after { left:-51.5px; width:42px; }
}
@media(prefers-reduced-motion:reduce) {
 .saito-course-return-button,.saito-course-return-button img,.saito-course-button-fill::before { transition:none; }
}
/* Missing course images remain visible placeholders until media is supplied. */
.saito-course-archive .saito-page-featured:empty,
.saito-course-archive .saito-course-photo:empty { background: #ddd; }
