.site-button[data-astro-cid-vnzlvqnm]{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 24px;border:1px solid rgba(17,17,17,.78);border-radius:999px;color:#111111e6;text-decoration:none;font-family:inherit;font-size:15px;line-height:1;letter-spacing:.08em;background:#ffffff42;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease}.site-button[data-astro-cid-vnzlvqnm]:hover{opacity:1;color:#fff;border-color:#111111e6;background:#111111e6}.site-button__label[data-astro-cid-vnzlvqnm]:empty{display:none}.site-button__arrow[data-astro-cid-vnzlvqnm]{display:inline-block;transition:transform .2s ease}.site-button[data-astro-cid-vnzlvqnm]:hover .site-button__arrow[data-astro-cid-vnzlvqnm]{transform:translate(4px)}html{scroll-behavior:smooth}body.is-locked{position:fixed;width:100%;overflow:hidden}.portfolio-page{color:#1a1a1a;padding-bottom:5rem}.section-container{max-width:1300px;margin:0 auto;padding:4rem 2rem}#solution,#packages,#cases,#faq{scroll-margin-top:120px}.service-container{position:relative;max-width:none;padding:0 0 3.2rem}.hero-header{padding:0rem 2rem;text-align:center}.page-title{font-size:1.4rem;font-weight:600;display:inline-block;max-width:40vw;margin:0rem 0 0}.service-hero{position:relative;max-width:none}.service-card{position:relative;max-width:1300px;width:calc(100% - 4rem);margin:0 auto;z-index:1;min-height:560px;display:grid;place-items:center;align-content:center;gap:16px;padding:2rem;background:#ffffff38;text-align:center}.language-switcher{position:absolute;top:clamp(4.8rem,9vw,6.6rem);left:50%;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:16px;color:#11111157;font-size:14px;line-height:1;letter-spacing:.22em;white-space:nowrap;transform:translate(-50%)}.language-switcher a{text-decoration:none;transition:color .2s ease,opacity .2s ease}.language-switcher a+a:before{content:"|";margin-right:16px;color:#11111175;letter-spacing:0}.language-switcher a[aria-current=page]{color:#111111eb}.service-card__copy{display:grid;justify-items:center;gap:0}.service-card__image{margin:0;z-index:2}.service-card__image img{display:block;width:100%;object-fit:cover;border:1px solid rgba(17,17,17,.18);box-shadow:0 18px 36px #1111111f;filter:grayscale(1) contrast(1.08);transition:filter 1.1s ease,transform 1.1s ease,opacity 1.1s ease}.service-card__image:hover img{filter:grayscale(0) contrast(1);transform:scale(1.015);opacity:1}.service-card__photo{position:absolute;top:clamp(22%,30vw,32%);left:clamp(1rem,4vw,5rem);width:clamp(136px,16vw,220px);transform:translateY(-50%) rotate(-5deg)}.service-card__photo img{aspect-ratio:4 / 5;opacity:.76}.service-card__photo--two{position:absolute;right:clamp(1rem,4vw,5rem);bottom:auto;left:auto;top:clamp(64%,70vw,72%);width:clamp(172px,19vw,260px);transform:translateY(-35%) rotate(4deg)}.service-card__photo--two img{aspect-ratio:5 / 4;opacity:.78}.service-card__text{position:relative;z-index:1;max-width:660px;margin:0;font-size:clamp(1.2rem,2vw,1.8rem);font-weight:500;line-height:1.35;color:#111111e6}.portfolio-page[data-lang=en] .service-card__text{max-width:720px;font-size:clamp(1.12rem,1.78vw,1.82rem);line-height:1.42;letter-spacing:.035em}.portfolio-page[data-lang=zh] .service-card__text,.portfolio-page[data-lang=ja] .service-card__text{max-width:600px;font-size:clamp(1.2rem,2vw,1.9rem);line-height:1.55}.portfolio-page[data-lang=ja] .service-card__text{max-width:760px;font-size:clamp(1.08rem,1.78vw,1.68rem);line-height:1.62}.portfolio-page[data-lang=ja]{font-family:"Zen Old Mincho","Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",var(--font-copy)}.service-card__action{position:relative;z-index:1;margin-top:16px}.service-detail{max-width:1300px;width:calc(100% - 4rem);margin-left:auto;margin-right:auto;margin-top:2.6rem;display:grid;gap:3.8rem}.service-row{display:block;padding-top:1.4rem}.service-row__title{margin:0;font-size:1.12rem;line-height:1.4;font-weight:500;letter-spacing:.08rem;color:#111111db}.service-row__lead{max-width:760px;margin:.8rem 0 0;font-size:16px;line-height:1.9;color:#111111ad}.service-row__lead:first-of-type{margin-top:1rem}.section-note{max-width:820px;margin:1rem 0 0;font-size:16px;line-height:1.9;color:#111111ad}.capability-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(17,17,17,.18);border-left:1px solid rgba(17,17,17,.18)}.capability-item{min-height:230px;padding:18px 16px;border-right:1px solid rgba(17,17,17,.18);border-bottom:1px solid rgba(17,17,17,.18);background:#ffffff1f}.capability-item h3{margin:0;font-size:14px;line-height:1.45;font-weight:600;color:#111111e0}.capability-item p{margin:10px 0 0;font-size:13px;line-height:1.75;color:#1111118f}.pricing-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(17,17,17,.22);border-bottom:1px solid rgba(17,17,17,.22)}.pricing-card{display:grid;align-content:start;gap:24px;padding:26px 24px 30px;border-right:1px solid rgba(17,17,17,.18);background:#ffffff14}.pricing-card__content{min-height:510px;display:grid;align-content:start;gap:22px}.pricing-card__action{margin-top:2px}.pricing-card:last-child{border-right:0}.pricing-card__top{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start}.pricing-card__letter{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(17,17,17,.38);border-radius:50%;font-size:14px;color:#111111a8}.pricing-card h3{margin:0;font-size:19px;line-height:1.35;font-weight:500;color:#111111e6}.pricing-card__price{margin:6px 0 0;font-size:15px;letter-spacing:.03em;color:#11111194}.pricing-card__target{margin:0;font-size:13px;line-height:1.75;color:#111111a3}.pricing-card__target span,.pricing-card__group h4{display:block;margin:0 0 8px;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:#1111116b}.pricing-card__group h4{margin-bottom:10px}.pricing-card__group ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.pricing-card__group li{position:relative;padding-left:15px;font-size:13px;line-height:1.75;color:#111111a3}.pricing-card__group li:before{content:"–";position:absolute;left:0;color:#11111161}.faq-list{margin-top:18px;border-top:1px solid rgba(17,17,17,.18)}.faq-item{border-bottom:1px solid rgba(17,17,17,.18)}.faq-question{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;gap:14px;align-items:center;padding:18px 0;cursor:pointer;list-style:none}.faq-question::-webkit-details-marker{display:none}.faq-no{font-size:14px;letter-spacing:.12em;color:#11111173}.faq-title{font-size:16px;line-height:1.55;font-weight:500;color:#111111e0}.faq-icon{position:relative;width:16px;height:16px;justify-self:end;opacity:.5}.faq-icon:before,.faq-icon:after{content:"";position:absolute;left:0;top:50%;width:16px;height:1px;background:currentColor;transform:translateY(-50%);transition:transform .2s ease,opacity .2s ease}.faq-icon:after{transform:translateY(-50%) rotate(90deg)}.faq-item[open] .faq-icon:after{transform:translateY(-50%) rotate(0);opacity:0}.faq-answer{max-width:78ch;margin:-4px 0 18px 58px;font-size:14px;line-height:1.85;color:#111111ad}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .22s ease}.modal.is-open{opacity:1;pointer-events:auto}.modal__overlay{position:absolute;inset:0;background:#111111d1;backdrop-filter:blur(8px)}.modal__panel{position:relative;z-index:1;width:fit-content;max-width:calc(100vw - 48px);display:grid;align-items:center;padding:44px 38px 34px;border-radius:18px;background:#fff;box-shadow:0 28px 80px #00000047;color:#111111e6}.modal__close{position:absolute;top:24px;right:24px;width:30px;height:30px;border:0;background:transparent;color:#1111117a;font-size:32px;line-height:1;cursor:pointer;font-family:inherit}.modal__close:hover{color:#111111e6}.modal__content{display:grid;justify-items:center;gap:0px;text-align:center}.modal__qr{width:min(320px,calc(100vw - 124px));height:auto;display:block}.modal__note{margin:4px 0 0;font-size:13px;line-height:1.6;color:#111111c7}@media(max-width:640px){#solution,#packages,#cases,#faq{scroll-margin-top:60px}.section-container{padding:0rem 1.2rem}#cases{padding-top:3.2rem}.page-title{max-width:88vw}.service-container{padding-bottom:2.4rem}.service-hero{display:grid;justify-items:center}.service-card{order:1;width:calc(100% - 2rem);min-height:0;gap:14px;padding:6.7rem 1.2rem 1.2rem;overflow:hidden;align-content:start}.service-card__image img{filter:grayscale(0) contrast(1);opacity:1}.service-card__text{max-width:100%;font-size:1.12rem;line-height:1.45}.service-card__copy,.service-card__action{position:relative;z-index:1}.language-switcher{top:3.3rem;gap:11px;font-size:12px;letter-spacing:.16em}.portfolio-page[data-lang=ja] .service-card__text{font-size:1rem;line-height:1.58}.language-switcher a+a:before{margin-right:11px}.service-card__photo{position:relative;order:2;z-index:0;top:auto;left:auto;justify-self:start;width:clamp(96px,30vw,128px);margin:.4rem 0 0 1.6rem;transform:rotate(-5deg)}.service-card__photo--two{position:relative;order:3;z-index:0;inset:auto;justify-self:end;width:clamp(118px,38vw,158px);margin:-3.4rem 1.6rem 0 0;transform:rotate(4deg)}.service-card__action{order:0}.service-row__lead{font-size:14px;line-height:1.85}.service-detail{width:calc(100% - 2.4rem);margin-top:2.4rem;gap:3rem}.service-row{display:block}.capability-grid{grid-template-columns:1fr}.capability-item{min-height:0;padding:18px 16px 20px}.pricing-grid{grid-template-columns:1fr;gap:1.4rem;border-top:0;border-bottom:0}.pricing-card{gap:20px;padding:24px 20px 26px;border:1px solid rgba(17,17,17,.18);border-radius:8px;overflow-wrap:anywhere}.pricing-card:last-child{border-bottom:1px solid rgba(17,17,17,.18)}.pricing-card__content{min-height:0;gap:20px}.pricing-card__top{grid-template-columns:34px minmax(0,1fr);gap:12px}.pricing-card h3{font-size:18px}.pricing-card__price{font-size:13px}.pricing-card__action .site-button{width:fit-content;min-height:44px;padding:0 20px;gap:10px;font-size:14px}.faq-question{grid-template-columns:34px minmax(0,1fr) 24px;gap:12px;padding:16px 0}.faq-answer{margin-left:46px;font-size:13px;line-height:1.85}.faq-title{font-size:14px;line-height:1.55}.modal__panel{padding:40px 26px 30px;border-radius:16px}.modal__qr{width:min(300px,calc(100vw - 100px))}}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;padding:2rem 0}@media(min-width:641px)and (max-width:1100px){.service-card{min-height:620px;overflow:hidden}.service-card__photo{z-index:0;top:clamp(0%,2vw,5%);left:clamp(1.2rem,4vw,3rem);width:clamp(132px,22vw,180px);transform:rotate(-5deg)}.service-card__photo--two{z-index:0;top:auto;left:auto;right:clamp(1.2rem,4vw,3rem);bottom:clamp(1.2rem,6vw,4rem);width:clamp(164px,28vw,230px);transform:rotate(4deg)}}@media(max-width:1100px){.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-item{min-height:170px}.pricing-grid{grid-template-columns:1fr;gap:1.4rem;border-top:0;border-bottom:0}.pricing-card{border:1px solid rgba(17,17,17,.18);border-radius:8px}.pricing-card__content{min-height:0}.works-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.works-grid{grid-template-columns:1fr;gap:2.2rem;padding-top:1.4rem}}.work-card{display:block;cursor:pointer;position:relative;aspect-ratio:50/28;padding:0rem;transition:.3s;border-radius:.6rem;overflow:hidden;border:1px solid #D1D1D1;max-width:100%}.work-img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,1,.3,1);will-change:transform;backface-visibility:hidden}.work-overlay{position:absolute;inset:0;background:#000000c6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease;padding:2rem;z-index:2}.work-card:hover .work-overlay{opacity:1}.work-card:hover .work-img{transform:scale(1.02)}.work-url-text{font-size:1.1rem;font-weight:800;letter-spacing:.1em;display:block}.work-role-text{font-size:.8rem;letter-spacing:.1em;opacity:.9}.work-title-text{margin:1rem 0 0;font-size:16px;line-height:1.5;font-weight:600;color:#111111db}.work-desc-text{margin:.45rem 0 0;font-size:14px;line-height:1.9;color:#111111ad}.overlay-inner{text-align:center;color:#fff;display:grid;justify-items:center}.page-subtitle{font-weight:600;font-size:1.2rem;line-height:1.8;color:#1111118c;letter-spacing:.08em;margin:.4rem 0rem}.section-title{font-size:1.12rem;font-weight:500;letter-spacing:.08rem;color:#111111db}@media(max-width:640px){.capability-item,.pricing-card__content{min-height:0}.work-desc-text{font-size:14px;line-height:1.85}}
