@charset "UTF-8";@keyframes animation-slowly-up-down{0%{transform:translateY(0)}to{transform:translateY(30px)}}.animation-slowly-up-down-class{position:relative;animation-name:animation-slowly-up-down;animation-duration:3s;animation-iteration-count:infinite;animation-direction:alternate}@keyframes pulse-border{0%{transform:translate(-50%) translateY(-50%) translateZ(0) scale(1);opacity:1}to{transform:translate(-50%) translateY(-50%) translateZ(0) scale(1.5);opacity:0}}.pulse-border-class{position:relative;animation-name:pulse-border;animation-duration:1.5s;animation-iteration-count:infinite;animation-direction:alternate}@keyframes spin-cycle{0%{transform:rotate(0)}to{transform:rotate(-1000deg)}}.spin-endless{position:relative;animation-name:spin-cycle;animation-duration:90s;animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:cubic-bezier(.59,.59,1,1)}.shine-image{position:relative;overflow:hidden}.shine-image:after{content:"";position:absolute;width:200%;height:0%;left:50%;top:50%;background-color:#ffffff4d;transform:translate(-50%,-50%) rotate(-45deg);z-index:1}.shine-image:hover:after{height:250%;transition:all .6s linear;background-color:transparent}@keyframes animation-bloom{0%{transform:scale(1)}to{transform:scale(1.1)}}.breathing{position:relative;animation-name:animation-bloom;animation-duration:1.5s;animation-iteration-count:infinite;animation-direction:alternate;transition:all .4s ease-in-out}.underline-char{position:relative;display:inline-block;overflow:hidden}.underline-bar{position:absolute;bottom:0;left:0;height:2px;width:0;background-color:currentColor}@keyframes fade-in-down{0%{transform:translate3d(0,-50px,0)}to{opacity:1;transform:none}}.section-title{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-weight:700;font-style:normal;text-align:center;line-height:1.2;letter-spacing:.05em;color:#333;font-size:clamp(1rem,3vw,2rem);position:relative;display:inline-block;padding-bottom:.4em}.section-title:after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:40%;height:3px;background:linear-gradient(to right,#ff6f61,#ffcc70);border-radius:2px}.section-title.red{color:#d01031}.section-title.unlimited{color:#ffba00}@media (max-width: 768px){.section-title{font-size:clamp(1.5rem,6vw,2.5rem);padding-bottom:.3em}.section-title:after{width:50%;height:2px}}.contact-form{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:1.25rem}.form-row{margin-top:1rem}.form-label{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:#111;margin-bottom:.4rem}.req-badge,.opt-badge{display:inline-grid;place-items:center;height:1.4rem;padding:0 .5rem;border-radius:.35rem;font-size:.75rem;line-height:1}.req-badge{background:#fee2e2;color:#991b1b}.opt-badge{background:#e5e7eb;color:#374151}.ko-input,.ko-select,.ko-textarea{width:100%;background:#fff;color:#111;border:1px solid #d1d5db;border-radius:.75rem;padding:.75rem 1rem;transition:box-shadow .15s ease,border-color .15s ease,background-color .15s ease}.ko-textarea{line-height:1.8;resize:none}.ko-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none}.ko-input:focus,.ko-select:focus,.ko-textarea:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f640}.is-invalid{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44442e!important}.form-error{color:#b91c1c;font-size:.875rem;margin-top:.4rem}.form-help{color:#6b7280;font-size:.8125rem;margin-top:.35rem}.char-counter{position:absolute;right:.5rem;top:.4rem;font-size:.75rem;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;padding:.1rem .4rem}.ko-btn--primary{background:#111827;color:#fff;border-color:#ffffff1f}@media (prefers-color-scheme: dark){.contact-form{background:#ffffff08;border-color:#ffffff14}.ko-input,.ko-select,.ko-textarea{background:#fff;color:#111}}.contact-confirm{background:#ffffff05;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:1.25rem}.confirm-list{display:grid;gap:.75rem}.confirm-list .row{display:grid;grid-template-columns:10rem 1fr;gap:.75rem;align-items:start;padding:.75rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem}@media (max-width: 767px){.confirm-list .row{grid-template-columns:1fr}}.confirm-list .row dt{font-weight:700;color:#374151;margin:0}.confirm-list .row dd{margin:0;color:#111;line-height:1.85;white-space:pre-wrap;word-break:break-word}.confirm-actions{margin-top:1rem;display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.confirm-note{margin-top:.5rem;font-size:.875rem;color:#6b7280}.contact-thanks{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:2rem 1.5rem;text-align:center}.contact-thanks .icon-wrap{display:grid;place-items:center;margin-bottom:1rem}.contact-thanks .icon-wrap .icon-success{width:72px;height:72px;display:block;filter:drop-shadow(0 8px 18px rgba(16,185,129,.35));border-radius:9999px}.contact-thanks .icon-wrap .icon-success .bg{fill:#10b981}.contact-thanks .icon-wrap .icon-success .fg{stroke:#fff}.contact-thanks .title{font-weight:800;font-size:clamp(1.25rem,2.2vw,1.5rem);color:#111;margin:.25rem 0 .5rem}.contact-thanks .lead{color:#374151;line-height:1.9;margin:0 auto 1.25rem;max-width:48rem}.contact-thanks .meta{margin:1rem auto 1.5rem;display:grid;gap:.75rem;text-align:left;max-width:48rem}.contact-thanks .meta>div{display:grid;grid-template-columns:8rem 1fr;gap:.75rem;padding:.75rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem}@media (max-width: 767px){.contact-thanks .meta>div{grid-template-columns:1fr}}.contact-thanks .meta>div dt{margin:0;font-weight:700;color:#374151}.contact-thanks .meta>div dd{margin:0;color:#111;line-height:1.85}.contact-thanks .actions{margin-top:.5rem;display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.ko-btn{display:inline-grid;place-items:center;padding:.75rem 1.25rem;border-radius:.75rem;font-weight:700;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease}.ko-btn--primary{background:#111827;color:#fff;border-color:#0000001a}.ko-btn--primary:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0000002e}.ko-btn--ghost{background:#fff;color:#111;border-color:#d1d5db}.ko-btn--ghost:hover{background:#f9fafb}
