*{margin:0;padding:0;box-sizing:border-box}:root{--accent-color: #FCCF00;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--dark-bg: #2C2C2C;--white: #ffffff;--white-80: rgba(255, 255, 255, .8);--accent-color-50: rgba(252, 207, 0, .5);--container-max-width: 1280px}body{font-family:Noto Sans JP,sans-serif;line-height:1.5;color:var(--gray-900);background-color:var(--gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hidden{display:none}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 1rem}.header{position:sticky;top:0;z-index:50;background-color:var(--white);box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.header .container{padding-left:2rem;padding-right:2rem}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;gap:1rem}@media(max-width:1000px){.header-content{flex-wrap:nowrap;gap:.5rem}.logo-section{flex:1;min-width:0}.logo-img{width:160px;max-width:160px}.logo-text{display:none}}.logo-section{display:flex;align-items:center;flex-shrink:1;min-width:0}.logo-link{display:block;text-decoration:none;color:inherit}.logo-link>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.logo-img{width:240px;height:auto;max-width:100%;object-fit:contain;transition:opacity .3s}.logo-img:hover{opacity:.7}.logo-text{font-size:.75rem;color:var(--gray-900);margin:0;white-space:nowrap}.desktop-nav{display:none;align-items:center;gap:1.5rem}@media(min-width:1001px){.desktop-nav{display:flex}}.nav-link{font-weight:700;text-decoration:none;display:inline-block;overflow:hidden}.nav-link span{display:inline-block;overflow:hidden;color:transparent;text-shadow:0 -1.5em 0 var(--gray-600),0 0 0 var(--gray-600);transition:text-shadow .3s}.nav-link:hover span{text-shadow:0 0 0 var(--gray-800),0 1.5em 0 var(--gray-800)}.cta-button{padding:.75rem 1.5rem;border-radius:.375rem;font-weight:700;text-decoration:none;background-color:var(--accent-color);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:none}#accentColor{height:3.125rem}.cta-button span{display:inline-block;overflow:hidden;color:transparent;text-shadow:0 -1.5em 0 var(--gray-800),0 0 0 var(--gray-800);transition:text-shadow .3s;line-height:1}.cta-button:hover span{text-shadow:0 0 0 var(--gray-800),0 1.5em 0 var(--gray-800)}.flip-text-gray{color:transparent;text-shadow:0 -1em 0 var(--gray-600),0 0 0 var(--gray-600);transition:text-shadow .3s;display:inline-block;overflow:hidden;line-height:1;vertical-align:middle}.flip-text-gray:hover{text-shadow:0 0 0 var(--gray-600),0 1em 0 var(--gray-600)}.mobile-menu-btn{display:flex;padding:.5rem;border-radius:.375rem;color:var(--gray-600);background:none;border:none;cursor:pointer;transition:color .3s,background-color .3s}.mobile-menu-btn:hover{color:var(--gray-900);background-color:var(--gray-100)}@media(min-width:1001px){.mobile-menu-btn{display:none}}.mobile-cta-button-header{display:none;padding:.5rem .75rem;border-radius:.375rem;font-weight:700;font-size:.75rem;text-decoration:none;background-color:var(--accent-color);align-items:center;justify-content:center;overflow:hidden;border:none;margin-right:0;flex-shrink:0;text-align:center}@media(max-width:480px){.mobile-cta-button-header{padding:.5rem;font-size:.7rem}}.mobile-cta-button-header span{display:block;color:var(--gray-800);line-height:1.4;text-align:center}.tablet-cta-button-header{display:none;padding:.75rem 1.5rem;border-radius:.375rem;font-weight:700;font-size:.875rem;text-decoration:none;background-color:var(--accent-color);align-items:center;justify-content:center;overflow:hidden;border:none;margin-right:0;flex-shrink:0}.tablet-cta-button-header span{display:inline-block;overflow:hidden;color:transparent;text-shadow:0 -1.5em 0 var(--gray-800),0 0 0 var(--gray-800);transition:text-shadow .3s;line-height:1}.tablet-cta-button-header:hover span{text-shadow:0 0 0 var(--gray-800),0 1.5em 0 var(--gray-800)}@media(min-width:641px)and (max-width:1000px){.tablet-cta-button-header{display:inline-flex}}@media(max-width:640px){.mobile-cta-button-header{display:inline-flex}}@media(min-width:641px){.mobile-cta-button-header{display:none}}.menu-icon,.close-icon{width:24px;height:24px}.mobile-nav{display:none;margin-top:1rem;padding:1rem 0;background-color:var(--white)}.mobile-nav.show{display:block}.mobile-nav-content{display:flex;flex-direction:column;gap:1rem}.mobile-nav-link{text-decoration:none;padding:.5rem 1rem;font-weight:700;display:inline-block;overflow:hidden}.mobile-nav-link span{display:inline-block;overflow:hidden;color:transparent;text-shadow:0 -1.5em 0 var(--gray-600),0 0 0 var(--gray-600);transition:text-shadow .3s}.mobile-nav-link:hover span{text-shadow:0 0 0 var(--gray-800),0 1.5em 0 var(--gray-800)}.mobile-cta-button{margin:0 1rem;padding:.5rem 1rem;border-radius:.375rem;text-align:center;font-weight:700;text-decoration:none;background-color:var(--accent-color);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:none}.mobile-cta-button span{display:inline-block;overflow:hidden;color:transparent;text-shadow:0 -1.5em 0 var(--gray-800),0 0 0 var(--gray-800);transition:text-shadow .3s;line-height:1}.mobile-cta-button:hover span{text-shadow:0 0 0 var(--gray-800),0 1.5em 0 var(--gray-800)}.main-content{flex:1}.main-content .container{padding-left:2rem;padding-right:2rem}.hero-section{position:relative;padding:5rem 0;overflow:hidden}@media(min-width:1001px){.hero-section{padding:8rem 0}}.hero-bg{position:absolute;inset:0;z-index:0;background-image:url(src/assets/firefly-bg-2.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.hero-container{position:relative;z-index:10}.hero-content{display:flex;flex-direction:column;align-items:center;gap:2.5rem}@media(min-width:1001px){.hero-content{flex-direction:row;gap:2.5rem}}.hero-text{width:100%;margin-bottom:3rem}@media(min-width:1001px){.hero-text{width:50%;margin-bottom:0}}.hero-title{font-size:1.625rem;font-weight:700;color:var(--gray-900);margin-bottom:1.5rem;line-height:1.4}@media(min-width:1001px){.hero-title{font-size:2rem}}@media(min-width:1001px){.hero-title{font-size:2.5rem;letter-spacing:.2rem}}.accent-text{color:var(--accent-color)}.hero-title .accent-text{background-color:var(--gray-900);padding:.125rem .5rem .5rem;margin:0;display:inline-flex;align-items:center;line-height:1.2;vertical-align:middle}.hero-description{font-size:1.25rem;color:var(--gray-900);margin-bottom:2rem;line-height:1.8}.hero-buttons{display:flex;flex-direction:column;gap:1rem}@media(min-width:1001px){.hero-buttons{flex-direction:row;gap:1rem}}.btn-primary,button.btn-primary{padding:.75rem 2rem;border-radius:.375rem;font-weight:700;text-align:center;text-decoration:none;background-color:var(--accent-color);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:none;cursor:pointer;font-family:inherit}.btn-primary span{display:inline-block;overflow:hidden;color:transparent;text-shadow:0 -1.5em 0 var(--gray-800),0 0 0 var(--gray-800);transition:text-shadow .3s;line-height:1}.btn-primary:hover span{text-shadow:0 0 0 var(--gray-800),0 1.5em 0 var(--gray-800)}.btn-primary.large{padding:1rem 2rem;font-size:1.125rem}.btn-secondary{padding:.75rem 2rem;border-radius:.375rem;background-color:var(--white);font-weight:700;border:1px solid var(--gray-300);text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;overflow:hidden}.btn-secondary span{display:inline-block;overflow:hidden;color:transparent;text-shadow:0 -1.5em 0 var(--gray-600),0 0 0 var(--gray-600);transition:text-shadow .3s}.btn-secondary:hover span{text-shadow:0 0 0 var(--gray-800),0 1.5em 0 var(--gray-800)}.chevron-icon{margin-left:.5rem;color:var(--gray-700)}.hero-image{width:100%;position:relative}@media(min-width:1001px){.hero-image{width:50%}}.image-wrapper{position:relative;border-radius:.5rem;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.hero-img{width:100%;height:auto;border-radius:.5rem;display:block}.isms-badge{position:absolute;top:0;right:0;width:auto;height:auto;max-width:240px;z-index:10;transform:translate(10%,-20%)}@media(max-width:1000px){.isms-badge{transform:translate(10%,-25%)}}@media(max-width:640px){.isms-badge{max-width:180px;max-height:180px;transform:translate(5%,-15%)}}.video-section{padding:5rem 0;background-color:var(--gray-100)}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:2rem;font-weight:700;letter-spacing:.075rem;color:var(--gray-900);margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.8rem}.section-title .icon-arrow{width:48px;height:auto;flex-shrink:0}@media(min-width:1001px){.section-title{font-size:2.25rem}}.section-description{font-size:1.25rem;color:var(--gray-600);display:inline-block;max-width:100%}.video-wrapper{max-width:56rem;margin:0 auto}.video-container{position:relative;border-radius:.75rem;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;aspect-ratio:16 / 9;background-color:var(--dark-bg)}.video-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.video-overlay.hidden{display:none}.play-button{width:5rem;height:5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--white-80);border:none;cursor:pointer;transition:background-color .3s;z-index:1}.play-button:hover{background-color:var(--white)}.play-icon{margin-left:.25rem;color:var(--gray-900)}.video-thumbnail{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.video-player{width:100%;height:100%}.features-section{padding:5rem 0}.features-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1001px){.features-grid{grid-template-columns:repeat(3,1fr)}}.feature-card{background-color:var(--white);border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;overflow:hidden;position:relative}.feature-image{height:12rem;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-content{padding:2.5rem 1.5rem 1.5rem;position:relative}.feature-number{position:absolute;top:-2.5rem;display:flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:50%;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;background-color:var(--accent-color);font-size:2.125rem;font-weight:700;color:var(--gray-900)}.feature-title{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:.75rem;display:flex;align-items:center}.feature-description{color:var(--gray-900)}.feature-description b{text-decoration:underline;text-decoration-color:#fccf00;text-decoration-thickness:4px;text-underline-offset:2px}.feature-description p{margin-bottom:.5rem;font-size:1.125rem}.feature-list{margin-top:.5rem}.feature-item{display:flex;align-items:flex-start;margin-bottom:.25rem}.bullet{color:var(--accent-color);margin-right:.5rem}.pricing-section{padding:5rem 0;background-color:var(--gray-50)}.pricing-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:72rem;margin:0 auto}@media(min-width:1001px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}.pricing-card{position:relative;background-color:var(--white);border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;overflow:hidden;border:1px solid transparent;transition:transform .3s ease-out}.pricing-card:hover{transform:translateY(-.8rem)}.pricing-card.popular{border:2px solid var(--accent-color)}.popular-badge{position:absolute;top:0;right:0;padding:.25rem 1rem;font-size:.875rem;color:var(--gray-900);background-color:var(--accent-color)}.pricing-content{padding:2rem}.pricing-name{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}.pricing-description{color:var(--gray-600);margin-bottom:1.5rem}.pricing-price{margin-bottom:1.5rem}.price-amount{font-size:2.25rem;font-weight:700;color:var(--gray-900)}.price-period{color:var(--gray-600);margin-left:.5rem}.pricing-features{list-style:none;margin-bottom:2rem;display:flex;flex-direction:column;gap:.75rem}.pricing-features li{display:flex;align-items:flex-start}.check-icon{margin-right:.5rem;margin-top:.25rem;flex-shrink:0;color:var(--accent-color)}.check-icon.gray{color:var(--gray-600)}.pricing-button{display:flex;width:100%;padding:.75rem 1.5rem;font-weight:700;text-align:center;border-radius:.375rem;text-decoration:none;transition:background-color .3s;overflow:hidden;align-items:center;justify-content:center;border:none}.pricing-button span{display:inline-block;overflow:hidden;color:transparent;transition:text-shadow .3s;line-height:1}.pricing-button.primary{background-color:var(--accent-color)}.pricing-button.primary span{text-shadow:0 -1.5em 0 var(--gray-800),0 0 0 var(--gray-800)}.pricing-button.primary:hover span{text-shadow:0 0 0 var(--gray-800),0 1.5em 0 var(--gray-800)}.pricing-button.secondary{background-color:var(--gray-100)}.pricing-button.secondary span{text-shadow:0 -1.5em 0 var(--gray-600),0 0 0 var(--gray-600)}.pricing-button.secondary:hover{background-color:var(--gray-200)}.pricing-button.secondary:hover span{text-shadow:0 0 0 var(--gray-600),0 1.5em 0 var(--gray-600)}.pricing-note{text-align:center;margin-top:3rem}.pricing-note p{color:var(--gray-600)}.comparison-section{padding:5rem 0;background-color:var(--gray-100)}.comparison-table-wrapper{max-width:56rem;margin:0 auto;overflow-x:auto}.comparison-table{width:100%;background-color:var(--white);border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-collapse:collapse}.comparison-table thead tr{border-bottom:1px solid var(--gray-300)}.comparison-table th{padding:1rem 1.5rem;text-align:left;color:var(--gray-600)}.comparison-table th:nth-child(2),.comparison-table th:nth-child(3),.comparison-table th:nth-child(4){text-align:center}.company-name{color:var(--gray-900)}.comparison-table tbody tr:nth-child(2n){background-color:var(--gray-50)}.comparison-table tbody tr:nth-child(odd){background-color:var(--white)}.comparison-table td{padding:1rem 1.5rem;color:var(--gray-900)}.check-cell{text-align:center}.x-icon{color:var(--gray-400);margin:0 auto}.cta-section{padding:5rem 0}.cta-card{max-width:56rem;margin:0 auto;background-color:var(--dark-bg);border-radius:1rem;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.cta-content{display:flex;flex-direction:column}@media(min-width:1001px){.cta-content{flex-direction:row}}.cta-text{width:100%;padding:3rem;display:flex;flex-direction:column;justify-content:center}@media(min-width:1001px){.cta-text{width:50%}}.cta-title{font-size:1.875rem;font-weight:700;color:var(--white);margin-bottom:1.5rem;line-height:1.4}@media(min-width:1001px){.cta-title{font-size:2.25rem}}.cta-description{color:var(--gray-300);margin-bottom:2rem;line-height:1.6}.cta-image{width:100%;background-color:var(--dark-bg)}@media(min-width:1001px){.cta-image{width:50%}}.cta-img{width:100%;height:100%;object-fit:cover}.faq-section{padding:5rem 0;background-color:var(--gray-50)}.faq-list{max-width:56rem;margin:0 auto}.faq-item{overflow:hidden;background-color:var(--white);border-radius:.75rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;margin-bottom:1rem;cursor:pointer}.faq-question{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;min-height:64px}.faq-question h3{font-size:1.125rem;font-weight:700;color:var(--gray-900);margin:0}@media(min-width:1001px){.faq-question h3{font-size:1.25rem}}.faq-icon{transition:transform .3s;flex-shrink:0;margin-left:1rem;color:var(--gray-600)}.faq-item.open .faq-icon{transform:rotate(180deg)}.faq-answer{padding:0 1.5rem;color:var(--gray-600);max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out;opacity:0}.faq-item.open .faq-answer{max-height:500px;padding:0 1.5rem 1.5rem;opacity:1}.faq-answer p{margin:0;line-height:1.6}.contact-section{padding:5rem 0;background-color:var(--gray-100)}.contact-wrapper{max-width:56rem;margin:0 auto}.contact-form-wrapper{background-color:var(--white);border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;padding:2rem}.contact-form{display:flex;flex-direction:column}.form-row{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem}@media(min-width:1001px){.form-row{grid-template-columns:repeat(2,1fr)}}.form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.form-group label{display:block;color:var(--gray-700);margin-bottom:.5rem;font-weight:500}.required{color:#ef4444;font-size:.75rem;font-weight:400;margin-left:.25rem}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:1rem;transition:outline .3s,box-shadow .3s}.form-group input:focus,.form-group textarea:focus{outline:none;box-shadow:0 0 0 2px var(--accent-color-50)}.checkbox-group{display:flex;gap:2rem;margin-bottom:3rem}.checkbox-label{display:flex!important;flex-direction:row;align-items:center;cursor:pointer;gap:.5rem;margin-bottom:0!important}.checkbox-label input[type=checkbox]{width:1.5rem;height:1.5rem;aspect-ratio:1 / 1;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--white);border:1px solid var(--gray-400);border-radius:.25rem;cursor:pointer;position:relative;flex-shrink:0;margin:0;padding:0;box-sizing:border-box}.checkbox-label input[type=checkbox]:checked{background-color:var(--accent-color);border-color:var(--accent-color)}.checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:.375rem;height:.75rem;border:solid var(--gray-800);border-width:0 2px 2px 0}.checkbox-label span{color:var(--gray-700);line-height:1.5rem}.form-submit{text-align:center}.form-submit button{border:none}.footer{background-color:var(--dark-bg);color:var(--gray-400);padding-top:6rem;padding-bottom:2rem}.footer .container{padding-left:2rem;padding-right:2rem}.footer-content{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}@media(min-width:1001px){.footer-content{grid-template-columns:1fr auto;align-items:start}}.footer-logo{width:100%}.footer-logo-link{display:inline-block}.footer-logo-img{width:100%;max-width:280px;height:auto;margin-bottom:.125rem;transition:opacity .3s}.footer-logo-img:hover{opacity:.7}.footer-description{margin-bottom:1rem;font-size:.875rem;color:var(--white);max-width:280px}.footer-isms-logo{width:auto;max-width:280px;height:auto;margin-top:1rem}.footer-links{display:grid;grid-template-columns:1fr;gap:4rem;justify-content:flex-end}@media(min-width:1001px){.footer-links{grid-template-columns:repeat(2,1fr);justify-content:flex-end;margin-left:auto}}.footer-column{display:flex;flex-direction:column}.footer-column h3{margin-bottom:1rem;color:var(--white)}.footer-column ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.footer-column a{font-size:.875rem;text-decoration:none;display:inline-block;overflow:hidden}.footer-column a span{display:inline-block;overflow:hidden;color:transparent;text-shadow:0 -1.5em 0 var(--white),0 0 0 var(--white);transition:text-shadow .3s}.footer-column a:hover span{text-shadow:0 0 0 var(--gray-300),0 1.5em 0 var(--gray-300)}.footer-bottom{padding-top:2rem;margin-top:2rem;border-top:1px solid var(--gray-800);text-align:center;font-size:.875rem}.image-error{background-color:var(--gray-100);display:flex;align-items:center;justify-content:center;min-height:200px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .5s ease-out}@media(max-width:1000px){.hero-title,.section-title,.cta-title{font-size:1.5rem}}
