:root{--ink:#172c3b;--muted:#586671;--pink:#b56e84;--pale:#f7f3ef;--navy:#142c40}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#fff;font-family:"Yu Gothic","Meiryo",sans-serif;font-size:16px;line-height:1.95}a{color:inherit}a:focus-visible,video:focus-visible,[tabindex]:focus-visible{outline:3px solid #a85875;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}p+p{margin-top:20px}h1,h2,.signature{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h1{font-size:clamp(34px,4vw,62px);line-height:1.65;letter-spacing:.025em}h2{font-size:clamp(30px,3.3vw,46px);line-height:1.65;margin-bottom:28px}h3{font-size:19px;line-height:1.65}em{font-style:normal;color:#9b6377}.nav{max-width:1280px;margin:auto;padding:25px 5%;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:20px}.brand svg{width:44px;color:var(--pink)}.brand small{display:block;font-size:10px;letter-spacing:.18em}.navline{font-size:13px;text-decoration:none;border-bottom:1px solid #aeb7ba}.hero{max-width:1440px;margin:0 auto;position:relative;overflow:hidden;min-height:680px;padding:70px 7% 90px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:6%;background:radial-gradient(ellipse at 83% 40%,#eee2e5 0,transparent 56%),radial-gradient(ellipse at 15% 90%,#f8f4e9,transparent 60%),#fcfcfb;border-radius:28px}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.17em;margin-bottom:25px;color:#8e6877}.hero-copy>p:not(.eyebrow){margin-top:25px;color:var(--muted)}.signature{font-size:25px;margin-top:25px}.signature small{font-family:serif;font-size:12px;color:#697882;margin-left:16px;letter-spacing:.1em}.textlink{display:inline-block;margin-top:25px;text-decoration:none;font-size:13px;border-bottom:1px solid #b4b6b5;padding-bottom:4px}.portrait{z-index:1}.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%;border-radius:48% 48% 8px 8px;box-shadow:0 20px 60px #68535c12}.portrait figcaption{font-size:8px;letter-spacing:.14em;text-align:center;margin-top:18px}.hero-petal{position:absolute;width:420px;right:-150px;bottom:-170px;color:#b7889d;opacity:.15}.section{padding:110px max(6%,calc((100% - 1120px)/2))}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:center}.split p{color:var(--muted)}.lead{font-size:20px!important;line-height:1.9}.philosophy{background:radial-gradient(ellipse at 80% 70%,#eadfe544,transparent 55%),#f8f6f2;margin-top:55px;border-radius:50% 50% 0 0/28px 28px 0 0}.tv-wrap{max-width:330px;justify-self:center}.tv{background:linear-gradient(140deg,#233e56,#101c30);padding:17px 17px 15px;border-radius:23px;box-shadow:14px 24px 40px #172c3b24;border:1px solid #72808a}.screen{overflow:hidden;border-radius:13px;background:#091123;aspect-ratio:1248/1656}.screen video{display:block;width:100%;height:100%;object-fit:cover}.tv-chin{color:#c6ccd2;font-size:9px;display:flex;justify-content:space-between;gap:30px;padding-top:19px;letter-spacing:.1em}.tv-chin span{color:#efc0ce}.tv-wrap figcaption{text-align:center;margin-top:26px;font-size:12px;color:#766772}.section-head{text-align:center;margin-bottom:55px}.section-head p{color:var(--muted)}.section-head .eyebrow{color:#8e6877}.map{border:1px solid #e2e5e4;padding:32px;background:linear-gradient(135deg,#fafbf9,#f1f5f7);border-radius:22px}.map-goal{display:flex;justify-content:center;align-items:center;gap:20px;text-align:center;margin:5px 0 30px}.map-goal svg{width:75px;color:var(--pink)}.map-goal small{font-size:11px}.map-goal h3{font-size:25px}.map-goal p{font-size:12px;color:var(--muted)}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.journey article{position:relative;background:#fff;border-radius:12px;padding:15px}.journey article:not(:last-child):after{content:"→";position:absolute;right:-14px;top:50%;z-index:1;color:#927185}.step{font-size:10px;color:#8d677a;letter-spacing:.1em}.journey img{width:100%;aspect-ratio:4/3;object-fit:contain;margin:12px 0}.journey h3{font-size:16px}.journey p,.last-mile p{font-size:13px;color:var(--muted);margin-top:10px}.last-mile{display:grid;grid-template-columns:1fr 30px 1fr;gap:20px;background:#e4ebee;padding:28px;margin-top:25px;border-radius:12px}.path-arrow{align-self:center}.map-note{text-align:center;font-size:13px;margin-top:22px;color:var(--muted)}.services{background:#fbf8f6;position:relative}.service-group{margin-bottom:35px}.service-group>h3{font-size:14px;border-bottom:1px solid #dfd7d4;padding-bottom:12px;margin-bottom:15px}.petals{display:flex;flex-wrap:wrap;gap:12px}.petal{width:calc(20% - 10px);min-height:146px;text-align:center;padding:16px 6px;border-radius:50% 50% 10px 10px;background:#fff9}.petal svg{display:block;width:64px;margin:0 auto 10px;color:#ae7b8d}.petal span{display:block;font-size:12px;line-height:1.6}.small{font-size:12px;color:var(--muted)}.history{background:var(--navy);color:#fff;position:relative}.history:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 10% 10%,#7d8da922,transparent 60%)}.history .split{position:relative;align-items:start}.history .eyebrow{color:#d9aabd}.history p{color:#d0d9df}.history-list article{border-top:1px solid #80929e60;padding:25px 0}.history-list small{color:#d9aabd;font-size:11px}.history-list h3{font-family:"Yu Mincho",serif;font-weight:500;font-size:21px;margin:8px 0}.history-list p{font-size:14px}.history-list a{display:inline-block;color:#e9bccb;font-size:12px;margin-top:16px}.letter{text-align:center;background:radial-gradient(ellipse at 50% 70%,#f3e6e97a,transparent 65%),#fffdfb}.letter>p{color:var(--muted)}.letter-items{display:flex;justify-content:center;gap:20px;margin:32px 0;font-size:12px;color:#776571}.line-button{display:flex;align-items:center;justify-content:space-between;gap:30px;width:fit-content;max-width:100%;margin:0 auto 22px;padding:20px 35px;background:var(--navy);color:white;text-decoration:none;border-radius:5px;font-size:16px}.line-button:hover{background:#294858}footer{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:30px 6%;background:#f4f2ef;font-size:11px}footer a{font-size:10px}@media(min-width:1500px){.hero{margin-top:10px}}@media(max-width:760px){body{font-size:15px}.nav{padding:17px 6%}.brand{font-size:17px}.navline{font-size:11px}.hero{margin:0 12px;display:flex;flex-direction:column-reverse;padding:28px 25px 45px;gap:28px;border-radius:18px;min-height:0}.portrait{width:100%;max-width:340px}.portrait img{aspect-ratio:5/4;border-radius:45% 45% 8px 8px}.portrait figcaption{font-size:7px}.hero-copy{width:100%}.hero h1{font-size:32px}.hero .eyebrow{font-size:10px;margin-bottom:12px}.hero-petal{width:290px;bottom:-130px;right:-90px}.section{padding:65px 7%}.split{grid-template-columns:1fr;gap:35px}.philosophy{margin-top:25px}.lead{font-size:18px!important}.tv-wrap{width:240px}.section-head{margin-bottom:30px}h2{font-size:29px}.map{padding:20px 16px}.map-goal{gap:10px}.map-goal svg{width:43px;flex-shrink:0}.map-goal h3{font-size:18px}.map-goal p{font-size:10px}.journey{grid-template-columns:1fr;gap:23px}.journey article{display:grid;grid-template-columns:100px 1fr;gap:0 12px;align-items:center}.journey img{grid-column:1;grid-row:1/4;margin:0}.journey .step,.journey h3,.journey p{grid-column:2}.journey h3{font-size:15px}.journey p{font-size:12px;margin-top:4px}.journey article:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-25px}.last-mile{grid-template-columns:1fr;padding:20px;gap:10px}.path-arrow{transform:rotate(90deg);justify-self:center}.last-mile h3{font-size:17px}.petals{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:15px}.petal{flex:0 0 120px;scroll-snap-align:start;min-height:146px}.service-group>h3:after{content:"　横に送る →";font-size:9px;color:#8e6877;font-weight:400}.letter-items{gap:12px;flex-wrap:wrap;font-size:11px}.line-button{font-size:14px;padding:19px 23px}.desktop{display:none}footer{flex-direction:column;gap:10px;align-items:flex-start}.history .split{gap:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.portrait img{object-position:32% center;border-radius:24px;aspect-ratio:4/5}@media(max-width:760px){.portrait img{aspect-ratio:5/4;object-position:30% center;border-radius:16px}}
.brand-character{width:40px;height:40px;object-fit:contain;flex-shrink:0}@media(max-width:760px){.brand-character{width:36px;height:36px}}
:root{--ink:#101820;--muted:#303840}body{color:#101820}.eyebrow,.section-head .eyebrow,.step{color:#704051}em{color:#804359}.hero-copy>p:not(.eyebrow),.split p,.section-head p,.journey p,.last-mile p,.map-goal p,.map-note,.small,.letter>p{color:#303840}.petal span{color:#15191d;font-weight:600}.signature small,.portrait figcaption,.tv-wrap figcaption{color:#414149}.letter-items{color:#4b303b}.history p{color:#edf1f4}.history .eyebrow,.history-list small{color:#f2c6d5}.history-list a{color:#ffdae6}.service-group>h3:after{color:#704051}.petal svg{width:58px}

/* Review: white mascot, glossy LINE, navy philosophy, connected overview */
.brand-character-window{display:block;width:42px;height:45px;overflow:hidden;position:relative;background:white;flex-shrink:0}
.brand-character-window .brand-character{position:absolute;width:64px;height:64px;max-width:none;left:-10px;top:-5px;object-fit:contain}
.navline,.line-button,.hero-copy>.textlink{position:relative;overflow:hidden;background:linear-gradient(180deg,#ef565a 0%,#d6222e 48%,#b4091e 52%,#d71e32 100%);color:#fff!important;font-weight:800;border:1px solid #a60d21;border-radius:12px;box-shadow:inset 0 2px 0 #ffffff8a,0 5px 0 #8e1022,0 9px 18px #b40e2526;text-decoration:none;isolation:isolate}
.navline{padding:12px 24px;font-size:15px}
.line-button{min-height:76px;font-size:19px;padding:22px 44px}
.hero-copy>.textlink{padding:15px 25px;font-size:16px}
.navline::after,.line-button::after,.hero-copy>.textlink::after{content:"";position:absolute;inset:-40% auto -40% -60%;width:24%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:skewX(-25deg);animation:lineShine 5s ease-in-out infinite;pointer-events:none}
@keyframes lineShine{0%,35%{left:-60%}70%,100%{left:140%}}
.philosophy{background:#071321;border-radius:50% 50% 45% 45%/55px 55px 45px 45px;margin:65px 0 0;padding-top:120px;padding-bottom:120px}
.philosophy h2,.philosophy h2 em,.philosophy .split p,.philosophy .eyebrow,.philosophy figcaption{color:#fff}
.philosophy .tv{background:linear-gradient(145deg,#324b63,#162c43);border-color:#647a8f;box-shadow:0 22px 55px #0005}
.map-section{background:radial-gradient(ellipse at 10% 100%,#faedf2,transparent 48%),#fff}
.map{position:relative;overflow:hidden;border:none;background:#f0f5f8;border-radius:50% 50% 25px 25px/55px 55px 25px 25px;padding:48px 28px 30px}
.map-goal{position:relative;z-index:2;margin-bottom:35px}
.journey{position:relative;gap:22px}
.journey::before{content:"";position:absolute;left:5%;right:5%;top:47%;height:30px;background:#cadbe6;transform:rotate(-3deg);border-top:2px dashed #94acbe;border-bottom:2px dashed #94acbe}
.journey article{padding:8px;background:transparent;border-radius:0;z-index:1}
.journey img{mix-blend-mode:multiply;position:relative;aspect-ratio:4/3;filter:drop-shadow(0 12px 6px #3b5c7018)}
.journey article:nth-child(even){padding-top:40px}
.journey article:not(:last-child)::after{font-size:25px;color:#345871;right:-21px;top:48%}
.journey h3{font-size:17px}.journey p{font-size:13px}
.last-mile{position:relative;background:#dae6ed;border:1px solid #bed0dd;border-radius:20px;margin-top:35px}
.last-mile::before{content:"↓";position:absolute;right:10%;top:-38px;font-size:28px;color:#345871}
@media(max-width:760px){
.nav{gap:10px}.navline{padding:10px 12px;font-size:12px}.brand{gap:6px;font-size:16px}.brand-character-window{width:36px;height:40px}
.brand-character-window .brand-character{width:57px;height:57px;left:-9px;top:-4px}
.line-button{font-size:16px;padding:20px 24px;width:100%;min-height:70px}.hero-copy>.textlink{font-size:14px}
.philosophy{border-radius:50% 50% 45% 45%/24px 24px 22px 22px;padding-top:75px;padding-bottom:75px;margin-top:35px}
.map{padding:35px 12px 20px;border-radius:50% 50% 18px 18px/25px 25px 18px 18px}
.journey{grid-template-columns:1fr 1fr;gap:24px 14px}
.journey::before{left:45%;right:auto;top:12%;bottom:8%;height:auto;width:22px;transform:rotate(12deg)}
.journey article{display:block;padding:0!important}.journey img{width:100%;margin:8px 0;aspect-ratio:1.1}
.journey article:nth-child(even){transform:translateY(18px)}
.journey article:not(:last-child)::after{display:none}
.journey h3{font-size:14px}.journey p{font-size:12px;line-height:1.8}
.last-mile{margin-top:48px;padding:20px}.last-mile::before{right:25%}
}
@media(prefers-reduced-motion:reduce){.navline::after,.line-button::after,.hero-copy>.textlink::after{animation:none;display:none}}

.philosophy{position:relative;border-top-left-radius:0;border-top-right-radius:0;clip-path:polygon(0 65px,100% 0,100% 100%,0 100%);padding-top:135px}@media(max-width:760px){.philosophy{clip-path:polygon(0 30px,100% 0,100% 100%,0 100%);padding-top:90px}}
.service-group{--petal-fill:#bddce9;--petal-stroke:#598ba5;--petal-vein:#76a4bc}.service-group:nth-of-type(2){--petal-fill:#e2d6c2;--petal-stroke:#9d8b70;--petal-vein:#b4a38b}.petal svg{width:72px;height:72px;transform:rotate(12deg);filter:drop-shadow(2px 4px 3px #283f4c0c)}.petal:nth-child(3n+2) svg{transform:rotate(54deg)}.petal:nth-child(3n) svg{transform:rotate(-32deg)}.petal{background:transparent;border-radius:0}

.map:has(.five-scenes){background:#fff;border:1px solid #e0e8ed;border-radius:24px;padding:35px 12px 25px}.five-pan{overflow-x:auto}.five-pan img{width:100%;height:auto;max-width:none}.five-scenes figcaption{text-align:center;font-size:13px;font-weight:600;color:#172c3b;padding:20px 12px 0}.pan-help{display:none}@media(max-width:760px){.five-pan img{width:1000px}.five-scenes figcaption{font-size:12px}.pan-help{display:block;margin-top:12px;font-size:11px;color:#365a75}.map:has(.five-scenes){padding:25px 8px}}
.navline:hover,.navline:focus-visible,.line-button:hover,.line-button:focus-visible,.hero-copy>.textlink:hover,.hero-copy>.textlink:focus-visible{background:#0eaae1;border-color:#07759e;color:#061b29!important;box-shadow:inset 0 2px 0 #ffffff99,0 5px 0 #08769e,0 9px 18px #0eaae126}footer{background:#0eaae1;color:#082736;flex-wrap:wrap;gap:20px 35px;padding:35px 6%}footer .footer-brand-logo{width:270px;height:auto;max-width:100%;flex-shrink:0}footer a{color:#082736;font-weight:600}@media(max-width:760px){.navline{font-size:11px;max-width:180px;text-align:center;line-height:1.6}.nav{align-items:center}.brand{flex-shrink:0}footer .footer-brand-logo{width:240px}.hero-copy>.textlink{font-size:14px}}
.portrait img{object-position:68% center}@media(max-width:760px){.portrait img{aspect-ratio:1/1;object-position:center}}
.urgent-consult{background:#e8f5fb;border-top:1px solid #b6d8e9;border-bottom:1px solid #b6d8e9;text-align:center}.urgent-consult a{display:flex;justify-content:center;align-items:center;gap:30px;min-height:56px;padding:13px 20px;color:#102e42;font-size:15px;font-weight:700;text-decoration:none}.urgent-consult a:hover,.urgent-consult a:focus-visible{background:#d3ecf7;text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.urgent-consult a{font-size:13px;gap:16px;min-height:52px}}
