/* Shared inner-page and extended homepage composition */
.section-pad{padding:120px 0}.section-heading{margin-bottom:58px}.section-heading h2{font-size:clamp(38px,4.4vw,62px);line-height:1.12;letter-spacing:-.045em;margin:0;font-weight:600}.section-heading.split{display:grid;grid-template-columns:1fr .62fr;gap:90px;align-items:end}.section-heading.split>p{margin:0;color:var(--muted);font-size:15px;max-width:480px}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--red)}

.page-hero{position:relative;min-height:78svh;display:flex;align-items:flex-end;overflow:hidden;background:#171717;color:white}.page-hero-media{position:absolute;inset:0;overflow:hidden;will-change:transform}.page-hero-media img{width:100%;height:108%;object-fit:cover;filter:saturate(.78) contrast(1.06);transform:scale(1.03)}.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.88),rgba(10,10,10,.56) 48%,rgba(10,10,10,.24)),linear-gradient(0deg,rgba(10,10,10,.7),transparent 55%)}.page-hero-content{position:relative;z-index:2;padding:190px 0 90px}.page-hero-content h1{font-size:clamp(52px,6.2vw,90px);line-height:1.1;letter-spacing:-.055em;margin:0;max-width:980px;font-weight:600}.page-hero-content h1 em{font-style:normal;color:#ffd6d9;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:5px;text-underline-offset:10px}.page-hero-content>p{max-width:650px;margin:28px 0 0;color:rgba(255,255,255,.78);font-size:17px}.page-hero-mark{position:absolute;z-index:1;right:4vw;bottom:-.13em;font-family:"Noto Sans JP",sans-serif;font-size:24vw;font-weight:700;line-height:1;color:rgba(255,255,255,.07);pointer-events:none}.page-hero-services .page-hero-media img{object-position:center 33%}.page-hero-contact .page-hero-media img{object-position:center 48%}@media(min-width:761px){.page-hero-services .page-hero-content h1{font-size:clamp(50px,5.25vw,76px);max-width:1120px;line-height:1.08;letter-spacing:-.045em}}

.home-journey{padding:92px 0;background:#171717;color:#fff;overflow:hidden}.home-journey-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}.home-journey-title h2{font-size:clamp(36px,4vw,58px);line-height:1.08;letter-spacing:-.045em;margin:0}.home-journey-flow{border-top:1px solid rgba(255,255,255,.18)}.flow-step{display:grid;grid-template-columns:46px 1fr auto;gap:18px;align-items:center;min-height:76px;border-bottom:1px solid rgba(255,255,255,.14)}.flow-step>span{font-size:11px;color:#f2aab0}.flow-step div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.flow-step strong{font-size:14px;letter-spacing:.08em}.flow-step small{font-family:"Noto Sans JP";color:rgba(255,255,255,.52)}.flow-step>i{font-size:13px;color:rgba(255,255,255,.38)}

.home-services{background:#fff}.home-service-list{border-top:1px solid var(--line)}.home-service-row{display:grid;grid-template-columns:64px 48px 1fr 54px;gap:20px;align-items:center;min-height:108px;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}.home-service-row:hover{background:var(--paper);padding-inline:16px}.home-service-number{font-size:11px;font-weight:800;color:var(--red)}.home-service-row>i{font-size:20px;color:#8c837b}.home-service-row>div{display:grid;gap:4px}.home-service-row strong{font-family:"Noto Sans JP";font-size:20px}.home-service-row small{font-size:13px;color:var(--muted)}.home-service-arrow{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.25s}.home-service-row:hover .home-service-arrow{background:var(--red);color:#fff;border-color:var(--red);transform:rotate(5deg)}.home-services-cta{display:flex;justify-content:flex-end;margin-top:34px}

.home-manifesto{position:relative;min-height:660px;display:flex;align-items:center;overflow:hidden;color:#fff;background:#171717}.home-manifesto-media,.home-manifesto-overlay{position:absolute;inset:0}.home-manifesto-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.72) contrast(1.03)}.home-manifesto-overlay{background:linear-gradient(90deg,rgba(12,12,12,.9) 0%,rgba(12,12,12,.76) 37%,rgba(12,12,12,.38) 68%,rgba(12,12,12,.12) 100%),linear-gradient(0deg,rgba(12,12,12,.38),transparent 50%)}.home-manifesto-copy{position:relative;z-index:2;padding:110px 0 96px;max-width:1220px}.home-manifesto-copy h2{font-family:"Manrope","Noto Sans JP",sans-serif;font-size:clamp(40px,4.15vw,58px);line-height:1.12;letter-spacing:-.045em;font-weight:600;margin:0;max-width:760px;text-wrap:balance}.home-manifesto-copy h2 em{font-style:normal;color:#f3c6ca}.home-manifesto-copy p{max-width:590px;color:rgba(255,255,255,.74);margin:24px 0 32px;font-size:16px;line-height:1.75}

.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.story-copy h2{font-size:clamp(40px,4.8vw,66px);line-height:1.12;letter-spacing:-.048em;margin:0 0 32px;font-weight:600}.rich-copy{display:grid;gap:16px}.rich-copy p{margin:0;color:var(--muted);font-size:15px}.story-media{margin:0;position:relative;min-height:680px;border-radius:var(--radius);overflow:hidden}.story-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 22%}.story-media figcaption{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:center;gap:18px;min-height:54px;background:rgba(247,243,236,.9);backdrop-filter:blur(12px);border-radius:14px;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.14em}

.philosophy-section{padding:130px 0;background:#161616;color:#fff;overflow:hidden}.philosophy-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px;align-items:center}.philosophy-symbol{display:flex;flex-direction:column;font-family:"Noto Sans JP";font-size:180px;font-weight:700;line-height:.8;color:var(--red)}.philosophy-symbol span:last-child{margin-left:110px;color:#f1dedb}.philosophy-copy blockquote{font-family:"Noto Sans JP";font-size:clamp(30px,3.8vw,54px);line-height:1.4;letter-spacing:-.025em;margin:0}.philosophy-copy>p{max-width:720px;margin:28px 0;color:rgba(255,255,255,.66)}.philosophy-tags{display:flex;flex-wrap:wrap;gap:10px}.philosophy-tags span{padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:10px;letter-spacing:.1em}

.pillars-editorial{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pillar-editorial{background:var(--paper);padding:54px}.pillar-editorial-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:80px}.big-index{font-size:11px;font-weight:800;color:var(--red)}.pillar-editorial h3{font-size:clamp(30px,3.2vw,46px);line-height:1.12;letter-spacing:-.035em;margin:0 0 24px}.pillar-editorial p{color:var(--muted);margin:0;max-width:540px}.pillar-mantra{display:block;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);font-family:"Noto Sans JP";font-size:13px;color:#4f4944}

.journey-section{padding:120px 0;background:#b71925;color:#fff}.journey-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px}.journey-intro h2{font-size:clamp(38px,3.8vw,52px);line-height:1.12;letter-spacing:-.035em;margin:0}.journey-intro p{max-width:500px;margin:28px 0 0;color:rgba(255,255,255,.72)}.journey-track{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.25)}.journey-track li{display:grid;grid-template-columns:46px 1fr 90px;gap:20px;align-items:center;min-height:84px;border-bottom:1px solid rgba(255,255,255,.22)}.journey-track li>span{font-size:11px;color:#f3bdc1}.journey-track strong{letter-spacing:.08em}.journey-track small{font-family:"Noto Sans JP";text-align:right;color:rgba(255,255,255,.7)}

.value-list{border-top:1px solid var(--line)}.value-row{display:grid;grid-template-columns:54px 56px .75fr 1.25fr;gap:24px;align-items:center;min-height:112px;border-bottom:1px solid var(--line)}.value-number{font-size:11px;color:var(--red);font-weight:800}.value-row>i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:16px}.value-row h3{font-size:17px;letter-spacing:.04em}.value-row p{margin:0;color:var(--muted);font-size:14px}

.vision-section{padding:120px 0;background:#e8dfd4}.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.vision-card{min-height:560px;background:#171717;color:#fff;border-radius:var(--radius);padding:50px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.vision-card:before{content:"未来";position:absolute;right:-.15em;top:-.08em;font-family:"Noto Sans JP";font-size:220px;color:rgba(255,255,255,.04);font-weight:700}.vision-card h2{font-size:clamp(30px,3.3vw,46px);line-height:1.2;letter-spacing:-.035em;margin:0;position:relative}.vision-card p{position:relative;max-width:600px;margin:24px 0 0;color:rgba(255,255,255,.68);font-size:14px}.mission-panel{background:#fff;border-radius:var(--radius);padding:50px}.mission-panel ol{list-style:none;counter-reset:mission;margin:34px 0 0;padding:0}.mission-panel li{counter-increment:mission;display:grid;grid-template-columns:46px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;color:#56504b}.mission-panel li:before{content:"0" counter(mission);font-size:11px;color:var(--red);font-weight:800}

.promise-section{position:relative;min-height:720px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.promise-section>img,.promise-overlay{position:absolute;inset:0;width:100%;height:100%}.promise-section>img{object-fit:cover;object-position:center 50%}.promise-overlay{background:linear-gradient(90deg,rgba(8,8,8,.9),rgba(8,8,8,.62) 58%,rgba(8,8,8,.18))}.promise-copy{position:relative;z-index:1;padding-bottom:95px}.promise-copy h2{font-size:clamp(38px,4.8vw,66px);line-height:1.12;letter-spacing:-.045em;margin:0;max-width:1000px;font-weight:600}.promise-copy h2 em{font-style:normal;color:#ffc9cd}.promise-copy p{max-width:720px;color:rgba(255,255,255,.72);margin:28px 0 0}

.service-index{background:#fff}.service-index-head{display:grid;grid-template-columns:1fr .62fr;gap:90px;align-items:end;margin-bottom:55px}.service-index-head h2{font-size:clamp(38px,4.6vw,64px);line-height:1.12;letter-spacing:-.045em;margin:0}.service-index-head>p{margin:0;color:var(--muted)}.service-jump{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-jump a{min-height:190px;padding:26px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"num arrow" "jp jp" "name name";align-content:space-between;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s}.service-jump a:hover{background:var(--paper)}.service-jump a>span{grid-area:num;color:var(--red);font-size:11px;font-weight:800}.service-jump a>i{grid-area:arrow}.service-jump a>strong{grid-area:jp;font-family:"Noto Sans JP";font-size:23px;margin-top:30px}.service-jump a>small{grid-area:name;color:var(--muted);font-size:12px;margin-top:7px;line-height:1.4}

.services-story{background:var(--paper)}.service-chapter{padding:115px 0;border-top:1px solid var(--line);scroll-margin-top:100px}.service-chapter:nth-child(even){background:#eee7dd}.service-chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.service-chapter.is-reverse .service-visual{order:2}.service-visual{margin:0;min-height:680px;position:relative;border-radius:var(--radius);overflow:hidden;background:#ddd}.service-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82)}.service-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.58),transparent 50%)}.service-watermark{position:absolute;z-index:2;right:-.08em;bottom:-.08em;font-family:"Noto Sans JP";font-size:110px;font-weight:700;line-height:1;color:rgba(255,255,255,.15);white-space:nowrap}.service-visual figcaption{position:absolute;z-index:3;left:22px;bottom:22px;display:flex;align-items:center;gap:14px;color:#fff}.service-visual figcaption span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--red);font-size:12px;font-weight:800}.service-visual figcaption i{font-size:22px}.service-heading{display:grid;grid-template-columns:46px 1fr;gap:20px;align-items:start}.service-heading h2{font-size:clamp(34px,3.8vw,54px);line-height:1.12;letter-spacing:-.045em;margin:8px 0 0}.service-summary{font-size:16px;color:var(--muted);margin:28px 0}.service-fields{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.service-fields span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:11px}.service-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.service-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:64px;font-weight:800;font-size:13px}.service-details summary::-webkit-details-marker{display:none}.service-details summary i{transition:transform .25s}.service-details[open] summary i{transform:rotate(45deg)}.service-details ul{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.service-details li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:13px;color:#5c5651}.service-details li i{color:var(--red);margin-top:5px}.service-focus{display:grid;gap:5px;padding:20px 0}.service-focus span{font-size:10px;letter-spacing:.14em;color:var(--red);font-weight:800;text-transform:uppercase}.service-focus strong{font-size:14px}.service-closing,.service-disclaimer{margin:0 0 28px;color:var(--muted);font-size:13px}.service-disclaimer{padding:14px 16px;background:#fff;border-left:3px solid var(--red);font-size:12px}

.approach-section{padding:130px 0;background:#171717;color:#fff}.approach-grid{display:grid;grid-template-columns:1fr .8fr;gap:110px;align-items:end}.approach-copy h2{font-size:clamp(52px,6.4vw,90px);line-height:1.08;letter-spacing:-.04em;margin:0}.approach-copy em{font-style:normal;color:#f3aeb4}.approach-note>p{font-size:16px;color:rgba(255,255,255,.7);margin:0 0 34px}.approach-lines{display:grid;border-top:1px solid rgba(255,255,255,.18)}.approach-lines span{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:12px;letter-spacing:.08em}

.contact-section{background:var(--paper)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.contact-info{position:sticky;top:120px}.contact-info h2{font-size:clamp(38px,4.2vw,58px);line-height:1.12;letter-spacing:-.045em;margin:0}.contact-info>p{color:var(--muted);max-width:520px;margin:24px 0 40px}.contact-channels{border-top:1px solid var(--line)}.contact-channel{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center;min-height:86px;border-bottom:1px solid var(--line)}.channel-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff}.channel-icon.whatsapp{background:#e7f4e9;color:#197a32}.contact-channel>div{display:grid;gap:4px}.contact-channel small{font-size:12px;letter-spacing:.06em;color:var(--muted)}.contact-channel a{font-size:14px;font-weight:800;min-height:44px;display:flex;align-items:center}.consult-card{background:#fff;border-radius:var(--radius);padding:46px;box-shadow:0 24px 60px rgba(20,20,20,.08)}.consult-head>span{font-size:10px;letter-spacing:.15em;color:var(--red);font-weight:800}.consult-head h2{font-size:clamp(34px,3.6vw,50px);line-height:1.12;letter-spacing:-.04em;margin:13px 0}.consult-head p{margin:0;color:var(--muted);font-size:14px}.consult-form{display:grid;gap:22px;margin-top:38px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consult-form label{display:grid;gap:8px}.consult-form label>span{font-size:11px;font-weight:800;letter-spacing:.05em}.consult-form input,.consult-form select,.consult-form textarea{width:100%;border:1px solid rgba(23,23,23,.16);background:#faf8f4;border-radius:12px;padding:14px 15px;font:inherit;font-size:14px;color:var(--ink);outline:none;transition:border .2s,box-shadow .2s}.consult-form input,.consult-form select{min-height:50px}.consult-form textarea{resize:vertical;min-height:140px}.consult-form input:focus,.consult-form select:focus,.consult-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(183,25,37,.1)}.consult-form [aria-invalid="true"]{border-color:#b71925;background:#fff4f4}.form-status{min-height:24px;font-size:13px;color:var(--red)}.form-submit{border:0;cursor:pointer;justify-self:start}

.location-section{padding:120px 0;background:#171717;color:#fff}.location-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:center}.location-copy h2{font-size:clamp(44px,5.4vw,74px);line-height:1.08;letter-spacing:-.045em;margin:0}.location-copy p{color:rgba(255,255,255,.68);margin:25px 0 32px;max-width:430px}.location-visual{height:570px;position:relative;border-radius:var(--radius);overflow:hidden;background:#e8e5df;box-shadow:0 24px 70px rgba(0,0,0,.22)}.location-map iframe{display:block;width:100%;height:100%;border:0}

@media(max-width:1050px){
 .section-heading.split,.service-index-head{grid-template-columns:1fr;gap:28px}.page-hero{min-height:70svh}.page-hero-content{padding-top:160px}.home-journey-grid,.journey-layout,.approach-grid{grid-template-columns:1fr;gap:55px}.home-journey-flow{max-width:none}.story-grid{gap:45px}.story-media{min-height:600px}.philosophy-grid{grid-template-columns:.55fr 1.45fr;gap:50px}.philosophy-symbol{font-size:130px}.philosophy-symbol span:last-child{margin-left:70px}.pillar-editorial{padding:40px}.journey-layout{grid-template-columns:1fr 1.15fr}.vision-grid{grid-template-columns:1fr}.vision-card{min-height:430px}.service-jump{grid-template-columns:repeat(2,1fr)}.service-chapter-grid{gap:45px}.service-visual{min-height:600px}.service-details ul{grid-template-columns:1fr}.contact-layout{grid-template-columns:.8fr 1.2fr;gap:45px}.consult-card{padding:34px}.location-grid{gap:45px}
}
@media(max-width:760px){
 .section-pad{padding:82px 0}.section-heading{margin-bottom:38px}.section-heading h2{font-size:39px}.page-hero{min-height:720px}.page-hero-content{padding:150px 0 72px}.page-hero-content h1{font-size:clamp(42px,12vw,59px)}.page-hero-content>p{font-size:14px}.page-hero-mark{font-size:52vw;right:-.12em}.home-journey{padding:76px 0}.home-journey-grid{gap:40px}.home-journey-title h2{font-size:39px}.flow-step{grid-template-columns:38px 1fr auto}.flow-step div{display:grid;justify-content:start;gap:0}.home-service-row{grid-template-columns:42px 34px 1fr 42px;gap:10px;min-height:96px}.home-service-row>i{font-size:16px}.home-service-row strong{font-size:17px}.home-service-row small{font-size:12px}.home-services-cta{justify-content:stretch}.home-services-cta .button{width:100%}.home-manifesto{min-height:640px}.home-manifesto-copy{padding:88px 0 72px}.home-manifesto-copy h2{font-size:34px;line-height:1.18;max-width:100%}.home-manifesto-copy p{font-size:15px;line-height:1.7;max-width:100%}.story-grid{grid-template-columns:1fr;gap:45px}.story-copy h2{font-size:41px}.story-media{min-height:520px}.philosophy-section{padding:90px 0}.philosophy-grid{grid-template-columns:1fr;gap:48px}.philosophy-symbol{font-size:110px;flex-direction:row}.philosophy-symbol span:last-child{margin:0 0 0 -10px}.philosophy-copy blockquote{font-size:31px}.pillars-editorial{grid-template-columns:1fr}.pillar-editorial{padding:32px 24px}.pillar-editorial-head{margin-bottom:48px}.journey-section{padding:88px 0}.journey-layout{grid-template-columns:1fr;gap:48px}.journey-intro h2{font-size:40px}.journey-track li{grid-template-columns:38px 1fr 62px}.value-row{grid-template-columns:36px 44px 1fr;gap:12px;padding:20px 0}.value-row p{grid-column:2/-1}.vision-section{padding:82px 0}.vision-card,.mission-panel{padding:28px;border-radius:20px}.vision-card{min-height:440px}.promise-section{min-height:760px}.promise-copy{padding-bottom:75px}.promise-copy h2{font-size:28px;line-height:1.28;letter-spacing:-.03em}.service-index-head{margin-bottom:38px}.service-index-head h2{font-size:40px}.service-jump{grid-template-columns:1fr}.service-jump a{min-height:150px}.service-chapter{padding:82px 0}.service-chapter-grid{grid-template-columns:1fr;gap:38px}.service-chapter.is-reverse .service-visual{order:0}.service-visual{min-height:510px}.service-watermark{font-size:76px}.service-heading h2{font-size:38px}.service-details ul{grid-template-columns:1fr}.approach-section{padding:90px 0}.approach-copy h2{font-size:54px}.contact-layout{grid-template-columns:1fr;gap:52px}.contact-info{position:static}.consult-card{padding:26px;border-radius:20px}.form-grid{grid-template-columns:1fr}.form-submit{width:100%}.location-section{padding:88px 0}.location-grid{grid-template-columns:1fr;gap:38px}.location-copy h2{font-size:52px}.location-visual{height:420px}
}
@media(max-width:430px){
 .location-copy h2{font-size:42px}.location-visual{height:360px;border-radius:18px}.home-service-row{grid-template-columns:34px 1fr 42px}.home-service-row>i{display:none}.service-heading{grid-template-columns:1fr;gap:10px}.service-heading h2{font-size:34px;line-height:1.16}.service-visual{min-height:440px}.page-hero-content h1{font-size:43px}.story-media{min-height:460px}
}
@media(prefers-reduced-motion:reduce){.page-hero-media{transform:none!important}.home-service-row,.home-service-arrow,.service-details summary i{transition:none!important}}

/* --- Rich section atmosphere & motion depth --- */
.page-hero:after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 24%,rgba(255,255,255,.045) 24% 24.1%,transparent 24.1% 74%,rgba(255,255,255,.04) 74% 74.1%,transparent 74.1%),linear-gradient(0deg,transparent 0 66%,rgba(255,255,255,.04) 66% 66.1%,transparent 66.1%);background-size:100% 100%;opacity:.7}.page-hero-content{z-index:3}

.home-journey,.home-services,.values-section,.service-index,.contact-section,.vision-section{position:relative;overflow:hidden}.home-journey>.container,.home-services>.container,.values-section>.container,.service-index>.container,.contact-section>.container,.vision-section>.container{position:relative;z-index:2}
.home-journey:before{content:"";position:absolute;inset:-15%;background:linear-gradient(rgba(23,23,23,.88),rgba(23,23,23,.92)),url("../images/hero.jpg") center/cover no-repeat;opacity:.54;transform:scale(1.08);pointer-events:none}
.home-services:before{content:"";position:absolute;width:44vw;height:44vw;max-width:680px;max-height:680px;right:-13%;top:12%;border-radius:50%;border:1px solid rgba(183,25,37,.06);box-shadow:0 0 0 54px rgba(183,25,37,.018),0 0 0 108px rgba(183,25,37,.012);pointer-events:none}
.values-section:before{content:"";position:absolute;width:46%;height:82%;left:-16%;top:7%;background:url("../images/portrait-1.jpg") center/cover no-repeat;opacity:.04;filter:grayscale(1);transform:rotate(-3deg);pointer-events:none}
.service-index:before{content:"道";position:absolute;right:-.08em;top:.08em;font-family:"Noto Sans JP";font-size:28vw;font-weight:700;line-height:1;color:rgba(183,25,37,.028);pointer-events:none}
.contact-section:before{content:"";position:absolute;inset:0 55% 0 0;background:url("../images/showcase-2.jpg") center/cover no-repeat;opacity:.035;filter:grayscale(1);pointer-events:none}
.vision-section:after{content:"未来";position:absolute;right:-.04em;bottom:-.15em;font-family:"Noto Sans JP";font-size:18vw;font-weight:700;line-height:1;color:rgba(183,25,37,.045);pointer-events:none}
.home-service-row{position:relative}.home-service-row:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;background:var(--red);transition:height .28s ease,top .28s ease}.home-service-row:hover:before{top:18%;height:64%}.home-service-arrow{transition:transform .28s ease,background .28s ease}.home-service-row:hover .home-service-arrow{transform:rotate(-35deg) scale(1.06)}
.flow-step i{transition:transform .25s ease,color .25s ease}.flow-step:hover i{transform:translateX(8px);color:#f3aeb4}.flow-step{transition:padding .25s ease,background .25s ease}.flow-step:hover{padding-inline:10px;background:rgba(255,255,255,.035)}
.service-details summary{padding-inline:2px;transition:padding .25s ease,color .25s ease}.service-details summary:hover{padding-inline:10px;color:var(--red)}
.service-chapter{position:relative;overflow:hidden}
.pillar-card{--lift:0px;transform:perspective(1000px) translateY(var(--lift)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d}.pillar-card:hover{--lift:-8px;transform:perspective(1000px) translateY(var(--lift)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.service-jump a{--lift:0px;transform:perspective(900px) translateY(var(--lift)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d}.service-jump a:hover{--lift:-4px;transform:perspective(900px) translateY(var(--lift)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.consult-card{position:relative;overflow:hidden}.consult-card:before{content:"相談";position:absolute;right:-.12em;top:-.18em;font-family:"Noto Sans JP";font-size:150px;font-weight:700;color:rgba(183,25,37,.035);pointer-events:none}.consult-card>*{position:relative;z-index:1}
.location-pin{transform:translate(-50%,-50%);transition:transform .25s ease,box-shadow .25s ease}.location-visual:hover .location-pin{transform:translate(-50%,calc(-50% - 5px));box-shadow:0 18px 46px rgba(23,23,23,.2)}

@media(max-width:760px){.home-services:before{width:80vw;height:80vw;right:-52%;top:9%}.service-index:before{font-size:62vw;right:-.18em;top:.12em}.values-section:before{width:90%;left:-55%}.contact-section:before{inset:0 20% 0 -35%}.page-hero:after{background:linear-gradient(90deg,transparent 0 32%,rgba(255,255,255,.045) 32% 32.3%,transparent 32.3%)}.vision-section:after{font-size:45vw}}
@media(prefers-reduced-motion:reduce){.pillar-card,.pillar-card:hover,.service-jump a,.service-jump a:hover{transform:none!important}.home-service-row,.flow-step,.location-pin{transition:none!important}}
