:root{--base-width: 72%;--primary-color: #d71318;--secondary-color: #fff8cd;--accent-color: #08253e;--text-color: #333333;--bg-color: #ffffff;--font-size-base: 1rem;--line-height-base: 1.6;--font-family-noto: "Noto Sans JP", sans-serif;--font-family-mplus: "M PLUS 2", sans-serif;--font-family-impact: "Dela Gothic One", sans-serif;--font-family-fontawesome: "Font Awesome 6 Free", sans-serif;--font-family-base: var(--font-family-mplus);--z-hamburger: 1001;--z-header: 100;--z-modal: 1000;--z-overlay: 10;--z-loading: 10000;--transition-base: 0.3s ease;--transition-fast: 0.2s ease;--transition-slow: 0.5s ease;--animation-duration: 30s}@media(max-width: 900px){:root{--base-width: 90%}}body{font-family:var(--font-family-base);font-size:1.6rem;font-weight:600;overflow:auto}:root{--base-width: 72%;--primary-color: #d71318;--secondary-color: #fff8cd;--accent-color: #08253e;--text-color: #333333;--bg-color: #ffffff;--font-size-base: 1rem;--line-height-base: 1.6;--font-family-noto: "Noto Sans JP", sans-serif;--font-family-mplus: "M PLUS 2", sans-serif;--font-family-impact: "Dela Gothic One", sans-serif;--font-family-fontawesome: "Font Awesome 6 Free", sans-serif;--font-family-base: var(--font-family-mplus);--z-hamburger: 1001;--z-header: 100;--z-modal: 1000;--z-overlay: 10;--z-loading: 10000;--transition-base: 0.3s ease;--transition-fast: 0.2s ease;--transition-slow: 0.5s ease;--animation-duration: 30s}@media(max-width: 900px){:root{--base-width: 90%}}.header{position:fixed;top:0;left:0;width:100%;z-index:var(--z-header);opacity:1;transition:opacity .2s ease;height:64px;display:flex;flex-direction:column;justify-content:center}.header.is-visible{opacity:1}.headerInner{padding:4px 0 0;width:100%;display:flex;align-items:center;justify-content:space-between;max-width:var(--base-width);margin:0 auto;position:relative}.headerLogo{margin:0;font-size:2.4rem;font-weight:bold;color:var(--primary-color);text-decoration:none}.headerLogo img{height:40px;width:auto}.headerNav{position:absolute;top:-10px;right:-10px;width:300px;max-width:450px;background-color:var(--secondary-color);border:12px solid var(--accent-color);border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 32px 48px;transition:all .3s ease;z-index:var(--z-modal);box-shadow:0 2px 8px rgba(0,0,0,.1);transform:translateY(-120%)}.headerNav.is-open{transform:translateY(0)}.headerNavList{display:flex;flex-direction:column;gap:30px;list-style:none;width:100%}.headerNavItem{text-align:center;font-weight:700;border-bottom:2px dotted var(--accent-color)}.headerNavLink{display:block;color:var(--text-color);text-decoration:none;font-size:2rem;padding:10px 0;transition:color var(--transition-base)}.headerNavLink:hover{color:var(--accent-color)}.headerNavLink.is-active{color:var(--accent-color);font-weight:bold}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:30px;height:24px;background:rgba(0,0,0,0);border:none;cursor:pointer;z-index:var(--z-hamburger);position:relative}.hamburgerLine{width:100%;height:6px;background-color:#fff;border-radius:5px;transition:all var(--transition-base)}.hamburgerLine:nth-child(1){transform-origin:top left}.hamburgerLine:nth-child(3){transform-origin:bottom left}.hamburger.is-active .hamburgerLine{background-color:var(--accent-color)}.hamburger.is-active .hamburgerLine:nth-child(1){transform:rotate(45deg)}.hamburger.is-active .hamburgerLine:nth-child(2){opacity:0}.hamburger.is-active .hamburgerLine:nth-child(3){transform:rotate(-45deg)}@media(max-width: 900px){.header{height:40px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:rgba(0,0,0,.2509803922);box-shadow:0 2px 3px rgba(0,0,0,.4)}.headerLogo img{height:30px;max-width:100px}.headerNav{padding:24px 32px 24px}}html{scroll-behavior:smooth}@media(min-width: 768px){html{scroll-snap-type:y mandatory}}@media(max-width: 767px){html{scroll-snap-type:y proximity}}@media(max-width: 900px){html{scroll-snap-type:none}}.main section{scroll-snap-align:start;height:100vh}.btn{border-radius:32px;text-align:center;font-size:1.6rem;font-weight:600;width:240px;margin:0 auto;font-family:var(--font-family-noto)}.btn__link{width:100%;display:inline-block;padding:8px 24px;position:relative;transition:all .2s ease;border-radius:32px}.btn__link::after{content:"";font-family:var(--font-family-fontawesome);font-weight:900;position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:1.4rem}.btn--primary{background-color:var(--primary-color);color:#fff}.btn--primary .btn__link{border:4px solid var(--accent-color)}.btn--primary .btn__link:hover{background-color:#fff;color:var(--primary-color);border:4px solid var(--primary-color)}.btn--secondary{background-color:var(--accent-color);color:#fff}.btn--secondary .btn__link{border:4px solid var(--accent-color)}.btn--secondary .btn__link:hover{background-color:#fff;color:var(--primary-color);border:4px solid var(--primary-color)}.btn--third .btn__link{display:inline-block;position:relative;background-color:#fff;color:var(--primary-color);font-weight:800;cursor:pointer;font-size:2rem;box-shadow:0 12px 0 #7f0d15;border:8px solid #fff;padding:20px 24px 20px 0;border-radius:12px;border:8px solid var(--primary-color)}.btn--third .btn__link:hover{transform:translateY(10px);background-color:#7f0d15;color:#fff;border:8px solid #fff;box-shadow:0 0 0 #7f0d15}.btn--third .btn__link:after{content:"🔥";font-size:1.8rem;position:absolute;top:50%;transform:translateY(-50%);right:20px}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section{padding:100px 0}.section-title{font-size:3.6rem;font-weight:bold;text-align:center;margin-bottom:60px}.section-description{font-size:1.6rem;line-height:var(--line-height-base);text-align:center;margin-bottom:40px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-small{margin-bottom:20px}.mb-medium{margin-bottom:40px}.mb-large{margin-bottom:60px}.mt-small{margin-top:20px}.mt-medium{margin-top:40px}.mt-large{margin-top:60px}.request-form{margin:32px auto 0;max-width:800px}.form-group{text-align:center;margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:bold;color:#fff}.form-input,.form-textarea{width:100%;padding:12px;border:6px solid var(--secondary-color);border-radius:4px;font-size:1.6rem;font-family:var(--font-family-noto);box-sizing:border-box;background-color:#fff;transition:all .1s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#e1ad31;box-shadow:0 0 0 2px rgba(0,0,0,.1)}.form-textarea{resize:vertical;min-height:120px;background-color:#fff}.form-btn{width:200px;display:inline-block;padding:12px 24px;background-color:var(--secondary-color);color:var(--accent-color);border:none;border-radius:32px;font-size:1.6rem;font-weight:600;font-family:var(--font-family-noto);cursor:pointer;transition:background-color .3s ease,color .3s ease}.form-btn:hover{background-color:#fff;color:var(--primary-color)}.required{color:var(--primary-color)}.success-message,.error-message{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%) scale(1);z-index:1000;padding:20px 40px;border-radius:8px;font-size:1.8rem;font-weight:bold;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease;max-width:90%;word-wrap:break-word;white-space:pre-line}.success-message--show,.error-message--show{opacity:1;visibility:visible}.success-message{color:#27ae60;background-color:#d5f4e6;border:2px solid #27ae60}.error-message{color:#e74c3c;background-color:#fadbd8;border:2px solid #e74c3c}.textBg{position:relative;z-index:1;padding:0 4px;border-radius:2px}.textBg__text{position:relative;z-index:2;background:linear-gradient(to right, yellow 0%, yellow 100%);background-size:0% 100%;background-repeat:no-repeat;animation:textBgSlide 1s forwards}.textBg:nth-child(1) .textBg__text{animation-delay:0.1s}.textBg:nth-child(2) .textBg__text{animation-delay:0.2s}.textBg:nth-child(3) .textBg__text{animation-delay:0.3s}.textBg:nth-child(4) .textBg__text{animation-delay:0.4s}.textBg:nth-child(5) .textBg__text{animation-delay:0.5s}.textBg:nth-child(6) .textBg__text{animation-delay:0.6s}.textBg:nth-child(7) .textBg__text{animation-delay:0.7s}.textBg:nth-child(8) .textBg__text{animation-delay:0.8s}.textBg:nth-child(9) .textBg__text{animation-delay:0.9s}.textBg:nth-child(10) .textBg__text{animation-delay:1s}@keyframes textBgSlide{0%{background-size:0% 100%}100%{background-size:100% 100%}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1002}.modal__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);opacity:0;transition:opacity .3s ease}.modal__overlay--show{opacity:1}.modal__content{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.8);max-width:90%;max-height:90%;opacity:0;transition:opacity .3s ease,transform .3s ease}.modal__content--show{opacity:1;transform:translate(-50%, -50%) scale(1)}.modal__image{width:100%;height:auto;max-width:800px}.modal__close{position:absolute;top:-10px;right:-10px;background:var(--accent-color);border:none;border-radius:50%;width:40px;height:40px;font-size:20px;border:4px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.2);cursor:pointer}.modal__close::before{content:"";font-family:var(--font-family-fontawesome);font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);color:#fff}@media(max-width: 900px){.main section{height:auto;padding:48px 0 0}.request-form{margin:12px auto 0}.success-message,.error-message{max-width:100%;width:350px}.modal__content{max-width:100%;max-height:80vh}.modal__image{display:block;width:100vw;max-width:600px;-o-object-fit:contain;object-fit:contain}.modal__close{right:2px}.btn--third.btn{width:280px}.textBg__text{background:linear-gradient(to right, rgba(255, 255, 0, 0.8) 0%, rgba(255, 255, 0, 0.8) 100%)}.textBg:nth-child(1) .textBg__text{animation-delay:0.05s}.textBg:nth-child(2) .textBg__text{animation-delay:0.1s}.textBg:nth-child(3) .textBg__text{animation-delay:0.15s}.textBg:nth-child(4) .textBg__text{animation-delay:0.2s}.textBg:nth-child(5) .textBg__text{animation-delay:0.25s}}