@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{--ink: #21352d;--muted: #6e7a74;--green: #207a58;--cream: #f7f5ee;--orange: #f49a47;--line: #dce2d9}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Noto Sans JP,sans-serif;font-size:14px}.app-shell{min-height:100vh}.header{height:76px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,28px);border-bottom:1px solid #eef0eb;position:relative;z-index:3}.brand{border:0;background:none;color:var(--ink);display:flex;align-items:center;gap:10px;font:700 18px Noto Sans JP;text-align:left;cursor:pointer}.brand small{font:600 8px DM Sans;letter-spacing:.16em;color:var(--green);display:block}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--green);color:#fff}.header nav{display:flex;align-items:stretch;height:100%;gap:28px}.header nav button{border:0;background:none;color:var(--muted);font:600 13px Noto Sans JP;cursor:pointer;border-bottom:3px solid transparent}.header nav button.active{color:var(--green);border-color:var(--green)}.menu-button{display:none;border:0;background:none;color:var(--ink)}main{min-height:calc(100vh - 136px)}.hero{min-height:396px;background:#e8f0e7;display:flex;align-items:center;justify-content:space-between;padding:60px max(12vw,50px);overflow:hidden}.eyebrow{font:600 11px DM Sans;letter-spacing:.17em;color:var(--green);margin:0 0 9px}.hero h1,.admin-head h1{font-size:42px;line-height:1.35;letter-spacing:.07em;margin:0 0 16px}.hero em{font-style:normal;color:var(--green)}.hero-copy{font-size:15px;line-height:2;color:#56645e}.hero-note{color:var(--green);display:flex;align-items:center;gap:7px;margin-top:22px;font-size:12px;font-weight:600}.hero-illustration{width:260px;height:240px;position:relative}.sun{width:140px;height:140px;border-radius:50%;background:#f6ca59;position:absolute;top:25px;left:40px}.book{position:absolute;right:17px;top:80px;width:106px;height:80px;background:#fff;border-radius:6px 10px 10px 6px;box-shadow:0 14px 24px #28443528;color:var(--green);font:700 35px DM Sans;padding:13px 18px;transform:rotate(10deg)}.book span{font:700 19px Noto Sans JP;margin-left:10px}.pencil{position:absolute;bottom:25px;left:14px;width:170px;height:21px;background:var(--orange);border-radius:20px;transform:rotate(-28deg);box-shadow:inset -24px 0 #ffe2c0}.dots{position:absolute;bottom:6px;right:12px;color:var(--green);letter-spacing:9px;font-size:14px}.form-wrap{max-width:800px;margin:0 auto;padding:70px 28px 80px}.section-heading{display:flex;gap:18px;align-items:center;margin-bottom:28px}.section-heading>span{font:700 17px DM Sans;color:var(--orange);border:1px solid #f3c18f;width:42px;height:42px;display:grid;place-items:center;border-radius:50%}.section-heading h2{font-size:21px;margin:0}.application-form{background:#fff;border-radius:6px;padding:38px 42px;box-shadow:0 6px 20px #1537200a}fieldset{border:0;border-top:1px solid var(--line);padding:28px 0 0;margin:0 0 30px}fieldset:first-child{border-top:0;padding-top:0}legend{font-weight:700;font-size:15px;padding:0 0 18px}legend i{font-style:normal;background:#fce9df;color:#c6613e;font-size:10px;padding:3px 7px;border-radius:3px;margin-left:8px}label{display:block;font-size:12px;font-weight:600;color:#41524a;margin-bottom:19px}.field-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.required-mark{flex:0 0 auto;color:#c6613e;font-size:11px}input,select,textarea{font:400 14px Noto Sans JP;display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cad4cc;border-radius:4px;background:#fff;color:var(--ink);outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #207a5815}textarea{resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.select-label{max-width:360px}.submit-button{border:0;border-radius:4px;background:var(--green);color:#fff;min-height:48px;padding:0 25px;font:600 14px Noto Sans JP;cursor:pointer;display:inline-flex;gap:7px;align-items:center;justify-content:center;box-shadow:0 7px 14px #207a5825}.application-form>.submit-button{width:100%;margin-top:0}.privacy{text-align:center;color:#89948e;font-size:10px;margin:15px 0 0}.error{color:#b54e45;font-size:12px}.panel{max-width:620px;margin:65px auto;background:#fff;padding:48px;border-radius:6px;text-align:center;box-shadow:0 5px 18px #1537200c}.panel h2{font-size:22px;margin:10px 0}.panel>svg{color:var(--green)}.confirmation{max-width:650px}.confirmation>svg{color:var(--green)}.secondary-button,.text-button{margin-top:20px;background:none;border:1px solid #aab9ae;padding:10px 18px;border-radius:4px;color:var(--green);font:600 13px Noto Sans JP;cursor:pointer}.login-panel{text-align:left;max-width:450px}.login-panel>svg{display:block;margin:auto}.login-panel .eyebrow,.login-panel h2{text-align:center}.login-panel form{margin-top:28px}.login-panel .submit-button{width:100%;margin-top:8px}.admin-main{width:100%;padding:48px clamp(16px,2vw,40px)}.admin-utility{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:var(--muted);font-size:12px;margin-bottom:18px}.admin-utility .text-button{margin:0}.admin-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.admin-buttons,.admin-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-buttons .secondary-button{margin:0}.bulk-delete-button{min-height:42px;padding:0 14px;border:1px solid #b5534a;border-radius:4px;background:#fff;color:#a64038;cursor:pointer}.bulk-delete-button:disabled{opacity:.5;cursor:not-allowed}.admin-filters{margin:0 0 20px;padding:14px;background:#fff;border-radius:6px}.admin-filters input{flex:1 1 260px;margin:0}.admin-filters select{width:auto;min-width:120px;margin:0}.admin-summary{color:var(--muted);font-size:12px}.admin-head h1{font-size:30px;margin:0}.admin-head p:last-child{margin:6px 0 0;color:var(--muted);font-size:12px}.compact{min-height:42px}.table-card{background:#fff;border-radius:6px;box-shadow:0 5px 18px #1537200b}.table-scroll{overflow:auto}table{border-collapse:collapse;min-width:1400px;width:100%;font-size:12px}th{background:#f3f6f1;color:#65736c;text-align:left;font-weight:600;padding:14px 18px;white-space:nowrap}td{padding:17px 18px;border-top:1px solid #edf0eb;vertical-align:top}th input[type=checkbox],td input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer}td strong,td small{display:block}td small{font-size:10px;color:#85908a;margin-top:4px;overflow-wrap:anywhere}td a{color:var(--green);text-decoration:none}.application-note{min-width:180px;max-width:260px;color:#56645e;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.additional-fields{min-width:180px;max-width:260px}.additional-fields span{display:block;margin-bottom:8px;line-height:1.5;overflow-wrap:anywhere}.additional-fields span:last-child{margin-bottom:0}.additional-fields strong{display:block;color:#41524a;font-size:11px}.status{display:inline-block;background:#e7f3eb;color:var(--green);border-radius:99px;padding:4px 9px;font-size:10px}.row-actions{display:flex;gap:7px}.row-actions button{border:0;background:#f0f5f1;color:var(--green);width:32px;height:32px;border-radius:4px;cursor:pointer}.row-actions .danger{background:#fceed;color:#b5534a}.empty{text-align:center;padding:75px;color:var(--muted)}.empty svg{color:#aab9ae}.empty h3{color:var(--ink);margin-bottom:5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12271c8a;z-index:10;display:grid;place-items:center;padding:20px}.modal{width:min(650px,100%);max-height:90vh;overflow:auto;background:var(--cream);padding:35px;border-radius:8px;position:relative}.modal h2{margin:0 0 22px;font-size:22px}.modal .application-form{padding:28px}.close{border:0;background:none;position:absolute;right:18px;top:18px;color:var(--muted);cursor:pointer}footer{background:#183d2d;color:#c7d6cf;text-align:center;padding:21px;font:11px DM Sans;letter-spacing:.1em}@media(max-width:680px){.header{height:64px}.menu-button{display:block}.header nav{display:none;position:absolute;top:64px;left:0;right:0;height:auto;background:#fff;box-shadow:0 8px 12px #0001;padding:10px 24px;flex-direction:column;gap:0}.header nav.open{display:flex}.header nav button{height:43px;text-align:left;border-bottom:1px solid #edf0eb}.hero{padding:48px 28px;min-height:350px}.hero h1{font-size:32px}.hero-illustration{display:none}.form-wrap{padding:48px 18px}.application-form{padding:28px 20px}.two-col{grid-template-columns:1fr;gap:0}.select-label{max-width:none}.admin-main{padding:40px 16px}.admin-head{align-items:start;gap:15px}.admin-head h1{font-size:26px}.compact{font-size:0;padding:0 14px}.compact svg{margin:0}.panel{margin:35px 18px;padding:34px 20px}.modal{padding:28px 14px}.modal .application-form{padding:22px 16px}}.hero-banner{--cut: 58px;width:calc(100% - 56px);max-width:800px;height:clamp(270px,32vw,460px);margin:42px auto 0;position:relative;display:block;overflow:hidden;background:#fff;border-radius:6px}.hero-banner img{position:absolute;top:0;width:39%;height:100%;object-fit:cover;display:block}.hero-banner img:first-child{left:0;width:38%;z-index:1;object-position:center;clip-path:polygon(0 0,100% 0,calc(100% - var(--cut)) 100%,0 100%)}.hero-banner img:nth-child(2){left:31%;z-index:2;object-position:center;clip-path:polygon(var(--cut) 0,100% 0,calc(100% - var(--cut)) 100%,0 100%)}.hero-banner img:last-child{right:0;width:38%;z-index:3;object-position:center;clip-path:polygon(var(--cut) 0,100% 0,100% 100%,0 100%)}@media(max-width:680px){.hero-banner{--cut: 24px;width:calc(100% - 36px);height:210px;margin-top:24px}.hero-banner img:first-child{object-position:38% center}.hero-banner img:nth-child(2){object-position:38% center}.hero-banner img:last-child{object-position:47% center}}.login-description{color:var(--muted);font-size:13px;line-height:1.8;margin:20px 0}.google-button{width:100%;min-height:48px;border:1px solid #cfd6d0;border-radius:4px;background:#fff;color:#34443b;font:600 14px Noto Sans JP;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:11px;box-shadow:0 2px 5px #1537200e}.google-button span{font:700 20px DM Sans;color:#4285f4}.brand{border:0;background:none;padding:0;display:flex;align-items:center;cursor:pointer}.brand img{display:block;width:218px;height:auto}@media(max-width:680px){.brand img{width:165px}}.application-form label{border-radius:5px;transition:background-color .18s ease,color .18s ease}.application-form label:focus-within{color:var(--green);background:#f2f8f4}.application-form input,.application-form select,.application-form textarea{caret-color:var(--green);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.application-form input:hover,.application-form select:hover,.application-form textarea:hover{border-color:#9bb9aa}.application-form input:focus-visible,.application-form select:focus-visible,.application-form textarea:focus-visible,.submit-button:focus-visible,.secondary-button:focus-visible,.google-button:focus-visible,.brand:focus-visible,.header nav button:focus-visible,.menu-button:focus-visible{outline:3px solid #e8903f;outline-offset:3px}.application-form input:focus-visible,.application-form select:focus-visible,.application-form textarea:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px #207a5826;background:#fff}.submit-button{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #207a5833;background:#176946}.submit-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 8px #207a5828}.submit-button:disabled{cursor:wait;opacity:.78;box-shadow:none}.button-spinner{width:17px;height:17px;border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;animation:button-spin .7s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hero-banner img:nth-child(2),.hero-banner img:last-child{-webkit-mask-image:linear-gradient(105deg,transparent 0,#000 86px);mask-image:linear-gradient(105deg,transparent 0,#000 86px)}@media(max-width:680px){.hero-banner img:nth-child(2),.hero-banner img:last-child{-webkit-mask-image:linear-gradient(105deg,transparent 0,#000 42px);mask-image:linear-gradient(105deg,transparent 0,#000 42px)}}.hero-count-1{background:#eef3ef}.hero-count-1 img{left:0!important;right:auto!important;width:100%!important;object-fit:contain!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}.hero-count-2 img:first-child{width:55%}.hero-count-2 img:last-child{width:55%}.hero-banner{height:clamp(210px,18.75vw,300px)}.form-manager{margin-top:50px;padding:32px;background:#fff;border-radius:6px}.form-manager h2{margin:0 0 22px}.form-manager form{display:grid;gap:12px;max-width:620px}.part-builder{margin-top:10px;padding-top:22px;border-top:1px solid var(--line)}.part-builder h3,.part-add h4{margin:0}.part-description{color:var(--muted);font-size:12px;line-height:1.7;margin:7px 0 16px}.part-list{display:grid;gap:12px}.part-row{display:grid;gap:10px;padding:18px;border:1px solid #dbe5dd;border-radius:6px;background:#f8fbf8}.part-row label{margin:0}.part-row input,.part-row select,.part-row textarea{margin-top:5px}.part-row-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--green);font-size:12px}.part-actions{display:flex;align-items:center;gap:8px}.part-actions button:not(.part-remove){width:28px;height:28px;border:1px solid #cbd9cf;border-radius:4px;background:#fff;color:var(--green);cursor:pointer}.part-actions button:disabled{cursor:default;opacity:.35}.part-remove{border:0;background:none;padding:3px 0;color:#b5534a;font:600 12px Noto Sans JP;cursor:pointer}.part-add{display:grid;gap:12px;margin-top:16px;padding:18px;border:1px dashed #aabdaf;border-radius:6px}.part-add h4{color:#41524a;font-size:13px}.part-add .checkbox{margin:0}.checkbox{display:flex!important;align-items:center;gap:9px}.checkbox input{width:auto;margin:0}.image-list{display:flex;flex-wrap:wrap;gap:12px}.image-list figure{width:120px;margin:0}.image-list img{width:120px;height:72px;object-fit:cover;border-radius:4px}.image-list button{border:0;background:none;color:#b5534a;font:12px Noto Sans JP;padding:4px 0;cursor:pointer}.saved-forms{margin-top:35px;border-top:1px solid var(--line);padding-top:20px}.saved-forms h3{font-size:15px}.saved-forms article{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0eb}.saved-forms code{color:var(--muted);font-size:12px}.status.draft{background:#f2f0eb;color:#70766f}.form-title{max-width:800px;margin:45px auto -35px;padding:0 28px}.form-title h1{font-size:28px;margin:0}.form-links{display:flex;flex-wrap:wrap;gap:10px;max-width:900px;margin:24px auto;padding:0 28px}.form-links a{display:inline-flex;align-items:center;gap:3px;border:1px solid #cbd9cf;background:#fff;color:var(--green);padding:9px 13px;border-radius:4px;text-decoration:none;font-weight:600;font-size:13px}.form-links a:hover{background:#edf6f0}.form-index{max-width:1080px;margin:0 auto;padding:72px 28px}.form-index>h1{font-size:34px;margin:0 0 32px}.form-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.form-card{display:block;background:#fff;border-radius:7px;overflow:hidden;color:var(--ink);text-decoration:none;box-shadow:0 6px 20px #15372012;transition:transform .18s ease,box-shadow .18s ease}.form-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #15372020}.form-card img,.form-card-placeholder{width:100%;aspect-ratio:16/8;object-fit:cover;display:block;background:#e7f0eb}.form-card>div:last-child{padding:18px 20px}.form-card h2{font-size:18px;margin:0 0 10px}.form-card span{display:flex;align-items:center;gap:3px;color:var(--green);font-size:13px;font-weight:700}.form-empty{background:#fff;padding:52px 28px;text-align:center;border-radius:7px;color:var(--muted)}.form-empty h2{color:var(--ink);font-size:20px}@media(max-width:680px){.form-index{padding:44px 18px}.form-index>h1{font-size:28px}}.debug-banner{background:#fff2d8;color:#765013;border:1px solid #edc773;padding:10px 14px;border-radius:4px;margin-bottom:22px;font-size:12px;font-weight:600}.form-card img{object-fit:contain;background:#e7f0eb}
