:root{--primary-color:#ef4444;--primary-color-dark:#b91c1c;--primary-color-light:#fca5a5;--surface-color:hsla(0,0%,100%,.82);--surface-border:hsla(0,0%,100%,.6);--text-color:#1f2937;--font-family-base:"Inter","Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","\30e1\30a4\30ea\30aa",Meiryo,sans-serif;--bs-border-color:rgba(15,23,42,.08);--bs-border-width:1px;--bs-border-radius:0.75rem;--bs-body-font-family:var(--font-family-base);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.7;--bs-body-color:var(--text-color);--bs-light:rgba(236,72,153,.05);--bs-primary:var(--primary-color)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family-base);font-size:16px;line-height:1.7;color:var(--text-color);background:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{margin:0 0 .75rem;font-weight:700;line-height:1.25;letter-spacing:-.01em}p{margin:0 0 1.5rem}a{color:var(--primary-color);transition:color .2s ease,transform .2s ease}a,a:hover{text-decoration:none}a:hover{color:var(--primary-color-dark);transform:translateY(-1px)}.section-shell{display:flex;flex-direction:column;gap:2rem;padding:0 1rem}.section-surface{border-radius:1.5rem;background:var(--surface-color);border:1px solid var(--surface-border);box-shadow:0 25px 40px -24px rgba(15,23,42,.35);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.section-padding{padding:clamp(2rem,3vw + 1rem,3.5rem)}.section-heading{display:flex;flex-direction:column;gap:.5rem;text-align:center}.section-heading__eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;align-self:center;padding:.25rem .85rem;border-radius:9999px;background:hsla(0,91%,71%,.15);color:var(--primary-color-dark);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.section-heading__title{font-size:clamp(1.75rem,1.1vw + 1.5rem,2.25rem)}.section-heading__description{color:rgba(30,41,59,.75);max-width:48rem;margin:0 auto}.text-primary{color:var(--primary-color)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.5rem;color:#fff;font-weight:600;background:linear-gradient(135deg,var(--primary-color),#f97316);border:none;border-radius:9999px;cursor:pointer;box-shadow:0 18px 35px -18px hsla(0,91%,71%,.9);transition:transform .2s ease,box-shadow .2s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 25px 45px -20px rgba(244,63,94,.7);background:linear-gradient(135deg,var(--primary-color-dark),#ea580c);color:#fff}.card{background:var(--surface-color);border:1px solid var(--surface-border);border-radius:1rem;overflow:hidden;box-shadow:0 20px 35px -26px rgba(15,23,42,.45);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.card img{width:100%;display:block}.aspect-square{width:100%;aspect-ratio:1/1}.blog-slide{position:relative;overflow:hidden;border-radius:1rem;box-shadow:0 28px 40px -26px rgba(15,23,42,.4);transition:transform .3s ease,box-shadow .3s ease;border:1px solid hsla(0,0%,100%,.4);background:linear-gradient(145deg,hsla(0,0%,100%,.8),hsla(0,86%,97%,.6));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.blog-slide:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 35px 50px -25px rgba(15,23,42,.55)}.blog-slide-title{position:absolute;inset:auto 1rem 1rem 1rem;padding:.75rem 1rem;border-radius:.85rem;background:linear-gradient(135deg,rgba(15,23,42,.85),rgba(30,41,59,.78));color:#fff;font-size:.95rem;font-weight:600;text-align:left;line-height:1.4}.hover-glow{transition:box-shadow .3s ease;box-shadow:0 0 0 hsla(0,0%,100%,0)}.hover-glow:hover{box-shadow:0 0 22px 6px hsla(0,91%,71%,.55)}.swiper{width:100%;height:100%}.swiper-slide{box-sizing:border-box}.swiper-button-next,.swiper-button-prev{color:var(--primary-color);text-shadow:0 0 10px hsla(0,0%,100%,.65);top:calc(100% + 1rem);margin-top:0}.swiper-pagination{bottom:-20pt}.swiper-pagination-bullet{width:10px;height:10px;margin:0 4px!important;background:hsla(0,91%,71%,.5);opacity:1}.swiper-pagination-bullet-active{background:var(--primary-color)}.faq-category-accordion{position:relative;display:grid;grid-gap:.9rem;gap:.9rem}.faq-category-card{border-radius:1rem;border:1px solid rgba(226,232,240,.9);background:linear-gradient(135deg,hsla(0,0%,100%,.94),hsla(0,100%,98%,.96));box-shadow:0 18px 32px -26px rgba(15,23,42,.45);overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}.faq-category-card:hover{box-shadow:0 22px 40px -28px hsla(0,91%,71%,.35);transform:translateY(-2px)}.faq-category-trigger{display:flex;align-items:center;width:100%;gap:.75rem;padding:.95rem 1.1rem;border:none;background:transparent;cursor:pointer;color:inherit;position:relative;transition:background .2s ease}.faq-category-trigger.open{background:linear-gradient(90deg,hsla(0,91%,71%,.08),hsla(0,91%,71%,.02))}.faq-category-trigger__text{display:flex;align-items:center;gap:.6rem;flex:1 1;font-weight:700}.faq-category-trigger__badge{padding:.3rem .75rem;border-radius:999px;background:rgba(239,68,68,.1);color:#b91c1c;font-size:.75rem;font-weight:700;letter-spacing:.08em}.faq-category-trigger__count{color:rgba(15,23,42,.55);font-size:.9rem;font-weight:600}.faq-category-trigger__icon{width:1rem;height:1rem;transition:transform .25s ease}.faq-category-panel{max-height:0;overflow:hidden;transition:max-height .35s ease,opacity .35s ease;opacity:0}.faq-category-panel.open{max-height:1200px;opacity:1}.faq-accordion{padding:0 1.1rem 1.1rem;display:grid;grid-gap:.65rem;gap:.65rem}.faq-section__inner{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.faq-section .section-heading{text-align:left;align-items:flex-start;margin:0}.faq-section .section-heading__description{margin:0}.faq-section__actions{display:flex;flex-direction:column;gap:.75rem}@media (min-width:640px){.faq-section__actions{flex-direction:row;justify-content:flex-start}}.faq-row{margin:0;border-bottom:1px solid rgba(226,232,240,.9);padding-bottom:.5rem}.faq-question{display:flex;align-items:center;gap:.65rem;width:100%;border:none;background:transparent;padding:.5rem 0;cursor:pointer;font-weight:700;color:#0f172a;transition:color .2s ease,transform .2s ease}.faq-question.open{color:#b91c1c}.faq-question:hover{transform:translateX(4px)}.faq-question__eyebrow{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:hsla(0,91%,71%,.1);color:#b91c1c;font-weight:800;font-size:.85rem}.faq-question__icon{width:.9rem;height:.9rem;transition:transform .25s ease}.faq-answer{margin:0;max-height:0;overflow:hidden;transition:max-height .35s ease,opacity .3s ease,transform .3s ease;opacity:0;transform:translateY(-6px)}.faq-answer.open{max-height:400px;opacity:1;transform:translateY(0)}.faq-answer__surface{padding:.75rem;border-radius:.85rem;background:hsla(0,91%,71%,.06);border:1px solid rgba(226,232,240,.9);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6);color:rgba(15,23,42,.88)}@keyframes float{0%,to{transform:translateY(-4px) scale(1)}50%{transform:translateY(8px) scale(1.02)}}@media (min-width:641px){.square-img{aspect-ratio:4/3}.howto-step{width:220px;text-align:center}}.blog-slide img{width:100%;aspect-ratio:4/3;object-fit:cover}@media (max-width:640px){.blog-slide img,.square-img{aspect-ratio:1/1}.howto-step{width:260px}}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid #e5e5e5;padding:.25rem .5rem;z-index:40}.mobile-nav a{color:#555;text-align:center;font-size:.75rem}.mobile-nav a:hover{color:var(--primary-color)}.mobile-menu{max-height:0;opacity:0;overflow:hidden;transition:max-height .2s ease,opacity .2s ease;z-index:50}.mobile-menu.open{max-height:400px;opacity:1}@keyframes fade-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade{animation:fade-up .3s ease forwards;animation-iteration-count:1;animation-fill-mode:both}