:root{--color-primary: #0B2A4A;--color-primary-hover: #09304F;--color-accent: #1D74D8;--color-accent-hover: #165FB3;--color-link: #1D74D8;--color-bg: #F6F9FE;--color-surface: #FFFFFF;--color-subtle-bg: #EAF2FF;--color-border: #D6E3F6;--color-text: #0B1220;--color-muted-text: #4B5B72;--color-success: #1E8E5A;--color-danger: #D64545;--font-family: system-ui, -apple-system, Segoe UI, Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;--font-size-base: 16px;--line-height-base: 1.7}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}a{color:var(--color-link);text-decoration:none}button{cursor:pointer;font-family:inherit}.container{max-width:1080px;margin:0 auto;padding:0 1.5rem}section{padding:5rem 0}section:nth-child(2n){background-color:var(--color-bg)}section:nth-child(odd){background-color:var(--color-surface)}.section-title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:3rem;color:var(--color-primary);line-height:1.4}#header{position:fixed;top:0;left:0;width:100%;background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;box-shadow:0 2px 10px #0000000d;transition:transform .3s ease,padding .3s ease}.header-inner{display:flex;justify-content:space-between;align-items:center;height:80px}.logo img{height:40px;width:auto}.header-nav{display:flex;align-items:center;gap:1.5rem}.nav-link{color:var(--color-text);font-weight:700;display:none}.mobile-hidden{display:none}@media (min-width: 768px){.nav-link{display:block}.mobile-hidden{display:inline-flex}}@media (max-width: 767px){.header-nav{gap:.5rem}.header-nav .btn,.header-nav .mobile-hidden{display:none!important}.logo img{height:28px}.btn{padding:.5rem .6rem;font-size:.8rem;white-space:nowrap}.fv-title{font-size:1.75rem;word-break:auto-phrase}.fv-title br{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2rem;border-radius:50px;font-weight:700;font-size:1.125rem;border:none;transition:all .2s ease;text-decoration:none;line-height:1.2}.btn-primary{background-color:var(--color-accent);color:#fff;box-shadow:0 4px 12px #1d74d84d}.btn-primary:hover{background-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 6px 16px #1d74d866}.btn-secondary{background-color:#fff;color:var(--color-accent);border:2px solid var(--color-accent)}.btn-secondary:hover{background-color:var(--color-subtle-bg)}.fv{position:relative;padding-top:140px;padding-bottom:6rem;overflow:hidden;background-color:var(--color-subtle-bg)}.fv-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.fv-content{position:relative;z-index:1;text-align:center;max-width:800px;margin:0 auto}.fv-title{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--color-primary);line-height:1.4}.fv-subtitle{font-size:1.125rem;margin-bottom:2.5rem;color:var(--color-muted-text)}.fv-badges{display:flex;justify-content:center;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap}.badge{background:#fff;padding:.5rem 1rem;border-radius:4px;box-shadow:0 2px 8px #0000000d;font-weight:700;color:var(--color-primary);display:flex;align-items:center;gap:.5rem}.badge:before{content:"★";color:var(--color-accent)}.fv-actions{display:flex;flex-direction:column;gap:1rem;align-items:center}@media (min-width: 640px){.fv-actions{flex-direction:row;justify-content:center}}@media (max-width: 767px){.fv-actions{flex-direction:row;flex-wrap:nowrap;gap:.5rem;width:100%;padding:0 .5rem}.fv-actions .btn{flex:1;width:auto;min-width:0!important;font-size:.85rem;padding:.8rem .2rem}}.fv-image-container{margin-top:3rem;position:relative;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0000001a}.fv-image-container img{width:100%;height:auto;display:block}.problems-grid{display:grid;gap:1.5rem}.problem-card{background:#fff;padding:1.5rem;border-radius:8px;border-left:5px solid var(--color-accent);box-shadow:0 4px 12px #0000000d;display:flex;align-items:flex-start;gap:1rem;transition:transform .2s}.problem-card:hover{transform:translateY(-2px)}.problem-icon{width:24px;height:24px;flex-shrink:0;color:var(--color-danger)}.reasons-grid{display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width: 768px){.reasons-grid{grid-template-columns:repeat(2,1fr)}}.reason-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000000f;transition:transform .2s}.reason-card:hover{transform:translateY(-4px)}.reason-image{width:100%;height:200px;object-fit:cover}.reason-content{padding:1.5rem}.reason-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;display:flex;align-items:center;gap:.75rem;color:var(--color-primary)}.reason-icon{width:32px;height:32px}.comparison-table-wrapper{overflow-x:auto;border-radius:8px;box-shadow:0 4px 12px #0000000d}.comparison-table{width:100%;border-collapse:collapse;background:#fff;min-width:600px}.comparison-table th,.comparison-table td{padding:1.25rem;text-align:left;border-bottom:1px solid var(--color-border)}.comparison-table th{background-color:var(--color-primary);color:#fff;width:25%}.comparison-table th:nth-child(2){background-color:var(--color-accent);font-size:1.1em}.comparison-table th:nth-child(3){background-color:#718096}.comparison-table tr:last-child td{border-bottom:none}.flow-list{position:relative;max-width:800px;margin:0 auto}.flow-item{display:flex;gap:1.5rem;margin-bottom:2rem;position:relative}.flow-number{flex-shrink:0;width:48px;height:48px;background-color:var(--color-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;z-index:2}.faq-list{max-width:800px;margin:0 auto}.faq-item{background:#fff;border-bottom:1px solid var(--color-border)}.faq-question{padding:1.5rem;width:100%;text-align:left;background:none;border:none;font-weight:700;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease-out;background-color:var(--color-bg)}.faq-answer-inner{padding:1.5rem;padding-top:0}.faq-toggle{transition:transform .3s}.faq-item.is-open .faq-toggle{transform:rotate(45deg)}.faq-item.is-open .faq-answer{max-height:1000px}.contact-section{background-color:var(--color-subtle-bg);text-align:center}.contact-container{max-width:600px;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a}.form-group{margin-bottom:1.5rem;text-align:left}.form-label{display:block;font-weight:700;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:4px;font-size:1rem;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #1d74d81a}.form-textarea{min-height:120px;resize:vertical}footer{background-color:var(--color-primary);color:#fff;padding:3rem 0;text-align:center}.footer-links{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.footer-link{color:#fffc}.copyright{color:#ffffff80;font-size:.875rem}.sticky-cta{position:fixed;bottom:0;left:0;width:100%;background:#fff;padding:1rem;box-shadow:0 -2px 10px #0000001a;display:flex;justify-content:center;gap:1rem;z-index:1000;transform:translateY(100%);transition:transform .3s ease}.sticky-cta.is-visible{transform:translateY(0)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.fade-in-up{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1)}.fade-in-up.is-visible{opacity:1;transform:translateY(0)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}@keyframes floating{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.animate-float{animation:floating 6s ease-in-out infinite}@keyframes shine{0%{transform:translate(-100%) skew(-15deg)}20%,to{transform:translate(200%) skew(-15deg)}}.btn-shine:after{content:"";position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(to right,#fff0,#ffffff4d,#fff0);transform:translate(-100%);animation:shine 3s infinite}.btn-primary{position:relative;overflow:hidden}
