﻿html,body,header,footer,main,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-size:100%;vertical-align:middle;line-height:1.5}.link-item{margin-top:10px;text-align:center}.link-item .link{color:#004080;font-size:14px;text-decoration:none}.link-item .link:hover{text-decoration:underline}.link-item .btn-omniauth{display:block;width:100%;padding:10px;background-color:#ff9800;color:#fff;font-size:14px;border:none;border-radius:5px;cursor:pointer;text-align:center}.link-item .btn-omniauth:hover{background-color:#e68900}.login-box{background:#fff;padding:30px 20px;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,0.1);width:100%;max-width:400px;box-sizing:border-box;margin:0 auto}.login-box h2{text-align:center;color:#004080;margin-bottom:20px}.login-form .field{margin-bottom:15px}.login-form .field .form-label{font-size:14px;color:#333;margin-bottom:5px;display:block}.login-form .field .form-input{width:100%;padding:10px;font-size:14px;border:1px solid #ccc;border-radius:5px;box-sizing:border-box}.login-form .field .form-input:focus{border-color:#004080;outline:none;box-shadow:0 0 5px rgba(0,64,128,0.2)}.login-form .field .form-checkbox{margin-right:5px}.login-form .field .form-label-checkbox{font-size:14px;color:#333;vertical-align:middle}.login-form .actions .btn{width:100%;padding:10px;font-size:16px;background-color:#ff9800;color:#fff;border:none;border-radius:5px;cursor:pointer}.login-form .actions .btn:hover{background-color:#e68900}.devise-links{text-align:center;margin-top:15px}.devise-links a{font-size:14px;color:#004080;text-decoration:none}.devise-links a:hover{text-decoration:underline}.devise-form-container{max-width:400px;width:100%;background:#fff;padding:20px;border-radius:10px;box-shadow:0px 4px 6px rgba(0,0,0,0.1);box-sizing:border-box}.devise-form-container h2{text-align:center;color:#004080;margin-bottom:20px}.devise-form-container .form-group{margin-bottom:15px}.devise-form-container .form-group label{font-size:14px;margin-bottom:5px;display:block;color:#333}.devise-form-container .form-group input{width:100%;padding:10px;border:1px solid #ccc;border-radius:5px;font-size:14px;box-sizing:border-box}.devise-form-container .form-group input:focus{border-color:#004080;outline:none}.devise-form-container .actions .button{width:100%;background-color:#ff9800;color:#fff;padding:10px;border:none;border-radius:5px;font-size:16px;cursor:pointer;text-align:center}.devise-form-container .actions .button:hover{background-color:#e68900}.devise-form-container .form-links{margin-top:20px;text-align:center}.devise-form-container .form-links a{font-size:14px;color:#004080;text-decoration:none}.devise-form-container .form-links a:hover{text-decoration:underline}.btn{display:inline-block;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer;text-decoration:none;border:1px solid rgba(0,0,0,0);transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;white-space:nowrap;text-align:center}.btn:active{transform:translateY(1px)}.btn:disabled,.btn.disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:#036;color:#fff;border-color:#036}.btn-primary:hover{background-color:#001f3d;border-color:#001f3d}.btn-secondary{background-color:#e6eff7;color:#036;border-color:#c7dbed}.btn-secondary:hover{background-color:#c7dbed}.btn-danger,.btn-reject{background-color:#dc3545;color:#fff;border-color:#dc3545}.btn-danger:hover,.btn-reject:hover{background-color:#c62232;border-color:#c62232}.btn-success,.btn-approve{background-color:#28a745;color:#fff;border-color:#28a745}.btn-success:hover,.btn-approve:hover{background-color:#208637;border-color:#208637}.btn-warning{background-color:#ffc107;color:#212529;border-color:#dda600}.btn-warning:hover{background-color:#dda600}.btn-outline-primary{background-color:rgba(0,0,0,0);color:#036;border-color:#036}.btn-outline-primary:hover{background-color:#036;color:#fff}.btn-outline-secondary{background-color:#fff;color:#333;border-color:#dee2e6}.btn-outline-secondary:hover{background-color:#e6eff7}.btn-outline-danger{background-color:rgba(0,0,0,0);color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{background-color:#dc3545;color:#fff}.btn-xs{padding:2px 8px;font-size:10px;border-radius:4px}.btn-sm{padding:4px 10px;font-size:12px;border-radius:4px;line-height:1.5}.btn-lg{padding:12px 32px;font-size:16px;border-radius:10px}.btn-block{display:block;width:100%}.form-group{display:flex;flex-direction:column;margin-bottom:16px}.form-label{display:block;margin-bottom:4px;font-size:14px;font-weight:600;color:#333}.form-control,.form-input,.form-select{display:block;width:100%;padding:8px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.form-control:focus,.form-input:focus,.form-select:focus{outline:none;border-color:#036;box-shadow:0 0 0 3px rgba(0,51,102,0.12)}.form-control::placeholder,.form-input::placeholder,.form-select::placeholder{color:#939ba2}.form-control:disabled,.form-input:disabled,.form-select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}textarea.form-control{min-height:100px;resize:vertical}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236c757d' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer;appearance:none}.form-check{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:pointer}.form-check input[type=checkbox],.form-check input[type=radio]{width:16px;height:16px;cursor:pointer;accent-color:#036;flex-shrink:0}.form-check .form-check-label{font-size:14px;color:#333;cursor:pointer}.form-actions{display:flex;gap:12px;align-items:center;margin-top:16px;flex-wrap:wrap}.form-hint{display:block;margin-top:4px;font-size:12px;color:#6c757d}.form-error{display:block;margin-top:4px;font-size:12px;color:#dc3545}.form-inline{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:8px 12px;text-align:left;border-bottom:1px solid #dee2e6;vertical-align:middle}.table thead th{background-color:#e6eff7;color:#333;font-weight:600;white-space:nowrap}.table tbody tr:nth-child(even){background-color:#e6eff7}.table tbody tr:nth-child(odd){background-color:#fff}.table tbody tr:hover{background-color:#dae8f3}.table-detail{width:100%;border-collapse:collapse;font-size:14px}.table-detail th,.table-detail td{padding:8px 12px;border:1px solid #dee2e6;vertical-align:middle;text-align:left}.table-detail th{background-color:#f5f5f5;color:#036;font-weight:600;width:35%;white-space:nowrap}.table-detail td{background-color:#fff;word-break:break-word}.table-detail--rounded{border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden;border:1px solid #dee2e6}.badge{display:inline-block;padding:2px 8px;font-size:10px;font-weight:700;border-radius:999px;line-height:1.4;white-space:nowrap}.badge--success{background:#e6f4ea;color:#137333}.badge--pending{background:#f4f4f4;color:#555}.badge--failed{background:#fde8e8;color:#b00020}.badge--refund{background:#e9f5fb;color:#065f8e}.badge--waiting{background:#fef3c7;color:#92400e}.badge--ready{background:#d1fae5;color:#065f46}.badge--active{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.badge--inactive{background:#e9ecef;color:#495057;border:1px solid #ced4da}.sort-link{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:normal;color:#036;text-decoration:none;background-color:rgba(0,51,102,0.06);border:1px solid rgba(0,51,102,0.2);border-radius:4px;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease}.sort-link:hover{background-color:rgba(0,51,102,0.14);border-color:rgba(0,51,102,0.45)}.sort-link.sort-link--active{color:#fff;background-color:#036;border-color:#036}.sort-link.sort-link--active:hover{background-color:#001f3d}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:6px}.c-modal{position:fixed;inset:0;display:none;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch}.c-modal__overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);opacity:0;transition:opacity 160ms ease;display:block}.c-modal__dialog{position:relative;box-sizing:border-box;min-width:760px;margin:7vh auto;background:#f5f5f5;color:#333;border-radius:14px;box-shadow:0 20px 40px rgba(0,0,0,0.18);transform:translateY(6px) scale(0.98);opacity:0;transition:transform 160ms ease,opacity 160ms ease;border:1px solid #dee2e6;font-family:"Noto Sans JP","Roboto",sans-serif;font-size:14px}.c-modal__header,.c-modal__body,.c-modal__footer{padding:24px}.c-modal__header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dee2e6}.c-modal__header .c-modal__title{margin:0;font-size:16px;font-weight:600}.c-modal__header .c-modal__close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;text-decoration:none;font-size:18px;line-height:1;color:#333;transition:background 160ms ease,transform 160ms ease}.c-modal__header .c-modal__close:hover{background:rgba(0,0,0,0.06)}.c-modal__header .c-modal__close:active{transform:scale(0.95)}.c-modal__body{max-height:calc(90vh - 200px);overflow:auto}.c-modal__body table{width:100%;border-collapse:collapse;font-size:14px}.c-modal__body table thead th{font-weight:600;text-align:left;border-bottom:1px solid #dee2e6;padding:12px;background:#e6eff7}.c-modal__body table tbody td{border-bottom:1px solid #eee;padding:12px}.c-modal__body .badge{display:inline-block;padding:.25rem .55rem;font-size:10px;border-radius:999px;line-height:1}.c-modal__body .badge.is-success{background:#e6f4ea;color:#137333}.c-modal__body .badge.is-pending{background:#f4f4f4;color:#555}.c-modal__body .badge.is-failed{background:#fde8e8;color:#b00020}.c-modal__body .badge.is-refund{background:#e9f5fb;color:#065f8e}.c-modal__footer{border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;gap:8px}.c-modal__footer .btn{border:1px solid #dee2e6;background:#fff;padding:6px 14px;border-radius:6px;cursor:pointer;text-decoration:none;color:#333;font-size:14px;transition:background 160ms ease,transform 160ms ease}.c-modal__footer .btn:hover{background:#efefef}.c-modal__footer .btn:active{transform:translateY(1px)}.c-modal__footer .btn.btn-primary{background:#036;border-color:#036;color:#fff}.c-modal{display:none}.c-modal.is-open{display:block !important}.c-modal.is-open .c-modal__overlay{opacity:1}.c-modal.is-open .c-modal__dialog{transform:translateY(0) scale(1);opacity:1}.c-modal__body table{table-layout:fixed}.c-modal__body thead th,.c-modal__body tbody td{white-space:nowrap}.c-modal__body .badge{white-space:nowrap}@media (max-width: 480px){.c-modal__dialog{min-width:auto;width:94vw;margin:6vh auto}.c-modal__header,.c-modal__body,.c-modal__footer{padding:18px}.c-modal__body thead th,.c-modal__body tbody td{font-size:10px}.c-modal__body .badge{font-size:10px}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}.spinner,.loading-overlay__spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(0,51,102,0.2);border-top-color:#036;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;flex-shrink:0}.spinner--sm{width:14px;height:14px;border-width:2px}.spinner--lg,.loading-overlay__spinner{width:32px;height:32px;border-width:3px}.spinner--white{border-color:rgba(255,255,255,0.3);border-top-color:#fff}.loading-overlay{position:fixed;inset:0;background:rgba(255,255,255,0.75);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:9999;animation:fade-in .1s ease;pointer-events:none}.loading-overlay__text{font-size:12px;color:#6c757d;font-weight:600}body.is-loading .loading-overlay{pointer-events:all}.loading-inline{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 16px;color:#6c757d;font-size:12px}.loading-inline .spinner,.loading-inline .loading-overlay__spinner{flex-shrink:0}.btn.is-submitting{pointer-events:none;opacity:.8;position:relative}.btn.is-submitting::after{content:"";display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-left:8px;vertical-align:middle}.header-admin{background-color:#036;color:#fff;padding:12px 0;position:sticky;top:0;z-index:100}.header-admin .container{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box}.header-admin .container .logo img{height:44px;display:block}.header-admin .container .main-nav ul{list-style:none;display:flex;gap:20px;padding:0;margin:0}.header-admin .container .main-nav ul li a{color:#fff;text-decoration:none;font-weight:bold;font-size:14px;transition:color .15s ease}.header-admin .container .main-nav ul li a:hover{color:#ff9800;text-decoration:underline}.header-admin .container .cta button.primary-button{background-color:#ff9800;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-weight:bold;font-size:14px;cursor:pointer;transition:background-color .15s ease}.header-admin .container .cta button.primary-button:hover{background-color:#cc7a00}.header-admin .container .cta button.primary-button a{color:inherit;text-decoration:none}@media (max-width: 768px){.header-admin .container{flex-direction:column;align-items:center;gap:12px}.header-admin .container .main-nav ul{flex-wrap:wrap;justify-content:center;gap:12px}}.admin-clinics-page{width:90%;margin:0 auto;padding-bottom:100px}.admin-clinics-page .admin-clinics-search-container{margin-top:30px}.admin-clinics-page .admin-clinics-search-container .admin-clinics-search-form{display:flex;gap:10px;justify-content:center;align-items:center}.admin-clinics-page .admin-clinics-search-container .admin-clinics-search-form .form-group{display:flex;flex-direction:column;align-items:flex-start}.admin-clinics-page .admin-clinics-search-container .admin-clinics-search-form .form-group .form-label{margin-bottom:5px;font-size:14px;color:#333}.admin-clinics-page .admin-clinics-search-container .admin-clinics-search-form .form-group .form-control{width:300px;padding:8px;border:1px solid #dee2e6;border-radius:5px}.admin-clinics-page .admin-clinics-search-container .admin-clinics-search-form .form-group .btn-primary{padding:8px 20px;border-radius:5px;font-size:14px;font-weight:bold;cursor:pointer;background-color:#036;color:#fff;margin-top:25px}.admin-clinics-page .admin-clinics-search-container .admin-clinics-search-form .form-group .btn-primary:hover{background-color:#001a33}.admin-clinics-page .admin-clinics-search-container .form-clear{margin:15px auto 0;text-align:center;display:flex;justify-content:center}.admin-clinics-page .admin-clinics-search-container .form-clear .btn-outline-secondary{padding:8px 20px;border-radius:5px;font-size:14px;font-weight:bold;cursor:pointer;color:#036}.admin-clinics-page .admin-clinics-search-container .form-clear .btn-outline-secondary:hover{background-color:#e6eff7}.admin-clinics-page .admin-clinics-list-container{margin-top:30px;padding:30px}.admin-clinics-page .admin-clinics-list-container .actions{margin-bottom:15px}.admin-clinics-page .admin-clinics-list-container .actions .btn{margin-right:10px}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table{width:100%;border-collapse:collapse}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table thead{background-color:#e6eff7;color:#333}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table thead th{padding:10px;text-align:left;font-size:14px}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table tbody tr:nth-child(even){background-color:#e6eff7}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table tbody tr:nth-child(odd){background-color:#fff}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table tbody td{padding:10px;font-size:14px;border-bottom:1px solid #dee2e6}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table tbody td .btn-sm{font-size:12px;padding:5px 8px;border-radius:3px;margin-right:5px;text-decoration:none}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table tbody td .btn-sm.btn-outline-primary{border:1px solid #036;background-color:#e6eff7;color:#036}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table tbody td .btn-sm.btn-outline-primary:hover{background-color:#036;color:#fff}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table tbody td .btn-sm.btn-outline-secondary{border:1px solid #036;background-color:#e6eff7;color:#333}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table tbody td .btn-sm.btn-outline-secondary:hover{background-color:#dee2e6;color:#333}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table tbody td .btn-sm.btn-danger{border:1px solid #bd2130;background-color:#dc3545;color:#fff}.admin-clinics-page .admin-clinics-list-container .admin-clinics-list-table tbody td .btn-sm.btn-danger:hover{background-color:#bd2130}.admin-clinics-page .admin-clinics-form-container{margin:30px auto;max-width:600px}.admin-clinics-page .admin-clinics-form-container h2{margin-bottom:20px}.admin-clinics-page .admin-clinics-form-container .form-group{margin-bottom:20px}.admin-clinics-page .admin-clinics-form-container .form-group label{display:block;margin-bottom:5px;font-weight:bold}.admin-clinics-page .admin-clinics-form-container .form-group .form-control{width:100%;padding:8px;border:1px solid #dee2e6;border-radius:5px}.admin-clinics-page .admin-clinics-form-container .btn-primary{padding:8px 20px;border-radius:5px;font-size:14px;font-weight:bold;background-color:#036;color:#fff;cursor:pointer}.admin-clinics-page .admin-clinics-form-container .btn-primary:hover{background-color:#001a33}.admin-clinics-page .admin-clinics-form-container .btn-outline-secondary{margin-left:10px;padding:8px 20px;border-radius:5px;font-size:14px;font-weight:bold;cursor:pointer;color:#036;border:1px solid #036;background-color:#fff}.admin-clinics-page .admin-clinics-form-container .btn-outline-secondary:hover{background-color:#e6eff7}.admin-clinics-page .admin-clinics-detail{margin:30px auto 20px;max-width:600px}.admin-clinics-page .admin-clinics-detail h2{margin-bottom:20px;font-size:24px;font-weight:bold}.admin-clinics-page .admin-clinics-detail .admin-clinics-detail-table{width:100%;border-collapse:collapse;margin-bottom:20px}.admin-clinics-page .admin-clinics-detail .admin-clinics-detail-table th,.admin-clinics-page .admin-clinics-detail .admin-clinics-detail-table td{padding:8px 12px;font-size:14px;vertical-align:top;border-bottom:1px solid #ddd}.admin-clinics-page .admin-clinics-detail .admin-clinics-detail-table th{width:160px;background-color:#e6eff7;font-weight:bold}.admin-clinics-page .admin-clinics-detail .admin-clinics-detail-table td{background-color:#fff}.admin-clinics-page .admin-clinics-actions-group{margin:20px auto;max-width:600px}.admin-clinics-page .admin-clinics-actions-group .admin-clinics-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.admin-clinics-page .admin-clinics-actions-group .admin-clinics-actions .btn{text-decoration:none;padding:8px 20px;border-radius:5px;font-size:14px;font-weight:bold;cursor:pointer;background-color:#036;color:#fff}.admin-clinics-page .admin-clinics-actions-group .admin-clinics-actions .btn:hover{background-color:#001a33}.admin-clinics-page .admin-clinics-actions-group .admin-clinics-actions .btn-danger{background-color:#dc3545;color:#fff;border:1px solid #dc3545}.admin-clinics-page .admin-clinics-actions-group .admin-clinics-actions .btn-danger:hover{background-color:#bd2130}.admin-clinics-page .admin-clinics-bulk-import{margin:20px auto;max-width:600px;padding:20px;background-color:#e6eff7;border-radius:5px}.admin-clinics-page .admin-clinics-bulk-import h3{margin-bottom:10px;font-size:18px;font-weight:bold;color:#036}.admin-clinics-page .admin-clinics-bulk-import p.mb-1{margin-bottom:10px;font-size:14px;color:#333}.admin-clinics-page .admin-clinics-bulk-import .field{margin-bottom:10px}.admin-clinics-page .admin-clinics-bulk-import .actions{margin-top:10px}.admins-admins-page{margin:30px auto;max-width:900px;font-family:sans-serif}.admins-admins-page h1,.admins-admins-page h2{margin-bottom:20px;font-weight:bold}.admins-admins-page .admins-admins-actions{margin-bottom:20px}.admins-admins-page .admins-admins-actions .btn{margin-right:10px;text-decoration:none}.admins-admins-page .admins-admins-list-container{margin-top:20px}.admins-admins-page .admins-admins-list-container .admins-admins-list-table{width:100%;border-collapse:collapse}.admins-admins-page .admins-admins-list-container .admins-admins-list-table thead{background-color:#e6eff7}.admins-admins-page .admins-admins-list-container .admins-admins-list-table thead th{padding:10px;text-align:left;font-size:14px;font-weight:bold;color:#333}.admins-admins-page .admins-admins-list-container .admins-admins-list-table tbody tr:nth-child(even){background-color:#e6eff7}.admins-admins-page .admins-admins-list-container .admins-admins-list-table tbody tr:nth-child(odd){background-color:#fff}.admins-admins-page .admins-admins-list-container .admins-admins-list-table tbody td{padding:10px;font-size:14px;border-bottom:1px solid #dee2e6;vertical-align:middle}.admins-admins-page .admins-admins-form-container{background-color:#e6eff7;padding:20px;border-radius:5px}.admins-admins-page .admins-admins-form-container .form-group{margin-bottom:15px}.admins-admins-page .admins-admins-form-container .form-group label{display:block;margin-bottom:5px;font-weight:bold}.admins-admins-page .admins-admins-form-container .form-group .form-control{width:100%;padding:8px;border:1px solid #dee2e6;border-radius:5px;font-size:14px}.admins-admins-page .admins-admins-form-container .actions{margin-top:20px}.admins-admins-page .admins-admins-form-container .actions .btn{margin-right:10px}.admins-admins-page .btn{display:inline-block;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer}.admins-admins-page .btn.btn-primary{background-color:#036;color:#fff;border:none}.admins-admins-page .btn.btn-primary:hover{background-color:#001a33}.admins-admins-page .btn.btn-outline-primary{background-color:#fff;color:#036;border:1px solid #036}.admins-admins-page .btn.btn-outline-primary:hover{background-color:#036;color:#fff}.admins-admins-page .btn.btn-outline-secondary{background-color:#fff;color:#333;border:1px solid #dee2e6}.admins-admins-page .btn.btn-outline-secondary:hover{background-color:#dee2e6;color:#333}.admins-admins-page .btn.btn-danger{background-color:#dc3545;color:#fff;border:1px solid #bd2130}.admins-admins-page .btn.btn-danger:hover{background-color:#bd2130}.admins-benefit-settings-page{max-width:1000px;margin:30px auto;font-family:sans-serif}.admins-benefit-settings-page h2{margin-bottom:20px;font-size:24px;font-weight:bold}.admins-benefit-settings-page .benefit-settings-explanation{background-color:#e6eff7;padding:10px 15px;margin-bottom:20px;border-radius:5px}.admins-benefit-settings-page .benefit-settings-explanation p{margin:5px 0;font-size:14px;color:#333}.admins-benefit-settings-page .benefit-settings-table-container{overflow-x:auto;margin-bottom:20px}.admins-benefit-settings-page .benefit-settings-table-container .admins-benefit-settings-table{width:100%;border-collapse:collapse;min-width:800px}.admins-benefit-settings-page .benefit-settings-table-container .admins-benefit-settings-table thead{background-color:#e6eff7}.admins-benefit-settings-page .benefit-settings-table-container .admins-benefit-settings-table thead th{padding:10px;text-align:left;font-size:14px;font-weight:bold;color:#333;white-space:nowrap}.admins-benefit-settings-page .benefit-settings-table-container .admins-benefit-settings-table tbody tr:nth-child(even){background-color:#fff}.admins-benefit-settings-page .benefit-settings-table-container .admins-benefit-settings-table tbody tr:nth-child(odd){background-color:#fff}.admins-benefit-settings-page .benefit-settings-table-container .admins-benefit-settings-table tbody td{padding:8px;font-size:14px;border-bottom:1px solid #dee2e6;vertical-align:middle}.admins-benefit-settings-page .benefit-settings-table-container .admins-benefit-settings-table tbody td input[type=checkbox]{transform:scale(1.2);margin-left:10px}.admins-benefit-settings-page .benefit-settings-table-container .admins-benefit-settings-table tbody td .form-control{width:100%;padding:6px;border:1px solid #dee2e6;border-radius:4px;font-size:14px}.admins-benefit-settings-page .benefit-settings-table-container .admins-benefit-settings-table tbody tr:last-child td{border-bottom:none}.admins-benefit-settings-page .actions{margin-top:20px;display:flex;gap:10px}.admins-benefit-settings-page .actions .btn{padding:8px 16px;border-radius:4px;font-size:14px;text-decoration:none;cursor:pointer}.admins-benefit-settings-page .actions .btn.btn-primary{background-color:#036;color:#fff;border:none}.admins-benefit-settings-page .actions .btn.btn-primary:hover{background-color:#001a33}.admins-benefit-settings-page .actions .btn.btn-outline-secondary{background-color:#fff;color:#333;border:1px solid #dee2e6}.admins-benefit-settings-page .actions .btn.btn-outline-secondary:hover{background-color:#dee2e6;color:#333}.admins-sg-plans-page{max-width:1000px;margin:30px auto;font-family:sans-serif}.admins-sg-plans-page h2{margin-bottom:20px;font-size:24px;font-weight:bold}.admins-sg-plans-page .plans-actions{margin-bottom:20px}.admins-sg-plans-page .plans-actions .btn{margin-right:10px}.admins-sg-plans-page .plans-table-container{overflow-x:auto}.admins-sg-plans-page .plans-table-container .sg-plans-table{width:100%;border-collapse:collapse}.admins-sg-plans-page .plans-table-container .sg-plans-table thead{background-color:#e6eff7}.admins-sg-plans-page .plans-table-container .sg-plans-table thead th{padding:10px;text-align:left;font-size:14px;font-weight:bold;color:#333;white-space:nowrap}.admins-sg-plans-page .plans-table-container .sg-plans-table tbody tr:nth-child(even){background-color:#fff}.admins-sg-plans-page .plans-table-container .sg-plans-table tbody tr:nth-child(odd){background-color:#fff}.admins-sg-plans-page .plans-table-container .sg-plans-table tbody td{padding:10px;font-size:14px;border-bottom:1px solid #dee2e6;vertical-align:middle}.admins-sg-plans-page .plans-table-container .sg-plans-table tbody td .btn-sm{font-size:12px;padding:5px 8px;margin-right:5px;border-radius:3px;cursor:pointer;text-decoration:none}.admins-sg-plans-page .sg-plan-form-container{background-color:#e6eff7;padding:20px;border-radius:5px}.admins-sg-plans-page .sg-plan-form-container .form-group{margin-bottom:15px}.admins-sg-plans-page .sg-plan-form-container .form-group label{display:block;margin-bottom:5px;font-weight:bold}.admins-sg-plans-page .sg-plan-form-container .form-group .form-control{width:100%;padding:8px;border:1px solid #dee2e6;border-radius:5px;font-size:14px}.admins-sg-plans-page .sg-plan-form-container .actions{margin-top:20px}.admins-sg-plans-page .sg-plan-form-container .actions .btn{margin-right:10px}.admins-sg-details-page{max-width:1000px;margin:30px auto;font-family:sans-serif}.admins-sg-details-page h2{margin-bottom:20px;font-size:24px;font-weight:bold}.admins-sg-details-page .details-actions{margin-bottom:20px}.admins-sg-details-page .details-actions .btn{margin-right:10px}.admins-sg-details-page .details-table-container{overflow-x:auto}.admins-sg-details-page .details-table-container .sg-details-table{width:100%;border-collapse:collapse}.admins-sg-details-page .details-table-container .sg-details-table thead{background-color:#e6eff7}.admins-sg-details-page .details-table-container .sg-details-table thead th{padding:10px;text-align:left;font-size:14px;font-weight:bold;color:#333;white-space:nowrap}.admins-sg-details-page .details-table-container .sg-details-table tbody tr:nth-child(even){background-color:#fff}.admins-sg-details-page .details-table-container .sg-details-table tbody tr:nth-child(odd){background-color:#fff}.admins-sg-details-page .details-table-container .sg-details-table tbody td{padding:10px;font-size:14px;border-bottom:1px solid #dee2e6;vertical-align:middle}.admins-sg-details-page .details-table-container .sg-details-table tbody td .btn-sm{font-size:12px;padding:5px 8px;margin-right:5px;border-radius:3px;cursor:pointer;text-decoration:none}.admins-sg-details-page .sg-detail-form-container{background-color:#e6eff7;padding:20px;border-radius:5px}.admins-sg-details-page .sg-detail-form-container .form-group{margin-bottom:15px}.admins-sg-details-page .sg-detail-form-container .form-group label{display:block;margin-bottom:5px;font-weight:bold}.admins-sg-details-page .sg-detail-form-container .form-group .form-control{width:100%;padding:8px;border:1px solid #dee2e6;border-radius:5px;font-size:14px}.admins-sg-details-page .sg-detail-form-container .actions{margin-top:20px}.admins-sg-details-page .sg-detail-form-container .actions .btn{margin-right:10px}.admins-legal-documents-page{padding:1rem 2rem}.admins-legal-documents-actions{margin-bottom:1rem}.admins-legal-documents-list-table{width:100%;border-collapse:collapse}.admins-legal-documents-list-table th,.admins-legal-documents-list-table td{padding:.75rem 1rem}.admins-legal-documents-list-table thead{background:#f5f9ff}.admins-legal-documents-list-table thead th{font-weight:600}.admins-legal-documents-list-table tbody tr:nth-child(even){background:#f7fbff}.admins-legal-documents-form-container{max-width:640px;margin:0 auto;padding:1.5rem 2rem;background:#f5f9ff;border-radius:4px}.admins-plan-presentation-page{max-width:1000px;margin:30px auto;font-family:sans-serif}.admins-plan-presentation-page .plan-presentation-form{background-color:#e6eff7;padding:20px;border-radius:5px}.admins-plan-presentation-page .plan-presentation-form .form-group{margin-bottom:15px}.admins-plan-presentation-page .plan-presentation-form .form-group label{display:block;margin-bottom:5px;font-weight:bold}.admins-plan-presentation-page .plan-presentation-form .form-group .form-control{width:100%;padding:8px;border:1px solid #dee2e6;border-radius:5px;font-size:14px}.admins-plan-presentation-page .plan-presentation-form .actions{margin-top:20px}.admins-plan-presentation-page .plan-presentation-form .actions .btn{margin-right:10px}.admin-feature-flags-page{max-width:900px;margin:30px auto}.admin-feature-flags-page .admin-feature-flags-table{width:100%;border-collapse:collapse}.admin-feature-flags-page .admin-feature-flags-table thead{background-color:#e6eff7}.admin-feature-flags-page .admin-feature-flags-table thead th{padding:10px;text-align:left;font-size:14px;font-weight:bold;color:#333}.admin-feature-flags-page .admin-feature-flags-table tbody tr:nth-child(even){background-color:#e6eff7}.admin-feature-flags-page .admin-feature-flags-table tbody tr:nth-child(odd){background-color:#fff}.admin-feature-flags-page .admin-feature-flags-table tbody td{padding:10px;font-size:14px;border-bottom:1px solid #dee2e6;vertical-align:middle}.admin-feature-flags-page .admin-feature-flags-table tbody td.toggle input[type=checkbox]{transform:scale(1.2)}.admin-feature-flags-page .feature-flags-actions{margin-top:16px;display:flex;gap:10px}.header-clinic{background-color:#036;height:80px;display:flex;align-items:center;gap:24px;padding:0 24px;position:sticky;top:0;z-index:100}.header-clinic .logo img{height:44px;display:block}.header-clinic .main-nav{display:flex;flex:1;justify-content:space-between;align-items:center}.header-clinic .main-nav .nav-links ul{margin-left:20px;display:flex;gap:20px;list-style:none;padding:0;margin:0}.header-clinic .main-nav .nav-links ul li a{text-decoration:none;color:#fff;font-size:16px;font-weight:600;position:relative;display:inline-block;padding:4px 0;transition:color .15s ease}.header-clinic .main-nav .nav-links ul li a:hover{text-decoration:underline}.header-clinic .main-nav .nav-links ul li a.active{border-bottom:2px solid #fff}.header-clinic .main-nav .nav-links ul li a .badge{position:absolute;top:-8px;right:-16px;min-width:16px;height:16px;padding:0 5px;border-radius:999px;background-color:#ff6b6b;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px #036;pointer-events:none}.header-clinic .main-nav .logout a{text-decoration:none;color:#fff;font-size:16px;font-weight:600;transition:color .15s ease}.header-clinic .main-nav .logout a:hover{text-decoration:underline}@media (max-width: 1023px){.header-clinic{padding:0 16px}.header-clinic .logo img{height:36px}.header-clinic .main-nav .nav-links ul{gap:16px}.header-clinic .main-nav .nav-links ul li a{font-size:12px}.header-clinic .main-nav .logout a{font-size:12px}}@media (max-width: 767px){.header-clinic{height:auto;flex-direction:column;padding:12px 16px;gap:12px}.header-clinic .logo img{height:30px}.header-clinic .main-nav{flex-direction:column;width:100%;gap:8px}.header-clinic .main-nav .nav-links ul{flex-wrap:wrap;justify-content:center;gap:8px 16px}.header-clinic .main-nav .nav-links ul li a{font-size:12px}.header-clinic .main-nav .logout{text-align:center}}.footer-clinic{background-color:#036;padding:10px 20px;display:flex;align-items:center;justify-content:center;position:relative}.footer-clinic .footer-container{display:flex;align-items:center;gap:10px}.footer-clinic .footer-container .footer-logo img{height:30px}.footer-clinic .footer-container p{font-size:12px;color:#fff}@media (min-height: 100vh){.footer-clinic{position:fixed;bottom:0;width:100%}}.search-container{margin-top:24px;padding:0 16px}.search-container .search-form{display:flex;gap:12px;justify-content:center;align-items:flex-end;flex-wrap:wrap}.search-container .search-form .form-group{display:flex;flex-direction:column;align-items:flex-start}.search-container .search-form .form-group .form-label{margin-bottom:4px;font-size:14px;color:#333}.search-container .search-form .form-group .form-control{width:280px;padding:8px 12px;border:1px solid #dee2e6;border-radius:6px}.search-container .search-form .form-group .form-control:focus{outline:none;border-color:#036;box-shadow:0 0 0 2px rgba(0,51,102,0.12)}.search-container .search-form .form-group .form-select{width:160px;padding:8px 12px;border:1px solid #dee2e6;border-radius:6px;background-color:#fff;font-size:14px;color:#333;cursor:pointer}.search-container .search-form .form-group .form-select:focus{outline:none;border-color:#036;box-shadow:0 0 0 2px rgba(0,51,102,0.12)}.search-container .form-clear{margin:12px auto 0;text-align:center;display:flex;justify-content:center;align-items:center;gap:8px}@media (max-width: 768px){.search-container .search-form{flex-direction:column;align-items:stretch}.search-container .search-form .form-group .form-control,.search-container .search-form .form-group .form-select{width:100%}}.toggle-show-all{text-align:center;margin:12px 0}.list-container{padding:24px 32px}@media (max-width: 1024px){.list-container{padding:16px 16px}}@media (max-width: 768px){.list-container{padding:12px 12px;overflow-x:auto}}.list-container .list-table{width:100%;border-collapse:collapse;min-width:600px}.list-container .list-table thead{background-color:#e6eff7;color:#333}.list-container .list-table thead th{padding:8px 12px;text-align:left;font-size:14px;white-space:nowrap}.list-container .list-table thead th:first-child{padding-left:20px}.list-container .list-table thead th.th--sortable{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.list-container .list-table thead th.th--sortable .th--sortable__label{font-weight:bold}.list-container .list-table tbody tr:nth-child(even){background-color:#e6eff7}.list-container .list-table tbody tr:nth-child(odd){background-color:#fff}.list-container .list-table tbody tr:hover{background-color:#d7e5f2}.list-container .list-table tbody td{padding:8px 12px;font-size:14px;border-bottom:1px solid #dee2e6}.list-container .list-table tbody td:first-child{padding-left:20px}.status-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap}.status-badge.is-waiting{background:#fef3c7;color:#92400e}.status-badge.is-ready{background:#d1fae5;color:#065f46}.sort-link{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:normal;color:#036;text-decoration:none;background-color:rgba(0,51,102,0.06);border:1px solid rgba(0,51,102,0.2);border-radius:4px;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease}.sort-link:hover{background-color:rgba(0,51,102,0.14);border-color:rgba(0,51,102,0.45)}.sort-link.sort-link--active{color:#fff;background-color:#036;border-color:#036}.sort-link.sort-link--active:hover{background-color:#001f3d}.btn-xs{padding:2px 8px;font-size:10px;border-radius:4px;line-height:1.4}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap}.status-badge--active{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-badge--inactive{background-color:#e9ecef;color:#495057;border:1px solid #ced4da}.self-label{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;background-color:#e6eff7;color:#036;border:1px solid rgba(0,51,102,0.25)}.modal{position:fixed;inset:0;background:rgba(0,0,0,0.45);display:flex;align-items:center;justify-content:center;z-index:2000}.clinic-modal-card{background:#fff;width:92%;max-width:560px;border-radius:10px;padding:24px;box-shadow:0 4px 16px rgba(0,0,0,0.16);box-sizing:border-box}.clinic-modal-card h3{font-size:16px;color:#036;font-weight:bold;margin-bottom:12px}.clinic-modal-card h3 i{margin-right:6px;opacity:.75}.clinic-modal-card .small{font-size:12px;color:#666;margin-bottom:12px}.clinic-modal-card .form-group{margin-top:8px}.clinic-modal-card label{display:block;margin-bottom:6px;font-weight:600;font-size:14px}.clinic-modal-card textarea.form-control{width:100%;min-height:120px;border:1px solid #dee2e6;border-radius:6px;padding:8px 12px;font-size:14px;resize:vertical;box-sizing:border-box}.clinic-modal-card textarea.form-control:focus{outline:none;border-color:#036;box-shadow:0 0 0 3px rgba(0,51,102,0.12)}.modal-search{display:flex;gap:8px;margin:12px 0}.modal-search .form-control{flex:1;border:1px solid #dee2e6;border-radius:6px;padding:7px 12px;font-size:14px;box-sizing:border-box}.modal-search .form-control:focus{outline:none;border-color:#036;box-shadow:0 0 0 3px rgba(0,51,102,0.12)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}#member-search-results{max-height:240px;overflow-y:auto;margin-top:4px}#member-search-results .no-results{color:#888;font-size:14px;padding:8px 0}.member-search-result-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid #dee2e6;border-radius:6px;margin-bottom:6px;cursor:pointer;font-size:14px;transition:background-color .15s ease,border-color .15s ease}.member-search-result-item:hover{background-color:#e6eff7;border-color:#036}.member-search-result-item input[type=radio]{accent-color:#036;cursor:pointer}.clinic-patient-details-container{display:flex;justify-content:space-between;align-items:flex-start;min-height:calc(100vh - 80px);box-sizing:border-box}.clinic-patient-details-container .left-section{width:43%;padding:20px 24px;border-right:1px solid #dee2e6;box-sizing:border-box}.clinic-patient-details-container .right-section{width:54%;padding:20px 24px;box-sizing:border-box}@media (max-width: 1023px){.clinic-patient-details-container{flex-direction:column}.clinic-patient-details-container .left-section,.clinic-patient-details-container .right-section{width:100%;border-right:none;border-bottom:1px solid #dee2e6;padding:16px 16px}.clinic-patient-details-container .right-section{border-bottom:none}}@media (max-width: 768px){.clinic-patient-details-container .left-section,.clinic-patient-details-container .right-section{padding:12px 12px}}.clinic-patient-details-container .patient-info-card{background-color:#f5f5f5;border:1px solid #dee2e6;border-radius:10px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08);margin-bottom:16px}.clinic-patient-details-container .patient-info-card__top{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.clinic-patient-details-container .patient-info-card__title{font-size:16px;color:#036;margin-bottom:0;font-weight:bold}.clinic-patient-details-container .patient-info-card__actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:0}.clinic-patient-details-container .patient-info-card__table{width:100%;overflow-x:auto}.clinic-patient-details-container .patient-info-card__table table{width:100%;border-collapse:collapse}.clinic-patient-details-container .patient-info-card__table table th,.clinic-patient-details-container .patient-info-card__table table td{border:1px solid #dee2e6;padding:8px;text-align:left;font-size:14px}.clinic-patient-details-container .patient-info-card__table table th{background-color:#f5f5f5;color:#036}.clinic-patient-details-container .qr-code-section{margin-top:20px;text-align:center}.clinic-patient-details-container .qr-code-section .qr-code-url{font-size:16px;font-weight:bold;color:#036;margin-bottom:12px}.clinic-patient-details-container .qr-code-section .qr-code{width:70%;max-width:150px;height:auto;margin:0 auto}.clinic-patient-details-container .benefit_ratios{text-align:center;margin-top:20px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.clinic-patient-details-container .family-group-card{background-color:#f5f5f5;border:1px solid #dee2e6;border-radius:10px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08);margin-bottom:16px}.clinic-patient-details-container .family-group-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #dee2e6}.clinic-patient-details-container .family-group-card__body table{width:100%;border-collapse:collapse}.clinic-patient-details-container .family-group-card__body table th,.clinic-patient-details-container .family-group-card__body table td{border:1px solid #dee2e6;padding:8px;text-align:left;font-size:14px}.clinic-patient-details-container .family-group-card__body table th{background-color:#f5f5f5;color:#036}.clinic-patient-details-container .family-group-card__title{font-size:16px;color:#036;font-weight:bold;margin:0}.clinic-patient-details-container .family-group-card__title i{margin-right:6px;opacity:.7}.clinic-patient-details-container .family-group-card__empty{text-align:center;padding:16px 0 12px}.clinic-patient-details-container .family-group-card__empty-text{color:#aaa;font-size:14px;margin-bottom:12px}.clinic-patient-details-container .family-group-discount-badge{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg, #fffbec, #fff3cd);border:1px solid #ffc107;border-left:4px solid #ffc107;border-radius:6px;padding:8px 12px;margin-bottom:12px;font-size:14px;color:#856404;font-weight:600}.clinic-patient-details-container .family-group-discount-badge i{color:#e6a817}.clinic-patient-details-container .family-group-members-table{width:100%;border-collapse:collapse;overflow-x:auto}.clinic-patient-details-container .family-group-members-table th{background-color:#f5f5f5;color:#036;border:1px solid #dee2e6;padding:6px 12px;text-align:left;font-size:12px;font-weight:600;white-space:nowrap}.clinic-patient-details-container .family-group-members-table td{border:1px solid #dee2e6;padding:5px 12px;font-size:12px;vertical-align:middle}.clinic-patient-details-container .family-group-members-table .family-group-member--self{background-color:#f0f5fb}.clinic-patient-details-container .family-group-members-table form{margin:0;display:inline}.clinic-patient-details-container .contract-info-card{background-color:#f5f5f5;border:1px solid #dee2e6;border-radius:10px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.08);margin-bottom:16px;text-align:left}.clinic-patient-details-container .contract-info-card__title{font-size:16px;color:#036;margin-bottom:12px;font-weight:bold}.clinic-patient-details-container .contract-info-card__table{width:100%;margin-bottom:16px;overflow-x:auto}.clinic-patient-details-container .contract-info-card__table table{width:100%;border-collapse:collapse}.clinic-patient-details-container .contract-info-card__table table th,.clinic-patient-details-container .contract-info-card__table table td{border:1px solid #dee2e6;padding:8px;text-align:left;font-size:14px}.clinic-patient-details-container .contract-info-card__table table th{background-color:#f5f5f5;color:#036;width:40%}.clinic-patient-details-container .contract-info-card__desc{font-size:14px;color:#333;line-height:1.6;margin-bottom:16px}.clinic-patient-details-container .contract-info-card__actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.clinic-patient-details-container .no-contract{background-color:#f5f5f5;padding:12px;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.clinic-patient-details-container .no-contract p{font-size:14px;color:#333}.clinic-patient-registration-container,.edit-chart-number-container{max-width:400px;margin:0 auto;padding:24px;background-color:#f5f5f5;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.clinic-patient-registration-container h1,.edit-chart-number-container h1{font-family:"Noto Sans JP","Roboto",sans-serif;font-size:16px;font-weight:bold;color:#036;margin-bottom:24px;text-align:center}.clinic-patient-registration-container p,.edit-chart-number-container p{font-family:"Noto Sans JP","Roboto",sans-serif;font-size:16px;color:#333;margin-bottom:18px;text-align:center}.clinic-patient-registration-container .form-container,.edit-chart-number-container .form-container{justify-content:center}.clinic-patient-registration-container .form-container .field,.edit-chart-number-container .form-container .field{margin-bottom:18px}.clinic-patient-registration-container .form-container .field label,.edit-chart-number-container .form-container .field label{display:block;font-size:14px;font-weight:bold;color:#333;margin-bottom:6px}.clinic-patient-registration-container .form-container .field input,.edit-chart-number-container .form-container .field input,.clinic-patient-registration-container .form-container .field select,.edit-chart-number-container .form-container .field select{width:95%;padding:12px;font-size:14px;color:#333;border:1px solid #dee2e6;border-radius:6px;background-color:#fff}.clinic-patient-registration-container .form-container .field input:focus,.edit-chart-number-container .form-container .field input:focus,.clinic-patient-registration-container .form-container .field select:focus,.edit-chart-number-container .form-container .field select:focus{outline:none;border-color:#ff9800;box-shadow:0 0 5px #ffd699}.clinic-patient-registration-container .form-container .actions,.edit-chart-number-container .form-container .actions{display:flex;justify-content:center;margin-top:24px}.clinic-patient-registration-container .form-container .actions input[type=submit],.edit-chart-number-container .form-container .actions input[type=submit]{padding:18px;font-size:14px;color:#fff;background-color:#036;border:none;border-radius:6px;cursor:pointer}.clinic-patient-registration-container .form-container .actions input[type=submit]:hover,.edit-chart-number-container .form-container .actions input[type=submit]:hover{background-color:#001a33}.clinic-patient-registration-container .form-container .actions input[type=submit]:disabled,.edit-chart-number-container .form-container .actions input[type=submit]:disabled{background-color:#dee2e6;color:#333;cursor:not-allowed}.clinic-patient-registration-container .return-link,.edit-chart-number-container .return-link{margin-top:24px;display:block;text-align:center;font-size:14px;color:#ff9800}.clinic-patient-registration-container .return-link:hover,.edit-chart-number-container .return-link:hover{text-decoration:underline}.edit-chart-number-container .info-container{text-align:center}.edit-chart-number-container .info-container p{margin-bottom:1rem}.edit-chart-number-container .edit-chart-number-form .field{margin-bottom:1.5rem}.edit-chart-number-container .edit-chart-number-form .field label{font-weight:bold;display:block;margin-bottom:.5rem}.edit-chart-number-container .edit-chart-number-form .field input[type=text]{width:90%;padding:.5rem}.edit-chart-number-container .edit-chart-number-form .actions{margin-top:2rem;display:flex;justify-content:center}.edit-chart-number-container .btn{display:inline-block;padding:12px 24px;margin:0 12px 0 0;font-size:14px;border:none;border-radius:5px;transition:background-color .3s ease;cursor:pointer;text-decoration:none}.edit-chart-number-container .btn.btn-primary{color:#fff;background-color:#036}.edit-chart-number-container .btn.btn-primary:hover{background-color:#001a33}.edit-chart-number-container .btn.btn-secondary{color:#036;background-color:#e6eff7;margin-top:15px}.edit-chart-number-container .btn.btn-secondary:hover{background-color:#fff}.clinic-claim-detail-container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin:20px auto;max-width:1200px;padding:0 20px}.clinic-claim-detail-container p{margin-bottom:15px}.clinic-claim-detail-container .clinic-claim-detail-main{min-width:300px;width:45%}.clinic-claim-detail-container .clinic-claim-detail-image{min-width:250px;width:50%}.clinic-claim-detail-container .clinic-claim-detail-image .clinic-claim-receipt-image{max-width:100%;height:auto;border:1px solid #dee2e6;border-radius:5px}@media (max-width: 768px){.clinic-claim-detail-container{flex-direction:column}.clinic-claim-detail-container .clinic-claim-detail-main,.clinic-claim-detail-container .clinic-claim-detail-image{width:100%;min-width:unset}}.clinic-claim-detail-table-wrapper{margin-bottom:20px}.clinic-claim-detail-table-wrapper .clinic-claim-detail-table{width:100%;border-collapse:collapse;background-color:#fff}.clinic-claim-detail-table-wrapper .clinic-claim-detail-table th,.clinic-claim-detail-table-wrapper .clinic-claim-detail-table td{padding:10px;font-size:14px;border-bottom:1px solid #dee2e6;vertical-align:top}.clinic-claim-detail-table-wrapper .clinic-claim-detail-table th{width:30%;background-color:#e6eff7;color:#333}.clinic-claim-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}.clinic-claim-actions .clinic-claim-status-info{width:100%;font-size:14px;color:#ff9800;margin-bottom:10px}.clinic-claim-approve-confirm-container,.clinic-claim-reject-confirm-container,.clinic-claim-edit-treatment-container{max-width:1200px;width:85%;margin:0 auto;margin-top:15px;padding:20px}.clinic-claim-approve-confirm-container h1,.clinic-claim-reject-confirm-container h1,.clinic-claim-edit-treatment-container h1{margin-bottom:15px}@media (max-width: 768px){.clinic-claim-approve-confirm-container,.clinic-claim-reject-confirm-container,.clinic-claim-edit-treatment-container{width:95%;padding:12px}}.clinic-claim-edit-treatment-container .clinic-form-group{margin-bottom:20px;display:flex;flex-direction:column}.clinic-claim-edit-treatment-container .clinic-form-group label{margin-bottom:5px;font-weight:bold;color:#036}.clinic-claim-edit-treatment-container .clinic-form-group .clinic-select{width:100%;max-width:350px;padding:8px;border:1px solid #dee2e6;border-radius:5px;background-color:#fff;font-size:14px}.clinic-claim-edit-treatment-container .clinic-form-group .clinic-input{max-width:350px;padding:5px}.clinic-claim-edit-treatment-container .clinic-alert{background-color:#fdecea;border:1px solid #f5c6cb;padding:10px;color:#9f3a38;margin-bottom:20px;border-radius:5px}.clinic-claim-confirm-table-wrapper{margin-bottom:20px;overflow-x:auto}.clinic-claim-confirm-table-wrapper .clinic-claim-confirm-table{width:100%;border-collapse:collapse;background-color:#fff}.clinic-claim-confirm-table-wrapper .clinic-claim-confirm-table th,.clinic-claim-confirm-table-wrapper .clinic-claim-confirm-table td{padding:8px 12px;font-size:14px;border-bottom:1px solid #dee2e6;vertical-align:top}.clinic-claim-confirm-table-wrapper .clinic-claim-confirm-table th{width:30%;background-color:#e6eff7;color:#333;white-space:nowrap}.clinic-claim-confirm-message{margin:15px 0}.clinic-claim-confirm-message p{font-size:14px;color:#333;margin:5px 0}.clinic-claim-confirm-form,.clinic-claim-edit-form{margin-top:20px}.clinic-textarea{width:100%;padding:8px;border:1px solid #dee2e6;border-radius:5px;font-size:14px;box-sizing:border-box}.benefit-ratios-container{padding:20px 3% 0}.benefit-ratios-container .benefit-ratios-patient-info .flex-container{display:flex;align-items:center;padding:10px 0 20px}.benefit-ratios-container .benefit-ratios-patient-info .flex-item{display:flex;text-align:center;margin:0 10px;align-items:center}.benefit-ratios-container .benefit-ratios-patient-info .label{font-weight:bold;color:#036;margin-right:20px}.benefit-ratios-container .benefit-ratios-patient-info .value{font-weight:bold;font-size:20px;color:#333;margin-right:30px}.benefit-ratios-container .benefit-ratios-form table{width:100%;border:none}.benefit-ratios-container .benefit-ratios-form table tr:nth-of-type(2) th{padding:20px 0}.benefit-ratios-container .benefit-ratios-form table th{position:relative;text-align:center}.benefit-ratios-container .benefit-ratios-form table th::before{content:"";position:absolute;top:15px;left:0;width:105%;height:2px;background-color:#000}.benefit-ratios-container .benefit-ratios-form table th::after{content:"";position:absolute;bottom:15px;left:0;width:105%;height:2px;background-color:#000}.benefit-ratios-container .benefit-ratios-form .tooth-cell{text-align:center}.benefit-ratios-container .benefit-ratios-form .rating-box{display:flex;justify-content:space-between;flex-direction:column;align-items:center}.benefit-ratios-container .benefit-ratios-form .rating-box.upper .rating-item{order:1}.benefit-ratios-container .benefit-ratios-form .rating-box.lower .rating-item{order:-1}.benefit-ratios-container .benefit-ratios-form .rating-item{width:95%;padding:4px 2px;text-align:center;background-color:#e6eff7;border:1px solid #036;cursor:pointer;transition:background-color .2s,color .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.2}.benefit-ratios-container .benefit-ratios-form .rating-item .rating-item__label{font-size:12px;color:inherit}.benefit-ratios-container .benefit-ratios-form .rating-item .rating-item__value{font-size:11px;font-weight:bold;color:inherit}.benefit-ratios-container .benefit-ratios-form .rating-item.gauge-filled{border-color:rgba(0,0,0,0.15)}.benefit-ratios-container .benefit-ratios-form .rating-item.gauge-selected{box-shadow:inset 4px 0 0 rgba(0,0,0,0.25)}.benefit-ratios-container .benefit-ratios-form .actions{text-align:center}.benefit-ratios-container .benefit-ratios-form .actions .btn-primary{padding:8px 20px;border-radius:5px;font-size:14px;font-weight:bold;cursor:pointer;background-color:#036;color:#fff;margin-top:25px}.benefit-ratios-container .benefit-ratios-form .actions .btn-primary:hover{background-color:#001a33}.benefit-ratios-container .confirm-main-layout{display:flex;align-items:center}.benefit-ratios-container .confirm-main-layout .confirm-legend-wrapper{width:25%;margin-right:30px}.benefit-ratios-container .confirm-main-layout .confirm-legend-wrapper .confirm-legend-container{width:100%}.benefit-ratios-container .confirm-main-layout .confirm-legend-wrapper .confirm-legend-container .confirm-legend-item{display:flex;flex-direction:row;align-items:center;gap:10px;margin-bottom:10px}.benefit-ratios-container .confirm-main-layout .confirm-legend-wrapper .confirm-legend-container .confirm-legend-item .confirm-legend-color{width:28px;height:28px;border-radius:4px;flex-shrink:0;border:1px solid rgba(0,0,0,0.1)}.benefit-ratios-container .confirm-main-layout .confirm-legend-wrapper .confirm-legend-container .confirm-legend-item .confirm-legend-detail{display:flex;flex-direction:column;gap:1px}.benefit-ratios-container .confirm-main-layout .confirm-legend-wrapper .confirm-legend-container .confirm-legend-item .confirm-legend-text{font-weight:bold;font-size:13px;color:#333;line-height:1.2}.benefit-ratios-container .confirm-main-layout .confirm-legend-wrapper .confirm-legend-container .confirm-legend-item .confirm-legend-subtext{font-size:12px;color:#666}.benefit-ratios-container .confirm-main-layout .confirm-teeth-wrapper{flex-grow:1;max-width:800px;width:40%;margin-left:30px}.benefit-ratios-container .confirm-main-layout .confirm-teeth-wrapper .confirm-teeth-container{margin-left:100px;max-width:400px}.benefit-ratios-container .confirm-main-layout .confirm-actions{width:20%;margin-left:30px}.benefit-ratios-container .confirm-main-layout .confirm-actions form{margin-bottom:20px}.benefit-ratios-container .confirm-main-layout .confirm-actions .btn{font-size:14px;padding:8px 16px;border-radius:5px;cursor:pointer}.benefit-ratios-container .confirm-main-layout .confirm-actions .btn.btn-secondary{background-color:#ccc;border:1px solid #999}.benefit-ratios-container .confirm-main-layout .confirm-actions .btn.btn-secondary:hover{background-color:#bfbfbf}.benefit-ratios-container .confirm-main-layout .confirm-actions .btn.btn-primary{background-color:#036;color:#fff}.benefit-ratios-container .confirm-main-layout .confirm-actions .btn.btn-primary:hover{background-color:#00264d}.clinic-plans-list .clinic-plan-box{padding:20px 20px 0}.clinic-plans-list .clinic-plan-box .clinic-plan-summary{display:flex;flex-wrap:wrap;gap:20px}.clinic-plans-list .clinic-plan-box .clinic-plan-summary .clinic-plan-label{font-weight:bold;margin-right:10px;color:#036}.clinic-plans-list .clinic-plan-box .clinic-plan-summary .clinic-plan-item{color:#333;display:inline-block}.clinic-plans-list .clinic-plan-box .clinic-plan-details{margin-top:20px}.clinic-plans-list .clinic-plan-box .clinic-plan-details h3{font-size:14px;margin-bottom:10px;border-bottom:1px solid #dee2e6;padding-bottom:5px}.clinic-plans-list .clinic-plan-box .clinic-plan-details .sg-plan-no-detail{font-size:14px;color:#333;padding:10px;background-color:#f5f5f5}.clinic-plans-list .clinic-plan-box .clinic-plan-details .clinic-details-table{width:100%;border-collapse:collapse;margin-bottom:10px}.clinic-plans-list .clinic-plan-box .clinic-plan-details .clinic-details-table thead{background-color:#e6eff7}.clinic-plans-list .clinic-plan-box .clinic-plan-details .clinic-details-table thead th{padding:10px;text-align:left;font-size:14px;border-bottom:1px solid #dee2e6}.clinic-plans-list .clinic-plan-box .clinic-plan-details .clinic-details-table tbody tr:nth-child(even){background-color:#f5f5f5}.clinic-plans-list .clinic-plan-box .clinic-plan-details .clinic-details-table tbody td{padding:10px;font-size:14px;border-bottom:1px solid #dee2e6}.clinic-point-request-approve-confirm-container,.clinic-point-request-reject-confirm-container{max-width:1200px;margin:20px auto;padding:20px}.clinic-point-request-approve-confirm-container h2,.clinic-point-request-reject-confirm-container h2{margin-bottom:15px}@media (max-width: 768px){.clinic-point-request-approve-confirm-container,.clinic-point-request-reject-confirm-container{padding:12px}}.clinic-point-request-confirm-table-wrapper{margin-bottom:20px;overflow-x:auto}.clinic-point-request-confirm-table-wrapper .clinic-point-request-confirm-table{width:100%;border-collapse:collapse;background-color:#fff}.clinic-point-request-confirm-table-wrapper .clinic-point-request-confirm-table th,.clinic-point-request-confirm-table-wrapper .clinic-point-request-confirm-table td{padding:12px;font-size:14px;border-bottom:1px solid #dee2e6;vertical-align:top}.clinic-point-request-confirm-table-wrapper .clinic-point-request-confirm-table th{width:30%;background-color:#e6eff7;color:#333;white-space:nowrap}.clinic-point-request-confirm-message{margin:15px 0}.clinic-point-request-confirm-message p{font-size:14px;color:#333;margin:5px 0}.clinic-point-request-confirm-form{margin-top:20px}.clinic-point-request-confirm-form .clinic-form-group{margin-bottom:15px;display:flex;flex-direction:column}.clinic-point-request-confirm-form .clinic-form-group label{margin-bottom:5px;font-weight:bold;color:#036}.clinic-point-request-confirm-form .clinic-form-group .clinic-textarea{width:100%;max-width:600px;min-height:100px;padding:8px;border:1px solid #dee2e6;border-radius:5px;font-size:14px;box-sizing:border-box}.clinic-point-request-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}.template-form{max-width:720px;margin:20px auto}.form-group{margin-bottom:1.25rem}.form-label{font-weight:600}.variable-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.variable-chip{padding:.35rem .7rem;border-radius:32px;font-size:.8rem;color:#036;cursor:pointer;user-select:none;transition:all .15s ease}.variable-chip:hover{background:#ff9800;color:#fff}trix-toolbar{margin-bottom:.5rem}trix-toolbar[id^=trix-toolbar-]{display:none}input.form-control,select.form-select,trix-editor.form-control{border:1px solid #dee2e6;border-radius:.4rem;padding:.45rem .75rem;width:100%;background-color:#fff}trix-editor ul,trix-editor ol{margin-left:1.2rem;padding-left:1.2rem;box-sizing:border-box;max-width:100%;overflow-wrap:break-word}.trix-editor-long{min-height:200px;resize:vertical}.renewals-index{padding:30px 50px}.renewals-header{display:flex;align-items:center;gap:24px;margin-bottom:16px}.renewals-header h1{font-size:20px;font-weight:bold;color:#333;margin:0;white-space:nowrap}.renewals-filter{display:flex;align-items:center;gap:8px}.renewals-filter label{font-size:14px;color:#333;white-space:nowrap}.renewals-filter__select{padding:6px 10px;border:1px solid #dee2e6;border-radius:5px;background-color:#fff;font-size:14px;color:#333;cursor:pointer}.renewals-filter__select:focus{outline:none;border-color:#036;box-shadow:0 0 0 2px rgba(0,51,102,0.15)}.renewals-period-label{display:flex;align-items:center;gap:10px;margin-bottom:12px}.renewals-period-label__text{font-size:15px;font-weight:bold;color:#333}.renewals-period-label__badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5}.renewals-period-label__badge.badge--window{background-color:#10b981;color:#fff}.renewals-period-label__badge.badge--readonly{background-color:#9ca3af;color:#fff}.renewals-empty{padding:40px;text-align:center;font-size:14px;color:#666;border:1px solid #dee2e6;border-radius:6px;background-color:#fff}.renewals-table{width:100%;border-collapse:collapse}.renewals-table thead{background-color:#e6eff7;color:#333}.renewals-table thead th{padding:10px 12px;text-align:left;font-size:14px;font-weight:bold}.renewals-table thead th:first-child{padding-left:20px}.renewals-table tbody tr:nth-child(even){background-color:#e6eff7}.renewals-table tbody tr:nth-child(odd){background-color:#fff}.renewals-table tbody tr.row--pending{background-color:#fdf0d9}.renewals-table tbody td{padding:10px 12px;font-size:14px;border-bottom:1px solid #dee2e6;vertical-align:middle}.renewals-table tbody td:first-child{padding-left:20px}.renewals-table tbody td a{color:#036;text-decoration:none;font-weight:bold}.renewals-table tbody td a:hover{text-decoration:underline}.text-kana{display:block;font-size:11px;color:gray;margin-top:2px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5}.badge.badge--pending{background-color:#f59e0b;color:#fff}.badge.badge--none{color:#999;background:none;font-weight:normal}.badge.badge--locked{background-color:#6b7280;color:#fff}.badge.badge--changed{background-color:#3b82f6;color:#fff}.badge.badge--unchanged{background-color:#e5e7eb;color:#333}.text-muted{font-size:13px;color:#8c8c8c}.renewals-window-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;margin-bottom:20px;background-color:#ecfdf5;border:1.5px solid #10b981;border-radius:8px}.renewals-window-banner__icon{font-size:20px;line-height:1.4;flex-shrink:0}.renewals-window-banner__body{display:flex;flex-direction:column;gap:4px}.renewals-window-banner__title{font-size:15px;font-weight:bold;color:#065f46;margin:0}.renewals-window-banner__detail{font-size:13px;color:#047857;margin:0}.renewals-info-banner{display:flex;align-items:center;padding:12px 18px;margin-bottom:20px;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px}.renewals-info-banner--readonly{background-color:#fef9ec;border-color:#f59e0b}.renewals-info-banner--readonly p{color:#92400e}.renewals-info-banner__body p{font-size:13px;color:#4b5563;margin:0}.renewals-info-banner__sub{display:inline-block;margin-left:8px;padding:1px 8px;background-color:#9ca3af;color:#fff;border-radius:999px;font-size:11px;font-weight:bold}.renewal-date-item{display:flex;align-items:center;gap:16px;background-color:#ecfdf5;border:1px solid #6ee7b7;border-radius:6px;padding:8px 20px;margin-left:auto}.renewal-date-item__col{display:flex;flex-direction:column}.renewal-date-item__sep{width:1px;align-self:stretch;background-color:#a7f3d0}.renewal-date-item__label{font-size:12px;font-weight:bold;color:#065f46}.renewal-date-item__sub{font-size:11px;color:#047857;margin-bottom:2px}.renewal-date-item__value{font-size:16px;font-weight:bold;color:#065f46}.renewal-date-item__value--deadline{color:#059669}.renewal-edit-notice{display:flex;align-items:center;gap:10px;padding:10px 18px;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px}.renewal-edit-notice__icon{font-size:16px;color:#3b82f6;flex-shrink:0;font-style:normal}.renewal-edit-notice__text{font-size:13px;color:#1e40af;margin:0}.renewal-edit-notice__text strong{font-weight:bold}.payment-request-products{border:1px solid #dee2e6;border-radius:8px;overflow:hidden;background:#fff}.payment-request-product{border-bottom:1px solid #dee2e6;transition:background .15s}.payment-request-product:last-child{border-bottom:none}.payment-request-product:hover{background-color:#f2f6fb}.payment-request-product__label{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;cursor:pointer;margin:0}.payment-request-product__label input[type=checkbox]{width:20px;height:20px;flex-shrink:0;cursor:pointer;accent-color:#036}.payment-request-product__info{display:flex;align-items:center;gap:12px;flex:1}.payment-request-product__name{font-weight:bold;color:#333;font-size:14px}.payment-request-product__price{font-size:10px;color:#fff}.payment-request-total{text-align:right;padding:14px 16px;background-color:#e6eff7;border-radius:8px;font-size:1.1rem}.payment-request-total strong{color:#036;font-size:1.4rem}.patient-lookup-result{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#f0f8f0;border:1px solid #b2dfb2;border-radius:6px;font-size:14px}.patient-lookup-name{font-weight:bold;color:#333}.patient-lookup-card{font-size:10px;padding:2px 8px;border-radius:4px}.patient-lookup-card--ok{background:#e8f5e9;color:#2e7d32}.patient-lookup-card--warn{background:#fff8e1;color:#f57c00}.patient-lookup-notfound{padding:6px 12px;color:#d32f2f;font-size:10px}.payment-request-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.payment-request-header .page-title{margin:0}.payment-request-info{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;margin-bottom:24px}.payment-request-info dl{margin:0}.payment-request-info dt{font-weight:bold;color:#333}.payment-request-info dd{color:#333;margin-bottom:8px}.product-form{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:24px 20px;margin-bottom:24px}.product-form__checks{display:flex;flex-direction:column;gap:10px}.product-form__check{display:flex;align-items:center;gap:10px}.product-form__check label{margin:0;cursor:pointer;font-size:14px;color:#333}.product-check-input{width:18px;height:18px;flex-shrink:0;cursor:pointer;accent-color:#036}.form-filters{margin-top:8px;display:flex;gap:4px}.header-patient{background-color:#036;height:80px;display:flex;justify-content:center;align-items:center;position:sticky;top:0;z-index:100}.header-patient .header-container{display:flex;justify-content:center;align-items:center;width:100%;max-width:1200px;padding:0 16px;box-sizing:border-box}.header-patient .header-link{text-decoration:none;display:flex;align-items:center}.header-patient .header-content{display:flex;justify-content:center;align-items:center;gap:12px}.header-patient .header-logo{height:42px;display:block}.header-patient .header-title{font-size:24px;color:#fff;font-weight:bold}@media (max-width: 768px){.header-patient .header-title{font-size:20px}}@media (max-width: 480px){.header-patient .header-title{font-size:16px}}:root{--footer-h: 120px}.footer-patient{background-color:#036;padding:12px 0 8px;position:fixed;left:0;right:0;bottom:0;width:100%;z-index:100;box-shadow:0 -2px 8px rgba(0,0,0,0.08)}.footer-patient .footer-container{text-align:center;max-width:720px;margin:0 auto;padding:0 12px env(safe-area-inset-bottom);box-sizing:border-box}.footer-patient .footer-container .footer-links ul{display:flex;justify-content:space-around;width:100%;padding:0;margin:0;list-style:none}.footer-patient .footer-container .footer-links ul li .footer-icon-link{text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:4px}.footer-patient .footer-container .footer-links ul li .footer-icon-link .footer-icon{font-size:40px;color:#fff}.footer-patient .footer-container .footer-links ul li .footer-icon-link .footer-icon.icon-home{color:#f80}.footer-patient .footer-container .footer-links ul li .footer-icon-link .footer-icon.icon-tooth{color:#fff}.footer-patient .footer-container .footer-links ul li .footer-icon-link .footer-icon.icon-coins{color:#d4af37}.footer-patient .footer-container .footer-links ul li .footer-icon-link .footer-text{font-size:11px;color:#fff}.footer-patient .footer-container .footer-logo_copyright{display:flex;justify-content:center;align-items:center;margin-top:8px;gap:8px}.footer-patient .footer-container .footer-logo_copyright .footer-logo-image{width:24px;height:auto}.footer-patient .footer-container .footer-logo_copyright .footer-copyright{font-size:9px;color:#fff}@media (min-width: 1024px){.footer-patient{position:static;padding:12px 0}.footer-patient .footer-container{max-width:1200px;display:flex;align-items:center;justify-content:space-between}.footer-patient .footer-container .footer-links ul{justify-content:flex-start;gap:24px}.footer-patient .footer-container .footer-links ul li .footer-icon-link{flex-direction:row;gap:8px}.footer-patient .footer-container .footer-links ul li .footer-icon-link .footer-icon{font-size:28px}.footer-patient .footer-container .footer-links ul li .footer-icon-link .footer-text{font-size:12px}.footer-patient .footer-container .footer-logo_copyright{margin-top:0}}.patients-main{padding-bottom:calc(var(--footer-h) + env(safe-area-inset-bottom, 0px))}@media (min-width: 1024px){.patients-main{padding-bottom:20px}}.registration-form{max-width:400px;margin:0 auto;background-color:#f9f9f9;padding:15px;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,0.1)}.registration-form h1{font-size:20px;margin-bottom:10px;color:#004080;text-align:center}.registration-form p{font-size:14px;color:#333;margin-bottom:15px;text-align:center}.registration-form .info-box.small{background-color:#e6f7ff;padding:8px;border:1px solid #b3e5fc;border-radius:8px;margin-bottom:15px}.registration-form .info-box.small h3{margin:0;color:#004080;font-size:14px;font-weight:bold}.registration-form .info-box.small .info-table{width:100%;border-spacing:0}.registration-form .info-box.small .info-table th{text-align:left;padding:3px 8px;color:#004080;font-size:14px;font-weight:bold;width:40%;background-color:#f1f9ff}.registration-form .info-box.small .info-table td{padding:3px 8px;color:#333;font-size:14px}.registration-form .form-group{margin-bottom:10px}.registration-form .form-group .form-label{display:block;font-size:14px;font-weight:bold;color:#004080;margin-bottom:5px}.registration-form .form-group .form-control{width:calc(100% - 16px);padding:8px;font-size:14px;border:1px solid #ccc;border-radius:4px}.registration-form .form-group .form-control:focus{border-color:orange;box-shadow:0 0 5px rgba(255,165,0,0.5)}.registration-form .form-actions{text-align:center;height:100px}.registration-form .form-actions .btn-primary{background-color:orange;color:#fff;padding:10px 15px;border:none;border-radius:4px;font-size:16px;font-weight:bold;width:100%;cursor:pointer;margin-top:30px}.registration-form .form-actions .btn-primary:hover{background-color:#ff8c00}.thanks-message{max-width:400px;margin:0 auto;background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,0.1);text-align:center}.thanks-message h1{font-size:20px;color:#004080;margin-bottom:15px}.thanks-message p{font-size:14px;color:#333;line-height:1.5}.thanks-message p:nth-of-type(2),.thanks-message p:nth-of-type(3){margin-bottom:20px}.thanks-message .alert{font-size:14px;color:#333;margin-bottom:20px;text-align:left}.thanks-message .alert strong{color:#ff8c00}.thanks-message .action-link{text-align:center}.thanks-message .action-link .btn-primary{background-color:orange;color:#fff;padding:10px 15px;border:none;border-radius:4px;font-size:14px;cursor:pointer;text-decoration:none}.thanks-message .action-link .btn-primary:hover{background-color:#ff8c00}.patient-home-container{width:100%;max-width:680px;margin:0 auto;padding:12px 16px;box-sizing:border-box}@media (min-width: 768px){.patient-home-container{max-width:860px;padding:16px 24px}}@media (min-width: 1024px){.patient-home-container{max-width:1000px;padding:20px 32px}}.payment-request-banner{background:#fff8e1;border:1px solid #ffc107;border-radius:8px;padding:12px 16px;margin:8px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-request-banner__body{display:flex;align-items:center;gap:8px;font-size:14px}.payment-request-banner__body i{color:#f57c00}.payment-request-banner__amount{font-weight:bold;color:#036;margin-left:4px}.payment-request-banner__actions{flex-shrink:0}.payment-detail{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:16px 20px;margin-bottom:20px}.payment-detail dl.row{margin:0}.payment-detail dl.row dt{font-weight:bold;color:#333;padding:6px 0}.payment-detail dl.row dd{color:#333;padding:6px 0;margin:0}.payment-summary{background:#e6eff7;border-radius:8px;padding:12px 16px;margin-bottom:20px}.payment-summary p{margin:4px 0}.payment-btn{width:100%;background:#036;color:#fff;font-size:16px;padding:8px 20px;border-radius:6px;border:none;cursor:pointer;transition:background .25s ease,transform .2s ease}.payment-btn:hover{background:#001a33;transform:scale(1.02)}.payment-btn:active{transform:scale(0.98)}.container{width:90%;max-width:1200px;margin:0 auto;padding:12px;box-sizing:border-box}.patient-info{margin-bottom:16px}.patient-info .patient-header{display:flex;justify-content:space-between;align-items:center;gap:12px}@media (max-width: 480px){.patient-info .patient-header{flex-direction:column;align-items:flex-start}}.patient-info .patient-details{flex:1;min-width:0}.patient-info .patient-details .patient-name{font-size:20px;font-weight:bold;color:#333;margin-bottom:4px}.patient-info .patient-details .clinic-name{font-size:14px;color:#333;margin-bottom:4px}.patient-info .patient-details .card-number{font-size:12px;color:#6c757d}.patient-info .patient-details .point-info{margin-top:8px;display:flex;align-items:center;gap:4px}.patient-info .patient-details .point-info .icon img{width:24px;height:auto;vertical-align:middle}.patient-info .patient-details .point-info .point{font-size:20px;font-weight:bold;color:#ff9800}.patient-info .digital-card-thumbnail{flex-shrink:0;width:45%;max-width:280px}@media (max-width: 480px){.patient-info .digital-card-thumbnail{width:100%;max-width:100%}}.patient-info .digital-card-thumbnail img.thumbnail-card{width:100%;height:auto;border-radius:6px}.clinic-info-container{background:#f5f5f5;padding:16px;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,0.08);margin-top:16px}.clinic-info-container .section-title{font-size:16px;font-weight:bold;color:#036;margin-bottom:12px;text-align:center}.clinic-info-container .clinic-info-item{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;margin-bottom:12px;gap:12px}.clinic-info-container .clinic-info-item .label{font-weight:bold;color:#036;flex-shrink:0;width:30%}.clinic-info-container .clinic-info-item .value{color:#333;word-break:break-word}.clinic-info-container .clinic-info-item a{text-decoration:none}.clinic-info-container .clinic-info-item a:hover{text-decoration:underline}@media (max-width: 480px){.clinic-info-container .clinic-info-item{flex-direction:column;gap:4px}.clinic-info-container .clinic-info-item .label{width:auto}}.point-request-container{margin-top:16px;text-align:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.patient-primary-edit{margin-top:16px;padding:16px;background:#f5f5f5;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.patient-primary-edit__title{font-size:16px;font-weight:bold;color:#036;margin-bottom:12px;text-align:center}.patient-primary-edit__form{display:flex;flex-direction:column;align-items:flex-start}.patient-primary-edit__options{margin-bottom:16px}.patient-primary-edit__option{margin-bottom:8px}.patient-primary-edit__option input[type=radio]{margin-right:8px;accent-color:#036}.patient-primary-edit__submit{margin-top:12px;align-self:center}.patient-settings-email{background-color:#f5f5f5;padding:16px;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.patient-settings-email__title{font-size:16px;font-weight:bold;color:#036;margin-bottom:12px;text-align:center}.patient-settings-email__info,.patient-settings-email__description{margin-bottom:16px;font-size:14px;color:#333;line-height:1.6}.patient-settings-email__form{display:flex;flex-direction:column;align-items:flex-start}.patient-settings-email__field{margin-bottom:12px;width:100%}.patient-settings-email__field .patient-settings-email__label{font-weight:bold;margin-bottom:4px;color:#333;display:block}.patient-settings-email__field .patient-settings-email__input{width:100%;max-width:360px;padding:8px 12px;font-size:14px;border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box}.patient-settings-email__field .patient-settings-email__input:focus{outline:none;border-color:#036;box-shadow:0 0 0 3px rgba(0,51,102,0.12)}.patient-settings-email__actions{margin-top:12px;text-align:center;width:100%}.account-settings{margin-top:12px;padding-top:12px;border-top:1px solid #dee2e6;margin-bottom:32px}.account-settings__link{display:flex;align-items:center;gap:12px;padding:12px 4px;font-size:14px;color:#666;text-decoration:none;border-bottom:1px solid #ad5c5c;transition:color .15s ease,background-color .15s ease}.account-settings__link:last-child{border-bottom:none}.account-settings__link i{width:16px;text-align:center;color:#036;opacity:.6;flex-shrink:0}.account-settings__link:hover{color:#036;background-color:#f8f9fa}.account-settings__link:hover i{opacity:1}.account-settings__link::after{content:"›";margin-left:auto;color:#ccc;font-size:18px;line-height:1}.payment-detail-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;margin-top:20px}.payment-detail-table .page-title{font-size:16px;font-weight:bold;color:#036;margin-bottom:16px;text-align:center}.payment-detail-table table{width:100%}.payment-detail-table table th:first-child,.payment-detail-table table td:first-child{width:40%;border-top:1px solid #dee2e6}.payment-detail-table table th,.payment-detail-table table td{padding:10px 14px;border-bottom:1px solid #dee2e6;border-top:1px solid #dee2e6;vertical-align:middle;text-align:left;word-break:break-word}.payment-detail-table table tbody>tr:not(.detail-header-row):not(.total-row)>th{background-color:#e6eff7;color:#333;font-weight:600;border-right:1px solid #dee2e6}.payment-detail-table table .detail-header-row th{background-color:#dee2e6;color:#333;font-weight:600}.payment-detail-table table .detail-header-row th:last-child{border-left:1px solid #dee2e6}.payment-detail-table table .amount-cell{text-align:right;white-space:nowrap;border-left:1px solid #dee2e6}.payment-detail-table table .total-row td{border-top:2px solid #dee2e6;border-bottom:none;background-color:#f5f5f5;font-weight:600}.payment-info-table{display:table;width:100%;border-collapse:collapse}.payment-info-table tr{display:table-row}.payment-info-table th,.payment-info-table td{display:table-cell;padding:8px 12px;border:1px solid #dee2e6;vertical-align:middle;text-align:left;word-break:break-word}.payment-info-table th{background-color:#f5f5f5;color:#036;font-weight:600;width:35%;white-space:nowrap}.payment-info-table td{background-color:#fff}.payment-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:flex;align-items:flex-end;justify-content:center}.payment-modal.hidden{display:none}.payment-modal__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);cursor:pointer}.payment-modal__card{position:relative;z-index:1;background:#fff;border-radius:16px 16px 0 0;padding:24px 20px 32px;width:100%;max-width:480px;box-shadow:0 -4px 24px rgba(0,0,0,0.16)}.payment-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.payment-modal__title{font-size:1rem;font-weight:bold;color:#036;margin:0}.payment-modal__title i{margin-right:6px}.payment-modal__close{background:none;border:none;cursor:pointer;font-size:18px;color:#aaa;padding:4px 6px;border-radius:50%}.payment-modal__close:hover{background:#f0f0f0;color:#333}.payment-modal__body{margin-bottom:20px}.payment-modal__clinic{font-size:12px;color:#6c757d;margin:0 0 6px}.payment-modal__amount{font-size:2rem;font-weight:bold;color:#036;margin-bottom:6px}.payment-modal__expires{font-size:12px;color:#6c757d;margin-bottom:6px}.payment-modal__more{font-size:12px;color:#6c757d;margin-top:8px}.payment-modal__actions{display:flex;flex-direction:column;gap:10px}.payment-modal__actions .btn-block{width:100%;text-align:center}.credit-card-container{max-width:480px;margin:0 auto;padding:16px;text-align:center}.credit-card-container .card-title,.credit-card-container .new-card-title{font-size:16px;font-weight:bold;color:#036;margin-bottom:20px}.credit-card-container .new-card-title{margin-top:20px}.credit-card-container .current-card{background:#fff;padding:16px;border-radius:10px;box-shadow:inset 0 2px 5px rgba(0,0,0,0.05);border:1px solid #dee2e6;margin-bottom:12px}.credit-card-container .card-number,.credit-card-container .card-expiry{font-size:16px;margin:8px 0;font-weight:bold;color:#333}.credit-card-container .new-card-form{padding:12px;text-align:center}.credit-card-container .button-container{width:100%;max-width:480px;text-align:center}.credit-card-container .btn-submit{width:100%;background:#ff9800;color:#fff;font-size:16px;padding:8px 20px;border-radius:6px;border:none;cursor:pointer;transition:background .25s ease,transform .2s ease}.credit-card-container .btn-submit:hover{background:#cc7a00;transform:scale(1.02)}.credit-card-container .btn-submit:active{transform:scale(0.98)}.teeth-status-container{margin:15px auto;max-width:800px;padding:0 15px}.teeth-status-container .teeth-container{width:65%;display:flex;justify-content:center;align-items:center;margin:20px auto;max-width:400px}@media (min-width: 1024px){.teeth-status-container .teeth-container{max-width:280px;width:100%}}.teeth-status-container .teeth-container .teeth-svg{width:100%;height:auto;display:block}.teeth-status-container .legend-container{width:100%}.teeth-status-container .legend-container .legend-row{display:flex;justify-content:space-between;margin-bottom:10px}.teeth-status-container .legend-item{display:flex;flex-direction:column;align-items:center;text-align:center;width:15%;min-width:60px}.teeth-status-container .legend-item .legend-color{width:30px;height:30px;border-radius:5px;margin-bottom:5px;border:1px solid #ccc}.teeth-status-container .legend-item .legend-text{font-weight:bold;font-size:.6em}.teeth-status-container .legend-item .legend-subtext{font-size:9px;color:#666;margin-bottom:15px}.teeth-status-container .legend-item--clickable{cursor:pointer;border-radius:8px;padding:4px 2px;transition:background-color .15s,box-shadow .15s;position:relative}.teeth-status-container .legend-item--clickable:hover{background-color:rgba(0,51,102,0.06);box-shadow:0 2px 6px rgba(0,0,0,0.1)}.teeth-status-container .legend-item--clickable:active{background-color:rgba(0,51,102,0.12)}.teeth-status-container .legend-item--clickable .legend-item__link-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:#036;color:#fff;font-size:10px;font-weight:bold;line-height:1;margin-top:2px;flex-shrink:0}.teeth-status-container .tooth-info-box{background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:10px;padding:10px 12px;box-shadow:0 1px 3px rgba(0,0,0,0.04);margin:12px}.teeth-status-container .tooth-info-box .tooth-info-row{display:flex;align-items:baseline;gap:8px;font-size:.95rem;line-height:1.6}.teeth-status-container .tooth-info-box .label{color:#666;min-width:6em}.risk-description-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center}.risk-description-modal.hidden{display:none}.risk-description-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.45)}.risk-description-modal__dialog{position:relative;z-index:1;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,0.18);width:92%;max-width:420px;overflow:hidden}.risk-description-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #eee;background:#036;color:#fff}.risk-description-modal__title{font-size:1rem;font-weight:700;margin:0;line-height:1.4;flex:1}.risk-description-modal__close{background:none;border:none;color:#fff;font-size:1.1rem;cursor:pointer;padding:2px 4px;line-height:1;border-radius:4px;margin-left:12px;opacity:.8}.risk-description-modal__close:hover{opacity:1;background:rgba(255,255,255,0.15)}.risk-description-modal__body{padding:16px 20px}.risk-description-modal__summary{font-size:.95rem;color:#333;margin:0 0 12px;line-height:1.6}.risk-description-modal__bullets{margin:0;padding-left:1.4em;color:#444;font-size:.9rem;line-height:1.7}.risk-description-modal__bullets li{margin-bottom:4px}.risk-description-modal__footer{padding:12px 20px 16px;text-align:right;border-top:1px solid #f0f0f0}.teeth-status-modal.hidden{display:none}.teeth-status-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.45);z-index:1000}.teeth-status-modal-dialog{max-width:95%;margin:auto}@media (min-width: 768px){.teeth-status-modal-dialog{max-width:700px}}@media (min-width: 1024px){.teeth-status-modal-dialog{max-width:900px}}@media (min-width: 1440px){.teeth-status-modal-dialog{max-width:1100px}}.teeth-status-modal-content{background:#fff;border-radius:12px;padding:1rem}@media (min-width: 1024px){.teeth-status-modal-content{padding:2rem}}.selection-bar{display:flex;align-items:center;gap:10px;margin:12px auto 0;padding:10px 12px;border:1px solid rgba(0,0,0,0.08);border-radius:10px;background:#fff;width:100%;box-shadow:0 1px 3px rgba(0,0,0,0.04);flex-wrap:wrap}.selection-bar .sel-label{color:#666;font-size:.9rem;margin-right:4px}.selection-bar .sel-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f7f8fa;border:1px solid rgba(0,0,0,0.06);font-size:.95rem;line-height:1}.selection-bar .sel-chip .sel-chip-label{color:#777;font-size:.82rem}.selection-bar .sel-chip strong{font-weight:700;letter-spacing:.2px}.selection-bar .sel-tooth{background:#eef6ff;border-color:rgba(0,114,255,0.15)}.selection-bar .sel-state{background:#f5f8ff;border-color:rgba(30,64,175,0.12)}.selection-bar .sel-ratio{background:#f7fff5;border-color:rgba(16,185,129,0.18)}.contract-page{padding:24px;text-align:center;font-family:"Noto Sans JP","Roboto",sans-serif}.contract-page h2{font-size:16px;color:#036;margin-bottom:24px}.contract-page .contract-cta .btn{padding:10px 20px;margin-top:10px;font-size:18px}.contract-page .contract-cta h2{font-size:18px}.contract-page .no-contract,.contract-page .contract-info{background-color:#f5f5f5;padding:18px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,0.1);margin-bottom:24px}.contract-page .no-contract p,.contract-page .contract-info p{font-size:14px;color:#333}.contract-page .join-button,.contract-page .actions{margin-top:24px}.contract-page .join-button .btn,.contract-page .actions .btn{display:inline-block;padding:18px 36px;font-size:16px;text-decoration:none;border:none;border-radius:5px;transition:background-color .3s ease}.contract-page .join-button .btn.btn-primary,.contract-page .actions .btn.btn-primary{color:#fff;background-color:#036}.contract-page .join-button .btn.btn-primary:hover,.contract-page .actions .btn.btn-primary:hover{background-color:#001a33}.contract-page .contract-card{background-color:#f5f5f5;border:1px solid #dee2e6;border-radius:8px;padding:24px;box-shadow:0 2px 5px rgba(0,0,0,0.1);text-align:left}.contract-page .contract-card__title{font-size:16px;color:#036;margin-bottom:18px;text-align:center;font-weight:bold}.contract-page .contract-card__info{margin-bottom:24px}.contract-page .contract-card__info .contract-card__table{width:100%;border-collapse:collapse;margin-bottom:12px}.contract-page .contract-card__info .contract-card__table th,.contract-page .contract-card__info .contract-card__table td{padding:12px;font-size:14px;vertical-align:top}.contract-page .contract-card__info .contract-card__table th{text-align:left;color:#036;width:40%}.contract-page .contract-card__info .contract-card__table td{color:#333;width:60%}.contract-page .contract-card__info .contract-card__table tr{border-bottom:1px solid #dee2e6}.contract-page .contract-card__info .contract-card__table tr:last-child{border-bottom:none}.contract-page .contract-card__desc{font-size:14px;color:#333;line-height:1.6;margin-bottom:24px}.contract-page .contract-card__desc a{color:#ff9800;text-decoration:none}.contract-page .contract-card__desc a:hover{text-decoration:underline}.contract-page .contract-card__actions{text-align:center;margin-top:30px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.contract-page .contract-card__actions .btn{display:inline-block;margin:0 6px;padding:12px 18px;font-size:14px;border:none;border-radius:5px;cursor:pointer;background-color:#e6eff7;color:#036;transition:background-color .3s ease}.contract-page .contract-card__actions .btn:hover{background-color:#fff}.contract-section-title{font-size:14px;font-weight:700;color:#036;padding-bottom:8px;border-bottom:2px solid #036;margin:16px 0 12px}.contract-period-section{margin-bottom:16px}.contract-period__value{font-size:14px;color:#333;margin:8px 0 0}.contract-plan-section{margin-bottom:16px}.plan-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #dee2e6}.plan-item__header{display:flex;flex-direction:column;gap:3px}.plan-item__label{font-size:11px;color:#6c757d;font-weight:600;letter-spacing:.04em}.plan-item__name{font-size:14px;color:#333;font-weight:600}.plan-item__pricing{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.plan-item__cap{font-size:12px;color:#6c757d}.plan-item__price{font-size:14px;font-weight:400;color:#6c757d}.plan-item__price--original{font-size:12px;color:#6c757d;text-decoration:line-through}.plan-status-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px}.plan-status-badge--trial{background:#eafaf1;color:#1a6b3c;border:1px solid #27ae60}.plan-status-badge--family{background:#fef5e7;color:#7d4b0a;border:1px solid #e67e22}.contract-total{display:flex;justify-content:space-between;align-items:center;padding:12px 0 8px;border-top:2px solid #dee2e6;margin-top:4px}.contract-total__label{font-size:14px;font-weight:700;color:#036}.contract-total__amount{font-size:20px;font-weight:700;color:#ff9800}.contract-meta-section{margin-bottom:16px}.contract-cancel-container{padding:24px;background-color:#f5f5f5;border:1px solid #dee2e6;box-shadow:0 4px 6px rgba(0,0,0,0.1);text-align:center}.contract-cancel-container__title{font-size:16px;color:#036;margin-bottom:24px;font-weight:bold}.contract-cancel-container__info{font-size:14px;color:#333;margin-bottom:24px;line-height:1.5}.contract-cancel-container__actions{display:flex;flex-direction:column;align-items:center;gap:18px}.contract-cancel-container__actions .btn{display:inline-block;width:80%;padding:14.4px;font-size:16px;border:none;border-radius:5px;text-decoration:none;transition:background-color .3s ease}.contract-cancel-container__actions .btn.btn-primary{background-color:#036;color:#fff}.contract-cancel-container__actions .btn.btn-primary:hover{background-color:#001a33}.contract-cancel-container__actions .btn.btn-contract-full{background-color:#036;color:#fff}.contract-cancel-container__actions .btn.btn-contract-full:hover{background-color:#001a33}.contract-cancel-container__actions .btn.btn-contract-optional{background-color:#f80;color:#fff}.contract-cancel-container__actions .btn.btn-contract-optional:hover{background-color:#cc6d00}.loading-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.55)}.loading-overlay.hidden{display:none}.loading-overlay__card{background:#fff;border-radius:12px;padding:40px 32px;max-width:360px;width:90%;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,0.2)}.loading-overlay__spinner{font-size:42px;color:#036;margin-bottom:20px}.loading-overlay__message{font-size:16px;color:#333;margin:0 0 16px}.loading-overlay__warning{background:#fff8e1;border:1px solid #f0c040;border-radius:8px;padding:14px 16px;text-align:left;display:flex;gap:10px;align-items:flex-start}.loading-overlay__warning.hidden{display:none}.loading-overlay__warning-icon{color:#d97706;font-size:18px;flex-shrink:0;padding-top:2px}.loading-overlay__warning-text{font-size:14px;color:#5a3e00;margin:0;line-height:1.6}.step-indicator{width:100%;background-color:#f9f9f9;padding:16px 0}.step-indicator .step-list{display:flex;justify-content:space-between;width:90%;margin:0 auto;padding:0;list-style:none}.step-indicator .step-list .step-item{display:flex;width:20%;flex-direction:column;align-items:center;text-align:center}.step-indicator .step-list .step-item .step-circle{width:36px;height:36px;line-height:36px;border-radius:50%;font-weight:bold;color:#aaa;background-color:#ddd;margin-bottom:8px;transition:all .25s ease}.step-indicator .step-list .step-item .step-title{font-size:12px;color:#aaa}.step-indicator .step-list .step-item.current .step-circle,.step-indicator .step-list .step-item.completed .step-circle{background-color:#036;color:#fff}.step-indicator .step-list .step-item.current .step-title,.step-indicator .step-list .step-item.completed .step-title{color:#036;font-weight:bold}.section-title{display:flex;justify-content:space-between;align-items:center;margin:12px 0;font-weight:700}.section-title h3{font-size:20px}.section-title .info-btn{font-size:12px;color:#036;background:none;border:none;cursor:pointer;text-decoration:underline}.section-title .info-btn:hover{text-decoration:none}.section-title:nth-of-type(1){margin-top:-8px}.section-title:nth-of-type(2){margin-top:20px}.link-pill{appearance:none;background:#dde8ff;color:#036;border:1px solid #cbd5e1;border-radius:999px;padding:6px 10px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:14px}.link-pill:hover{background:#f1f5f9;border-color:#b6c3d3}.link-pill:active{transform:translateY(1px)}.link-pill i{font-size:.9em}.link-pill.link-sm{padding:5px 9px;font-size:12px;background:#036;color:#e6eff7}.link-pill--optional{background:#dcf2ea;border-color:#55e7b3;color:#0b4c35}.link-pill--optional:hover{background:#ecf8f4;border-color:#36e3a5}.link-pill--optional i{color:currentColor}.plans-grid{display:grid;gap:12px;margin-bottom:12px;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))}@media (max-width: 480px){.plans-grid{grid-template-columns:1fr}}.plans-grid .plan-card{position:relative;cursor:pointer;border:3px solid #ddd;border-radius:10px;transition:border-color .25s ease,box-shadow .25s ease;background:#fff;padding:8px 16px}.plans-grid .plan-card.selected{border-color:#036;box-shadow:0 0 0 3px rgba(0,51,102,0.15)}.plans-grid .plan-card input[type=radio],.plans-grid .plan-card input[type=checkbox]{display:none}.plans-grid .plan-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;border-radius:14px 0 0 14px;background:rgba(0,0,0,0);transition:background-color .15s ease}.plans-grid .plan-card::after{content:"✓";position:absolute;top:8px;right:12px;display:none;width:22px;height:22px;line-height:22px;text-align:center;font-weight:800;font-size:12px;color:#fff;border-radius:999px}.plans-grid .plan-card:hover{box-shadow:0 2px 8px rgba(0,0,0,0.12)}.plans-grid .plan-card:focus-within{outline:3px solid rgba(0,51,102,0.25);outline-offset:2px}.plans-grid .plan-card .plan-header{display:flex;justify-content:space-between;align-items:center}.plans-grid .plan-card .plan-header .plan-name{font-weight:700;font-size:14px}.plan-price{font-weight:700;font-size:16px;color:#036}.plan-card.mandatory{border-color:rgba(0,51,102,0.35)}.plan-card.mandatory.selected{background:#dbe2ea;border-color:#036;transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,0.08)}.plan-card.mandatory.selected::before{background:#036}.plan-card.mandatory.selected::after{display:block;background:#036}.plan-card.optional{border-color:#cfe6db}.plan-card.optional.selected{background:#e3f4ee;border-color:#17a673;transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,0.08)}.plan-card.optional.selected::before{background:#17a673}.plan-card.optional.selected::after{display:block;background:#17a673}.plan-card .plan-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.plan-card .subline{font-size:12px;color:#475569}.plan-card .kv .k{color:#64748b}.plan-card .kv .v{font-weight:700}.plan-card .plan-price{font-weight:800;color:#0f2e5a}.plan-card .plan-price .unit{opacity:.75}.benefit-list{margin:6px 0 0;padding-left:1.2em;font-size:12px;line-height:1.6}.benefit-list li{list-style:disc}.plan-footer{margin-bottom:24px}.total-box{display:flex;align-items:baseline;gap:6px}.discount-scope-badge{display:inline-block;font-size:10px;font-weight:600;color:#27ae60;background:#eafaf1;border:1px solid #27ae60;border-radius:4px;padding:1px 6px;vertical-align:middle;margin-left:8px;letter-spacing:.02em}.mandatory .plan-card{border-color:#036}.optional .plan-card{border-color:#ccc}.mandatory .plan-card.selected{box-shadow:0 0 0 3px rgba(0,51,102,0.3)}.optional .plan-card.selected{box-shadow:0 0 0 3px rgba(153,153,153,0.3)}@media (max-width: 768px){.section-label{position:sticky;top:80px;z-index:5}}.join-choose-size-adjuster{margin-top:200px}.modal{position:fixed;inset:0;background-color:rgba(0,0,0,0.5);display:flex;justify-content:center;align-items:center;z-index:9999}.modal.hidden{display:none}.modal .modal-content{background-color:#fff;border-radius:10px;width:90%;max-width:400px;padding:20px;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,0.16)}.modal .modal-content h2{margin-bottom:20px;color:#036;font-size:1.2rem}.modal .modal-content .teeth-chart{margin:20px 0}.modal .modal-content .teeth-chart img{width:100%;height:auto}.modal .intent-details{margin-top:24px}.modal .modal-card{background-color:#fff;border-radius:10px;width:92%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;padding:0}.modal .modal-card>h2{background:#036;color:#fff;font-size:1.4rem;padding:12px 16px;margin:0}.modal .modal-scroll{padding:16px;overflow-y:auto}.modal .modal-scroll ul{margin:8px 0 12px 0;padding:0;list-style:none}.modal .modal-scroll li{position:relative;padding-left:1.2em;margin-bottom:4px;line-height:1.6}.modal .modal-scroll li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#036}.modal .modal-footer{padding:12px 16px;display:flex;justify-content:center}.modal .modal-footer .btn-close{background-color:#036 !important;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-weight:700;cursor:pointer;transition:background .15s ease}.modal .modal-footer .btn-close:hover{background:#001f3d !important}@media (max-width: 480px){.modal .modal-card{width:96%;max-width:96%}}.modal-card .modal-footer .btn-close,.modal-content .modal-footer .btn-close{appearance:none;background:#036 !important;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-weight:700;line-height:1.4;cursor:pointer;transition:background .15s ease}.modal-card .modal-footer .btn-close:hover,.modal-content .modal-footer .btn-close:hover{background:#001f3d !important}input.important-checkbox[type=checkbox],input.important-summary-checkbox[type=checkbox]{transform:scale(1.3);margin-right:6px}.btn-large{display:inline-block;font-size:14px;font-weight:bold;color:#fff;border:none;border-radius:10px;padding:8px 20px;box-shadow:0 1px 3px rgba(0,0,0,0.08);transition:background-color .25s ease;text-decoration:none;white-space:nowrap;cursor:pointer;line-height:1.5}.btn-large:hover{background-color:#001a33}.btn-back{color:#fff;text-decoration:none;border:1px solid #036;background-color:#888}.btn-next{background-color:#036}.join-footer{position:fixed;bottom:0;left:0;width:100%;height:76px;background-color:#fff;border-top:1px solid #dee2e6;padding:8px 16px;display:flex;align-items:center;box-shadow:0 -2px 4px rgba(0,0,0,0.1);z-index:200;box-sizing:border-box;gap:12px}.join-footer p{font-size:14px;font-weight:bold;color:#036;margin:0}.join-footer #total-amount{font-size:1.5rem;font-weight:bold;color:#ff9800;margin-right:12px}.join-footer .complete-contract-button .btn-large{font-size:1.1rem;padding:8px 24px}.join-footer .complete-contract-button .btn-complete{background-color:#036;color:#fff;cursor:pointer}.join-footer .complete-contract-button .btn-complete.disabled-btn{background-color:#ccc;cursor:not-allowed}.before-complete{justify-content:space-between}.complete-contract{justify-content:space-between;padding:0 24px}.patients-main--join{padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px)) !important}.credit-form-container{display:flex;flex-direction:column;align-items:center;padding:20px 16px;padding-bottom:160px}.credit-form-container .credit-form-title{font-size:1.2rem;font-weight:bold;text-align:center;margin-bottom:20px}.existing-card-section{width:100%;max-width:480px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:10px;padding:16px;margin-bottom:8px;box-sizing:border-box}.existing-card-section .existing-card__label{font-size:12px;color:#6c757d;margin-bottom:8px}.existing-card-section .existing-card__info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.existing-card-section .existing-card__number{font-weight:700;font-size:14px;letter-spacing:.05em}.existing-card-section .existing-card__expiry{font-size:12px;color:#495057}.existing-card-section .existing-card__actions{margin-top:12px;display:flex;justify-content:flex-end}.existing-card__divider{width:100%;max-width:480px;display:flex;align-items:center;gap:12px;margin:12px 0 16px;color:#adb5bd;font-size:12px}.existing-card__divider::before,.existing-card__divider::after{content:"";flex:1;height:1px;background:#dee2e6}.existing-card__divider #toggle-new-card{appearance:none;background:none;border:none;color:#6c757d;font-size:12px;cursor:pointer;white-space:nowrap;padding:0}.existing-card__divider #toggle-new-card:hover{color:#036;text-decoration:underline}.contract-confirmation{width:100%;max-width:680px;margin:16px auto;padding:0 16px;box-sizing:border-box}@media (min-width: 1024px){.contract-confirmation{max-width:800px;padding:0 24px}}.contract-confirmation h2{font-size:20px;font-weight:bold;text-align:center;margin-bottom:24px;color:#036}.contract-confirmation h3{font-size:14px;font-weight:bold;color:#fff;background-color:#036;padding:8px 16px;border-radius:4px 4px 0 0;margin-top:20px;margin-bottom:0}.contract-confirmation .contract-table{table-layout:fixed;width:100%;border-collapse:collapse;margin-bottom:16px;border:1px solid #dee2e6;border-top:none}.contract-confirmation .contract-table th,.contract-confirmation .contract-table td{border:1px solid #dee2e6;padding:12px 16px;text-align:left;vertical-align:middle;font-size:14px;line-height:1.6}.contract-confirmation .contract-table thead th{background-color:#e6eff7;color:#036;font-weight:bold}.contract-confirmation .contract-table th{background-color:#f0f5fb;width:35%;font-weight:bold;color:#036}.contract-confirmation .contract-table td{width:65%;word-break:break-word;background-color:#fff}.contract-confirmation .contract-table p{margin:0 0 4px}.contract-confirmation .contract-table p:last-child{margin-bottom:0}.contract-confirmation .contract-table .discount-line{color:#dc3545;font-size:12px}.contract-confirmation .contract-table .total-line{font-weight:bold;color:#036;margin-top:8px}.contract-confirmation .contract-table .trial-note{font-size:12px;color:#6c757d;margin-top:8px}.contract-confirmation .contract-table input.form-control{width:80%;margin-right:4%}.contract-confirmation .contract-table .example-text{list-style-type:none;position:relative;padding-left:1em;font-size:12px;color:#6c757d}.contract-confirmation .contract-table .example-text::before{content:"※";position:absolute;left:0;color:#333}.contract-confirmation .contract-table .btn-toggle-relationship{background-color:#036;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px;margin:4px 0}.contract-confirmation .contract-table .btn-toggle-relationship:hover{background-color:#001f3d}.important-info{width:100%;max-width:680px;margin:24px auto;padding:0 16px;box-sizing:border-box}@media (min-width: 1024px){.important-info{max-width:800px;padding:0 24px}}.important-info h2{font-size:1.8rem;font-weight:bold;text-align:center;margin-bottom:20px}.important-info .important-info-summary{display:flex;align-items:center;margin-bottom:20px;justify-content:center}.important-info .important-info-summary input[type=checkbox]{width:25px;height:25px;margin-right:12px;cursor:pointer}.important-info .important-info-summary a.info-modal-link{color:#036;text-decoration:underline;font-size:20px}.important-info .important-info-summary a.info-modal-link:hover{text-decoration:none}.important-info .important-details{list-style:none;padding:0}.important-info .check-box{text-align:center}.important-info .check-box input.important-summary-checkbox[type=checkbox]{width:30px;height:30px;transform:scale(1.5);margin-right:8px;margin-top:20px}.modal-content-details{text-align:left}.modal-content-details h3{font-size:20px}.modal-content-details h3:not(:first-of-type){margin-top:20px}.contract-completion{text-align:center;padding:24px;max-width:800px;margin:0 auto}.contract-completion .thank-you-message h1{font-size:1.6rem;font-weight:800;color:#036;margin-bottom:8px}.contract-completion .thank-you-message p{font-size:14px;color:#333;margin-bottom:16px}.contract-completion .next-steps{text-align:left;background:#fff;border:1px solid rgba(0,0,0,0.06);border-radius:14px;padding:16px;margin:20px auto 12px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}.contract-completion .next-steps h2{font-size:1.1rem;color:#036;margin:0 0 8px;font-weight:700}.contract-completion .next-steps ol.steps{margin:0;padding-left:1.2rem}.contract-completion .next-steps ol.steps li{color:#333;line-height:1.6;font-size:14px}.contract-completion .next-steps ol.steps li+li{margin-top:4px}.contract-completion .actions{display:flex;justify-content:center;gap:12px;margin-top:16px;flex-wrap:wrap}.contract-completion .actions .btn{min-width:200px}.contract-completion .help{margin-top:12px;font-size:12px;color:rgba(0,0,0,0.55)}.contract-completion .resume-link{margin-top:4px}.contract-completion .resume-link .small-link{font-size:12px;color:#ff9800;text-decoration:underline}.contract-completion .resume-link .small-link:hover{text-decoration:none}.claims-page{padding:24px;text-align:center;font-family:"Noto Sans JP","Roboto",sans-serif}.claims-page .claims-header{margin-bottom:24px}.claims-page .claims-header h2{font-size:16px;color:#036;margin-bottom:24px}.claims-page .claims-new-form,.claims-page .claims-confirm{background-color:#f5f5f5;padding:24px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,0.1);margin:0 auto 24px auto;max-width:500px}.claims-page .claims-new-form .field,.claims-page .claims-confirm .field{text-align:left;align-items:center;margin-bottom:24px;width:100%}.claims-page .claims-new-form .field .claim-label,.claims-page .claims-confirm .field .claim-label{font-weight:600;font-size:1rem;color:#333;display:inline-block;margin-bottom:8px}.claims-page .claims-new-form .field .optional-hint,.claims-page .claims-confirm .field .optional-hint{font-size:.9rem;color:#e62e00;margin-left:4px}.claims-page .claims-new-form .field .help-text,.claims-page .claims-confirm .field .help-text{font-size:.9rem;color:#666;margin-bottom:8px;line-height:1.4}.claims-page .claims-new-form .field .claim-select,.claims-page .claims-new-form .field input[type=file],.claims-page .claims-new-form .field input[type=text],.claims-page .claims-new-form .field select,.claims-page .claims-new-form .field textarea,.claims-page .claims-confirm .field .claim-select,.claims-page .claims-confirm .field input[type=file],.claims-page .claims-confirm .field input[type=text],.claims-page .claims-confirm .field select,.claims-page .claims-confirm .field textarea{padding:.75rem;border:1px solid #ccc;border-radius:5px;width:100%;box-sizing:border-box}.claims-page .claims-new-form .field .claim-file-input,.claims-page .claims-confirm .field .claim-file-input{padding:.75rem;cursor:pointer}.claims-page .claims-new-form .confirm-section,.claims-page .claims-confirm .confirm-section{margin-bottom:24px;text-align:left}.claims-page .claims-new-form .confirm-section .section-title,.claims-page .claims-confirm .confirm-section .section-title{font-size:1.1rem;font-weight:600;color:#036;margin-bottom:12px}.claims-page .claims-new-form .confirm-section .section-content,.claims-page .claims-confirm .confirm-section .section-content{font-size:1rem;color:#333;margin-left:12px}.claims-page .claims-new-form .confirm-section .image-preview,.claims-page .claims-confirm .confirm-section .image-preview{margin-left:12px}.claims-page .claims-new-form .confirm-section .image-preview img,.claims-page .claims-confirm .confirm-section .image-preview img{width:100%;height:auto;border:1px solid #ccc;border-radius:4px}.claims-page .toggle-show-all{margin-bottom:20px}.claims-page .claims-list,.claims-page .claims-new-form{background-color:#f5f5f5;padding:15px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,0.1);margin:0 auto 24px auto}.claims-page .claims-list .claims-table,.claims-page .claims-new-form .claims-table{margin:0 auto;border-collapse:collapse;width:100%}.claims-page .claims-list .claims-table th,.claims-page .claims-list .claims-table td,.claims-page .claims-new-form .claims-table th,.claims-page .claims-new-form .claims-table td{padding:12px;border:1px solid #ccc;font-size:10px}.claims-page .claims-list .claims-table th,.claims-page .claims-new-form .claims-table th{background-color:#fff;color:#036;text-align:left}.claims-page .claims-list .claims-table td,.claims-page .claims-new-form .claims-table td{text-align:left}.claims-page .claims-list .field,.claims-page .claims-new-form .field{text-align:left;margin-bottom:18px;width:92%}.claims-page .claims-list .field label,.claims-page .claims-new-form .field label{display:inline-block;margin-bottom:5px;font-weight:bold}.claims-page .claims-list .field input[type=text],.claims-page .claims-list .field input[type=number],.claims-page .claims-list .field input[type=date],.claims-page .claims-list .field select,.claims-page .claims-list .field textarea,.claims-page .claims-new-form .field input[type=text],.claims-page .claims-new-form .field input[type=number],.claims-page .claims-new-form .field input[type=date],.claims-page .claims-new-form .field select,.claims-page .claims-new-form .field textarea{width:100%;padding:12px;margin-bottom:.5rem;border:1px solid #ccc;border-radius:5px}.claims-page .claims-list .field select,.claims-page .claims-new-form .field select{width:108%}.claims-page .no-claims{background-color:#f5f5f5;padding:24px;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,0.1);margin-bottom:24px}.claims-page .no-claims p{font-size:14px;color:#333}.claims-page .actions{margin-top:24px;margin-bottom:300px}.claims-page .actions .btn{display:inline-block;padding:14.4px 24px;margin:10px 12px;font-size:1rem;border:none;border-radius:5px;transition:background-color .3s ease;cursor:pointer;text-decoration:none}.claims-page .actions .btn.big-btn{font-size:1.1rem;padding:16.8px 30px}.claims-page .actions .btn.btn-primary{color:#fff;background-color:#036}.claims-page .actions .btn.btn-primary:hover{background-color:#001a33}.claims-page .actions .btn.btn-secondary{color:#036;background-color:#e6eff7}.claims-page .actions .btn.btn-secondary:hover{background-color:#fff}.email-confirmation-box{background:#fff;padding:30px 20px;border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,0.1);width:100%;max-width:400px;box-sizing:border-box;margin:0 auto}.email-confirmation-box h2{text-align:center;color:#004080;margin-bottom:20px}.email-confirmation-box p{text-align:center;margin-bottom:20px;color:#333;font-size:14px}.email-confirmation-box .actions{text-align:center}.email-confirmation-box .actions .btn{width:90%;padding:10px;font-size:16px;background-color:#ff9800;color:#fff;border:none;border-radius:5px;cursor:pointer;text-align:center;text-decoration:none}.email-confirmation-box .actions .btn:hover{background-color:#e68900}.sg-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);display:none;align-items:center;justify-content:center;z-index:2000}.sg-modal-overlay.is-open{display:flex}.sg-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 6px 20px rgba(0,0,0,0.2)}.agreement-container{max-width:800px;margin:0 auto;padding:1rem 1.5rem}.document-links{margin-top:20px;list-style:none;padding-left:0}.document-links li{margin-bottom:.5rem}.document-links li a{text-decoration:none;color:#036;font-weight:600;position:relative;padding-left:1rem;padding-top:4px}.document-links li a::before{content:"▶︎";position:absolute;left:0;top:0}.document-links li a:hover{text-decoration:underline}.form-group{margin:1.2rem 0}#submit_btn{min-width:140px}@media (max-width: 576px){.agreement-container{padding:1rem}}.modal{position:fixed;inset:0;z-index:2000}.modal>.sg-modal,.modal>.modal-content{position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);min-width:calc(100% - 48px);max-height:calc(100% - 150px);overflow:auto;box-sizing:border-box;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,0.14)}#basicModal .sg-footer{position:sticky;bottom:0;background:#fff;text-align:center}.sg-sheet{display:flex;flex-direction:column;max-height:inherit}.sg-body{padding:16px 16px 8px;overflow:auto;-webkit-overflow-scrolling:touch;background:#fff}.sg-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px;margin:12px 0}.sg-sec-title{margin:0 0 12px;font-weight:800;font-size:1.15rem;letter-spacing:.01em;display:inline-flex;align-items:center;gap:8px}.sg-tag{font-size:12px;line-height:1;padding:3px 8px;border-radius:6px;background:#e0e7ed;color:#001a33;border:1px solid #b3c2d1}.sg-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 640px){.sg-grid2{grid-template-columns:1fr}}.sg-stack{display:grid;gap:8px;margin:0;padding-left:1rem}.sg-stack li{list-style:disc}.sg-table{width:100%;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;border-collapse:collapse;table-layout:fixed}.sg-table th,.sg-table td{padding:10px;border-bottom:1px solid #e5e7eb;vertical-align:top;word-break:break-word;font-size:.95rem}.sg-table thead th{background:#f9fafb;text-align:left;font-weight:700}.sg-table tr:last-child td,.sg-table tr:last-child th{border-bottom:0}.sg-hint{margin:8px 0 0;font-size:12px;color:#6b7280}#sgHeroWrap{background:#f2f8ff;border:1px solid #ccd6e0;border-radius:10px;padding:10px}#sgHeroWrap img{display:block;width:100%;height:auto}.sg-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:center;justify-content:center}.sg-btn{appearance:none;border:1px solid #e5e7eb;background:#fff;color:#111827;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;transition:transform .02s ease,background .15s ease,border-color .15s ease}.sg-btn:focus-visible{outline:3px solid #99adc2;outline-offset:2px}.sg-btn:active{transform:translateY(1px)}.sg-btn--primary{background:#036;border-color:#036;color:#fff}.sg-btn--primary:hover{filter:brightness(0.98)}.sg-btn--ghost{background:#036;color:#fff;border-color:#036}.sg-btn--ghost:hover{background:#e0e7ed}#sgFormulaCode{background:#0b1225;color:#e7f0ff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;padding:4px 8px;border-radius:6px}svg[width="100%"][height="160"]{display:block;border-radius:12px}#sgHeroLead{line-height:1.7;color:#334155}#sgHeroWrap{min-height:120px}.plan-presentation-form{max-width:880px;margin:0 auto 60px}.pp-divider{border:0;border-top:1px solid #e5e7eb;margin:18px 0 22px}.pp-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:18px}.pp-section__title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:1.05rem;font-weight:800;letter-spacing:.01em}.pp-section__body{display:grid;gap:12px}.pp-badge{display:inline-block;font-size:.8rem;padding:3px 8px;border-radius:999px;font-weight:700;border:1px solid #cbd5e1;background:#f8fafc;color:#334155}.pp-badge--meta{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.pp-badge--basic{background:#d9e0e8;border-color:#b3c2d1;color:#036}.pp-badge--optional{background:#d9e0e8;border-color:#b3c2d1;color:#036}.form-group label{font-weight:700}.form-group textarea.form-control{min-height:100px}.sg-family-name{display:inline-block;margin:2px 0 10px;padding:4px 10px;border-radius:999px;font-weight:700;font-size:1.2rem;background:#036;color:#fff;border:1px solid #bfccd9}.sg-family-name p{color:#fff}.sg-section:first-of-type div{margin-bottom:10px}.sg-section:first-of-type div:first-of-type{text-align:center}.sg-section:first-of-type p{line-height:1.75;color:#fff}.sg-section:first-of-type h3{font-weight:normal}.sg-stack li{list-style:none !important;padding-left:1.25rem}.sg-stack li::marker{content:""}.sg-table thead th{background:#f1f5f9}.sg-table td,.sg-table th{font-size:.98rem}.sg-table tbody tr:hover td{background:#fafafa}.sg-section:nth-of-type(3) .sg-grid2>div:first-child p{margin:6px 0;padding:8px 12px;border-radius:10px;background:#f0f3f6;border:1px solid #d1dae3}@media (max-width: 400px){.sg-body{padding-left:18px;padding-right:18px}}.sg-stack{list-style:none;padding-left:0}.sg-stack li::marker{content:""}.sg-list--check{margin:0;padding:0}.sg-list--check li{list-style:none;position:relative;padding-left:1.4em}.sg-list--check li::before{content:"✓";position:absolute;left:0;top:.15em;font-weight:900;color:#036}.sg-section>li::before{content:none}.benefit-risk-guide{max-width:720px;margin:32px auto;padding:0 20px 80px}.benefit-risk-guide__title{font-size:1.3rem;font-weight:700;color:#036;margin-bottom:24px;padding-bottom:10px;border-bottom:2px solid #036}.benefit-risk-guide__empty{color:#888;font-size:.95rem;padding:24px 0}.benefit-risk-guide__section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.07);margin-bottom:20px;overflow:hidden;border:1px solid #eef0f4}.benefit-risk-guide__section-header{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#f7f9fc;border-bottom:1px solid #eef0f4}.benefit-risk-guide__color-dot{display:inline-block;width:20px;height:20px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.12)}.benefit-risk-guide__section-title{font-size:1.05rem;font-weight:700;color:#222;margin:0}.benefit-risk-guide__ratio{font-size:.9rem;font-weight:400;color:#666;margin-left:4px}.benefit-risk-guide__summary{font-size:.95rem;color:#333;line-height:1.7;padding:14px 20px 8px;margin:0}.benefit-risk-guide__bullets{margin:0;padding:4px 20px 16px 36px;color:#444;font-size:.9rem;line-height:1.8}.benefit-risk-guide__bullets li{margin-bottom:2px}.mypage-section{margin-top:24px}.mypage-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.mypage-section__title{font-size:16px;color:#036;font-weight:bold;margin:0}.mypage-section__title i{margin-right:6px;opacity:.75}.family-group-empty{color:#aaa;font-size:14px;margin-bottom:18px}.family-discount-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg, #fffbec, #fff3cd);border:1px solid #ffc107;border-left:4px solid #ffc107;border-radius:6px;padding:7px 14px;font-size:14px;color:#856404;font-weight:600;margin-bottom:12px}.family-discount-badge i{color:#e6a817}.family-group-members{margin-bottom:12px}.family-group-members ul{list-style:none;padding:0;margin:0}.family-group-members ul li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #dee2e6;font-size:14px}.family-group-members ul li:last-child{border-bottom:none}.family-group-members ul li i{color:#06c;width:16px;text-align:center}.family-group-hint{font-size:14px;color:#666;margin-top:12px}.family-group-hint i{color:#036;margin-right:4px}.btn-invite-trigger{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;color:#036;background:rgba(0,0,0,0);border:1px solid #036;border-radius:20px;cursor:pointer;text-decoration:none;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.btn-invite-trigger i{font-size:11px}.btn-invite-trigger:hover{background-color:#036;color:#fff}.invite-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:flex;align-items:center;justify-content:center}.invite-modal.hidden{display:none}.invite-modal__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.45);cursor:pointer}.invite-modal__card{position:relative;background:#fff;border-radius:14px;padding:24px 20px 20px;max-width:400px;width:90%;box-shadow:0 8px 32px rgba(0,0,0,0.16);z-index:1}.invite-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.invite-modal__title{font-size:14px;font-weight:bold;color:#036;margin:0}.invite-modal__title i{margin-right:6px;opacity:.75}.invite-modal__close{background:none;border:none;cursor:pointer;font-size:18px;color:#aaa;padding:4px 6px;line-height:1;border-radius:50%;transition:color .2s ease,background-color .2s ease}.invite-modal__close:hover{color:#333;background-color:#f0f0f0}.invite-modal__desc{font-size:14px;color:#666;margin-bottom:12px;line-height:1.6}.invite-form__row{display:flex;gap:8px;align-items:stretch}.invite-form__input{flex:1;border:1px solid #dee2e6;border-radius:6px;padding:8px 12px;font-size:14px}.invite-form__input:focus{outline:none;border-color:#036;box-shadow:0 0 0 3px rgba(0,51,102,0.12)}.invite-form__btn{white-space:nowrap}.invite-form__note{font-size:11px;color:#999;margin-top:6px}.invitation-banners{margin-top:18px;margin-bottom:12px}.invitation-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg, #e8f4fd, #d6eaf8);border:1px solid #3498db;border-left:4px solid #3498db;border-radius:8px;padding:12px 16px;margin-bottom:8px}.invitation-banner__body{display:flex;align-items:center;gap:8px;font-size:14px;color:#1a5276}.invitation-banner__body i{color:#3498db;font-size:16px}.invitation-banner__actions{flex-shrink:0}.invitation-page{display:flex;justify-content:center;align-items:flex-start;padding:40px 16px;min-height:60vh}.invitation-card{background:#fff;border:1px solid #dee2e6;border-radius:12px;padding:40px 36px;max-width:480px;width:100%;box-shadow:0 4px 20px rgba(0,0,0,0.08);text-align:center}.invitation-card__icon{font-size:48px;color:#036;margin-bottom:20px}.invitation-card__title{font-size:20px;font-weight:bold;color:#036;margin-bottom:24px}.invitation-card__body{text-align:left;margin-bottom:28px}.invitation-card__clinic{font-size:14px;color:#777;margin-bottom:8px}.invitation-card__message{font-size:16px;color:#333;margin-bottom:16px;line-height:1.6}.invitation-card__info{background:#e6eff7;border-radius:6px;padding:12px 16px;font-size:14px;color:#444;line-height:1.6;margin-bottom:12px}.invitation-card__expiry{font-size:12px;color:#999}.invitation-card__expiry i{margin-right:4px}.invitation-card__actions{display:flex;flex-direction:column;gap:10px;align-items:center}.invitation-card__actions .btn-lg{padding:14px 32px;font-size:16px;width:100%}.invitation-card__actions .btn-secondary{font-size:14px;padding:8px 24px}.invitation-card--success .invitation-card__icon{color:#27ae60}.invitation-card--neutral .invitation-card__icon{color:#7f8c8d}.invitation-card--error .invitation-card__icon{color:#e74c3c}.mailer-content{max-width:600px;margin:0 auto;background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:24px;color:#333;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.7}.mailer-content h1,.mailer-content h2,.mailer-content h3{color:#222;margin:0 0 12px 0;line-height:1.4}.mailer-content h1{font-size:20px}.mailer-content h2{font-size:18px}.mailer-content h3{font-size:16px}.mailer-content p{margin:0 0 14px 0}.mailer-content a{color:#036;text-decoration:underline;word-break:break-word}.mailer-content .separator{border:0;border-top:1px solid #e5e5e5;margin:20px 0}.mailer-content .small-muted{font-size:12px;color:#888;margin-top:6px}.mailer-content .note{font-size:14px;color:#333}.mailer-content .footnote{font-size:12px;color:#666}.mailer-content .text-center{text-align:center}.mailer-content table{width:100%;border-collapse:collapse;margin-top:12px}.mailer-content table th,.mailer-content table td{padding:10px 8px;border-bottom:1px solid #e5e5e5;text-align:left;vertical-align:top}.mailer-content table thead th{background:#f6f8fa;font-weight:700}.mailer-content .btn{display:inline-block;padding:12px 24px;border-radius:6px;font-weight:700;text-decoration:none;line-height:1.2;background:#0a66c2;color:#fff !important}.mailer-content .btn:hover{background:#0959a9}.mailer-content .btn--primary{background:#ff9800;color:#fff !important}.mailer-content blockquote{margin:6px 0 10px 12px;padding-left:10px;border-left:4px solid #ccc;color:#555}.mailer-content .header{text-align:center;background:#ff9800;color:#fff;padding:18px;border-radius:6px 6px 0 0}.mailer-content .header h1{margin:0;font-size:22px;letter-spacing:.5px}.mailer-content .footer{text-align:center;color:#888;font-size:12px;padding-top:12px}.root-container{font-family:"Noto Sans JP","Roboto",sans-serif;color:#333;padding:40px;max-width:800px;margin:0 auto;line-height:1.6}.root-container .root-header{margin-bottom:30px;text-align:center}.root-container .root-header h1{font-size:24px;color:#036;margin-bottom:10px}.root-container .root-header p{font-size:14px;color:#333}.root-container section{background-color:#e6eff7;border:1px solid #dee2e6;border-radius:5px;padding:20px 30px;margin-bottom:30px}.root-container section h2,.root-container section h3{margin-top:0;color:#036;font-size:18px;margin-bottom:15px}.root-container section p{font-size:14px;margin-bottom:20px}.root-container section .button-group{text-align:center}.root-container section .button-group a,.root-container section .button-group button{display:inline-block;padding:10px 20px;font-size:14px;font-weight:bold;border-radius:4px;margin:0 10px;text-decoration:none;cursor:pointer}.root-container .patient-section{background-color:#fff;border:1px solid #dee2e6}.root-container .patient-section .button-group .btn-patient-login{background-color:#ff9800;color:#fff}.root-container .patient-section .button-group .btn-patient-login:hover{background-color:#cc7a00}.root-container .clinic-section{font-size:90%;color:#000;background-color:#fff}.root-container .clinic-section .button-group .btn-clinic-login{background-color:#e6eff7;color:#036;border:1px solid #036}.root-container .clinic-section .button-group .btn-clinic-login:hover{background-color:#39f;color:#fff}.trix-content .attachment-gallery>action-text-attachment,.trix-content .attachment-gallery>.attachment{flex:1 0 33%;padding:0 .5em;max-width:33%}.trix-content .attachment-gallery.attachment-gallery--2>action-text-attachment,.trix-content .attachment-gallery.attachment-gallery--2>.attachment,.trix-content .attachment-gallery.attachment-gallery--4>action-text-attachment,.trix-content .attachment-gallery.attachment-gallery--4>.attachment{flex-basis:50%;max-width:50%}.trix-content action-text-attachment .attachment{padding:0 !important;max-width:100% !important}html{height:100%;margin:0}body{font-family:"Noto Sans JP",sans-serif;font-size:14px;background-color:#f9f9f9;color:#333;overflow-x:hidden;min-height:100%;display:flex;flex-direction:column;margin:0}main{flex:1 0 auto}a{transition:color .2s ease}.info-banner{display:flex;align-items:center;gap:14px;background:#fff;border-radius:10px;border:1.5px solid #ddd;padding:8px 16px;margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,0.07)}.info-banner:last-of-type{margin-bottom:25px}.info-banner__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:50%}.info-banner__icon i{font-size:16px;color:#fff}.info-banner__body{display:flex;flex-direction:column;gap:2px}.info-banner__body strong{font-size:14px;font-weight:700;line-height:1.3}.info-banner__sub{font-size:12px;line-height:1.4;opacity:.75}.info-banner--trial{border-color:#27ae60}.info-banner--trial .info-banner__icon{background-color:#27ae60}.info-banner--trial strong{color:#1a6b3c}.info-banner--trial .info-banner__sub{color:#1a6b3c}.info-banner--family{border-color:#e67e22}.info-banner--family .info-banner__icon{background-color:#e67e22}.info-banner--family strong{color:#7d4b0a}.info-banner--family .info-banner__sub{color:#7d4b0a}.flash-container{position:fixed;top:20px;right:20px;z-index:99999;max-width:360px}.flash-message{display:block;padding:12px 16px;border-radius:6px;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,0.15);margin-bottom:8px;animation:fade-in .2s ease}.flash-message.notice{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.flash-message.alert{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.hidden{display:none !important}.text-center{text-align:center}.text-muted{color:#6c757d}.text-primary{color:#036}.text-danger{color:#dc3545}.page-container{width:90%;max-width:1200px;margin:0 auto;padding:16px;box-sizing:border-box}main{padding-bottom:40px}
