﻿*{margin:0;padding:0;box-sizing:border-box}ul,ol{list-style:none}a{text-decoration:none;color:inherit;transition:all .3s ease}a:hover{opacity:.8}html{font-size:16px;scroll-behavior:smooth}body{font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;line-height:1.7;color:#2b2b2b;background-color:#fff;overflow-x:hidden}img{max-width:100%;height:auto;vertical-align:middle}.header__logo img,.footer__logo img{height:40px;width:auto}.footer__logo--small img{height:32px;margin-bottom:16px}.footer__text--small{margin-top:16px;line-height:1.8;font-size:.75rem;color:#999}.footer__line-link{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;padding:8px 16px;background-color:#06c755;border-radius:4px;font-weight:600;transition:all .3s ease;margin:4px 0}.footer__line-link::before{content:"💬";font-size:1rem}.footer__line-link:hover{opacity:.9}.footer__line-link{position:relative;overflow:hidden}.footer__line-link::before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%, -50%);transition:width .6s,height .6s}.footer__line-link:hover::before{width:300px;height:300px}.button,.button__outline,.is-style-outline .wp-block-button__link,.button__secondary,.button__primary,.wp-block-button__link{display:inline-block;padding:18px 60px;font-size:1.1rem;letter-spacing:.1em;border-radius:50px;text-decoration:none;cursor:pointer;transition:all .3s ease;border:none;text-align:center;line-height:1.2}.button:hover,.button__outline:hover,.button__secondary:hover,.button__primary:hover,.wp-block-button__link:hover{text-decoration:none}.button__primary,.wp-block-button__link{background-color:#c92a2a;color:#fff;box-shadow:0 10px 20px rgba(201,42,42,.3)}.button__primary:hover,.wp-block-button__link:hover{background-color:#a61e1e;transform:translateY(-3px);box-shadow:0 15px 30px rgba(201,42,42,.4);color:#fff}.button__secondary{background-color:#f59f00;color:#2b2b2b;box-shadow:0 10px 20px rgba(245,159,0,.3)}.button__secondary:hover{background-color:#d68500;transform:translateY(-3px);box-shadow:0 15px 30px rgba(245,159,0,.4);color:#2b2b2b}.button__outline,.is-style-outline .wp-block-button__link{background-color:rgba(0,0,0,0);color:#2b2b2b;border:2px solid #2b2b2b;padding:16px 58px;box-shadow:none}.button__outline:hover,.is-style-outline .wp-block-button__link:hover{background-color:#2b2b2b;color:#fff;transform:translateY(-3px);box-shadow:0 10px 20px rgba(0,0,0,.1)}.heading{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:700;line-height:1.3}.heading__main{font-size:3rem;color:#2b2b2b;margin-bottom:24px;position:relative}.heading__main::after{content:"";display:block;width:80px;height:4px;margin:0 auto;background:linear-gradient(90deg, #c92a2a, #f59f00);margin-top:16px}@media(max-width: 768px){.heading__main{font-size:2rem}}.heading__section{font-size:2.5rem;color:#2b2b2b;margin-bottom:40px;text-align:center;position:relative}.heading__section::before{content:"";display:block;width:60px;height:3px;background-color:#c92a2a;margin:0 auto 16px}@media(max-width: 768px){.heading__section{font-size:1.8rem;margin-bottom:32px}}.heading__sub{font-size:1.5rem;color:#2b2b2b;margin-top:48px;margin-bottom:24px;border-left:4px solid #c92a2a;padding-left:16px}@media(max-width: 768px){.heading__sub{font-size:1.3rem}}.heading__label{font-size:.875rem;color:#666;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;display:block}.header{position:fixed;top:0;left:0;width:100%;background-color:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);z-index:1000;transition:all .3s ease;box-shadow:0 2px 10px rgba(0,0,0,.05)}.header__container{max-width:1280px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:80px}@media(max-width: 768px){.header__container{height:60px;padding:0 20px}}@media(max-width: 640px){.header__container{padding:0 20px}}.header__logo{font-size:1.5rem;font-weight:700;color:#2b2b2b;letter-spacing:1px}.header__logo span{color:#c92a2a}@media(max-width: 768px){.header__logo{font-size:1.2rem}}@media(max-width: 768px){.header__nav{position:fixed;top:60px;left:-100%;width:100%;height:calc(100vh - 60px);background-color:hsla(0,0%,100%,.98);transition:all .3s ease}.header__nav.is-active{left:0}}.header__menu{display:flex;gap:32px}@media(max-width: 768px){.header__menu{flex-direction:column;padding:40px 20px;gap:0}}.header__menu-item{position:relative}.header__menu-item a{font-size:.95rem;font-weight:500;color:#2b2b2b;padding:8px 0;display:block;position:relative}.header__menu-item a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#c92a2a;transition:width .3s ease}.header__menu-item a:hover::after{width:100%}@media(max-width: 768px){.header__menu-item a{font-size:1.1rem;padding:20px 0;border-bottom:1px solid #f5f5f5}}.header__hamburger{display:none;width:30px;height:20px;flex-direction:column;justify-content:space-between;cursor:pointer}@media(max-width: 768px){.header__hamburger{display:flex}}.header__hamburger span{display:block;width:100%;height:2px;background-color:#2b2b2b;transition:all .3s ease}.header__hamburger.is-active span:nth-child(1){transform:translateY(9px) rotate(45deg)}.header__hamburger.is-active span:nth-child(2){opacity:0}.header__hamburger.is-active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, #2b2b2b 0%, #000000 100%);overflow:hidden}.hero::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 50%, rgba(201, 42, 42, 0.1), transparent 50%),radial-gradient(circle at 70% 50%, rgba(245, 159, 0, 0.1), transparent 50%)}.hero__container{position:relative;z-index:2;text-align:center;max-width:900px;padding:0 20px}@media(max-width: 640px){.hero__container{padding:0 20px}}.hero__title{font-size:4rem;font-weight:700;color:#fff;margin-bottom:24px;opacity:0;transform:translateY(30px);animation:fadeInUp 1s ease forwards}@media(max-width: 768px){.hero__title{font-size:2.5rem}}@media(max-width: 640px){.hero__title{font-size:2rem}}.hero__subtitle{font-size:1.3rem;color:#ccc;margin-bottom:40px;opacity:0;transform:translateY(30px);animation:fadeInUp 1s ease .3s forwards}@media(max-width: 768px){.hero__subtitle{font-size:1.1rem}}.hero__cta{display:flex;gap:20px;justify-content:center;opacity:0;transform:translateY(30px);animation:fadeInUp 1s ease .6s forwards}@media(max-width: 640px){.hero__cta{flex-direction:column;align-items:center}}.hero__scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);font-size:.875rem;color:#fff;cursor:pointer}.hero__scroll::after{content:"";display:block;width:1px;height:40px;background-color:#fff;margin:8px auto 0;animation:scrollLine 2s ease infinite}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes scrollLine{0%{height:0}50%{height:40px}100%{height:0}}.section{padding:100px 0}@media(max-width: 768px){.section{padding:60px 0}}.section__container{max-width:1200px;margin:0 auto;padding:0 20px}@media(max-width: 640px){.section__container{padding:0 20px}}.section--gray{background-color:#f5f5f5}.service-card{background-color:#fff;padding:40px 30px;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:all .3s ease;position:relative;overflow:hidden}.service-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg, #c92a2a, #f59f00);transform:scaleX(0);transform-origin:left;transition:transform .5s ease}.service-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.15)}.service-card:hover::before{transform:scaleX(1)}.service-card__icon{width:60px;height:60px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#c92a2a}.service-card__title{font-size:1.3rem;font-weight:700;color:#2b2b2b;margin-bottom:8px}.service-card__label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;display:block}.service-card__description{font-size:.95rem;color:#666;line-height:1.8}.service-grid-wrapper{max-width:900px;margin:0 auto}.service-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:30px}@media(max-width: 640px){.service-grid{grid-template-columns:1fr}}.blog-card{background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:all .3s ease;display:flex;flex-direction:column;height:100%}.blog-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.15);cursor:pointer}.blog-card:hover .blog-card__image img{transform:scale(1.1)}.blog-card:hover .blog-card__title{color:#c92a2a}.blog-card__image{width:100%;height:200px;min-height:200px;max-height:200px;overflow:hidden;background:#2b2b2b;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.blog-card__image::before{content:"";position:absolute;width:120px;height:120px;background-image:url("/wp-content/themes/legacylab/images/logo-white.svg");background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.5}.blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;position:relative;z-index:1;background:#f5f5f5}.blog-card__image:has(img){background:#f5f5f5}.blog-card__image:has(img)::before{display:none}.blog-card__image a{display:block;width:100%;height:100%}.blog-card__content{padding:24px;flex-grow:1;display:flex;flex-direction:column}.blog-card__category{display:inline-block;padding:4px 12px;font-size:.75rem;font-weight:600;color:#fff;background-color:#c92a2a;border-radius:3px;margin-bottom:12px;align-self:flex-start}.blog-card__category a{color:#fff;text-decoration:none;position:relative;z-index:2}.blog-card__title{font-size:1.1rem;font-weight:700;color:#2b2b2b;margin-bottom:12px;line-height:1.5;flex-grow:1}.blog-card__title a{color:inherit;text-decoration:none}.blog-card__title a::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.blog-card__title a:hover{color:inherit}.blog-card__date{font-size:.875rem;color:#999}.blog-grid{display:block;max-width:1200px;margin:0 auto;padding:0 20px}.wp-block-query{max-width:1200px;padding:0 20px;margin:0 auto}@media(max-width: 640px){.wp-block-query{padding:0}}.page-header-section{background:linear-gradient(135deg, #2b2b2b 0%, #000000 100%);padding-top:140px;padding-bottom:100px;margin:0}.page-header-section .page-header-content{text-align:center;max-width:900px;margin:0 auto;padding:0 20px}@media(max-width: 640px){.page-header-section .page-header-content{padding:0 20px}}.page-header-section .heading__main{color:#fff;font-size:3rem;font-weight:700;line-height:1.3;margin-bottom:16px}.page-header-section .heading__main .heading__label{display:block;font-size:.875rem;font-weight:600;letter-spacing:.15em;color:#ccc;margin-bottom:8px}.page-header-section .page-header-description{font-size:1.1rem;color:#ccc;max-width:700px;margin:0 auto}@media(max-width: 768px){.page-header-section{padding-top:120px;padding-bottom:80px}.page-header-section .heading__main{font-size:2rem}.page-header-section .heading__main .heading__label{font-size:.75rem}.page-header-section .page-header-description{font-size:1rem}}@media(max-width: 640px){.page-header-section{padding-top:100px;padding-bottom:60px}.page-header-section .heading__main{font-size:2rem}.page-header-section .heading__main .heading__label{font-size:.75rem}.page-header-section .page-header-description{font-size:.9375rem}}.blog-archive-section{padding-top:80px;padding-bottom:80px}@media(max-width: 768px){.blog-archive-section{padding-top:60px;padding-bottom:60px}}@media(max-width: 640px){.blog-archive-section{padding-top:40px;padding-bottom:40px}}.archive-header-section{margin:0;padding:0}.archive-header-section .archive-header-wrapper{padding:100px 20px}.archive-header-section .archive-header-label{margin-bottom:16px;font-size:.875rem;font-weight:600;letter-spacing:.15em}.archive-header-section .archive-description{margin-top:16px;font-size:1rem}.blog-archive-section{padding:80px 20px}@media(max-width: 768px){.blog-archive-section{padding:60px 20px}}@media(max-width: 640px){.blog-archive-section{padding:40px 20px}}.wp-block-query-title,.archive-header{position:relative;background-color:#2b2b2b;padding:100px 20px;text-align:center;margin:0 0 80px 0}.wp-block-query-title::before,.archive-header::before{content:"BLOG";display:block;font-size:.875rem;font-weight:600;letter-spacing:.15em;color:#ccc;margin-bottom:16px;position:relative}.wp-block-query-title::before::after,.archive-header::before::after{content:"";position:absolute;top:-8px;right:-24px;width:12px;height:12px;border:2px solid #c92a2a;border-radius:50%}.wp-block-query-title,.archive-header{font-size:3rem;font-weight:700;color:#fff;line-height:1.3}.wp-block-query-title::after,.archive-header::after{content:"";display:block;width:80px;height:4px;background-color:#f59f00;margin:24px auto 0}@media(max-width: 768px){.wp-block-query-title,.archive-header{font-size:2.25rem;padding:80px 20px;margin-bottom:60px}}@media(max-width: 640px){.wp-block-query-title,.archive-header{font-size:1.75rem;padding:60px 20px;margin-bottom:40px}}.archive-description{font-size:1rem;color:#ccc;margin-top:16px;max-width:600px;margin-left:auto;margin-right:auto}.wp-block-post-template{display:grid;grid-template-columns:repeat(3, 1fr);gap:30px;list-style:none;padding:0;margin:0}@media(max-width: 1024px){.wp-block-post-template{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 640px){.wp-block-post-template{grid-template-columns:1fr}}.wp-block-post-template>li{margin:0;padding:0}.wp-block-query-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:60px;padding:40px 0}.wp-block-query-pagination .wp-block-query-pagination-previous,.wp-block-query-pagination .wp-block-query-pagination-next,.wp-block-query-pagination .wp-block-query-pagination-numbers{margin:0}.wp-block-query-pagination a,.wp-block-query-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:45px;height:45px;padding:0 15px;font-size:.9375rem;font-weight:600;color:#2b2b2b;background-color:#fff;border:2px solid #ccc;border-radius:8px;transition:all .3s ease}.wp-block-query-pagination a:hover,.wp-block-query-pagination .page-numbers:hover{color:#fff;background-color:#c92a2a;border-color:#c92a2a;transform:translateY(-2px);box-shadow:0 4px 12px rgba(201,42,42,.25)}.wp-block-query-pagination a.current,.wp-block-query-pagination .page-numbers.current{color:#fff;background-color:#c92a2a;border-color:#c92a2a;cursor:default;box-shadow:0 2px 8px rgba(201,42,42,.2)}.wp-block-query-pagination a.current:hover,.wp-block-query-pagination .page-numbers.current:hover{transform:none}.wp-block-query-pagination a.dots,.wp-block-query-pagination .page-numbers.dots{border:none;background:none;cursor:default;color:#999}.wp-block-query-pagination a.dots:hover,.wp-block-query-pagination .page-numbers.dots:hover{transform:none;background:none;border:none;box-shadow:none}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow,.wp-block-query-pagination .wp-block-query-pagination-next-arrow{font-size:1.25rem;line-height:1}@media(max-width: 640px){.wp-block-query-pagination{gap:6px;margin-top:40px;padding:30px 0}.wp-block-query-pagination a,.wp-block-query-pagination .page-numbers{min-width:38px;height:38px;padding:0 10px;font-size:.875rem}}.feature-list{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:24px;margin-top:40px}@media(max-width: 640px){.feature-list{grid-template-columns:1fr}}.feature-list__item{display:flex;align-items:flex-start;gap:16px}.feature-list__item-icon{width:24px;height:24px;flex-shrink:0;color:#c92a2a;margin-top:4px}.feature-list__item-text{font-size:.95rem;color:#666;line-height:1.7}.process__steps{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:40px;margin-top:60px}@media(max-width: 768px){.process__steps{grid-template-columns:1fr;gap:30px}}.process__step{position:relative;padding-left:80px}.process__step-number{position:absolute;left:0;top:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;background:linear-gradient(135deg, #c92a2a, #e03131);border-radius:50%;box-shadow:0 4px 12px rgba(201,42,42,.3)}.process__step-title{font-size:1.2rem;font-weight:700;color:#2b2b2b;margin-bottom:12px}.process__step-description{font-size:.95rem;color:#666;line-height:1.7}.pricing-card{background-color:#fff;border-radius:12px;padding:40px 30px;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:all .3s ease;position:relative;overflow:hidden}.pricing-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:6px;background:linear-gradient(90deg, #c92a2a, #f59f00)}.pricing-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.15)}.pricing-card--featured{border:2px solid #c92a2a;transform:scale(1.05)}.pricing-card--featured::after{content:"人気";position:absolute;top:20px;right:-30px;padding:4px 40px;background-color:#c92a2a;color:#fff;font-size:.75rem;font-weight:700;transform:rotate(45deg)}.pricing-card__name{font-size:1.5rem;font-weight:700;color:#2b2b2b;margin-bottom:8px}.pricing-card__description{font-size:.875rem;color:#666;margin-bottom:24px}.pricing-card__price{margin-bottom:24px}.pricing-card__price-amount{font-size:2.5rem;font-weight:700;color:#c92a2a}.pricing-card__price-amount span{font-size:1rem;color:#666;font-weight:400}.pricing-card__price-period{font-size:.875rem;color:#666;margin-top:4px}.pricing-card__features{margin-bottom:32px}.pricing-card__features li{padding:12px 0;font-size:.95rem;color:#666;border-bottom:1px solid #f5f5f5;position:relative;padding-left:24px}.pricing-card__features li::before{content:"✓";position:absolute;left:0;color:#c92a2a;font-weight:700}.pricing-card__features li:last-child{border-bottom:none}.pricing-card .button,.pricing-card .button__primary,.pricing-card .wp-block-button__link,.pricing-card .button__secondary,.pricing-card .button__outline{display:block;text-align:center;margin:0 auto;max-width:fit-content}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:30px;margin-top:60px}@media(max-width: 768px){.pricing-grid{grid-template-columns:1fr}}.form{margin:0 auto}.form__group{margin-bottom:32px}.form__label{display:block;font-size:.95rem;font-weight:600;color:#2b2b2b;margin-bottom:8px}.form__label--required::after{content:"*";color:#c92a2a;margin-left:4px}.form__input,.form__textarea,.form__select{width:100%;padding:14px 16px;font-size:1rem;font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;color:#2b2b2b;background-color:#fff;border:2px solid #ccc;border-radius:4px;transition:all .3s ease}.form__input:focus,.form__textarea:focus,.form__select:focus{outline:none;border-color:#c92a2a;box-shadow:0 0 0 3px rgba(201,42,42,.1)}.form__textarea{min-height:150px;resize:vertical}.form__textarea--tall{min-height:100px}.form__checkbox{display:flex;align-items:flex-start;gap:12px}.form__checkbox input[type=checkbox]{margin-top:4px;width:18px;height:18px;cursor:pointer}.form__checkbox label{font-size:.95rem;color:#666;line-height:1.7;cursor:pointer}.form__checkbox label a{color:#c92a2a;text-decoration:underline}.form__checkbox label a:hover{color:#a61e1e}.form__submit{text-align:center;margin-top:40px}.faq{max-width:900px;margin:0 auto}.faq__item{margin-bottom:24px;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05)}.faq__question{padding:24px;font-size:1.1rem;font-weight:600;color:#2b2b2b;cursor:pointer;position:relative;transition:all .3s ease}.faq__question::before{content:"Q";position:absolute;left:24px;top:24px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:#c92a2a;color:#fff;font-weight:700;font-size:.875rem;border-radius:4px;margin-right:16px}.faq__question{padding-left:70px}.faq__question::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:#c92a2a;transition:transform .3s ease}.faq__question:hover{background-color:#f5f5f5}.faq__question.is-active::after{transform:translateY(-50%) rotate(45deg)}.faq__answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq__answer.is-active{max-height:500px}.faq__answer-content{padding:24px 24px 24px 70px;font-size:.95rem;color:#666;line-height:1.8}.faq__answer-content::before{content:"A";position:absolute;left:24px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:#f59f00;color:#2b2b2b;font-weight:700;font-size:.875rem;border-radius:4px;margin-bottom:12px}.faq__answer-content{position:relative}.footer{background-color:#2b2b2b;color:#ccc;padding:80px 0 0}.footer__container{max-width:1200px;margin:0 auto;padding:0 20px}.footer__content{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:40px;padding-bottom:60px;border-bottom:1px solid hsla(0,0%,100%,.1)}@media(max-width: 768px){.footer__content{grid-template-columns:1fr;gap:40px}}.footer__section-title{font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:20px}.footer__section-list li{margin-bottom:12px}.footer__section-list li a{font-size:.95rem;color:#ccc;transition:all .3s ease}.footer__section-list li a:hover{opacity:.4}.footer__social{display:flex;gap:16px;margin-top:20px}.footer__social a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:hsla(0,0%,100%,.1);border-radius:50%;transition:all .3s ease}.footer__social a:hover{background-color:#c92a2a;transform:translateY(-4px)}.footer__logo-img{height:32px;margin-bottom:16px}.footer__description-text{margin-top:16px;line-height:1.8;font-size:.75rem;color:#999}.footer__bottom{padding:30px 0;text-align:center}.footer__bottom p{font-size:.875rem;color:#999}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .5s ease,transform .5s ease}.fade-in.is-visible{opacity:1;transform:translateY(0)}.slide-in-left{opacity:0;transform:translateX(-50px);transition:opacity .5s ease,transform .5s ease}.slide-in-left.is-visible{opacity:1;transform:translateX(0)}.slide-in-right{opacity:0;transform:translateX(50px);transition:opacity .5s ease,transform .5s ease}.slide-in-right.is-visible{opacity:1;transform:translateX(0)}.scale-in{opacity:0;transform:scale(0.9);transition:opacity .5s ease,transform .5s ease}.scale-in.is-visible{opacity:1;transform:scale(1)}.text-center{text-align:center}.text-red{color:#c92a2a}.text-yellow{color:#f59f00}.mb-small{margin-bottom:16px}.mb-medium{margin-bottom:32px}.mb-large{margin-bottom:64px}.mt-small{margin-top:16px}.mt-medium{margin-top:32px}.mt-large{margin-top:64px}.section.page-header{padding-top:140px;background:linear-gradient(135deg, #2b2b2b 0%, #000000 100%)}.section.page-header .heading__main{color:#fff;margin-bottom:16px}.section.page-header .heading__main .heading__label{color:#ccc}.section.page-header p,.section.page-header .page-header__description{font-size:1.1rem;color:#ccc;max-width:700px;margin:0 auto}.privacy-content{max-width:900px;margin:0 auto;padding:0 20px}@media(max-width: 640px){.privacy-content{padding:0 20px}}.privacy-content h2{margin-bottom:24px}.privacy-content p,.privacy-content ul,.privacy-content .privacy-content__text{color:#666;line-height:1.8;margin-top:16px}.privacy-content ul,.privacy-content .privacy-content__list{padding-left:24px;line-height:2;color:#666}.privacy-content ul li,.privacy-content .privacy-content__list li{margin-bottom:8px}.privacy-content ul li::before,.privacy-content .privacy-content__list li::before{content:"• "}.contact-info-box{background-color:#f5f5f5;padding:32px;border-radius:8px;margin:32px 0}.policy-date{margin-top:80px;padding-top:40px;border-top:1px solid #ccc}.service-intro{font-size:1.1rem;color:#666;text-align:center;max-width:800px;margin:0 auto 60px;padding:0 20px;line-height:1.8}@media(max-width: 640px){.service-intro{padding:0 20px}}.tech-grid,.tech-stack{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:16px;margin-top:32px}.tech-item,.tech-list li{color:#666;padding:16px;border-bottom:2px solid #f5f5f5;transition:all .3s ease}.tech-item:hover,.tech-list li:hover{border-bottom-color:#c92a2a;color:#2b2b2b}.coming-soon{padding:100px 20px}@media(max-width: 640px){.coming-soon{padding:60px 20px}}.coming-soon .icon-container{width:120px;height:120px;margin:0 auto 32px;background:linear-gradient(135deg, #c92a2a, #f59f00);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem}.coming-soon p,.coming-soon .coming-soon__description{font-size:1.1rem;color:#666;line-height:1.8;max-width:600px;margin:0 auto 40px}.service-card__action{margin-top:20px}.service-card__icon--center{margin:0 auto 20px}.service-grid--narrow{max-width:900px;margin:0 auto}.button-group{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.button--fullwidth{width:100%;display:block}.price-period{color:#999;font-size:.875rem}.price-period--alt{color:#999;margin-top:8px}.pricing-pro-wrapper{position:relative}.pricing-card--featured,.pricing-card--pro{border:3px solid #c92a2a}.option-note{font-size:1.1rem;color:#666;text-align:center;margin-bottom:48px}.option-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:24px;margin-top:48px}.option-grid .option-item{color:#666;padding:24px;border-bottom:2px solid #f5f5f5;transition:all .3s ease}.option-grid .option-item h4{font-weight:600;color:#2b2b2b;margin-bottom:8px}.option-grid .option-item:hover{border-bottom-color:#c92a2a}.form-textarea,.form__textarea--short{min-height:100px}.location-info,.contact-info-wrapper,.location-wrapper{background-color:#f5f5f5;padding:32px;border-radius:8px;margin-top:48px}.location-info a,.contact-info-wrapper a,.location-wrapper a{display:block;margin:8px 0;color:#c92a2a;text-decoration:underline}.location-info a:hover,.contact-info-wrapper a:hover,.location-wrapper a:hover{color:#a61e1e}.location-info__address,.location-info__email,.location-info__hours{display:block;margin:8px 0;color:#666}.cta-description{font-size:1.3rem;color:#ccc;margin-bottom:32px}.cta-description--large{font-size:1.1rem;color:#666}.footer__description{margin:24px auto 32px;line-height:1.8;font-size:.9375rem;color:#ccc;max-width:600px}.annual-note{color:#999;font-size:.875rem;margin-top:8px}.coming-soon__container{padding:100px 20px;text-align:center}.coming-soon__icon{width:120px;height:120px;margin:0 auto 32px;background:linear-gradient(135deg, #c92a2a, #f59f00);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem}.coming-soon__title{margin-bottom:24px}.coming-soon__description{font-size:1.1rem;color:#666;line-height:1.8;max-width:600px;margin:0 auto 40px}.coming-soon__actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}@media(max-width: 640px){.coming-soon__actions{flex-direction:column;gap:16px}}.blog-single{background-color:#fff}.blog-single__hero{position:relative;min-height:500px;background:linear-gradient(135deg, #2b2b2b 0%, #000000 100%);display:flex;align-items:center;justify-content:center}@media(max-width: 768px){.blog-single__hero{min-height:400px}}@media(max-width: 640px){.blog-single__hero{min-height:300px}}.blog-single__hero-container{position:relative;width:100%;min-height:500px}@media(max-width: 768px){.blog-single__hero-container{min-height:400px}}@media(max-width: 640px){.blog-single__hero-container{min-height:300px}}.blog-single__hero-image{position:absolute;top:0;left:0;width:100%;height:100%}.blog-single__hero-image img{width:100%;height:100%;object-fit:cover;opacity:.3}.blog-single__hero-overlay{position:relative;z-index:2;min-height:500px;display:flex;align-items:center;justify-content:center;padding:80px 20px}@media(max-width: 768px){.blog-single__hero-overlay{min-height:400px;padding:60px 20px}}@media(max-width: 640px){.blog-single__hero-overlay{min-height:300px;padding:40px 20px}}.blog-single__hero-content{max-width:900px;margin:0 auto;text-align:center;width:100%}.blog-single__category{display:inline-block;margin-bottom:24px}.blog-single__category a{display:inline-block;background-color:#c92a2a;color:#fff;padding:8px 24px;border-radius:4px;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .3s ease}.blog-single__category a:hover{background-color:#e03131}.blog-single__title{font-size:2.5rem;font-weight:700;color:#fff;line-height:1.4;margin-bottom:32px}@media(max-width: 768px){.blog-single__title{font-size:2rem}}@media(max-width: 640px){.blog-single__title{font-size:1.5rem;margin-bottom:24px}}.blog-single__meta{display:flex;align-items:center;justify-content:center;gap:16px}.blog-single__date{color:#ccc;font-size:.9375rem}.blog-single__date time{color:#ccc}.blog-single__content{padding:80px 20px;background-color:#fff}@media(max-width: 768px){.blog-single__content{padding:60px 20px}}@media(max-width: 640px){.blog-single__content{padding:40px 20px}}.blog-single__container{max-width:1200px;margin:0 auto}.blog-single__body{font-size:1.0625rem;line-height:1.9;color:#2b2b2b}.blog-single__body h2{font-size:2rem;font-weight:700;color:#2b2b2b;margin:64px 0 32px;padding-bottom:16px;border-bottom:3px solid #c92a2a;line-height:1.4}@media(max-width: 640px){.blog-single__body h2{font-size:1.5rem;margin:48px 0 24px;padding-bottom:12px;border-bottom-width:2px}}.blog-single__body h3{font-size:1.5rem;font-weight:700;color:#2b2b2b;margin:48px 0 24px;padding-left:16px;border-left:4px solid #c92a2a;line-height:1.4}@media(max-width: 640px){.blog-single__body h3{font-size:1.25rem;margin:40px 0 20px;padding-left:12px}}.blog-single__body h4{font-size:1.25rem;font-weight:700;color:#2b2b2b;margin:40px 0 20px;line-height:1.4}@media(max-width: 640px){.blog-single__body h4{font-size:1.125rem;margin:32px 0 16px}}.blog-single__body p{margin:24px 0;line-height:1.9}.blog-single__body ul,.blog-single__body ol{margin:32px 0;padding-left:40px}@media(max-width: 640px){.blog-single__body ul,.blog-single__body ol{padding-left:24px}}.blog-single__body ul li,.blog-single__body ol li{margin:12px 0;line-height:1.8}.blog-single__body ul{list-style-type:disc}.blog-single__body ul li::marker{color:#c92a2a}.blog-single__body ol{list-style-type:decimal}.blog-single__body ol li::marker{color:#c92a2a;font-weight:700}.blog-single__body blockquote{margin:40px 0;padding:24px 32px;background-color:rgba(201,42,42,.05);border-left:4px solid #c92a2a;font-style:italic;color:#666}@media(max-width: 640px){.blog-single__body blockquote{padding:20px 24px;margin:32px 0}}.blog-single__body blockquote p{margin:0}.blog-single__body img{max-width:100%;height:auto;margin:40px 0;border-radius:4px}@media(max-width: 640px){.blog-single__body img{margin:32px 0}}.blog-single__body table{width:100%;margin:40px 0;border-collapse:separate;border-spacing:0;font-size:.9375rem;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08)}@media(max-width: 640px){.blog-single__body table{font-size:.875rem;margin:32px 0}}.blog-single__body table th,.blog-single__body table td{padding:18px 20px;text-align:left;border:none}@media(max-width: 640px){.blog-single__body table th,.blog-single__body table td{padding:14px 12px}}.blog-single__body table thead th{background-color:#c92a2a;font-weight:700;color:#fff;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #a61e1e}.blog-single__body table thead th:first-child{border-radius:8px 0 0 0}.blog-single__body table thead th:last-child{border-radius:0 8px 0 0}.blog-single__body table tbody tr{background-color:#fff;transition:all .3s ease}.blog-single__body table tbody tr:nth-child(even){background-color:rgba(201,42,42,.02)}.blog-single__body table tbody tr:hover{background-color:rgba(201,42,42,.06);transform:translateX(4px)}.blog-single__body table tbody tr:last-child td:first-child{border-radius:0 0 0 8px}.blog-single__body table tbody tr:last-child td:last-child{border-radius:0 0 8px 0}.blog-single__body table tbody tr td{border-bottom:1px solid rgba(201,42,42,.1)}.blog-single__body table tbody tr td:first-child{font-weight:600;color:#2b2b2b}.blog-single__body table tbody tr:last-child td{border-bottom:none}.blog-single__body code{background-color:rgba(201,42,42,.08);padding:4px 8px;border-radius:4px;font-size:.9em;font-family:"Courier New","Consolas",monospace;color:#a61e1e}.blog-single__body pre{margin:40px 0;padding:24px;background-color:#2b2b2b;border-radius:4px;overflow-x:auto}@media(max-width: 640px){.blog-single__body pre{padding:20px;margin:32px 0}}.blog-single__body pre code{background:none;padding:0;color:#fff;font-size:.875rem}.blog-single__body strong,.blog-single__body b{font-weight:700;color:#2b2b2b}.blog-single__body em,.blog-single__body i{font-style:italic}.blog-single__body a{color:#c92a2a;text-decoration:underline;transition:all .3s ease}.blog-single__body a:hover{color:#e03131}.blog-single__cta{padding:80px 20px;background:linear-gradient(135deg, #2b2b2b 0%, #000000 100%);text-align:center}@media(max-width: 768px){.blog-single__cta{padding:60px 20px}}@media(max-width: 640px){.blog-single__cta{padding:40px 20px}}.blog-single__cta-container{max-width:1200px;margin:0 auto}.blog-single__cta-title{font-size:2rem;font-weight:700;color:#fff;margin-bottom:16px}@media(max-width: 640px){.blog-single__cta-title{font-size:1.5rem}}.blog-single__cta-text{font-size:1.125rem;color:#ccc;margin-bottom:40px;line-height:1.7}@media(max-width: 640px){.blog-single__cta-text{font-size:1rem;margin-bottom:32px}}.page-header{padding-top:140px;background:linear-gradient(135deg, #2b2b2b 0%, #000000 100%)}.page-header__title{color:#fff;margin-bottom:16px}.page-header__label{color:#ccc}.page-header__description{font-size:1.1rem;color:#ccc;max-width:700px;margin:0 auto}.service-grid-wrapper{max-width:900px;margin:0 auto}.service-grid--contact{grid-template-columns:repeat(auto-fit, minmax(250px, 1fr))}.service-card__icon--center{margin:0 auto 20px}.location-wrapper{max-width:700px;margin:0 auto}.location-box{background-color:#f5f5f5;padding:40px;border-radius:8px}.location-box__title{border:none;padding:0;margin-bottom:24px}.location-item{margin-bottom:20px}.location-item strong{display:block;margin-bottom:8px;color:#2b2b2b}.location-item p{color:#666}.form{background-color:#fff;padding:60px;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.02)}@media(max-width: 768px){.form{padding:30px 20px}}.form__group{margin-bottom:36px}.form__label{font-size:.9rem;letter-spacing:.05em;margin-bottom:10px;color:#444}.form__input,.form__textarea,.form__select{padding:16px 20px;border-radius:8px;border:1px solid #e0e0e0;background-color:#f9f9f9;transition:all .3s ease;font-size:1.05rem}.form__input:focus,.form__textarea:focus,.form__select:focus{background-color:#fff;border-color:#c92a2a;box-shadow:0 4px 12px rgba(201,42,42,.15);transform:translateY(-2px)}.form__input::placeholder,.form__textarea::placeholder,.form__select::placeholder{color:#bbb}.form__textarea{min-height:180px}.form__submit{margin-top:50px}.form__submit .button,.form__submit .button__primary,.form__submit .wp-block-button__link,.form__submit .button__secondary,.form__submit .button__outline{padding:18px 60px;font-size:1.1rem;letter-spacing:.1em;border-radius:50px;box-shadow:0 10px 20px rgba(201,42,42,.3);transition:all .3s ease}.form__submit .button:hover,.form__submit .button__primary:hover,.form__submit .wp-block-button__link:hover,.form__submit .button__secondary:hover,.form__submit .button__outline:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(201,42,42,.4)}.line-contact{max-width:700px;margin:0 auto}.line-contact__box{background-color:#f5f5f5;padding:40px;border-radius:8px;border:2px solid #06c755;box-shadow:0 4px 20px rgba(6,199,85,.15)}@media(max-width: 640px){.line-contact__box{padding:24px}}.line-contact__title{font-size:1.1rem;margin-bottom:24px;color:#2b2b2b;text-align:center;font-weight:600;line-height:1.6}.line-contact__note{font-size:.9rem;font-weight:normal;display:block;margin-top:8px}.line-contact__info{margin-bottom:32px;background:#fff;padding:20px;border-radius:8px}.line-contact__list{list-style:none;padding:0;margin:0}.line-contact__item{padding:10px 0;border-bottom:1px solid #eee;color:#666;display:flex;flex-wrap:wrap}.line-contact__item:last-child{border-bottom:none}.line-contact__item strong{color:#2b2b2b;display:inline-block;width:140px;flex-shrink:0}.line-contact__action{text-align:center}.line-contact__button{display:inline-flex;align-items:center;gap:12px;background-color:#06c755;color:#fff;text-decoration:none;padding:20px 48px;border-radius:50px;font-weight:700;font-size:1.2rem;transition:all .3s ease;box-shadow:0 4px 12px rgba(6,199,85,.4)}.line-contact__button:hover{background-color:#05b34c;transform:translateY(-2px);box-shadow:0 6px 16px rgba(6,199,85,.5);color:#fff;opacity:1}.line-contact__subtext{margin-top:16px;font-size:.85rem;color:#666}.line-contact{max-width:800px;margin:0 auto;font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif}.line-contact__header{text-align:center;margin-bottom:50px}.line-contact__header h2{font-size:2.2rem;font-weight:700;color:#2b2b2b;display:inline-block;position:relative;padding-top:24px}.line-contact__header h2::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:60px;height:4px;background-color:#c92a2a;border-radius:2px}@media(max-width: 768px){.line-contact__header h2{font-size:1.8rem}}.line-contact__box{background-color:#f8f9fa;padding:60px 80px;border-radius:16px;border:2px solid #06c755;box-shadow:0 10px 40px rgba(6,199,85,.1);text-align:center}@media(max-width: 768px){.line-contact__box{padding:40px 20px}}.line-contact__lead{font-size:1.2rem;font-weight:700;color:#2b2b2b;margin-bottom:12px;letter-spacing:.05em}.line-contact__note{font-size:.95rem;color:#666;margin-bottom:40px}.line-contact__info-box{background-color:#fff;border-radius:8px;padding:30px 40px;margin-bottom:40px;text-align:left;box-shadow:0 2px 10px rgba(0,0,0,.03)}@media(max-width: 768px){.line-contact__info-box{padding:24px}}.line-contact__list{list-style:none;padding:0;margin:0}.line-contact__list li{padding:16px 0;border-bottom:1px solid #f0f0f0;font-weight:700;color:#444;font-size:1.05rem}.line-contact__list li:last-child{border-bottom:none}.line-contact__list li:first-child{padding-top:0}.line-contact__list li:last-child{padding-bottom:0}.line-contact__button{display:inline-flex;align-items:center;justify-content:center;background-color:#06c755;color:#fff;text-decoration:none;padding:20px 80px;border-radius:50px;font-weight:700;font-size:1.3rem;transition:all .3s ease;box-shadow:0 6px 20px rgba(6,199,85,.3);letter-spacing:.05em}.line-contact__button:hover{background-color:#05b34c;transform:translateY(-3px);box-shadow:0 10px 25px rgba(6,199,85,.4);color:#fff;opacity:1}@media(max-width: 768px){.line-contact__button{width:100%;padding:18px 20px;font-size:1.1rem}}.line-contact__subtext{margin-top:20px;font-size:.85rem;color:#888}.line-contact{max-width:900px;margin:0 auto;font-family:"Helvetica Neue",Arial,sans-serif}.line-contact__box{background-color:#2b2b2b;color:#fff;padding:80px 60px;border:4px solid #06c755;text-align:center;position:relative}@media(max-width: 768px){.line-contact__box{padding:40px 20px;border-width:3px}}.line-contact__title{font-size:2.5rem;font-weight:900;margin-bottom:16px;letter-spacing:.05em;color:#fff;line-height:1.2}.line-contact__title span{color:#06c755;display:block;font-size:1.2rem;margin-bottom:8px;font-weight:700}@media(max-width: 768px){.line-contact__title{font-size:1.8rem}}.line-contact__subtitle{font-size:1rem;color:#ccc;margin-bottom:50px;font-weight:500}.line-contact__info{background-color:hsla(0,0%,100%,.05);padding:40px;margin-bottom:50px;border-left:4px solid #06c755;text-align:left}@media(max-width: 768px){.line-contact__info{padding:24px}}.line-contact__list{list-style:none;padding:0;margin:0}.line-contact__list li{padding:16px 0;font-size:1.1rem;border-bottom:1px solid hsla(0,0%,100%,.1);color:#fff;font-weight:700}.line-contact__list li:last-child{border-bottom:none}.line-contact__list li::before{content:"●";color:#06c755;margin-right:16px;font-size:.8em}.line-contact__button{display:block;width:100%;max-width:400px;margin:0 auto;background-color:#06c755;color:#fff;font-weight:700;font-size:1.2rem;padding:24px;text-decoration:none;transition:all .3s ease;border:2px solid #06c755;letter-spacing:.05em}.line-contact__button:hover{background-color:rgba(0,0,0,0);color:#06c755;opacity:1}.line-contact__note{margin-top:24px;font-size:.85rem;color:#888}.page-header{padding-top:140px;background:linear-gradient(135deg, #2b2b2b 0%, #000000 100%)}.page-header__title{color:#fff;margin-bottom:16px}.page-header__label{color:#ccc}.page-header__desc{font-size:1.1rem;color:#ccc;max-width:700px;margin:0 auto}.service-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:32px;max-width:1000px;margin:0 auto}@media(max-width: 768px){.service-grid{grid-template-columns:1fr}}.service-card{text-align:center}.service-card__icon{font-size:2.5rem;margin:0 auto 20px;display:inline-block}.service-card__title{font-size:1.2rem;font-weight:700;margin-bottom:12px;color:#333}.service-card__description{color:#666;font-size:.9rem;line-height:1.6}.location-info{max-width:700px;margin:0 auto}.location-info__box{background-color:#f5f5f5;padding:40px;border-radius:8px}.location-info__title{border:none;padding:0;margin-bottom:24px}.location-info__item{margin-bottom:20px}.location-info__item:last-child{margin-bottom:0}.location-info__label{display:block;margin-bottom:8px;color:#2b2b2b;font-weight:700}.location-info__text{color:#666}.location-info__link{color:#c92a2a;text-decoration:underline}.location-info__link:hover{text-decoration:none}.form__textarea--reference{min-height:100px}.form__group br,.heading__main br,.form__submit br,.page-header__title br,.heading__label+br,.form>br{display:none}.form__checkbox{display:flex;align-items:center}.form__checkbox br{display:none}.form__submit .button,.form__submit .button__primary,.form__submit .wp-block-button__link,.form__submit .button__secondary,.form__submit .button__outline{display:inline-block;appearance:none;-webkit-appearance:none;border:none;cursor:pointer;text-decoration:none;background-color:#c92a2a;color:#fff;padding:18px 60px;font-size:1.1rem;letter-spacing:.1em;border-radius:50px;box-shadow:0 10px 20px rgba(201,42,42,.3);transition:all .3s ease}.form__submit .button:hover,.form__submit .button__primary:hover,.form__submit .wp-block-button__link:hover,.form__submit .button__secondary:hover,.form__submit .button__outline:hover{background-color:#a61e1e;transform:translateY(-3px);box-shadow:0 15px 30px rgba(201,42,42,.4)}.wp-block-button__link{border-radius:50px;padding:18px 60px;text-decoration:none}.wp-block-button__link:hover{color:#fff;text-decoration:none}.is-style-outline .wp-block-button__link{background-color:rgba(0,0,0,0);color:#2b2b2b}.is-style-outline .wp-block-button__link:hover{background-color:#2b2b2b;color:#fff}.section--line{background:linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);padding:80px 0}@media(max-width: 768px){.section--line{padding:60px 0}}.line-contact{max-width:900px;margin:0 auto}.line-contact__content{background:#fff;border-radius:16px;padding:50px;box-shadow:0 4px 20px rgba(0,0,0,.08);text-align:center}@media(max-width: 768px){.line-contact__content{padding:40px 24px}}@media(max-width: 640px){.line-contact__content{padding:32px 20px}}.line-contact__icon{width:100px;height:100px;background:#06c755;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(6,199,85,.25);margin-bottom:24px}@media(max-width: 768px){.line-contact__icon{width:80px;height:80px;margin-bottom:20px}}.line-contact__icon-svg{width:60px;height:60px;color:#fff}@media(max-width: 768px){.line-contact__icon-svg{width:48px;height:48px}}.line-contact__text{max-width:700px;margin:0 auto}.line-contact__title{font-size:1.75rem;font-weight:700;color:#2b2b2b;margin-bottom:16px;line-height:1.3}@media(max-width: 768px){.line-contact__title{font-size:1.5rem}}@media(max-width: 640px){.line-contact__title{font-size:1.35rem}}.line-contact__description{font-size:.95rem;line-height:1.8;color:#666;margin-bottom:28px}@media(max-width: 768px){.line-contact__description{font-size:.9rem;margin-bottom:24px}}.line-contact__features{display:flex;justify-content:center;gap:32px;margin-bottom:32px;flex-wrap:wrap}@media(max-width: 640px){.line-contact__features{gap:20px;margin-bottom:28px}}.line-contact__feature{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#2b2b2b;white-space:nowrap}@media(max-width: 640px){.line-contact__feature{font-size:.85rem}}.line-contact__feature-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#06c755;color:#fff;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0}@media(max-width: 640px){.line-contact__feature-icon{width:18px;height:18px;font-size:10px}}.line-contact__feature-text{font-weight:500}.line-contact__button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 40px;background:#06c755;color:#fff;font-size:1.05rem;font-weight:700;border-radius:50px;box-shadow:0 4px 12px rgba(6,199,85,.3);transition:all .3s ease;text-decoration:none;min-width:280px}@media(max-width: 768px){.line-contact__button{padding:16px 36px;font-size:1rem}}@media(max-width: 640px){.line-contact__button{width:100%;padding:15px 32px;font-size:.95rem;min-width:auto}}.line-contact__button:hover{background:#05b34c;box-shadow:0 6px 16px rgba(6,199,85,.4);transform:translateY(-2px)}.line-contact__button:active{transform:translateY(0)}.line-contact__button-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#fff;flex-shrink:0}.line-contact__button-icon svg{display:block;width:100%;height:100%;transform:translateY(2px)}@media(max-width: 640px){.line-contact__button-icon{width:20px;height:20px}}.line-contact__button-text{display:inline-block;line-height:1;vertical-align:middle}.breadcrumb{background:#fafafa;padding:18px 0;border-bottom:1px solid #e0e0e0;margin-bottom:0}@media(max-width: 768px){.breadcrumb{padding:14px 0}}@media(max-width: 640px){.breadcrumb{padding:12px 0}}.breadcrumb__inner{max-width:1100px;margin:0 auto;padding:0 24px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.813rem;color:#666}@media(max-width: 768px){.breadcrumb__inner{padding:0 20px;font-size:.75rem}}@media(max-width: 640px){.breadcrumb__inner{padding:0 16px;font-size:.75rem;gap:6px}}.breadcrumb__home,.breadcrumb__inner a{color:#666;text-decoration:none;font-weight:400;padding:4px 10px;border-radius:4px;background:rgba(0,0,0,0);transition:all .2s ease;display:inline-flex;align-items:center}@media(max-width: 640px){.breadcrumb__home,.breadcrumb__inner a{padding:3px 8px}}.breadcrumb__home:hover,.breadcrumb__inner a:hover{background:#e9ecef;color:#333}.breadcrumb__current{color:#333;font-weight:600;padding:4px 10px;display:inline-flex}.service-intro-wrapper{max-width:900px;margin:0 auto 60px}.service-intro-text{font-size:1.1rem;color:#666;line-height:1.8;text-align:center;margin-bottom:48px}.service-detail-wrapper{max-width:1000px;margin:0 auto}.service-detail-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:40px}.service-feature-list{margin-top:20px;line-height:2}.service-feature-item{color:#666;padding:8px 0;border-bottom:1px solid #999}.service-cta-text{font-size:1.1rem;color:#666;align-items:center}@media(max-width: 640px){.service-cta-text{padding:3px 8px}}.privacy-content-wrapper{max-width:900px;margin:0 auto}.privacy-notice-box{background-color:#999;padding:24px;border-radius:8px;margin-bottom:40px}.privacy-notice-box--extra{margin-top:16px}.privacy-notice-title{color:#2b2b2b;font-weight:600;margin-bottom:12px}.privacy-notice-text{color:#666;margin-bottom:8px}.privacy-text{color:#666}.privacy-subtitle{margin-bottom:8px}.privacy-description{color:#666;line-height:1.8;margin-top:16px}.privacy-description--spaced{margin-bottom:16px}.privacy-list{color:#666;line-height:2;padding-left:24px}.privacy-footer-section{margin-top:60px;padding-top:40px;border-top:2px solid #999}.privacy-footer-title{color:#666;font-weight:600}.pricing-alert-text{font-size:1.3rem;color:#f59f00;font-weight:600}.pricing-special-wrapper{max-width:600px;margin:60px auto 0}.pricing-intro-text{font-size:1.1rem;color:#666;margin-bottom:60px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:40px}.pricing-card--special{border:3px solid #c92a2a}.pricing-amount{color:#c92a2a;font-weight:600}.pricing-card-description{margin-top:8px;color:#999}.pricing-table{width:100%}.pricing-table__cell{color:#666;padding:12px 0;border-bottom:1px solid #e0e0e0}.pricing-feature-list{margin-top:24px;line-height:2.2}.pricing-feature-item{color:#666;padding:12px 0}.pricing-feature-title{display:block;font-weight:600;color:#2b2b2b;margin-bottom:4px}.pricing-feature-price{color:#666;font-size:.9em}.pricing-grid .pricing-feature-list{line-height:1.8;list-style:none;padding:0}.pricing-grid .pricing-feature-item{background:#fff;border-radius:8px;padding:20px 24px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:all .3s ease;border-left:4px solid #c92a2a;color:inherit}.pricing-grid .pricing-feature-item:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(-2px)}.pricing-grid .pricing-feature-item:last-child{margin-bottom:0}.pricing-grid .pricing-feature-title{font-weight:700;color:#1a1a1a;font-size:1.05rem;margin-bottom:12px;letter-spacing:.02em}.pricing-grid .pricing-feature-description{font-size:.9rem;color:#666;line-height:1.6;margin-bottom:12px}.pricing-grid .pricing-feature-price{color:#c92a2a;font-size:1rem;font-weight:600;display:inline-block;padding:4px 12px;background:rgba(220,53,69,.08);border-radius:4px}/*# sourceMappingURL=style.css.map */

/* Services: modern tech stack section */
.tech-showcase {
  max-width: 1040px;
  margin: 0 auto;
}

.tech-showcase__lead {
  font-size: 1.05rem;
  color: #666666;
  text-align: center;
  line-height: 1.9;
  margin-bottom: 36px;
}

.tech-stack-modern {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.tech-stack-card {
  background: linear-gradient(180deg, #ffffff 0%, #fcfcfc 100%);
  border: 1px solid #ececec;
  border-radius: 16px;
  padding: 26px 22px 22px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.tech-stack-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #c92a2a 0%, #f59f00 100%);
}

.tech-stack-card:hover {
  transform: translateY(-4px);
  border-color: #e1e1e1;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.1);
}

.tech-stack-card__title {
  font-size: 1.2rem;
  line-height: 1.35;
  margin-bottom: 8px;
  color: #2b2b2b;
}

.tech-stack-card__caption {
  font-size: 0.88rem;
  color: #8a8a8a;
  margin-bottom: 18px;
}

.tech-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tech-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid #ececec;
  background-color: #f7f7f7;
  color: #4d4d4d;
  font-size: 0.86rem;
  letter-spacing: 0.01em;
  line-height: 1.2;
  transition: all 0.25s ease;
}

.tech-pill:hover {
  border-color: #c92a2a;
  background-color: #fff6f6;
  color: #2b2b2b;
}

@media (max-width: 1024px) {
  .tech-stack-modern {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .tech-showcase__lead {
    font-size: 0.96rem;
    margin-bottom: 28px;
  }

  .tech-stack-modern {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .tech-stack-card {
    padding: 22px 18px 18px;
    border-radius: 14px;
  }
}

/* Contact form status notice */
.legacylab-form-notice {
  margin: 0 auto 24px;
  max-width: 760px;
  padding: 14px 18px;
  border-radius: 10px;
  font-size: 0.95rem;
  line-height: 1.6;
  border: 1px solid transparent;
}

.legacylab-form-notice.is-success {
  background: #f3fbf6;
  border-color: #b9e7c6;
  color: #1f6b36;
}

.legacylab-form-notice.is-error {
  background: #fff5f5;
  border-color: #f1c2c2;
  color: #9f2d2d;
}

/* Contact: LINE section visibility improvements */
.section--line {
  background: linear-gradient(140deg, #f3f4f6 0%, #eceef2 100%);
}

.line-contact__content {
  background: #ffffff;
  border: 1px solid #e3e6eb;
  box-shadow: 0 16px 40px rgba(18, 24, 40, 0.08);
}

.line-contact__title {
  color: #20232a;
  letter-spacing: 0.01em;
}

.line-contact__description {
  color: #4b5563;
  font-size: 1rem;
}

.line-contact__features {
  gap: 16px;
}

.line-contact__feature {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: 8px 14px;
}

.line-contact__feature-icon {
  box-shadow: 0 2px 8px rgba(6, 199, 85, 0.35);
}

.line-contact__icon {
  width: 112px;
  height: 112px;
  border-radius: 26px;
  background: linear-gradient(145deg, #06c755 0%, #05b34c 100%);
  box-shadow: 0 14px 26px rgba(6, 199, 85, 0.35);
  margin-bottom: 28px;
}

.line-contact__icon-svg {
  width: 72px;
  height: 72px;
  display: block;
}

.line-contact__button {
  min-width: 320px;
  font-size: 1.1rem;
  gap: 0;
  box-shadow: 0 10px 24px rgba(6, 199, 85, 0.35);
}

.line-contact__button:hover {
  box-shadow: 0 14px 28px rgba(6, 199, 85, 0.42);
}

.line-contact__button-icon {
  display: none;
}

.line-contact__button-icon-svg {
  width: 100%;
  height: 100%;
  display: block;
}

@media (max-width: 768px) {
  .line-contact__button {
    min-width: 0;
    width: 100%;
  }

  .line-contact__feature {
    width: 100%;
    justify-content: center;
  }
}

/* Fallback LINE icon rendering (when inline SVG is stripped) */
.line-contact__icon,
.line-contact__button-icon {
  position: relative;
}

.line-contact__icon::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 78px;
  height: 64px;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 130'%3E%3Cdefs%3E%3Cfilter id='s' x='-20%25' y='-20%25' width='140%25' height='160%25'%3E%3CfeDropShadow dx='0' dy='4' stdDeviation='3' flood-color='%23000' flood-opacity='.16'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23s)'%3E%3Cpath fill='%23fff' d='M80 14c-36 0-64 22-64 49 0 23 20 42 48 47l-4 24 26-20h1c32 0 57-21 57-48 0-29-29-52-64-52z'/%3E%3C/g%3E%3Ctext x='80' y='72' text-anchor='middle' font-family='Arial,Helvetica,sans-serif' font-size='34' font-weight='700' letter-spacing='1' fill='%2306C755'%3ELINE%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.line-contact__icon::after {
  content: "";
  position: absolute;
  top: 12px;
  left: 16px;
  width: 62px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  filter: blur(1px);
}

.line-contact__button-icon::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 30px;
  height: 24px;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 120'%3E%3Cpath fill='%23fff' d='M80 10C43 10 12 33 12 61c0 23 21 42 49 48l-4 20 21-16h2c38 0 68-23 68-52C148 33 117 10 80 10z'/%3E%3Ctext x='80' y='73' text-anchor='middle' font-family='Arial,Helvetica,sans-serif' font-size='34' font-weight='700' letter-spacing='1' fill='%2306C755'%3ELINE%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.15));
}

.line-contact__button-icon::after {
  content: none;
}

/* Footer LINE link redesign (simple modern) */
.footer__line-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  color: #ffffff;
  background: #06c755;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 12px 20px;
  min-height: 44px;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  box-shadow: 0 6px 16px rgba(6, 199, 85, 0.22);
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.footer__line-link::before {
  content: none;
  display: none;
}

.footer__line-link::after {
  content: none;
  display: none;
}

.footer__line-link:hover {
  opacity: 1;
  color: #ffffff;
  background: #05b34c;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(6, 199, 85, 0.28);
}

.footer__line-link:focus-visible {
  outline: 2px solid #7fe5ae;
  outline-offset: 2px;
}
