.site-header__nav ul{gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.site-header__nav a{color:var(--color-text);font-size:.95rem;font-weight:600}.site-header__nav a:hover{color:var(--color-purple);text-decoration:none}.mobile-menu{display:none}.mobile-menu__toggle{cursor:pointer;background:0 0;border:none;padding:.5rem}.mobile-menu__icon{flex-direction:column;justify-content:space-between;width:1.4rem;height:1rem;display:flex}.mobile-menu__icon span{background:var(--color-purple);border-radius:2px;height:2px;transition:transform .2s,opacity .2s;display:block}.mobile-menu__icon.is-open span:first-child{transform:translateY(.45rem)rotate(45deg)}.mobile-menu__icon.is-open span:nth-child(2){opacity:0}.mobile-menu__icon.is-open span:nth-child(3){transform:translateY(-.45rem)rotate(-45deg)}.mobile-menu__panel{z-index:40;background:#fff;padding:1.5rem 1.25rem;position:fixed;inset:5rem 0 0}.mobile-menu__panel ul{margin:0;padding:0;list-style:none}.mobile-menu__panel li+li{border-top:1px solid var(--color-border)}.mobile-menu__panel a{color:var(--color-text);padding:1rem .25rem;font-weight:600;display:block}.mobile-menu__panel a:hover{color:var(--color-purple);text-decoration:none}@media (width<=767px){.site-header__nav{display:none}.mobile-menu{display:block}}:root{--color-purple:#6155f5;--color-orange:#ff8d28;--color-purple-soft:#6155f514;--color-orange-soft:#ff8d2814;--color-navy:#110e18;--color-navy-light:#1e1830;--color-accent:#6155f5;--color-accent-strong:#4a3fd4;--color-bg:#fff;--color-bg-soft:#f7f5fc;--color-text:#18141f;--color-text-muted:#6e667a;--color-border:#e6e0f0;--max-width:72rem;--content-width:44rem;--font-sans:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;line-height:1.85}body{flex-direction:column;min-height:100dvh;margin:0;font-size:1rem;display:flex}main{flex:1}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-strong);text-decoration:underline}a.button:hover,a.card:hover{color:inherit;text-decoration:none}::selection{color:var(--color-text);background:#6155f52e}img{max-width:100%;height:auto}.container{max-width:var(--max-width);margin-inline:auto;padding-inline:1.25rem}.site-header{z-index:50;backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);background:#fffffff0;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;height:5rem;display:flex}.site-header__brand{min-width:0;color:var(--color-navy);flex-shrink:1;align-items:center;gap:1.25rem;display:inline-flex}.site-header__logo{object-fit:contain;object-position:left center;flex-shrink:1;width:auto;max-width:min(15rem,50vw);height:3rem;display:block}.site-header__brand-text{letter-spacing:.04em;white-space:nowrap;color:var(--color-text-muted);flex-shrink:0;font-size:.6875rem;font-weight:600;line-height:1.2}.site-header__brand:hover{opacity:.8;text-decoration:none}.site-footer{background:var(--color-navy);color:#c8bfd8;margin-top:5rem;padding:3rem 0 2rem;font-size:.9rem}.site-footer a{color:#c8bfd8}.site-footer a:hover{color:var(--color-orange);text-decoration:none}.site-footer__grid{flex-wrap:wrap;justify-content:space-between;gap:2.5rem;margin-bottom:2rem;display:flex}.site-footer__brand{color:#fff;margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.site-footer__tagline{color:#8a8099;max-width:26rem;margin:0}.site-footer__nav ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.site-footer__copy{color:#6e647a;border-top:1px solid #6155f533;padding-top:1.25rem;font-size:.8rem}.hero{background-color:var(--color-navy);color:#fff;background-image:linear-gradient(90deg,#110e18e0 0%,#110e189e 45%,#110e1847 100%),url(/images/bg_top.png);background-position:50%;background-repeat:no-repeat;background-size:cover;padding:5.5rem 0 5rem;position:relative}.hero__title{letter-spacing:.03em;margin:0 0 1.25rem;font-size:clamp(1.7rem,4.5vw,2.6rem);font-weight:700;line-height:1.5}.hero__lead{color:#c8bfd8;max-width:40rem;margin:0 0 2rem;font-size:clamp(.95rem,2vw,1.05rem)}.hero__actions{flex-wrap:wrap;gap:.75rem;display:flex}.button{border-radius:999px;padding:.7rem 1.6rem;font-size:.95rem;font-weight:600;transition:filter .15s,box-shadow .15s,opacity .15s;display:inline-block}.button:hover{filter:brightness(1.06);text-decoration:none}.button--primary{background:var(--color-purple);color:#fff;box-shadow:0 4px 20px #6155f559}.button--primary:hover{color:#fff}.button--ghost{color:#fff;background:#ffffff0f;border:1px solid #ffffff73}.button--ghost:hover{color:#fff;background:#ffffff1f;border-color:#ffffffb3}.button--accent{background:var(--color-orange);color:#fff;box-shadow:0 4px 16px #ff8d2840}.button--accent:hover{color:#fff}.section{padding:4rem 0 0}.section__title{color:var(--color-purple);margin:0 0 .5rem;font-size:1.5rem}.section__lead{color:var(--color-text-muted);max-width:44rem;margin:0 0 2rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem;display:grid}.card{border:1px solid var(--color-border);color:var(--color-text);background:#fff;border-radius:.75rem;padding:1.5rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:block}.card:hover{border-color:#6155f573;text-decoration:none;transform:translateY(-1px);box-shadow:0 8px 28px #6155f51f}.card__title{color:var(--color-navy);margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.card__body{color:var(--color-text-muted);margin:0;font-size:.85rem}.card__meta{color:var(--color-text-muted);align-items:center;gap:.75rem;margin:0 0 .5rem;font-size:.8rem;display:flex}.card__category{background:var(--color-purple-soft);color:var(--color-accent-strong);border:1px solid #6155f52e;border-radius:999px;padding:.05rem .7rem;font-weight:600}.page-header{background:var(--color-bg-soft);border-bottom:1px solid var(--color-border);padding:3.5rem 0 3rem}.page-header--blog{padding-top:2rem}.page-header__title{color:var(--color-navy);margin:0 0 .75rem;font-size:clamp(1.5rem,3.5vw,2.1rem);line-height:1.5}.page-header__title:after{content:"";background:var(--color-purple);border-radius:999px;width:3rem;height:3px;margin-top:.85rem;display:block}.page-header__description{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.75}.page-header__meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;font-size:.85rem;display:flex}.blog-eyecatch{margin:2rem 0 0}.blog-eyecatch img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--color-border);border-radius:.5rem;width:100%;display:block;box-shadow:0 1rem 2.5rem #110e1814}.prose{max-width:var(--content-width);margin:3rem auto 0;padding-inline:1.25rem}.prose h1{color:var(--color-navy);font-size:1.6rem;line-height:1.5}.prose--blog>h1:first-child{display:none}.prose h2{color:var(--color-navy);border-bottom:2px solid var(--color-purple);margin-top:3rem;padding-bottom:.5rem;font-size:1.35rem;line-height:1.5}.prose h3{color:var(--color-navy);margin-top:2rem;font-size:1.1rem}.prose.prose--blog>p:not(.notice):not(.page-header__meta){margin-block:3rem}.prose.prose--blog h2{margin-top:9rem}.prose.prose--blog h3{margin-top:6rem;font-size:1.25rem;line-height:1.5}.prose.prose--blog strong{background:#fff3b0;border-radius:.15em;padding:.05em .15em;font-weight:700}.prose table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.6rem .85rem}.prose th{background:var(--color-bg-soft);color:var(--color-navy);white-space:nowrap}.prose blockquote{border-left:4px solid var(--color-purple);background:var(--color-purple-soft);color:var(--color-text-muted);margin:1.5rem 0;padding:.75rem 1.25rem}.prose :not(pre)>code{background:var(--color-bg-soft);border-radius:.25rem;padding:.1rem .35rem;font-size:.9em}.prose pre{border-radius:.5rem;margin:1.5rem 0;padding:1rem 1.25rem;font-size:.875rem;line-height:1.7;overflow-x:auto}.prose pre code{white-space:pre-wrap;word-break:break-word;background:0 0;padding:0}.prose hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.prose .service-logo{max-width:min(100%,280px);height:auto;margin-block:2.5rem 1rem;display:block}.prose.prose--blog ul.contains-task-list{padding-left:0;list-style:none}.prose.prose--blog .task-list-item{align-items:flex-start;gap:.5rem;list-style:none;display:flex}.prose.prose--blog .task-list-item input[type=checkbox]{display:none}.prose.prose--blog .task-list-item:before{content:"✅";line-height:inherit;flex-shrink:0}.prose.prose--blog .blog-author{border:1px solid var(--color-border);border-left:4px solid var(--color-purple);background:var(--color-bg-soft);border-radius:.75rem;margin-top:4rem;margin-bottom:1.5rem;padding:1.5rem 1.75rem}.prose.prose--blog .blog-author__title{color:var(--color-text-muted);letter-spacing:.04em;border-bottom:none;margin:0 0 .75rem;padding-bottom:0;font-size:.85rem;font-weight:700}.prose.prose--blog .blog-author__name{flex-direction:column;gap:.25rem;margin:0 0 .75rem;display:flex}.prose.prose--blog .blog-author__role{color:var(--color-text-muted);font-size:.8rem;font-weight:500}.prose.prose--blog .blog-author__person{color:var(--color-navy);font-size:1rem;font-weight:700}.prose.prose--blog .blog-author__bio{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.85}.prose.prose--blog .blog-author__link{margin:1rem 0 0;font-size:.875rem}.cta{background:var(--color-bg-soft);border:1px solid var(--color-border);border-left:4px solid var(--color-orange);max-width:var(--content-width);text-align:center;border-radius:.75rem;margin:3.5rem auto 0;padding:2rem}.cta__title{color:var(--color-navy);margin:0 0 .75rem;font-size:1.15rem}.cta__body{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.95rem}.post-list{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.notice{background:var(--color-orange-soft);color:#8a4a20;border:1px solid #ff8d2847;border-radius:.5rem;margin:1.5rem 0;padding:.75rem 1rem;font-size:.85rem}@media (width<=767px){.hero{padding:4rem 0 3.5rem}}
