@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&family=Noto+Serif+JP:wght@400;500&display=swap');:root{--ink:#383630;--cream:#f9f8f5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:white;font-family:'Noto Serif JP',serif;font-weight:400;line-height:1.95}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}.header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff;position:relative;z-index:5}.logo{font-size:27px;letter-spacing:.05em}.nav{display:flex;gap:30px;font:13px 'Noto Sans JP',sans-serif;letter-spacing:.08em}.menu{display:none;border:0;background:transparent;font-size:25px}.hero{height:min(760px,76vw);min-height:470px;position:relative;overflow:hidden}.hero>img{height:100%;object-position:center 46%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.28),transparent 80%)}.hero-copy{position:absolute;z-index:1;left:8%;top:48%;transform:translateY(-50%);color:white;text-shadow:0 1px 8px #3336}.hero-copy span{font-size:14px;letter-spacing:.2em}.hero-copy h1{font-size:clamp(25px,3vw,43px);line-height:1.8;font-weight:400;letter-spacing:.12em}.news{background:#282726;color:white;padding:13px 7%;font:12px 'Noto Sans JP',sans-serif;letter-spacing:.1em}.news span{margin-left:35px}.section{max-width:1180px;margin:auto;padding:105px 30px;text-align:center}.eyebrow{font:13px 'Noto Sans JP',sans-serif;letter-spacing:.3em;color:#a69d8f;margin:0 0 12px}h2{font-size:clamp(23px,3vw,33px);font-weight:400;letter-spacing:.12em;margin:0 0 30px}.lead{font-size:clamp(18px,2vw,25px);margin:0 0 25px}.about>p:not(.eyebrow):not(.lead){font-size:14px;line-height:2.5}.triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.triptych img{height:330px}.feature{background:var(--cream);max-width:none}.feature-grid{max-width:1100px;margin:60px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;text-align:left}.feature-grid img{height:430px}.feature-grid.reverse img{order:2}.feature-grid h3{font-weight:400;font-size:24px}.feature-grid p{font-size:14px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery img{height:300px}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 22px}.plans img{height:300px;transition:transform .3s}.plans a{overflow:hidden}.plans a:hover img{transform:scale(1.025)}.plans span,.plans small{display:block}.plans span{font-size:20px;margin-top:12px}.plans small{font-size:12px;color:#777}.note{font:12px/1.8 'Noto Sans JP',sans-serif;color:#777;margin-top:28px}.contact{text-align:center;background:#4b4742;color:white;padding:105px 20px}.contact h2{margin-bottom:15px}.button{display:inline-block;background:#fff;color:#383630;padding:17px 34px;margin-top:28px;min-width:280px}.contact .note{color:#e4ded8}footer{background:#b6b6b6;color:white;text-align:center;padding:85px 25px 35px}.footer-title{font-size:42px}footer p{font-size:13px}.footer-nav{border-top:1px solid #ffffff70;border-bottom:1px solid #ffffff70;display:flex;justify-content:center;gap:45px;padding:25px;margin:60px auto 40px;max-width:760px}footer small{font-size:11px}@media(max-width:700px){.header{height:68px;padding:0 20px}.logo{font-size:22px}.menu{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:white;padding:25px;flex-direction:column;gap:18px}.nav.open{display:flex}.hero{height:620px;min-height:0}.hero>img{object-position:52% center}.hero-copy{left:7%;right:5%;top:66%}.hero-copy h1{font-size:26px}.hero-copy span{font-size:11px}.news{font-size:10px}.news span{margin-left:12px}.section{padding:70px 20px}.triptych{gap:7px;margin-top:35px}.triptych img{height:170px}.feature-grid{grid-template-columns:1fr;gap:18px;margin-top:40px}.feature-grid img{height:340px}.feature-grid.reverse img{order:0}.feature-grid h3{font-size:20px}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.gallery img{height:210px}.plans{grid-template-columns:repeat(2,1fr);gap:25px 12px}.plans img{height:210px}.plans span{font-size:16px}.footer-title{font-size:35px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:15px}}
/* STUDIO preview video alignment, desktop and mobile */
.header{position:absolute;top:0;left:0;right:0;background:transparent;color:#fff;z-index:10;height:76px}.logo{font-size:20px}.nav{font-size:12px}.hero{height:min(850px,76vw);min-height:580px}.hero:after{display:none}.hero>img{object-position:center 50%}.news{background:#302f2c}.section{max-width:1120px;padding:110px 34px}.about{padding-top:125px;padding-bottom:90px}.about .lead{font-size:23px;margin:38px 0}.about-body{max-width:640px;margin:auto;text-align:center;font-size:13px;line-height:2.7}.about-body p{margin:0 0 24px}.story-strip{display:flex;overflow:hidden;width:100%;height:320px;gap:8px}.story-strip img{width:25%;flex:0 0 25%;height:100%;object-fit:cover}.feature{background:#f5f5f5;padding-top:100px}.feature-grid{margin:90px auto;gap:95px}.feature-grid img{height:500px}.feature-grid h3{font-size:22px;line-height:2}.plans{gap:42px 28px}.plan-card{border:1px solid #dedede;padding:13px 13px 20px;display:block}.plans img{height:290px}.plans span{font-size:15px;margin-top:15px}.plans small{font-size:11px}.contact{background:linear-gradient(#0007,#0007),url('../images/1-67.jpg') center 45%/cover;padding:110px 20px}.contact .eyebrow{color:white}.contact .button{background:#80776e;color:#fff;min-width:260px;text-align:left}.contact .note{color:#fff}.footer-title{font-size:36px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:22px;text-align:left}.footer-nav a{padding:5px 0}
@media(max-width:700px){.header{height:56px;padding:0 14px}.logo{font-size:18px}.menu{color:white;font-size:24px}.nav{top:56px;color:#333}.hero{height:90svh;min-height:600px}.hero>img{object-position:48% center}.news{padding:11px 16px;font-size:9px}.section{padding:74px 20px}.about{padding-top:70px;padding-bottom:65px}.about .lead{font-size:15px;line-height:2.3;margin:28px 0}.about-body{font-size:11px;line-height:2.5}.about-body p{margin-bottom:22px}.story-strip{height:210px;gap:5px}.story-strip img{width:65%;flex-basis:65%}.feature{padding-top:65px}.feature-grid{margin:45px auto;gap:24px}.feature-grid img{height:auto;aspect-ratio:1/1.12}.feature-grid h3{font-size:18px}.feature-grid p{font-size:12px}.plans{grid-template-columns:1fr;gap:16px;max-width:320px;margin:auto}.plan-card{padding:10px 10px 14px}.plans img{height:auto;aspect-ratio:1.25}.plans span{font-size:12px;margin-top:8px}.plans small{font-size:10px}.contact{padding:65px 22px}.contact h2{font-size:23px}.contact p{font-size:12px}.footer-title{font-size:32px}.footer-nav{gap:10px;font-size:14px}footer{padding-top:60px}}

/* Continuous automatic photo slider — desktop and mobile */
.story-strip{display:block;overflow:hidden;width:100%;height:320px;gap:0}
.story-track{display:flex;width:max-content;height:100%;animation:ichie-photo-scroll 32s linear infinite;will-change:transform}
.story-set{display:flex;flex:none;height:100%;gap:8px;padding-right:8px}
.story-set img{display:block;flex:none;width:320px;height:100%;object-fit:cover}
@keyframes ichie-photo-scroll{to{transform:translateX(-50%)}}
@media(hover:hover){.story-strip:hover .story-track{animation-play-state:paused}}
@media(max-width:700px){.story-strip{height:210px}.story-track{animation-duration:25s}.story-set{gap:5px;padding-right:5px}.story-set img{width:260px;flex-basis:auto;height:100%}}
@media(prefers-reduced-motion:reduce){.story-track{animation:none}.story-strip{overflow-x:auto}}

/* Desktop reference: first feature text-left/photo-right; second photo-left/text-right. */
@media(min-width:701px){.feature{padding-bottom:80px}.feature-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;margin:76px auto 0;max-width:1120px;align-items:center}.feature-grid>div{padding:0 16px}.feature-grid>img{width:100%;height:420px;object-fit:cover}.feature-grid.reverse>img{order:0}.feature-grid.reverse>div{order:1}.feature-grid h3{margin-top:0}.feature-grid p{line-height:2.3}.feature-grid.reverse{margin-top:58px}.feature+.section{padding-top:75px}}
@media(max-width:700px){.feature-grid>div{order:1}.feature-grid>img,.feature-grid.reverse>img{order:0}.feature-grid.reverse>div{order:1}}
