@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{--color-primary: #2f7d57;--color-primary-light: #6fae86;--color-primary-dark: #1f503a;--color-accent: #d86f62;--color-accent-light: #e9a093;--color-accent-dark: #a94e45;--color-white: #ffffff;--color-text-main: #24302a;--color-text-muted: #5f6d61;--color-bg-body: #f5f1e8;--color-bg-card: rgba(255, 253, 247, .9);--color-bg-elevated: #fffaf0;--color-border: rgba(47, 125, 87, .18);--color-border-hot: rgba(216, 111, 98, .24);--font-main: "Noto Sans JP", sans-serif;--font-serif: "Cormorant Garamond", serif;--shadow-sm: 0 1px 0 rgba(80, 68, 45, .04), 0 12px 32px rgba(65, 58, 43, .08);--shadow-md: 0 18px 46px rgba(65, 58, 43, .12), 0 0 0 1px rgba(47, 125, 87, .06);--shadow-lg: 0 26px 70px rgba(65, 58, 43, .16), 0 0 0 1px rgba(47, 125, 87, .1);--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition-speed: .3s}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background:radial-gradient(circle at 14% 8%,rgba(111,174,134,.2),transparent 30rem),radial-gradient(circle at 86% 14%,rgba(216,111,98,.14),transparent 28rem),linear-gradient(180deg,#fbf7ee,#f5f1e8 48%,#eef3ea);background-color:var(--color-bg-body);color:var(--color-text-main);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(47,125,87,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(47,125,87,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 74%)}a{color:inherit;text-decoration:none;transition:color var(--transition-speed)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.heading-xl{font-family:var(--font-main);font-size:clamp(2rem,6vw,3.25rem);font-weight:700;line-height:1.2;margin-bottom:1rem}.heading-lg{font-family:var(--font-main);font-size:clamp(1.5rem,4.5vw,2rem);font-weight:700;line-height:1.3;margin-bottom:1rem}.serif-text{font-family:var(--font-serif);font-style:italic;color:var(--color-text-muted)}.site-header{background:#fffdf7d1;backdrop-filter:blur(18px) saturate(1.08);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(47,125,87,.13);box-shadow:0 12px 30px #413a2b14}.site-header .container{display:flex;justify-content:space-between;align-items:center;height:80px}.site-header .logo{font-family:var(--font-main);font-size:1.5rem;font-weight:700;color:var(--color-primary-dark);letter-spacing:0;position:relative}.site-header .logo:after{content:"";position:absolute;right:-1.1rem;top:50%;width:.5rem;height:.5rem;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 6px #d86f621f;transform:translateY(-50%)}.site-header .main-nav{display:flex;align-items:center;gap:2rem}.site-header .main-nav a{font-size:.95rem;font-weight:500;color:#24302ac7;position:relative}.site-header .main-nav a:hover{color:var(--color-primary-dark)}.site-header .main-nav a:after{content:"";position:absolute;left:0;bottom:-.45rem;width:100%;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transform:scaleX(0);transform-origin:left;transition:transform var(--transition-speed)}.site-header .main-nav a:hover:after{transform:scaleX(1)}.site-header .main-nav .nav-dropdown{position:relative}.site-header .main-nav .nav-dropdown .nav-dropdown-trigger{font-size:.95rem;font-weight:500;color:#24302ac7;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}.site-header .main-nav .nav-dropdown .nav-dropdown-trigger:after{content:"▾";font-size:.7rem;transition:transform var(--transition-speed)}.site-header .main-nav .nav-dropdown .nav-dropdown-menu{position:absolute;top:calc(100% + .6rem);left:50%;transform:translate(-50%) translateY(-6px);min-width:150px;display:flex;flex-direction:column;gap:.25rem;padding:.6rem;background:#fffdf7fa;backdrop-filter:blur(12px);border:1px solid rgba(47,125,87,.13);border-radius:12px;box-shadow:0 12px 30px #413a2b24;opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:110}.site-header .main-nav .nav-dropdown .nav-dropdown-menu:before{content:"";position:absolute;top:-.6rem;left:0;width:100%;height:.6rem}.site-header .main-nav .nav-dropdown .nav-dropdown-menu a{padding:.5rem .8rem;border-radius:8px;font-size:.92rem;color:#24302ad9}.site-header .main-nav .nav-dropdown .nav-dropdown-menu a:after{display:none}.site-header .main-nav .nav-dropdown .nav-dropdown-menu a:hover{background:#2f7d571a;color:var(--color-primary-dark)}.site-header .main-nav .nav-dropdown:hover .nav-dropdown-trigger,.site-header .main-nav .nav-dropdown:focus-within .nav-dropdown-trigger{color:var(--color-primary-dark)}.site-header .main-nav .nav-dropdown:hover .nav-dropdown-trigger:after,.site-header .main-nav .nav-dropdown:focus-within .nav-dropdown-trigger:after{transform:rotate(180deg)}.site-header .main-nav .nav-dropdown:hover .nav-dropdown-menu,.site-header .main-nav .nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.site-header .main-nav .btn-contact{background-color:var(--color-primary);color:var(--color-white);padding:.5rem 1.5rem;border-radius:999px;font-weight:600;transition:background-color var(--transition-speed)}.site-header .main-nav .btn-contact:hover{background-color:var(--color-primary-dark);color:var(--color-white)}.site-footer{background:linear-gradient(135deg,rgba(111,174,134,.16),transparent 36%),linear-gradient(315deg,rgba(216,111,98,.14),transparent 34%),#1f3529;color:#fff;padding:4rem 0 2rem;margin-top:4rem}.site-footer .footer-contact{margin-bottom:3rem}.site-footer .footer-contact .contact-title{font-size:1.5rem;font-weight:500;margin-bottom:.5rem}.site-footer .footer-contact .contact-divider{width:40px;height:2px;background-color:#fff;margin-bottom:2rem}.site-footer .footer-contact .contact-info{display:flex;flex-direction:column;gap:1.25rem;font-size:.95rem;color:#f3f4f6}.site-footer .footer-contact .contact-info p{margin:0}.site-footer .footer-contact .contact-info .mail-note{font-size:.78rem;line-height:1.6;opacity:.8;margin-top:-.85rem}.site-footer .footer-contact .contact-info .address-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.site-footer .footer-contact .contact-info .address-row .btn-access{display:inline-block;padding:.4rem 1.5rem;border:1px solid #ffffff;border-radius:999px;color:#fff;font-size:.85rem;transition:background-color var(--transition-speed)}.site-footer .footer-contact .contact-info .address-row .btn-access:hover{background-color:#ffffff1a}.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;border-top:1px solid rgba(255,255,255,.12);padding-top:2rem}.site-footer .footer-bottom .copyright,.site-footer .footer-bottom .footer-message{font-size:.85rem;color:#9ca3af;margin:0}.section-padding{padding:5rem 0}.text-primary{color:var(--color-primary)}.tag-label{display:inline-block;background-color:#2f7d571a;color:var(--color-primary);font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}main{min-height:70vh}.heading-xl,.heading-lg{color:var(--color-text-main);letter-spacing:0}.heading-xl{text-wrap:balance;line-height:1.15}.text-primary{color:var(--color-primary)!important}.section-padding{position:relative}.hero.section-padding{min-height:min(760px,100vh - 80px);display:flex;align-items:center;overflow:hidden;padding-top:6rem;padding-bottom:6rem}.hero.section-padding .hero-desc{color:var(--color-text-muted)!important;max-width:38rem!important}.hero.section-padding .hero-keywords{color:var(--color-primary-dark)!important;text-shadow:none}.hero.section-padding .abstract-sphere{border-radius:34% 66% 58% 42%/42% 42% 58% 58%!important;border:1px solid rgba(47,125,87,.18);background:radial-gradient(circle at 32% 28%,rgba(255,250,240,.96),rgba(255,250,240,.18) 26%,transparent 27%),radial-gradient(circle at 67% 65%,rgba(216,111,98,.45),transparent 30%),linear-gradient(135deg,#6fae86bd,#f5f1e8e6 48%,#d86f626b)!important;box-shadow:0 34px 72px #413a2b29,inset 0 0 80px #fffdf780}.hero.section-padding .abstract-sphere:before,.hero.section-padding .abstract-sphere:after{content:"";position:absolute;border-radius:inherit}.hero.section-padding .abstract-sphere:before{inset:12%;border:1px solid rgba(47,125,87,.2);background:linear-gradient(rgba(47,125,87,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(47,125,87,.1) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(135deg,rgba(0,0,0,.7),transparent 72%)}.hero.section-padding .abstract-sphere:after{inset:58% auto auto 8%;width:44%;height:18%;background:#fffdf78a;border:1px solid rgba(255,253,247,.64);box-shadow:0 18px 40px #413a2b1f}.btn-primary,.btn-app-detail,.btn-contact{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark))!important;color:var(--color-white)!important;border:1px solid rgba(47,125,87,.12)!important;border-radius:999px!important;box-shadow:0 14px 28px #2f7d572e}.btn-primary:hover,.btn-app-detail:hover,.btn-contact:hover{background:linear-gradient(135deg,var(--color-accent),var(--color-primary-dark))!important;color:var(--color-white)!important}.btn-outline,.btn-outline-text,.btn-detail,.link-item{color:var(--color-primary-dark)!important}.page-tabs .tab-btn,.year-chip,.filter-chip{border-radius:999px!important}.page-tabs .tab-btn,.member-filter .filter-chip,.publications-section .year-filter-container .year-chip{background:#fffdf7c7!important;border-color:#2f7d5729!important;color:var(--color-text-muted)!important;box-shadow:var(--shadow-sm)!important}.page-tabs .tab-btn:hover,.page-tabs .tab-btn.active,.member-filter .filter-chip:hover,.member-filter .filter-chip.active,.publications-section .year-filter-container .year-chip:hover,.publications-section .year-filter-container .year-chip.active{background:#2f7d571f!important;border-color:#2f7d575c!important;color:var(--color-primary-dark)!important}.research-page,.products-page,.profile-page,.product-detail-page,.research-detail-page,.faculty-page,.instagram-section,.faculty-links-section,.publications-section,.bg-gray-50,.bg-offwhite{background:transparent!important}.research-domain-section,.product-card,.profile-card,.profile-hero,.content-section,.detail-shell,.card,.faculty-links-card,.paper-card,.ig-card,.career-category,.stat-card,.modal-content,.widget,.news-card,.news-item{background:var(--color-bg-card)!important;border:1px solid rgba(47,125,87,.13)!important;box-shadow:var(--shadow-sm)!important;color:var(--color-text-main)!important;backdrop-filter:blur(12px)}.research-domain-section,.product-card,.profile-card,.profile-hero,.content-section,.detail-shell,.card,.ig-card,.paper-card{border-radius:16px!important}.research-domain-section:hover,.product-card:hover,.profile-card:hover,.card:hover,.ig-card:hover,.paper-card:hover{border-color:#2f7d5752!important;box-shadow:var(--shadow-lg)!important}.research-domain-section:before{background:linear-gradient(90deg,var(--color-primary),var(--color-accent))!important}.domain-number,.year-title{color:#2f7d5729!important}.domain-title,.product-title,.hero-title,.section-title,.card-title,.name-ja,.detail-section h2,.profile-info h3,.paper-title-row h3,.contact-title,.category-heading,.faculty-links-card h3,.widget h3{color:var(--color-text-main)!important}.domain-desc,.product-desc,.hero-subtitle,.cta-subtitle,.card-desc,.bio-text,.detail-header p,.detail-list li,.header-desc,.authors,.comment,.ig-caption p,.contact-info,.footer-message,.copyright{color:var(--color-text-muted)!important}.product-image-container,.avatar-wrapper,.profile-image-container,.image-wrapper,.tech-stack,.profile-info .comment,.ig-image-wrap{background:#2f7d570f!important;border-color:#2f7d571a!important}.course-badge,.tag-journal,.role-badge,.keyword-list span,.d-tag{background:#2f7d571a!important;color:var(--color-primary-dark)!important;border:1px solid rgba(47,125,87,.16)}.icon-wrap,.back-link,.breadcrumb a{color:var(--color-primary-dark)!important}.btn-researchmap,.btn-access{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary))!important;border:1px solid rgba(47,125,87,.2)!important;border-radius:999px!important;color:var(--color-white)!important;box-shadow:0 14px 30px #2f7d572e!important}.btn-researchmap:hover,.btn-access:hover{background:linear-gradient(135deg,var(--color-accent),var(--color-primary-dark))!important}.progress-bar-container{background:#2f7d571a!important}.progress{background:linear-gradient(90deg,var(--color-primary),var(--color-accent))!important}.bubble-item{background:#fffdf7d1!important;border:1px solid rgba(47,125,87,.22)!important;box-shadow:inset 0 0 34px #2f7d570d,0 22px 46px #413a2b1a!important}.bubble-item:hover{border-color:var(--color-primary)!important;box-shadow:0 24px 54px #2f7d5724,inset 0 0 38px #2f7d570f!important}.bubble-item[data-domain=security]{border-color:#d86f6257!important}.bubble-item[data-domain=security]:hover{border-color:var(--color-accent-light)!important;box-shadow:0 24px 54px #d86f6224,inset 0 0 38px #d86f6214!important}.bubble-label{color:var(--color-text-main)!important}.modal-overlay{background:#24302a47!important}.modal-content{border-radius:10px!important}.modal-content .modal-close{color:var(--color-text-muted)!important}.modal-content .domain-minimal-title{color:var(--color-text-main)!important;border-bottom-color:#2f7d5724!important}.career-category h4,.stat-value,.year-subtitle{color:var(--color-primary-dark)!important}.career-category li:before,.stat-list li:before{color:var(--color-accent)!important}.contact-divider{background:linear-gradient(90deg,var(--color-primary),var(--color-accent))!important}@media(max-width:820px){.site-header .container{height:auto;min-height:72px;padding-top:1rem;padding-bottom:1rem;align-items:flex-start;gap:1rem}.site-header .main-nav{gap:.9rem;flex-wrap:wrap;justify-content:flex-end}.site-header .nav-dropdown{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.site-header .nav-dropdown-trigger:after{display:none}.site-header .nav-dropdown-menu{position:static;transform:none;opacity:1;visibility:visible;min-width:0;padding:0 0 0 .8rem;gap:.2rem;background:none;border:none;box-shadow:none;backdrop-filter:none}.site-header .nav-dropdown-menu:before{display:none}.hero{min-height:auto}}@media(max-width:640px){.container{padding:0 1.2rem}.site-header .container,.site-footer .footer-bottom,.bubble-container,.page-tabs{flex-direction:column;align-items:stretch}.site-header .main-nav{justify-content:flex-start}}.admin-table{width:100%;border-collapse:collapse;margin-top:1rem;background-color:var(--color-bg-card);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);overflow:hidden}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.admin-table th{font-weight:600;color:var(--color-text-muted);background-color:#f1f5f9}.admin-table tr:hover{background-color:#f8fafc}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--color-bg-card);padding:2rem;border-radius:var(--radius-md);width:90%;max-width:600px;box-shadow:var(--shadow-lg)}.modal-content h3{margin-bottom:1.5rem;font-size:1.25rem}.modal-content .form-group{margin-bottom:1rem}.modal-content .form-group label{display:block;margin-bottom:.5rem;font-weight:500}.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit}.modal-content .modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.btn-sm{padding:.25rem .75rem;font-size:.875rem;border-radius:var(--radius-md);cursor:pointer;border:none;font-weight:500}.btn-sm.primary{background-color:var(--color-primary);color:#fff}.btn-sm.danger{background-color:#ef4444;color:#fff}.btn-sm.secondary{background-color:#e2e8f0;color:var(--color-text-main)}.admin-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:1px solid var(--color-border)}.admin-tabs button{background:none;border:none;padding:.75rem 1rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent}.admin-tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.st-section{margin-bottom:72px}.st-projects{margin-bottom:0}.st-project-list{display:grid;gap:2rem}.st-section-label{color:var(--d8-coral);font-family:Quicksand,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.4rem}.st-section-title{margin:0 0 2rem;color:var(--d8-green);font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:700}.scroll-top[data-astro-cid-5qrr6s65]{position:fixed;right:clamp(16px,4vw,36px);bottom:clamp(16px,4vw,36px);z-index:30;display:flex;flex-direction:column;align-items:center;gap:2px;width:56px;height:56px;padding:0;border:none;border-radius:999px;background:#1f7a4df0;color:#fff;cursor:pointer;box-shadow:0 12px 26px #1f7a4d47;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .28s ease,transform .28s ease,background .18s ease;backdrop-filter:blur(6px)}.scroll-top[data-astro-cid-5qrr6s65] svg[data-astro-cid-5qrr6s65]{width:20px;height:20px;margin-top:9px}.scroll-top[data-astro-cid-5qrr6s65] span[data-astro-cid-5qrr6s65]{font-family:Quicksand,sans-serif;font-size:.55rem;font-weight:700;letter-spacing:.12em;line-height:1}.scroll-top[data-astro-cid-5qrr6s65]:hover{background:var(--d8-green);transform:translateY(-2px)}.scroll-top[data-astro-cid-5qrr6s65]:focus-visible{outline:3px solid rgba(31,122,77,.35);outline-offset:3px}.scroll-top[data-astro-cid-5qrr6s65].is-visible{opacity:1;transform:translateY(0);pointer-events:auto}@media(max-width:640px){.scroll-top[data-astro-cid-5qrr6s65]{width:48px;height:48px}.scroll-top[data-astro-cid-5qrr6s65] svg[data-astro-cid-5qrr6s65]{margin-top:7px}}@media(prefers-reduced-motion:reduce){.scroll-top[data-astro-cid-5qrr6s65]{transition:opacity .28s ease;transform:none}.scroll-top[data-astro-cid-5qrr6s65].is-visible{transform:none}}
