@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
body{font-family:'Inter','Noto Sans JP',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--color-text-primary);background-color:var(--color-bg-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.navbar{background-color:var(--color-white) !important;border-bottom:1px solid var(--color-border);box-shadow:0 1px 3px rgba(0,0,0,0.05);padding:1.25rem 0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}.navbar-brand{font-weight:700;font-size:1.5rem;color:var(--color-primary) !important;letter-spacing:-0.025em;transition:all 0.3s ease;}.navbar-brand:hover{color:var(--color-primary-dark) !important;transform:scale(1.02);}.nav-link{font-weight:500;color:var(--color-text-secondary) !important;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);padding:0.5rem 1rem !important;border-radius:var(--border-radius-lg);position:relative;}.nav-link::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--color-primary);transition:width 0.3s ease;}.nav-link:hover{color:var(--color-primary) !important;background-color:var(--color-bg-hover);}.nav-link:hover::after{width:60%;}.nav-link.active{color:var(--color-primary) !important;font-weight:600;background-color:rgba(59,130,246,0.08);}#main-wrapper{margin-top:2.5rem;margin-bottom:5rem;}.region-content{background:var(--color-bg-surface);border-radius:var(--border-radius-xl);padding:2.5rem;box-shadow:0 1px 3px rgba(0,0,0,0.05);border:1px solid var(--color-border);}@media (min-width:768px){.region-content{padding:3.5rem;}}h1,h2,h3,h4,h5,h6{font-weight:700;color:var(--color-text-primary);line-height:1.25;margin-bottom:1.25rem;letter-spacing:-0.02em;}h1{font-size:2.5rem;margin-bottom:1.5rem;}h2{font-size:2rem;margin-top:2.5rem;}h3{font-size:1.5rem;margin-top:2rem;}a{color:var(--color-primary);text-decoration:none;transition:all 0.2s ease;font-weight:500;}a:hover{color:var(--color-primary-dark);text-decoration:none;}.region-content a:not(.btn){position:relative;display:inline-block;}.region-content a:not(.btn)::after{content:'';position:absolute;width:0;height:1px;bottom:-2px;left:0;background-color:var(--color-primary);transition:width 0.3s ease;}.region-content a:not(.btn):hover::after{width:100%;}.card{border:1px solid var(--color-border);box-shadow:0 1px 3px rgba(0,0,0,0.05);transition:all 0.4s cubic-bezier(0.4,0,0.2,1);border-radius:var(--border-radius-xl);overflow:hidden;background:var(--color-bg-surface);}.card:hover{box-shadow:0 12px 24px rgba(0,0,0,0.08);transform:translateY(-4px);border-color:var(--color-primary-light);}.card-header{background:linear-gradient(to bottom,var(--color-gray-50),var(--color-white));border-bottom:1px solid var(--color-border);font-weight:600;padding:1.25rem 1.5rem;}.card-body{padding:1.5rem;}.card-img-top{transition:transform 0.4s ease;}.card:hover .card-img-top{transform:scale(1.05);}.btn{font-weight:600;padding:0.75rem 1.5rem;border-radius:var(--border-radius-lg);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);border:none;letter-spacing:0.01em;box-shadow:0 1px 2px rgba(0,0,0,0.05);}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,0.12);}.btn:active{transform:translateY(0);}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:white;}.btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0%,#1d4ed8 100%);}.btn-outline-primary{border:2px solid var(--color-primary);color:var(--color-primary);background:transparent;}.btn-outline-primary:hover{background:var(--color-primary);color:white;border-color:var(--color-primary);}.btn-lg{padding:1rem 2rem;font-size:1.125rem;}.btn-sm{padding:0.5rem 1rem;font-size:0.875rem;}.form-control,.form-select{border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:0.75rem 1rem;transition:all 0.3s ease;background-color:var(--color-bg-surface);font-size:0.9375rem;}.form-control:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(59,130,246,0.08);outline:none;background-color:var(--color-white);}.form-control:hover:not(:focus),.form-select:hover:not(:focus){border-color:var(--color-border-dark);}.form-label{font-weight:600;color:var(--color-text-primary);margin-bottom:0.625rem;font-size:0.9375rem;}.sidebar .block{background:var(--color-bg-surface);border-radius:var(--border-radius-xl);padding:1.75rem;margin-bottom:1.75rem;box-shadow:0 1px 3px rgba(0,0,0,0.05);border:1px solid var(--color-border);transition:all 0.3s ease;}.sidebar .block:hover{box-shadow:0 4px 12px rgba(0,0,0,0.08);}.sidebar .block h2{font-size:1.125rem;margin-bottom:1.25rem;color:var(--color-text-primary);padding-bottom:0.75rem;border-bottom:2px solid var(--color-primary);font-weight:700;}.table{background:var(--color-bg-surface);border-radius:var(--border-radius-lg);overflow:hidden;}.table thead th{background:linear-gradient(to bottom,var(--color-gray-50),var(--color-white));color:var(--color-text-primary);font-weight:700;border-bottom:2px solid var(--color-border-dark);padding:1rem;font-size:0.875rem;text-transform:uppercase;letter-spacing:0.05em;}.table tbody td{padding:1rem;vertical-align:middle;border-bottom:1px solid var(--color-border);}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(249,250,251,0.5);}.table tbody tr{transition:background-color 0.2s ease;}.table tbody tr:hover{background-color:var(--color-bg-hover);}.badge{font-weight:600;padding:0.5rem 0.875rem;border-radius:var(--border-radius-lg);font-size:0.8125rem;letter-spacing:0.025em;}.alert{border-radius:var(--border-radius-xl);border:1px solid transparent;padding:1.25rem 1.5rem;box-shadow:0 1px 3px rgba(0,0,0,0.05);}.alert-primary{background-color:rgba(59,130,246,0.08);border-color:rgba(59,130,246,0.2);color:var(--color-primary-dark);}.pagination{gap:0.5rem;}.page-link{border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);padding:0.5rem 0.875rem;transition:all 0.2s ease;text-decoration:none;}.page-link:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:white;}.page-item.active .page-link{background-color:var(--color-primary);border-color:var(--color-primary);}.breadcrumb{background:transparent;padding:0.75rem 0;margin-bottom:1.5rem;}.breadcrumb-item + .breadcrumb-item::before{content:"→";color:var(--color-text-tertiary);}footer,footer.site-footer,.site-footer{background:var(--color-white) !important;color:var(--color-text-primary) !important;padding:4rem 0 2rem;margin-top:5rem;border-top:2px solid var(--color-border);box-shadow:0 -4px 6px rgba(0,0,0,0.02);}footer a,.site-footer a{color:var(--color-primary) !important;transition:all 0.3s ease;text-decoration:none;font-weight:500;}footer a:hover,.site-footer a:hover{color:var(--color-primary-dark) !important;}footer h3,.site-footer h3{color:var(--color-text-primary) !important;font-size:1.125rem;margin-bottom:1.25rem;font-weight:700;position:relative;padding-bottom:0.5rem;}footer h3::after,.site-footer h3::after{content:'';position:absolute;bottom:0;left:0;width:40px;height:3px;background:var(--color-primary);border-radius:2px;}footer p,.site-footer p{color:var(--color-text-secondary) !important;line-height:1.7;}footer ul,.site-footer ul{list-style:none;padding-left:0;}footer ul li,.site-footer ul li{margin-bottom:0.75rem;}footer .site-footer__bottom,.site-footer .site-footer__bottom{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-tertiary) !important;font-size:0.875rem;}html{scroll-behavior:smooth;}::selection{background-color:var(--color-primary);color:white;}::-moz-selection{background-color:var(--color-primary);color:white;}@media (max-width:991px){.navbar-collapse{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);}}@media (max-width:767px){.region-content{padding:1.5rem;border-radius:var(--border-radius-lg);}h1{font-size:2rem;}h2{font-size:1.625rem;}h3{font-size:1.25rem;}.btn{padding:0.625rem 1.25rem;}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}.region-content{animation:fadeIn 0.6s ease-out;}.tabs{margin-bottom:2rem;border-bottom:2px solid var(--color-border);}.nav-tabs{border-bottom:2px solid var(--color-border);margin-bottom:2rem;gap:0.5rem;}.nav-tabs .nav-link{border:1px solid transparent;border-radius:var(--border-radius) var(--border-radius) 0 0;padding:0.75rem 1.5rem;color:var(--color-text-secondary);font-weight:600;transition:all 0.3s ease;background-color:transparent;position:relative;}.nav-tabs .nav-link:hover{border-color:var(--color-border);background-color:var(--color-bg-hover);color:var(--color-primary);}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--color-primary);background-color:var(--color-white);border-color:var(--color-border) var(--color-border) var(--color-white);border-bottom:2px solid var(--color-white);margin-bottom:-2px;}.tabs--primary{border-bottom:2px solid var(--color-border);margin-bottom:2rem;padding:0;list-style:none;display:flex;gap:0.5rem;}.tabs--primary .tabs__tab{margin:0;}.tabs--primary .tabs__link{display:block;padding:0.75rem 1.5rem;color:var(--color-text-secondary);text-decoration:none;font-weight:600;border:1px solid transparent;border-radius:var(--border-radius) var(--border-radius) 0 0;transition:all 0.3s ease;background-color:transparent;}.tabs--primary .tabs__link:hover{background-color:var(--color-bg-hover);border-color:var(--color-border);color:var(--color-primary);}.tabs--primary .tabs__link.is-active{color:var(--color-primary);background-color:var(--color-white);border-color:var(--color-border) var(--color-border) var(--color-white);border-bottom:2px solid var(--color-white);margin-bottom:-2px;}.tabs--secondary{margin:1rem 0;padding:0;list-style:none;display:flex;gap:0.5rem;flex-wrap:wrap;}.tabs--secondary .tabs__tab{margin:0;}.tabs--secondary .tabs__link{display:block;padding:0.5rem 1rem;color:var(--color-text-secondary);text-decoration:none;font-weight:500;border:1px solid var(--color-border);border-radius:var(--border-radius);transition:all 0.3s ease;background-color:var(--color-white);font-size:0.9375rem;}.tabs--secondary .tabs__link:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:white;}.tabs--secondary .tabs__link.is-active{background-color:var(--color-primary);border-color:var(--color-primary);color:white;}.user-login-form,.user-register-form,.user-pass{max-width:500px;margin:2rem auto;padding:2.5rem;background:var(--color-white);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);}.user-login-form h1,.user-register-form h1,.user-pass h1{text-align:center;margin-bottom:2rem;color:var(--color-text-primary);font-size:1.75rem;}.form-item{margin-bottom:1.5rem;}.form-item label{display:block;font-weight:600;color:var(--color-text-primary);margin-bottom:0.5rem;font-size:0.9375rem;}.form-required{color:var(--color-danger);margin-left:0.25rem;}.form-text,.form-email,.form-tel,.form-number,.form-url,input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="number"],input[type="url"]{width:100%;padding:0.875rem 1rem;border:2px solid var(--color-border) !important;border-radius:var(--border-radius-lg);font-size:1rem;transition:all 0.3s ease;background-color:var(--color-white);color:var(--color-text-primary);box-sizing:border-box;}.form-text:focus,.form-email:focus,.form-tel:focus,.form-number:focus,.form-url:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="tel"]:focus,input[type="number"]:focus,input[type="url"]:focus{border-color:var(--color-primary) !important;box-shadow:0 0 0 4px rgba(59,130,246,0.1) !important;outline:none;background-color:var(--color-white);}.form-text:hover:not(:focus),.form-email:hover:not(:focus),input[type="text"]:hover:not(:focus),input[type="password"]:hover:not(:focus),input[type="email"]:hover:not(:focus){border-color:var(--color-border-dark);}.form-textarea,textarea{width:100%;padding:0.875rem 1rem;border:2px solid var(--color-border) !important;border-radius:var(--border-radius-lg);font-size:1rem;transition:all 0.3s ease;background-color:var(--color-white);min-height:120px;resize:vertical;font-family:inherit;}.form-textarea:focus,textarea:focus{border-color:var(--color-primary) !important;box-shadow:0 0 0 4px rgba(59,130,246,0.1) !important;outline:none;}.form-select,select{width:100%;padding:0.875rem 1rem;border:2px solid var(--color-border) !important;border-radius:var(--border-radius-lg);font-size:1rem;transition:all 0.3s ease;background-color:var(--color-white);cursor:pointer;}.form-select:focus,select:focus{border-color:var(--color-primary) !important;box-shadow:0 0 0 4px rgba(59,130,246,0.1) !important;outline:none;}.form-checkbox,.form-radio,input[type="checkbox"],input[type="radio"]{width:1.25rem;height:1.25rem;margin-right:0.5rem;border:2px solid var(--color-border);cursor:pointer;vertical-align:middle;}.form-checkbox:checked,.form-radio:checked,input[type="checkbox"]:checked,input[type="radio"]:checked{background-color:var(--color-primary);border-color:var(--color-primary);}.form-item .description{font-size:0.875rem;color:var(--color-text-tertiary);margin-top:0.5rem;line-height:1.5;}.form-item--error input,.form-item--error select,.form-item--error textarea{border-color:var(--color-danger) !important;}.form-item--error .form-item__error-message{color:var(--color-danger);font-size:0.875rem;margin-top:0.5rem;display:flex;align-items:center;gap:0.25rem;}.form-actions{margin-top:2rem;display:flex;gap:1rem;justify-content:space-between;align-items:center;}.form-submit,input[type="submit"]{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:white;border:none;padding:0.875rem 2rem;border-radius:var(--border-radius-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 2px 4px rgba(0,0,0,0.1);}.form-submit:hover,input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,0.15);background:linear-gradient(135deg,var(--color-primary-dark) 0%,#1d4ed8 100%);}.form-submit:active,input[type="submit"]:active{transform:translateY(0);}.path-user .region-content{max-width:600px;margin:3rem auto;}.user-login-form .form-actions a{color:var(--color-primary);text-decoration:none;font-weight:500;font-size:0.9375rem;}.user-login-form .form-actions a:hover{color:var(--color-primary-dark);}.form-text::placeholder,.form-email::placeholder,input::placeholder,textarea::placeholder{color:var(--color-text-tertiary);opacity:0.6;}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-white) inset !important;-webkit-text-fill-color:var(--color-text-primary) !important;border:2px solid var(--color-border) !important;}.tabs--primary{border-bottom:2px solid var(--color-border);margin-bottom:2rem;padding:0;list-style:none;display:flex;gap:0.25rem;background-color:transparent;}.tabs--primary .tabs__tab{margin:0;}.tabs--primary .tabs__link{display:block;padding:1rem 2rem;color:var(--color-text-secondary) !important;text-decoration:none !important;font-weight:600;border:1px solid transparent;border-radius:var(--border-radius) var(--border-radius) 0 0;transition:all 0.3s ease;background-color:transparent !important;border-bottom:none;}.tabs--primary .tabs__link:hover{background-color:var(--color-bg-hover) !important;color:var(--color-primary) !important;}.tabs--primary .tabs__link.is-active,.tabs--primary a.is-active{color:var(--color-primary) !important;background-color:var(--color-white) !important;border:1px solid var(--color-border);border-bottom:2px solid var(--color-white) !important;margin-bottom:-2px;position:relative;z-index:1;}.nav-tabs{border-bottom:2px solid var(--color-border);margin-bottom:2rem;gap:0.25rem;}.nav-tabs .nav-link{border:1px solid transparent;border-radius:var(--border-radius) var(--border-radius) 0 0;padding:1rem 2rem;color:var(--color-text-secondary) !important;font-weight:600;transition:all 0.3s ease;background-color:transparent !important;}.nav-tabs .nav-link:hover{border-color:var(--color-border);background-color:var(--color-bg-hover) !important;color:var(--color-primary) !important;}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--color-primary) !important;background-color:var(--color-white) !important;border:1px solid var(--color-border);border-bottom:2px solid var(--color-white) !important;margin-bottom:-2px;}.form-text,.form-email,.form-tel,.form-number,.form-url,.form-textarea,.form-select,input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="number"],input[type="url"],textarea,select{width:100%;padding:0.875rem 1rem !important;border:2px solid var(--color-border-dark) !important;border-radius:var(--border-radius-lg) !important;font-size:1rem;transition:all 0.3s ease;background-color:var(--color-white) !important;color:var(--color-text-primary);box-sizing:border-box;}.form-text:focus,.form-email:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,textarea:focus,select:focus{border-color:var(--color-primary) !important;box-shadow:0 0 0 4px rgba(59,130,246,0.1) !important;outline:none !important;background-color:var(--color-white) !important;}.form-text:hover:not(:focus),.form-email:hover:not(:focus),input[type="text"]:hover:not(:focus),input[type="password"]:hover:not(:focus),input[type="email"]:hover:not(:focus){border-color:var(--color-gray-400) !important;}.form-submit,input[type="submit"],button[type="submit"],.button,.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%) !important;color:white !important;border:none !important;padding:0.875rem 2rem !important;border-radius:var(--border-radius-lg) !important;font-weight:600 !important;font-size:1rem;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 2px 4px rgba(0,0,0,0.1);text-decoration:none !important;display:inline-block;}.form-submit:hover,input[type="submit"]:hover,button[type="submit"]:hover,.button:hover,.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,0.15) !important;background:linear-gradient(135deg,var(--color-primary-dark) 0%,#1d4ed8 100%) !important;color:white !important;}.form-submit:active,input[type="submit"]:active,button[type="submit"]:active{transform:translateY(0);}.user-login-form,.user-register-form,.user-pass{max-width:600px;margin:2rem auto;padding:3rem;background:var(--color-white);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);}.user-pass h1,.user-login-form h1{font-size:2rem;margin-bottom:2rem;color:var(--color-text-primary);}.form-item label{display:block;font-weight:600;color:var(--color-text-primary);margin-bottom:0.625rem;font-size:0.9375rem;}.form-required{color:var(--color-danger);}.form-item .description{font-size:0.875rem;color:var(--color-text-secondary);margin-top:0.75rem;line-height:1.6;}.form-actions{margin-top:2rem;}.path-user .region-content{max-width:700px;margin:3rem auto;background:transparent;box-shadow:none;border:none;padding:0;}.tabs--primary,.nav-tabs{margin-top:2rem;border-bottom:2px solid var(--color-border);margin-bottom:2rem;padding:0;list-style:none;display:flex;gap:0.25rem;background-color:transparent;}
:root{--color-primary:#3b82f6;--color-primary-dark:#2563eb;--color-primary-light:#60a5fa;--color-accent:#8b5cf6;--color-accent-light:#a78bfa;--color-secondary:#64748b;--color-secondary-dark:#475569;--color-secondary-light:#94a3b8;--color-success:#10b981;--color-info:#0ea5e9;--color-warning:#f59e0b;--color-danger:#ef4444;--color-white:#ffffff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-black:#000000;--color-bg-body:var(--color-gray-50);--color-bg-surface:var(--color-white);--color-bg-hover:var(--color-gray-100);--color-text-primary:var(--color-gray-900);--color-text-secondary:var(--color-gray-600);--color-text-tertiary:var(--color-gray-500);--color-text-inverse:var(--color-white);--color-border:var(--color-gray-200);--color-border-dark:var(--color-gray-300);--bs-primary:var(--color-primary);--bs-secondary:var(--color-secondary);--bs-success:var(--color-success);--bs-info:var(--color-info);--bs-warning:var(--color-warning);--bs-danger:var(--color-danger);--bs-light:var(--color-gray-100);--bs-dark:var(--color-gray-800);--bs-body-bg:var(--color-bg-body);--bs-body-color:var(--color-text-primary);--border-radius-sm:0.375rem;--border-radius:0.5rem;--border-radius-lg:0.75rem;--border-radius-xl:1rem;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);}.bg-primary{background-color:var(--color-primary) !important;}.bg-secondary{background-color:var(--color-secondary) !important;}.bg-success{background-color:var(--color-success) !important;}.bg-info{background-color:var(--color-info) !important;}.bg-warning{background-color:var(--color-warning) !important;}.bg-danger{background-color:var(--color-danger) !important;}.bg-surface{background-color:var(--color-bg-surface) !important;}.text-primary{color:var(--color-primary) !important;}.text-secondary{color:var(--color-text-secondary) !important;}.text-muted{color:var(--color-text-tertiary) !important;}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);}.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);}.btn-secondary{background-color:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-text-inverse);}.btn-outline-primary{color:var(--color-primary);border-color:var(--color-primary);}.btn-outline-primary:hover{background-color:var(--color-primary);color:var(--color-text-inverse);}
