/* 日本語トップページの配色と端末別レイアウトを定義します。 */
:root{--bg:#091d26;--ink:#f1f3ef;--muted:#adbdc3;--line:#ffffff25;--accent:#d4ba96;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.95 var(--sans)}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.wordmark{font:32px Georgia,serif;letter-spacing:.09em;white-space:nowrap}.wordmark span{font:12px var(--sans);letter-spacing:.28em;margin-left:8px}nav{display:flex;gap:30px;font-size:14px;color:var(--muted)}nav a:hover{color:var(--ink)}.header-cta{font-size:14px;border-bottom:1px solid var(--accent);padding:10px 0}.hero{padding:65px 5% 0;display:grid;grid-template-columns:1fr 1fr;gap:28px;overflow:hidden}.hero-copy{padding:40px 0 48px;z-index:1}.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--accent);margin:0 0 30px}h1,h2,h3,p{margin-top:0}h1{font:400 clamp(32px,3.5vw,55px)/1.8 var(--serif);letter-spacing:.04em;white-space:nowrap;margin:20px 0 24px}em{font-style:normal;color:var(--accent)}.lead{font-size:18px;line-height:2.1}.muted,.intro{color:var(--muted)}.intro{font-size:14px;margin:22px 0 30px}.button{background:#d4c0a2;color:#142a31;display:inline-flex;justify-content:space-between;gap:30px;padding:16px 25px;font-size:14px;min-height:54px}.button:hover{background:#e2cfb1}.text-link{display:block;width:fit-content;font-size:14px;color:var(--muted);margin-top:22px}.hero-image{position:relative;min-height:530px;margin-right:-11%;border-radius:150px 0 0 0;overflow:hidden}.hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:53% center}.image-caption{position:absolute;bottom:30px;left:30px;right:12%;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#c4d8de}.image-caption span:last-child{letter-spacing:.15em}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:27px 0;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.15em;color:var(--muted)}.section{padding:95px 8%}h2{font:400 clamp(27px,2.8vw,40px)/1.8 var(--serif);letter-spacing:.025em}.two-col{display:grid;grid-template-columns:1.1fr 1fr;gap:65px}.two-col p{line-height:2.15}.journey{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:35px;padding-top:35px;border-top:1px solid var(--line)}.journey span,small{font-size:12px;letter-spacing:.12em;color:var(--accent)}.journey h3{font:400 23px/1.8 var(--serif);margin:10px 0}.journey p{color:var(--muted);margin:0}.concerns{background:#142f39}.concern-list{list-style:none;padding:0;margin:0}.concern-list li{padding:14px 0;border-bottom:1px solid var(--line)}.concern-list li:before{content:"—";color:var(--accent);margin-right:18px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:14px;color:var(--muted);margin-bottom:8px}.service-grid,.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-grid article{border-top:1px solid var(--line);padding-top:25px}.number{font:32px Georgia,serif;color:var(--accent)}.service-grid h3{font-size:20px;font-weight:500;margin:23px 0 15px}.service-grid p{color:var(--muted)}.plans{background:#edf0ed;color:#17313b}.plans .eyebrow{color:#786a52}.plans .section-heading p{color:#52666c}.plan-nav{display:flex;gap:35px;border-bottom:1px solid #17313b30;padding-bottom:18px;margin-top:35px;font-size:14px}.plan-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:52px 0 24px}.plan-heading h3{font:400 27px var(--serif);margin:0}.plan-heading p{font-size:14px;color:#52666c;margin:0}.price-grid{gap:20px}.price-grid article{padding:28px 25px;background:white;border:1px solid #17313b18}.price-grid h4{font:18px Georgia,serif;letter-spacing:.07em;margin:0}.price-grid h4 span{display:block;font:12px var(--sans);margin-top:9px;color:#62757c;letter-spacing:.03em}.price{font:38px/1.3 Georgia,serif;margin:24px 0}.price span{font:14px var(--sans);color:#62757c}dl{font-size:14px;margin:0}dl div{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid #17313b18}dd{margin:0;white-space:nowrap}.note{font-size:13px;color:#52666c;line-height:1.9;margin:20px 0 0}.support h5{font-size:15px;font-weight:500;min-height:56px;line-height:1.8;margin:24px 0 15px}.support article>p:not(.price){font-size:13px;color:#52666c}.support ul{padding-left:18px;font-size:14px;line-height:2.2}.movie-list article{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 0;border-top:1px solid #17313b25}.movie-list article>div{max-width:70%}.movie-list small{color:#786a52}.movie-list h4{font-size:20px;font-weight:500;margin:8px 0}.movie-list p{font-size:14px;color:#52666c;margin:0}.movie-list strong{font:28px Georgia,serif;white-space:nowrap}.movie-list article>span{font-size:14px;white-space:nowrap;color:#52666c}.pricing-note{padding-top:24px;border-top:1px solid #17313b25}.contact{text-align:center;background:radial-gradient(ellipse at 50% 120%,#254650,var(--bg) 70%)}.contact h2{font-size:38px}.contact>p:not(.eyebrow){color:var(--muted)}.contact-box{max-width:540px;margin:32px auto 0;padding:20px;border:1px solid var(--line)}.contact-box span{color:var(--accent)}.contact-box p{font-size:13px;color:var(--muted);margin:10px 0 0}footer{padding:36px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line)}footer p{font-size:13px;color:var(--muted);margin:0}footer small{font-size:12px;color:var(--muted)}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1100px){nav{gap:16px}.hero{padding-top:30px}.hero-copy{padding-top:25px}h1{font-size:36px}.section{padding:75px 6%}.two-col{gap:35px}.price-grid article{padding:23px 17px}.price{font-size:32px}.service-grid{gap:22px}}@media all{header{height:78px;padding:0 6%}.wordmark{font-size:27px}.wordmark span{font-size:10px}nav{display:none}.header-cta{font-size:12px}.hero{display:flex;flex-direction:column;padding:0 6%;gap:0}.hero-copy{padding:36px 0}.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:24px}h1{font-size:clamp(27px,7.5vw,42px);letter-spacing:.01em;margin:18px 0}.lead{font-size:16px}.intro{font-size:13px;margin:18px 0 24px}.hero-image{min-height:320px;margin:0 -6.8% 0 6%;border-radius:90px 0 0 0}.image-caption{left:22px;right:6%;bottom:20px;font-size:10px}.hero-bottom{font-size:9px;letter-spacing:.04em;gap:10px;padding:23px 0}.hero-bottom span:last-child{font-size:8px}.section{padding:64px 7%}.two-col,.journey,.service-grid,.price-grid{grid-template-columns:1fr;gap:25px}.two-col h2{margin-bottom:0}.two-col p{font-size:15px}.journey{margin-top:25px}.journey article+article{border-top:1px solid var(--line);padding-top:25px}.journey h3{font-size:21px}.journey p{font-size:15px}.concern-list li{font-size:14px}.concern-list li:before{margin-right:10px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin:18px 0 0}.service-grid{gap:32px}.service-grid h3{margin-top:12px}.service-grid p{font-size:15px}.plan-nav{gap:14px;justify-content:space-between;font-size:12px}.plan-heading{display:block;margin-top:42px}.plan-heading p{margin-top:10px}.price-grid{gap:15px}.price-grid article{padding:26px}.price-grid h4 span{display:inline;margin-left:14px}.price{font-size:38px;margin:20px 0}.support h5{min-height:0}.movie-list article{display:block}.movie-list article>div{max-width:none}.movie-list strong,.movie-list article>span{display:block;margin-top:15px}.contact h2{font-size:28px}.contact>p{font-size:15px}footer{padding:30px 7%;flex-wrap:wrap}footer p{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* パソコンでもスマホ幅で表示し、専用の横長レイアウトは設けません。 */
html{background:#050e13}body{width:100%;max-width:520px;margin:0 auto}h1{font-size:clamp(27px,7.5vw,39px)}.hero-image{margin-left:0}.eyebrow{font-size:12px}.lead,.intro,.two-col p,.journey p,.service-grid p,.contact>p{font-size:16px}.header-cta,.text-link,.plan-nav{font-size:14px}.contact-box .button span{color:inherit}

/* スマホで一問ずつ答えられるプラン案内です。 */
.guide-open{overflow:hidden}.plan-guide{width:calc(100% - 24px);max-width:496px;max-height:calc(100dvh - 32px);padding:24px;background:#102b35;color:#f1f3ef;border:1px solid #adbdc350;border-radius:16px;overflow-y:auto}.plan-guide::backdrop{background:#030d15cf}.guide-top{display:flex;justify-content:space-between;align-items:center;color:#d4ba96;font-size:12px;letter-spacing:.12em}.plan-guide button{font-family:inherit;cursor:pointer}.guide-top button{background:none;border:0;color:#f1f3ef;font-size:30px;width:44px;height:44px}.plan-guide h2{font-size:25px;line-height:1.7;margin:18px 0}.guide-note{font-size:14px;line-height:1.8;color:#adbdc3}.guide-options{display:grid;gap:12px;margin:24px 0}.guide-options button{display:block;width:100%;padding:18px 16px;background:#ffffff08;border:1px solid #adbdc35c;border-radius:8px;color:#f1f3ef;text-align:left}.guide-options button:hover,.guide-options button:focus-visible{border-color:#d4ba96;background:#d4ba9615}.guide-options strong{display:block;font-size:16px;font-weight:500;line-height:1.7}.guide-options span{display:block;font-size:14px;color:#adbdc3;margin-top:6px;line-height:1.7}.guide-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:22px;font-size:12px;color:#adbdc3}.guide-bottom button{background:none;color:#d4ba96;border:0;padding:12px 0;font-size:14px;text-align:left}.guide-result{padding:22px 18px;border:1px solid #d4ba9650;background:#ffffff05;margin:24px 0}.guide-result h3{font-size:20px;font-weight:500;line-height:1.7}.guide-price{font-size:26px;color:#d4ba96}.guide-result p:not(.guide-price){font-size:15px}.guide-instagram{display:block;text-align:center;border:1px solid #d4ba9680;padding:15px 10px;margin-top:16px;font-size:14px}.plan-guide .button{width:100%;justify-content:center}.plan-guide :focus-visible{outline:2px solid #d4ba96;outline-offset:3px}
/* 回答履歴と選択状態を読みやすく表示します。 */
.guide-options button[aria-pressed=true]{border-color:#d4ba96;background:#d4ba9615}.guide-summary{margin:20px 0;font-size:14px}.guide-summary summary{cursor:pointer;color:#d4ba96;padding:12px 0}.guide-summary dl div{display:block;padding:12px 0;border-top:1px solid #ffffff25}.guide-summary dt{color:#adbdc3;font-size:13px}.guide-summary dd{white-space:normal;margin-top:6px;font-size:15px}.guide-result hr{border:0;border-top:1px solid #ffffff25;margin:24px 0}
/* 上部メニューと料金欄のプラン案内ボタンです。 */
header{position:sticky;top:0;z-index:20;background:#091d26f5;backdrop-filter:blur(12px);gap:12px}html{scroll-padding-top:100px}.header-actions{display:flex;align-items:center;gap:12px}.header-actions .header-cta{font-size:12px;white-space:nowrap}.mobile-menu summary{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;width:22px;height:1px;background:#f1f3ef}.mobile-menu summary:focus-visible{outline:2px solid #d4ba96;outline-offset:2px}.mobile-menu nav{display:flex;position:absolute;right:12px;left:12px;top:calc(100% + 8px);flex-direction:column;gap:0;padding:10px 20px;background:#102b35;border:1px solid #adbdc350;box-shadow:0 15px 40px #0005;border-radius:8px}.mobile-menu:not([open]) nav{display:none}.mobile-menu nav a{font-size:15px;color:#f1f3ef;padding:16px 0;border-bottom:1px solid #ffffff20}.mobile-menu nav a:last-child{border-bottom:0}.mobile-menu nav small{margin-right:14px;color:#d4ba96}.plan-guide-entry{margin:28px 0 0;padding:24px 18px;border:1px solid #17313b25;text-align:center}.plan-guide-entry>p:first-child{font-size:15px;margin-bottom:14px}.plan-guide-entry button{font-family:inherit;border:0;cursor:pointer;width:100%;max-width:350px;justify-content:center;gap:14px;font-size:14px}.plan-guide-entry .note{margin-top:12px}@media(max-width:360px){header{padding-left:4%;padding-right:4%;gap:6px}.header-actions{gap:5px}.wordmark{font-size:24px}.wordmark span{font-size:9px;margin-left:3px}.header-actions .header-cta{font-size:11px}}

/* 選定写真を主役にし、スマホの縦の流れで作例を見せます。 */
.hero{position:relative;isolation:isolate;padding-top:0}.hero-image{position:absolute;z-index:-1;inset:0 0 auto;margin:0;border-radius:0;height:690px;min-height:0}.hero-image img{object-position:center top}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#091d2600 15%,#091d2644 35%,#091d26ef 69%,#091d26 98%)}.image-caption{display:none}.hero-copy{padding-top:345px;padding-bottom:26px}.hero-copy .eyebrow{margin-bottom:12px;font-size:11px}.hero h1{font-size:clamp(26px,7.2vw,37px);text-shadow:0 2px 15px #0005}.hero-bottom{width:100%}.story-photo{margin:32px 0 0}.story-photo img{width:100%;height:auto;max-height:430px;object-fit:cover;object-position:center 35%;display:block}.story-photo figcaption{font-size:14px;color:var(--muted);padding-top:10px}.works{padding-left:5%;padding-right:5%;background:#102732}.works h2,.works>.eyebrow,.works>p,.films>p{padding:0 2%}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.work-photo{display:block;background:#081820;overflow:hidden}.work-photo img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}.more-works{margin-top:22px}.more-works summary{cursor:pointer;list-style:none;padding:18px 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:16px;display:flex;justify-content:space-between}.more-works summary::-webkit-details-marker{display:none}.more-works[open] .photo-grid{margin-top:20px}.more-works[open] summary span{transform:rotate(45deg)}.film-grid{display:grid;gap:38px}.film-card video{display:block;width:100%;height:auto;max-height:600px;background:#050e13;object-fit:contain}.film-card h3{font-family:var(--serif);font-size:22px;font-weight:400;margin:16px 0 6px}.film-card p{font-size:16px;color:var(--muted);margin:0}.photo-open{overflow:hidden}.photo-viewer{width:calc(100% - 20px);max-width:520px;max-height:95dvh;padding:52px 12px 16px;background:#091d26;border:1px solid var(--line);color:var(--ink)}.photo-viewer::backdrop{background:#03090eeb}.photo-viewer img{display:block;max-width:100%;max-height:75dvh;width:auto;height:auto;margin:auto;object-fit:contain}.photo-viewer p{font-size:14px;margin:14px 8px 0}.viewer-close{position:absolute;right:10px;top:4px;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:32px;cursor:pointer}.more-works summary:focus-visible,.viewer-close:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:360px){.hero-copy{padding-top:300px}.hero-image{height:660px}}
