/* 日本語: 写真を主役にしたレスポンシブデザイン。 */
:root{--bg:#0b1b25;--ink:#f3f1eb;--muted:#b9c4ca;--accent:#d7bda0;--line:#ffffff26}html{background:var(--bg)}body{max-width:none;width:100%;font-size:16px}header{height:88px;padding:0 5%;background:#0b1b25ed}.wordmark{font-size:32px}.wordmark span{font-size:12px}header>nav{display:flex;font-size:14px;gap:30px}.header-actions .header-cta{font-size:14px}.mobile-menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:740px;padding:0 5%;gap:0}.hero-copy{padding:130px 0 85px;max-width:650px}.hero-copy .eyebrow{font-size:14px;letter-spacing:.16em}.hero h1{font-size:clamp(36px,4.1vw,64px);line-height:1.65;letter-spacing:.025em;margin:32px 0}.hero .lead{font-size:18px}.hero .intro{font-size:16px;line-height:2.1;margin:25px 0 32px}.hero-image{position:absolute;inset:0 0 0 40%;height:auto;z-index:-1}.hero-image img{object-position:center 37%}.hero-image:after{background:linear-gradient(90deg,#0b1b25 0%,#0b1b2599 20%,#0b1b2510 57%),linear-gradient(0deg,#0b1b25,transparent 25%)}.hero-bottom{grid-column:1/-1;font-size:12px;padding:24px 0}.hero-bottom span:last-child{font-size:12px}.button{font-size:15px;padding:17px 25px;min-height:56px}.section{padding:100px 8%}.eyebrow{font-size:14px;letter-spacing:.15em;margin-bottom:24px}h2{font-size:clamp(30px,3.1vw,46px);line-height:1.65}.two-col{grid-template-columns:1fr 1fr;gap:70px}.two-col p,.journey p,.service-grid p{font-size:16px}.works{background:#0b1b25;padding-top:85px}.works h2,.works>.eyebrow,.works>p,.films>p{padding:0}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}.work-photo img{object-fit:cover}.more-works{margin-top:30px}.more-works summary{padding:20px 0;font-size:15px}.films{background:#132731}.film-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:40px}.film-card video{aspect-ratio:9/16;max-height:none;object-fit:contain}.film-card h3{font-size:21px}.film-card p{font-size:14px}.story-photo{margin-top:45px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}.story-photo img{height:440px;max-height:none;object-position:50% 45%}.story-photo figcaption{font:24px/1.9 var(--serif);padding:30px;color:var(--ink)}.journey{grid-template-columns:1fr 1fr;gap:60px;margin-top:48px}.journey article+article{border:0;padding:0}.journey span,small{font-size:14px}.concerns{background:#142d37}.concern-list li{font-size:16px;padding:17px 0}.section-heading{display:flex;margin-bottom:42px}.section-heading>p{font-size:16px}.service-grid,.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-grid article{padding-top:25px}.service-grid h3{font-size:20px;margin-top:22px}.plans{background:#eeeae3;color:#1d3039}.plan-nav{justify-content:flex-start;gap:35px;font-size:15px}.plan-heading{display:flex;margin-top:58px}.price-grid article{padding:28px;background:#faf8f3}.price-grid h4 span{display:block;margin:9px 0 0;font-size:14px}.price{font-size:40px}.price-grid dl{font-size:14px}.price-grid dl div{gap:5px}.support article>p:not(.price),.note{font-size:14px}.support h5{min-height:54px;font-size:16px}.movie-list article{display:flex}.movie-list article>div{max-width:70%}.movie-list strong{font-size:30px}.movie-list strong,.movie-list article>span{margin-top:0}.area{border-bottom:1px solid var(--line)}.area-lead{color:var(--accent);font-size:20px!important}.flow{background:#122a34}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:22px 30px 22px 0;cursor:pointer;font-size:16px;list-style:none;position:relative}.faq-list summary:after{content:'＋';position:absolute;right:0;color:var(--accent)}.faq-list details[open] summary:after{content:'−'}.faq-list p{color:var(--muted);padding:0 20px 15px 0}.contact{background:#193541}.contact h2{font-size:44px}.contact-box{border:none;padding:5px}.contact-box .button{width:100%;max-width:390px}.contact-box p{font-size:14px;margin-top:20px}footer{padding:38px 5%}footer p{display:block;font-size:14px}.photo-viewer{max-width:900px}.plan-guide{max-width:560px}
@media(max-width:1000px){header>nav{display:none}.mobile-menu{display:block}.hero{min-height:680px}.hero-copy{padding-top:90px}.hero h1{font-size:42px}.section{padding:80px 6%}.two-col{gap:35px}.price-grid{gap:12px}.price-grid article{padding:22px 16px}.price{font-size:34px}.film-grid{grid-template-columns:repeat(2,1fr);gap:30px}.section-heading{display:block}.section-heading>p{margin-top:22px}}
@media(max-width:640px){header{height:74px;padding:0 5%}.wordmark{font-size:27px}.wordmark span{font-size:10px}.header-actions .header-cta{font-size:12px}.header-actions{gap:5px}.hero{display:flex;min-height:0;padding:0 6%}.hero-image{inset:0 0 auto;height:770px}.hero-image img{object-position:53% top}.hero-image:after{background:linear-gradient(180deg,#0b1b2500 18%,#0b1b2545 38%,#0b1b25ed 65%,#0b1b25 98%)}.hero-copy{padding:355px 0 28px}.hero-copy .eyebrow{font-size:12px;letter-spacing:.1em}.hero h1{font-size:clamp(27px,7.5vw,45px);line-height:1.7;margin:20px 0}.hero .lead{font-size:16px}.hero .intro{font-size:14px}.hero-bottom,.hero-bottom span:last-child{font-size:10px;letter-spacing:.02em}.section{padding:65px 6%}.eyebrow{font-size:12px}h2{font-size:29px}.two-col,.journey,.service-grid,.price-grid{grid-template-columns:1fr;gap:24px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px}.film-grid{gap:25px 12px}.film-card h3{font-size:18px}.film-card p{font-size:14px}.story-photo{display:block;margin-top:30px}.story-photo img{height:380px}.story-photo figcaption{font-size:18px;padding:20px 0}.journey{margin-top:25px}.journey article+article{border-top:1px solid var(--line);padding-top:22px}.plan-heading{display:block}.plan-heading p{margin-top:14px}.plan-nav{font-size:14px;gap:15px;justify-content:space-between}.price-grid article{padding:28px}.price{font-size:40px}.price-grid h4 span{display:inline;margin-left:12px}.support h5{min-height:0}.movie-list article{display:block}.movie-list article>div{max-width:none}.movie-list strong,.movie-list article>span{margin-top:15px}.contact h2{font-size:30px}footer{padding:28px 6%}footer p{width:100%;order:3}footer small{font-size:12px}.area-lead{font-size:18px!important}.faq-list summary{font-size:15px}.note{font-size:14px}}
