/* Photography, warm paper and sumo-inspired linework. No external fonts or scripts. */
.brand.sss-wordmark{display:inline-flex;flex-direction:row;align-items:center;gap:0;line-height:1;white-space:nowrap}
.brand.sss-wordmark .sss-wordmark-text{display:block;margin:0;font:800 25px/1.1 Arial,Helvetica,sans-serif;letter-spacing:-1px;color:#af3127;white-space:nowrap}
.site-footer .brand.sss-wordmark .sss-wordmark-text{color:#f4efdf;font-size:25px}
@media(max-width:700px){.brand.sss-wordmark .sss-wordmark-text{font-size:22px;letter-spacing:-.8px}.brand-link{align-self:center}}
@media(max-width:359px){.brand.sss-wordmark .sss-wordmark-text{font-size:20px}}
.sss-photo-design{--sss-ink:#1c2927;--sss-paper:#f7f4ec;--sss-red:#ae3025;--sss-rule:#d9d8ce}
.sss-photo-design .breadcrumb{font-size:12px;letter-spacing:.08em;padding-block:23px}
.sss-photo-design .detail-hero{position:relative;isolation:isolate;max-width:1520px;margin:0 auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0;padding:0;background:var(--sss-ink);color:#fffdf5;border-bottom:6px solid var(--sss-red);overflow:hidden}
.sss-photo-design .detail-hero>div{position:relative;padding:clamp(32px,5vw,78px);min-width:0}
.sss-photo-design .detail-hero>div:before{content:"";position:absolute;z-index:-1;width:440px;aspect-ratio:1;border:1px solid #ffffff10;border-radius:50%;left:-240px;bottom:-210px;box-shadow:0 0 0 28px #ffffff05,0 0 0 29px #ffffff0b;pointer-events:none}
.sss-photo-design .detail-hero .eyebrow{color:#ead7b1;font-size:11px;letter-spacing:.15em;margin-bottom:25px}
.sss-photo-design .detail-hero h1{font-size:clamp(36px,3.7vw,58px);line-height:1.18;letter-spacing:-.035em;text-wrap:balance;color:inherit}
.sss-photo-design .detail-hero .lead{font-size:17px;line-height:1.85;color:#e1e5db;margin:25px 0 32px;max-width:530px}
.sss-photo-design .detail-hero .button{background:var(--sss-red);color:white;white-space:normal;line-height:1.5;max-width:100%}
.sss-photo-design .detail-hero>img{display:block;width:100%;height:100%;min-height:550px;max-height:730px;object-fit:cover;object-position:50% 50%}
.sss-photo-design .detail-hero>.sss-osaka-hero-photo{object-fit:contain;background:#101a19;max-height:680px}
[lang="ja"] .sss-photo-design .detail-hero h1{font-size:clamp(31px,3.15vw,49px);line-height:1.48;letter-spacing:.005em;line-break:strict;word-break:normal}
.sss-visual-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1380px;margin:0 auto;padding:32px 4vw 36px;border-bottom:1px solid var(--sss-rule);gap:22px}
.sss-visual-facts>div{border-inline-start:2px solid var(--sss-red);padding-inline-start:20px;min-width:0}
.sss-visual-facts strong{display:block;font:30px/1.25 Georgia,"Times New Roman",serif;letter-spacing:-.02em;color:var(--sss-ink);margin-bottom:9px}
.sss-visual-facts span{display:block;font-size:12px;line-height:1.65;color:#56615a}
[lang="ja"] .sss-visual-facts strong{font-size:25px}
.sss-photo-design .detail-body{display:block;max-width:1440px;margin:0 auto;padding:44px 4vw 75px}
.sss-photo-design .detail-body article{max-width:none;width:100%;min-width:0}
.sss-photo-design .toc{position:static;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0;max-width:none;margin:0 0 52px;padding:22px 25px;border:1px solid var(--sss-rule);background:var(--sss-paper)}
.sss-photo-design .toc .eyebrow{flex-basis:100%;font-size:11px;letter-spacing:.14em;margin:0 0 12px}
.sss-photo-design .toc a{font-size:13px;line-height:1.65;border:0;padding:8px 20px 8px 0;margin-inline-end:20px;position:relative}
.sss-photo-design .toc a:after{content:"↗";margin-inline-start:9px;color:var(--sss-red)}
.sss-photo-design .detail-body article>.sss-story{position:relative;margin:0 0 54px;scroll-margin-top:35px;min-width:0}
.sss-photo-design .detail-body article>.sss-story-with-photo{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,66px);padding:0 0 45px;border-bottom:1px solid var(--sss-rule)}
.sss-photo-design .sss-story-copy{position:relative;min-width:0;padding:10px 0}
.sss-photo-design .sss-story-number{display:block;font:italic 24px/1 Georgia,serif;color:var(--sss-red);margin:0 0 21px}
.sss-photo-design .detail-body h2{font-size:clamp(27px,2.5vw,38px);line-height:1.35;letter-spacing:-.015em;margin:0 0 22px;text-wrap:balance}
.sss-photo-design .detail-body p,.sss-photo-design .detail-body li{font-size:16px;line-height:1.9;color:#46544d;overflow-wrap:break-word}
.sss-photo-design .detail-body p+p{margin-top:18px}
.sss-photo-design .detail-body ul{list-style:none;margin:22px 0 0;padding:0}
.sss-photo-design .detail-body li{position:relative;padding:12px 0 12px 19px;border-top:1px solid #dedfd5}
.sss-photo-design .detail-body li:before{content:"";width:5px;height:5px;background:var(--sss-red);position:absolute;top:23px;left:0;transform:rotate(45deg)}
.sss-editorial-photo{min-width:0;margin:0}
.sss-editorial-photo>img{display:block;width:100%;height:auto}
.sss-editorial-photo>figcaption{display:block;font-size:12px;line-height:1.75;color:#647067;margin-top:13px;padding-inline-start:14px;border-inline-start:2px solid #b7b09b;max-width:100%;overflow-wrap:break-word}
.sss-story-photo{position:relative}
.sss-story-photo:before{content:"";position:absolute;inset:-12px 14px 46px -12px;border:1px solid #c5baa4;z-index:-1;pointer-events:none}
.sss-photo-design .sss-story-photo>img{width:100%;height:auto;object-fit:contain;background:#eae7dd}
.sss-photo-design .sss-story-reverse .sss-story-photo{order:2}
.sss-photo-design .sss-story-reverse .sss-story-copy{order:1}
.sss-photo-design .sss-photo-portrait{max-width:420px;justify-self:center;width:100%}
.sss-photo-design .sss-photo-portrait>img{max-height:580px;object-fit:contain;background:#1c2927}
.sss-photo-design .sss-story-photo:has(img[src*="sitara-matsumoto"]){max-width:350px;justify-self:center}
.sss-photo-design .sss-story-photo:has(img[src*="sota-kohara"]){max-width:450px;justify-self:center}
.sss-photo-design .detail-body article>.sss-story-text{padding:32px 38px;background:var(--sss-paper);border-inline-start:3px solid #b7aa85}
.sss-photo-design .sss-story-text .sss-story-copy{max-width:970px}
.sss-photo-design .sss-story-text .sss-story-number{font-size:19px;margin-bottom:15px}
.sss-photo-design .sss-story-text h2{font-size:27px}
.sss-photo-design .detail-body [src*="/osaka-dohyo"]{max-width:510px;width:100%;height:auto}
.sss-photo-design .experience-gallery{gap:20px;padding-top:20px}
.sss-photo-design .experience-gallery img{aspect-ratio:16/9;object-fit:contain;background:#eeeae0}
.sss-photo-design .sss-experience-nav{max-width:1360px;margin-top:12px;margin-bottom:20px;background:var(--sss-paper);border:1px solid var(--sss-rule);padding:25px 30px}
.sss-photo-design .sss-experience-nav a{background:transparent;font-size:12px;border-color:#c8c9bd;border-radius:2px}
.sss-photo-design .sss-track-record-section{background:#f6f2e8}
.sss-photo-design .sss-track-record-card{border:0;box-shadow:0 10px 30px #1c292708}
.sss-photo-design .sss-team-section{background:#eaece3}
.sss-photo-design .sss-team-card{border:0;box-shadow:0 4px 15px #1c292707}
.sss-photo-design .sss-team-photo{height:280px;background:#f5f3eb;padding:0;object-fit:contain}
.sss-photo-design .sss-sekitori-section{position:relative;background:#1c2927;color:#f8f4e8}
.sss-photo-design .sss-sekitori-section .sss-section-intro>p,.sss-photo-design .sss-sekitori-note{color:#d7ddcf}
.sss-photo-design .sss-sekitori-section .eyebrow{color:#ead7b1}
.sss-photo-design .sss-sekitori-card{color:#1c2927;border:0;background:#f8f5ec}
.sss-photo-design .sss-sekitori-note a{color:inherit}
.sss-photo-design .sss-insurance-section{background:#eaece3}
.sss-photo-design .sss-insurance-card{border:0;background:#fdfbf6;border-top:3px solid #ac9a6d}
.sss-photo-design .sss-availability-grid>div{border:1px solid #ddd8c9;background:#f8f5ed}
.sss-photo-design .sss-programme-drills>div{border:0;border-top:2px solid #bba877;background:#f4efe2}
.sss-photo-design .sss-programme-gallery img{aspect-ratio:auto;object-fit:contain}
.sss-photo-design .sss-programme-gallery figure{padding:12px;background:#f3efe3;transform:rotate(-1deg)}
.sss-photo-design .sss-programme-gallery figure:nth-child(2){transform:rotate(1deg)}
.sss-visual-journey{position:relative;background:#f0eadc;color:#1c2927;max-width:1440px;margin:35px auto 60px;padding:clamp(30px,5vw,70px) 4vw;border-top:1px solid #d8cdb7;border-bottom:1px solid #d8cdb7;overflow:hidden}
.sss-visual-journey:before{content:"";position:absolute;width:380px;aspect-ratio:1;border:1px solid #cbbd9c;border-radius:50%;right:-230px;top:-190px;box-shadow:0 0 0 24px #d7cbb730;pointer-events:none}
.sss-visual-journey-header{position:relative;margin-bottom:35px;max-width:950px}
.sss-visual-journey-kicker{font-size:11px;letter-spacing:.16em;color:#9b3026;font-weight:700;margin-bottom:20px}
.sss-visual-journey-heading{font-size:clamp(29px,3vw,43px);line-height:1.3;letter-spacing:-.02em;text-wrap:balance}
.sss-visual-journey-heading>span{display:inline-block;margin-inline-end:.2em}
.sss-visual-journey[lang="ja"] .sss-visual-journey-heading>span{white-space:nowrap}
.sss-visual-journey-lead{margin-top:20px;font-size:16px;line-height:1.8;color:#5b665c}
.sss-visual-journey-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0;list-style:none;gap:16px;position:relative;margin:0}
.sss-visual-journey-step{min-width:0;position:relative;padding:19px 15px 22px;background:#fbf8f0;border:1px solid #e1d8c4}
.sss-visual-journey-number{font:italic 18px/1 Georgia,serif;color:#a4382c}
.sss-visual-journey-art{position:relative;display:flex;justify-content:center;align-items:center;height:125px;margin:8px 0 13px;color:#263a35}
.sss-visual-journey-art:before{content:"";width:86px;height:86px;background:#efe7d4;border-radius:50%;position:absolute}
.sss-visual-journey-icon{position:relative;width:108px;height:108px;max-width:100%}
.sss-visual-journey-accent{stroke:#b43127}
.sss-visual-journey-step-copy h3{font:600 16px/1.5 Arial,Helvetica,sans-serif;margin-bottom:10px;overflow-wrap:break-word}
.sss-visual-journey-step-copy p{font-size:13px;line-height:1.8;color:#5b6559;overflow-wrap:break-word}
.sss-visual-journey-note{font-size:12px;line-height:1.8;color:#6d7164;max-width:1050px;margin-top:25px}
.sss-journal-cover{max-width:1120px;margin:0 auto 52px;padding:0 35px}
.sss-journal-cover img{width:100%;height:auto;max-height:640px;object-fit:contain;background:#efeade}
.sss-journal-inset{margin:35px -55px;padding:14px 14px 17px;background:#f1ecdf;border:1px solid #e5ddcc}
.sss-journal-inset img{max-height:570px;object-fit:contain;background:#e7e2d5}
.sss-journal-inset img[src*="osaka-interior"]{max-width:440px;margin:auto}
.sss-journal-inset img[src*="osaka-dohyo"]{max-width:510px;margin:auto}
.sss-journal-thumbnail{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;margin:0 0 24px;background:#e9e7df}
.journal-card:has(.sss-journal-thumbnail){padding:15px 15px 25px;background:#f9f6ed;border:1px solid #dedbd0}
.journal-card:has(.sss-journal-thumbnail)>h2,.journal-card:has(.sss-journal-thumbnail)>p,.journal-card:has(.sss-journal-thumbnail)>span{margin-inline:10px}
.journal-card:has(.sss-journal-thumbnail) h2{font-size:25px;line-height:1.35}
.article-body:has(.sss-journal-inset){max-width:870px}
.article-body:has(.sss-journal-inset) section{padding-top:25px;border-top:1px solid #dedbd0}
[lang="ja"] .article-header h1{font-size:clamp(29px,3.2vw,49px);line-height:1.5;text-wrap:balance}
.sss-photo-design[data-destination="privacy"] .detail-body{max-width:1060px}
.sss-photo-design[data-destination="privacy"] .sss-story-text{padding:22px 26px;background:transparent}
@media(min-width:1560px){.sss-photo-design .detail-hero{margin-top:12px}.sss-photo-design .detail-body{padding-inline:50px}}
@media(max-width:1200px){
 .sss-visual-journey-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sss-photo-design .detail-hero>div{padding:38px}.sss-photo-design .detail-hero>img{min-height:500px}
 .sss-visual-facts strong{font-size:26px}
 .sss-photo-design .detail-body article>.sss-story-with-photo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
}
@media(max-width:900px){
 .sss-photo-design .detail-hero{grid-template-columns:1fr}
 .sss-photo-design .detail-hero>div{padding:38px 6vw}
 .sss-photo-design .detail-hero>img{min-height:0;height:auto;max-height:470px;object-fit:contain;background:#14211f}
 .sss-photo-design .detail-hero>.sss-osaka-hero-photo{height:480px}
 .sss-photo-design .detail-hero .lead{max-width:700px}
 .sss-photo-design .detail-body article>.sss-story-with-photo{grid-template-columns:1fr;gap:25px}
 .sss-photo-design .sss-story-reverse .sss-story-photo,.sss-photo-design .sss-story-reverse .sss-story-copy{order:initial}
 .sss-photo-design .sss-story-photo{max-width:760px;width:100%;justify-self:center}
 .sss-photo-design .sss-photo-portrait{max-width:380px}
 .sss-visual-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:28px 5vw}
 .sss-photo-design .detail-body{padding-inline:6vw}
 .sss-journal-inset{margin-inline:0}
}
@media(max-width:600px){
 .sss-photo-design .detail-hero>div{padding:34px 25px}
 .sss-photo-design .detail-hero h1{font-size:36px}
 [lang="ja"] .sss-photo-design .detail-hero h1{font-size:31px;line-height:1.5}
 .sss-photo-design .detail-hero .lead{font-size:16px;line-height:1.85;margin:22px 0 26px}
 .sss-photo-design .detail-hero>.sss-osaka-hero-photo{height:420px}
 .sss-photo-design .detail-body{padding:27px 22px 40px}
 .sss-photo-design .toc{padding:20px;margin-bottom:40px;gap:0;display:block}
 .sss-photo-design .toc a{display:block;border-top:1px solid #dad7ca;padding:11px 0;margin:0}
 .sss-photo-design .toc .eyebrow{display:block;margin-bottom:12px}
 .sss-photo-design .detail-body article>.sss-story{margin-bottom:34px}
 .sss-photo-design .detail-body article>.sss-story-with-photo{padding-bottom:28px;gap:20px}
 .sss-photo-design .detail-body h2{font-size:27px;line-height:1.45;margin-bottom:18px}
 .sss-photo-design .detail-body p,.sss-photo-design .detail-body li{font-size:15px;line-height:1.9}
 .sss-photo-design .detail-body article>.sss-story-text{padding:25px 22px}
 .sss-photo-design .sss-story-text h2{font-size:24px}
 .sss-photo-design .sss-story-number{font-size:21px;margin-bottom:15px}
 .sss-photo-design .sss-experience-nav{margin-inline:20px;padding:23px 20px}
 .sss-visual-facts strong,[lang="ja"] .sss-visual-facts strong{font-size:21px}
 .sss-visual-facts>div{padding-inline-start:12px}
 .sss-visual-facts span{font-size:11px}
 .sss-visual-journey{padding:35px 20px;margin:20px auto 35px}
 .sss-visual-journey-heading{font-size:28px}
 .sss-visual-journey[lang="ja"] .sss-visual-journey-heading{font-size:clamp(25px,6.5vw,30px)}
 .sss-visual-journey-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .sss-visual-journey-step{padding:16px 12px 20px}
 .sss-visual-journey-art{height:108px;margin-top:2px}
 .sss-visual-journey-step-copy h3{font-size:15px}
 .sss-visual-journey-step-copy p{font-size:12px}
 .sss-journal-cover{padding-inline:20px;margin-bottom:30px}
 .sss-journal-inset{padding:10px;margin-block:28px}
 .sss-journal-cover>figcaption,.sss-journal-inset>figcaption{font-size:11px}
}
@media(max-width:359px){.sss-visual-journey-steps{grid-template-columns:1fr}.sss-visual-journey-step{display:grid;grid-template-columns:90px 1fr;gap:5px 12px}.sss-visual-journey-number{grid-column:1/-1}.sss-visual-journey-art{height:95px}.sss-visual-journey-step-copy{align-self:center}}
@media(prefers-reduced-motion:no-preference){.journal-card .sss-journal-thumbnail{transition:filter .2s}.journal-card:hover .sss-journal-thumbnail{filter:brightness(1.06)}}
@media print{.sss-photo-design .detail-hero{display:block;background:#fff;color:#111}.sss-photo-design .detail-hero .lead{color:#333}.sss-photo-design .detail-hero>img{max-height:280px;min-height:0}.sss-photo-design .detail-body article>.sss-story-with-photo{display:block}.sss-story-photo{max-width:500px}.sss-visual-journey-steps{grid-template-columns:repeat(3,1fr)}.sss-photo-design .sss-story-photo:before{display:none}}

.sss-venue-map{margin:40px 0;padding:25px;background:#f1ecdf;border:1px solid #ded6c4;min-width:0}
.sss-venue-map>figcaption{font-size:24px;font-weight:700;line-height:1.5;color:#24332c}
.sss-venue-map .sss-venue-map-address{font-size:16px;line-height:1.8;margin:12px 0 22px;color:#4c584b}
.sss-venue-map iframe{width:100%;height:420px;display:block;border:0;background:#e6e5df}
.sss-venue-map .sss-venue-map-note{font-size:14px;line-height:1.8;margin:18px 0;color:#5a6454}
.sss-venue-map .text-link{font-size:15px;margin-top:0}
@media(max-width:600px){.sss-venue-map{padding:16px;margin-block:28px}.sss-venue-map iframe{height:340px}.sss-venue-map>figcaption{font-size:21px}}

.enquiry-form [aria-invalid="true"]{border-color:#ad3025;outline:2px solid #ad3025;outline-offset:2px}
