@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--blue:#007cbe;--navy:#073750;--sky:#eaf7fa;--cyan:#15bdd1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--navy);background:#fff;font-family:'Outfit','Noto Sans JP',sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}button{color:inherit}h1,h2,h3,p,figure{margin:0}h2{font-size:clamp(30px,3.1vw,49px);font-weight:800;line-height:1.55;letter-spacing:.02em}h3{line-height:1.6}header{height:88px;display:flex;align-items:center;padding:0 4%;gap:32px;background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #deedf3}.brand{display:flex;align-items:center;gap:9px;font-family:'Outfit',sans-serif;font-size:27px;font-weight:700;letter-spacing:.02em;line-height:1.15;white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:.15em;margin-top:7px}.brand-mark{font-size:50px;line-height:1;color:var(--blue);transform:rotate(-12deg)}header nav{display:flex;gap:28px;margin-left:auto;font-size:14px;font-weight:600}header nav a:hover{color:var(--blue)}.header-cta{background:var(--blue);color:white;padding:15px 24px;border-radius:5px;font-size:14px;font-weight:700}.header-cta span{margin-left:20px}.menu{display:none;border:0;background:none;font-size:27px}.hero{height:min(790px,calc(100svh - 88px));min-height:600px;position:relative;background:#0576a2;color:white;overflow:hidden}.slides,.slide,.hero-shade{position:absolute;inset:0}.slide{opacity:0;transition:opacity 1.8s,transform 8s;transform:scale(1.04);object-position:center}.slide.active{opacity:1;transform:scale(1)}.hero-shade{background:linear-gradient(90deg,rgba(0,41,75,.48),transparent 85%),linear-gradient(0deg,rgba(0,36,66,.38),transparent 40%)}.hero-copy{position:absolute;left:8%;top:49%;transform:translateY(-50%)}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.2em;margin-bottom:23px}.hero h1{font-size:clamp(50px,5.8vw,89px);letter-spacing:.045em;line-height:1.35;font-weight:800;text-shadow:0 2px 25px #064d6b22}.hero-lead{margin:26px 0 32px;font-size:18px;line-height:2;letter-spacing:.05em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 27px;border:0;border-radius:4px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00385125}.white{background:white;color:var(--blue)}.hero-side{position:absolute;right:3%;top:32%;writing-mode:vertical-rl;font-size:12px;letter-spacing:.2em}.hero-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.13em}.slide-controls{display:flex;align-items:center;gap:18px}.slide-controls>button{color:white;background:transparent;border:1px solid #ffffff88;border-radius:50%;width:32px;height:32px;line-height:1}.dots{display:flex;gap:8px}.dots button{border:0;background:#ffffff70;width:22px;height:3px;padding:0}.dots button.on{background:white;width:38px}.news{padding:22px 8%;display:flex;gap:30px;align-items:center;border-bottom:1px solid #d6eaf0;font-size:14px}.news strong{font-size:17px;letter-spacing:.12em}.news-tag{font-size:11px;color:#41869a}.news a{margin-left:auto;font-size:24px}.section{padding:110px 8%}.blue{color:var(--blue)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-bottom:145px}.intro h2{font-size:clamp(36px,4vw,60px);margin-bottom:28px}.intro-copy>p:not(.eyebrow){margin:20px 0;line-height:2.3}.text-link{display:inline-flex;gap:40px;align-items:center;margin-top:20px;font-size:14px;font-weight:700;border-bottom:1px solid var(--navy);padding-bottom:8px}.intro-images{position:relative;height:470px}.intro-main{width:86%;height:370px;object-position:center;border-radius:3px}.intro-small{position:absolute;width:49%;height:220px;bottom:-20px;right:-5%;border:8px solid white;border-radius:4px}.image-note{font-family:'Outfit';font-size:13px;position:absolute;left:0;bottom:65px;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.05em}.circle-note{position:absolute;top:-38px;right:-15px;background:#c2f357;color:#085264;width:115px;height:115px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:22px;line-height:1.2;font-weight:700;transform:rotate(13deg)}.courses{background:var(--sky)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:46px}.section-head>p{font-size:15px;line-height:2}.section-head h2{font-size:clamp(28px,2.6vw,40px)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.course{background:white;border-radius:5px;overflow:hidden}.course-photo{height:260px;position:relative;overflow:hidden}.course-photo img{transition:transform .6s}.course:hover .course-photo img{transform:scale(1.04)}.course-photo>span{position:absolute;bottom:0;left:0;background:var(--blue);color:white;font-size:11px;letter-spacing:.15em;padding:7px 17px}.course-body{padding:27px}.pills{display:flex;gap:6px;margin-bottom:12px}.pills span{font-size:12px;padding:1px 9px;background:#edf7f9;color:#307b91}.course h3{font-size:24px;margin-bottom:12px}.course-body>p{font-size:14px;line-height:1.9}.price{font-size:37px;font-weight:600;margin-top:24px;color:var(--blue);line-height:1.3}.price small{font-size:12px;font-weight:400;margin-left:6px}.course-body .includes{font-size:12px;color:#537e90;margin-top:7px}.course-choose{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;border-top:1px solid #dbeaf0;padding:18px 0 0;margin-top:23px;font-size:14px;font-weight:700}.course-note{font-size:12px;color:#547d8e;margin-top:24px}.ocean{background:#006b9d;color:white;padding-bottom:42px;overflow:hidden}.ocean-top{position:relative;background:linear-gradient(90deg,#005376bd,#0053762b),url('https://speraworks.jp/quick-web/wp-content/uploads/lumo-blue-v2/blue-21.webp') center 42%/cover;padding-bottom:90px}.ocean-top h2{font-size:clamp(35px,4vw,60px)}.ocean-top>p:last-child{position:absolute;right:12%;bottom:100px;font-size:17px;line-height:2.2}.ocean-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;padding:0 3%;margin-top:-20px;position:relative}.ocean-grid figure{position:relative;height:360px;overflow:hidden;border-radius:3px}.ocean-grid figure::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#002f56a6,transparent 60%)}.ocean-grid figcaption{position:absolute;z-index:1;bottom:25px;left:25px;right:20px}.ocean-grid small{font-size:10px;letter-spacing:.12em}.ocean-grid h3{font-size:20px;margin-top:7px}.ocean-note{text-align:center;font-size:12px;color:#d3effa;margin:26px 20px 0}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.care-grid article{border-top:1px solid #afd2df;padding-top:26px}.care-grid article>span{color:var(--blue);font-size:35px;font-weight:500}.care-grid h3{font-size:23px;margin:12px 0}.care-grid p{font-size:15px;color:#426b7e}.flow{padding-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.flow-photo{position:relative;height:590px}.flow-photo img{border-radius:4px;object-position:53%}.flow-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0045768f,transparent 60%)}.flow-photo>div{position:absolute;z-index:1;left:30px;bottom:30px;font-family:'Outfit';color:white;font-weight:600;font-size:36px;line-height:1.2}.flow-copy h2{font-size:32px}.flow-copy>p:not(.eyebrow){font-size:14px;margin-top:13px}.flow ol{padding:0;list-style:none;margin:30px 0}.flow li{display:flex;gap:25px;padding:0 0 24px;position:relative}.flow li>span{font-size:16px;color:var(--blue);width:50px;flex:none}.flow li>div{border-left:1px solid #bcdbe6;padding-left:23px}.flow li h3{font-size:18px}.flow li p{font-size:14px;color:#527789;margin-top:5px}.fine{color:#6b8793;font-size:12px!important}.strip{height:340px;position:relative;display:grid;place-items:center}.strip img{position:absolute;inset:0}.strip::after{content:'';position:absolute;inset:0;background:#00476736}.strip p{z-index:1;text-align:center;color:white;font-size:clamp(30px,3.4vw,50px);line-height:1.8;font-weight:700;letter-spacing:.08em;text-shadow:0 2px 20px #00598066}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:8%}.faq h2{font-size:36px}.faq details{border-bottom:1px solid #c5dfe8}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:24px 0;font-size:16px;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:24px;color:var(--blue)}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:14px;padding-bottom:24px;color:#42697b}.access{background:var(--sky);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.access h2{font-size:35px;margin-bottom:28px}.access h3{font-size:18px}.access dl{font-size:14px;margin:22px 0}.access dl>div{display:grid;grid-template-columns:90px 1fr;border-bottom:1px solid #cbe1e8;padding:10px 0}.access dt{color:#608291}.access dd{margin:0}.access-copy>p:not(.eyebrow){font-size:14px}.map-wrap iframe{width:100%;height:350px;border:0;border-radius:3px;background:#d3e6ee}.map-wrap small{font-size:12px;color:#577b8b}.booking{background:#007dbb;display:grid;grid-template-columns:1fr 1fr;gap:8%;color:white;background-image:radial-gradient(ellipse at bottom left,#11bcd1,transparent 65%)}.booking h2{font-size:clamp(50px,5vw,75px);margin-bottom:25px}.booking-intro>p:not(.eyebrow){font-size:16px;line-height:2}.demo-label{display:inline-block;margin-top:38px;border:1px solid #ffffff80;padding:5px 12px;font-size:12px}.booking form{background:#ffffff12;border:1px solid #ffffff40;padding:32px;border-radius:5px}.booking form h3{font-size:23px}.form-note{font-size:12px;margin:8px 0 20px;line-height:1.8}.booking label{display:flex;flex-direction:column;gap:6px;font-size:13px;margin-bottom:15px}.booking input,.booking select,.booking textarea{width:100%;min-width:0;border:0;border-radius:3px;background:white;padding:10px 12px;color:var(--navy);font-size:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking .button{width:100%;margin-top:5px}.form-status{background:#005f91;padding:15px;font-size:14px;margin-top:15px;border-radius:3px}footer{padding:55px 6% 25px}footer>.brand{justify-content:center}footer>p{text-align:center;font-size:13px;margin-top:18px}.footer-links{display:flex;justify-content:center;gap:30px;margin:25px 0 40px;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d8e7ed;padding-top:25px;gap:20px}.footer-bottom small{font-size:11px;color:#6c8693}.footer-bottom button{font-size:12px;border:0;background:none;white-space:nowrap}.mobile-book{display:none}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.js-motion .reveal.visible{opacity:1;transform:none}:focus-visible{outline:3px solid #d5ef51;outline-offset:4px}
@media(min-width:1600px){.section{padding-left:max(8%,calc((100% - 1400px)/2));padding-right:max(8%,calc((100% - 1400px)/2))}}@media(max-width:1100px){header{padding:0 4%;gap:20px}header nav{gap:16px;font-size:12px}.header-cta{padding:12px;font-size:12px}.header-cta span{margin-left:7px}.section{padding:80px 6%}.course-grid{gap:16px}.course-body{padding:20px}.course h3{font-size:20px}.course-photo{height:220px}.price{font-size:30px}.section-head{align-items:flex-start;flex-direction:column;gap:18px}.ocean-grid{grid-template-columns:1.3fr 1fr 1fr}.ocean-grid h3{font-size:17px}.ocean-grid figcaption{left:17px}.intro-images{height:420px}.intro-main{height:340px}.intro-small{height:190px}.flow{padding-top:20px}.flow-photo{height:570px}.faq h2{font-size:30px}.booking form{padding:24px}.footer-bottom{flex-wrap:wrap}.ocean-top>p:last-child{right:7%}}
@media(max-width:760px){html{scroll-padding-top:70px}body{padding-bottom:60px}header{height:70px;gap:12px;padding:0 5%}.brand{font-size:23px}.brand small{font-size:8px}.brand-mark{font-size:40px}.header-cta{margin-left:auto;font-size:11px;padding:10px 12px}.header-cta span{display:none}.menu{display:block;font-size:23px;padding:4px}header nav{display:none;position:absolute;top:70px;left:0;right:0;background:white;padding:22px 6%;box-shadow:0 12px 18px #002d5112;font-size:15px}header nav.open{display:grid;gap:0}header nav a{padding:12px 0;border-bottom:1px solid #e3eff3}.hero{height:calc(100svh - 70px);min-height:590px;max-height:850px}.hero-copy{left:7%;right:6%;top:45%}.hero h1{font-size:clamp(42px,10vw,65px);line-height:1.45;letter-spacing:.015em}.hero .eyebrow{font-size:11px;letter-spacing:.2em}.hero-lead{font-size:15px;margin:25px 0 30px;line-height:2.1}.hero .button{font-size:13px;padding:16px 21px;gap:20px}.hero-shade{background:linear-gradient(90deg,#00335c70,#00365d0a),linear-gradient(0deg,#002e5a60,transparent 70%)}.slide{object-position:62% center}.slide:nth-child(2){object-position:52%}.hero-side{right:3%;top:23%;font-size:9px}.hero-bottom{bottom:23px;left:7%;right:7%;flex-wrap:wrap;gap:15px;font-size:10px}.hero-bottom>span{display:none}.slide-controls{gap:12px}.hero-bottom>a{font-size:10px}.news{padding:19px 6%;gap:12px;flex-wrap:wrap}.news strong{font-size:14px}.news-tag{font-size:10px}.news p{order:3;width:90%;font-size:12px}.news>a{line-height:1}.section{padding:65px 7%}.intro{grid-template-columns:1fr;gap:45px;padding-bottom:85px}.intro h2{font-size:42px}.eyebrow{font-size:11px;margin-bottom:18px}.intro-copy>p:not(.eyebrow){font-size:14px;line-height:2.2}.intro-images{height:350px;margin-right:4%}.intro-main{height:290px;width:88%}.intro-small{height:175px;bottom:-10px;width:50%;right:-5%}.image-note{font-size:11px;bottom:34px}.circle-note{width:85px;height:85px;font-size:17px;top:-20px;right:-20px}.section-head h2{font-size:27px}.section-head>p{font-size:14px}.section-head{margin-bottom:30px}.course-grid{grid-template-columns:1fr;gap:26px}.course-photo{height:245px}.course-body{padding:24px}.course h3{font-size:25px}.course-body>p{font-size:15px}.price{font-size:36px}.course-note{font-size:11px}.ocean-top{padding-bottom:55px}.ocean-top h2{font-size:37px}.ocean-top>p:last-child{position:static;font-size:14px;margin-top:25px}.ocean-grid{grid-template-columns:1fr 1fr;padding:0 5%;gap:10px;margin-top:0}.ocean-grid .ocean-wide{grid-column:span 2;height:300px}.ocean-grid figure{height:265px}.ocean-grid h3{font-size:15px}.ocean-grid small{font-size:8px}.ocean-grid figcaption{bottom:16px;left:14px;right:12px}.ocean-note{font-size:10px}.care-grid{grid-template-columns:1fr;gap:28px}.care-grid article{padding-left:58px;position:relative;padding-top:22px}.care-grid article>span{position:absolute;left:0;top:24px;font-size:29px}.care-grid h3{font-size:22px;margin:4px 0 8px}.care-grid p{font-size:14px}.flow{grid-template-columns:1fr;padding-top:5px;gap:38px}.flow-photo{height:370px}.flow-photo>div{font-size:30px;left:24px;bottom:24px}.flow-copy h2{font-size:27px}.flow li{gap:14px}.flow li>div{padding-left:18px}.strip{height:300px}.strip p{font-size:30px}.faq{grid-template-columns:1fr;gap:25px}.faq h2{font-size:31px}.faq summary{font-size:14px;padding:20px 0}.faq details p{font-size:13px}.access{grid-template-columns:1fr;gap:32px}.access h2{font-size:30px}.access dl>div{grid-template-columns:76px 1fr;font-size:13px}.map-wrap iframe{height:280px}.map-wrap small{font-size:10px}.booking{grid-template-columns:1fr;gap:35px}.booking h2{font-size:53px}.booking-intro>p:not(.eyebrow){font-size:14px}.demo-label{margin-top:22px}.booking form{padding:22px 18px}.booking form h3{font-size:22px}.form-row{gap:10px;grid-template-columns:1.2fr 1fr}.booking label{font-size:12px}footer{padding:45px 7% 25px}.footer-links{gap:20px;font-size:11px}.footer-bottom{flex-direction:column;text-align:center;gap:12px}.footer-bottom small{font-size:10px}.mobile-book{position:fixed;bottom:0;left:0;right:0;z-index:35;display:grid;grid-template-columns:1fr 1.7fr;background:white;box-shadow:0 -2px 16px #00364e1a;padding-bottom:env(safe-area-inset-bottom)}.mobile-book a{display:grid;place-items:center;min-height:56px;font-size:14px;font-weight:700}.mobile-book a:last-child{background:var(--blue);color:white}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide{transition:none;transform:none!important}.js-motion .reveal{opacity:1;transform:none;transition:none}.course-photo img,.button{transition:none}}

/* Radiant Okinawa photography edition */
:root{--blue:#007cdd;--sky:#edfaff;--cyan:#04c5e5}
.hero-shade{background:linear-gradient(90deg,rgba(0,36,83,.36),transparent 66%),linear-gradient(0deg,rgba(0,32,83,.24),transparent 27%)}
.hero h1{text-shadow:0 2px 20px #003b7466}.hero-lead{text-shadow:0 1px 9px #00345d99}
.hero .slide:nth-child(2){object-position:65% center}.hero .slide:nth-child(1){object-position:center}
.photo-story{padding-top:75px;padding-bottom:80px}.photo-story .section-head h2{font-size:clamp(27px,3vw,43px)}
.story-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.story-grid figure{grid-column:span 2;min-width:0}.story-grid figure:nth-child(1),.story-grid figure:nth-child(2){grid-column:span 3}
.story-grid img{height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:4px}.story-grid figcaption{font-size:14px;line-height:1.7;padding:12px 2px 8px;color:#23627c}
.friends-story{background:#f0fbff}.underwater-story{background:#eafaff}.island-story .story-grid figure{grid-column:span 2}.photo-story .section-head>p{font-size:16px}
.ocean-top{background-image:linear-gradient(90deg,#0045788c,#00537605),url('https://speraworks.jp/quick-web/wp-content/uploads/lumo-blue-v2/blue-21.webp')}.strip::after{background:#00476715}
@media(max-width:760px){.photo-story{padding:55px 6%}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.story-grid figure,.story-grid figure:nth-child(2),.island-story .story-grid figure{grid-column:span 1}.story-grid figure:nth-child(1){grid-column:span 2}.story-grid img{aspect-ratio:4/3}.story-grid figure:nth-child(1) img{aspect-ratio:3/2}.story-grid figcaption{font-size:12px;padding:8px 1px;line-height:1.7}.island-story .story-grid figure:nth-child(1){grid-column:span 1}.island-story .story-grid figure:nth-child(1) img{aspect-ratio:4/3}.hero-shade{background:linear-gradient(90deg,#00335c55,transparent 85%),linear-gradient(0deg,#002e5a44,transparent 30%)}.hero .slide:nth-child(2){object-position:63% center}.hero .slide:nth-child(3){object-position:64% center}.photo-story .section-head>p{font-size:14px}}

/* lumo-fixed-menu-20260910 */ body{padding-top:88px!important}body>header{position:fixed!important;inset:0 0 auto 0!important;width:100%!important;height:88px!important;z-index:10000!important;transform:none!important;opacity:1!important;visibility:visible!important;display:flex!important;background:#fff!important}@media(max-width:760px){body{padding-top:70px!important}body>header{height:70px!important}}
/* lumo-mobile-two-women-20260910 */
@media(max-width:760px){
.hero{height:min(calc(100svh - 70px),180vw)!important;min-height:0!important;max-height:850px!important}
.hero .slide:nth-child(2){object-position:94% center!important;transform:none!important}
.hero-copy{top:18px!important;bottom:66px!important;left:7%!important;right:6%!important;transform:none!important;display:flex;flex-direction:column;align-items:flex-start}
.hero .eyebrow{margin-bottom:10px}
.hero h1{font-size:clamp(32px,9vw,44px);line-height:1.28}
.hero-lead{margin-top:auto;margin-bottom:14px;font-size:13px;line-height:1.7}
.hero .button{padding:12px 17px;font-size:12px}
}
