/*!
Theme Name: OIST Database of Regulated Agents
Theme URI: https://rs.oist.jp/
Author: OIST
Author URI: https://rs.oist.jp/
Description: A custom WordPress theme for managing regulated agents database. Original theme built for OIST.
Version: 1.2.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: law_db
*/

/* =============================================================
   Pre-Made One Framework (new_theme/style.css — verbatim copy)
   ============================================================= */
@charset "UTF-8";*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{font-size:var(--fs-base);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}body{min-height:100vh;text-rendering:optimizeSpeed}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}a{text-decoration:none;color:inherit}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}:root{--fs-base:13px;--f-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--f-head:"Noto Sans JP",sans-serif;--f-serif:"Noto Serif JP",serif;--vw-max:1280px;--vw-min:480px;--sp-sm:clamp(.5rem,calc(.25rem + (.5rem - .25rem) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),.5rem);--sp-md:clamp(1rem,calc(1rem + (1.5rem - 1rem) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),1.5rem);--sp-lg:clamp(2rem,calc(2rem + (3rem - 2rem) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min)))),3rem);--c-max:1400px;--c-pad:var(--sp-sm);--header:50px;--header-area:1/1/2/1;--hero-area:1/1/2/1;--main-col:1/1;--footer-col:1/1;--bp-mobile:480px;--bp-tablet:768px;--bp-desktop:1024px;--bp-large:1280px}*,:after,:before{--w:initial;--pc-w:initial;--tb-w:initial;--h:initial;--pc-h:initial;--tb-h:initial;--cols:initial;--pc-cols:initial;--tb-cols:initial;--rows:initial;--pc-rows:initial;--tb-rows:initial;--min:initial;--max:initial;--areas:initial;--area:initial;--tb-area:initial;--pc-area:initial;--gap:initial}.grid{display:grid;grid-template-columns:var(--w,repeat(var(--cols,1),1fr));grid-template-rows:var(--h,repeat(var(--rows,1),auto));gap:var(--gap,1rem)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--min,250px),var(--max,1fr)));gap:var(--gap,1rem)}body{--w:1fr;--rows:auto;--gap:0}#header{grid-area:var(--header-area);position:sticky;top:0;height:var(--header);z-index:1000}#hero{grid-area:var(--hero-area)}#main{grid-column:var(--main-col)}@media (max-width:767px){#menu{position:fixed;top:var(--header);left:0;width:100%;z-index:100;transform:translateX(100%);opacity:0;visibility:hidden;transition:transform 0.4s cubic-bezier(0.4,0,0.2,1),opacity 0.4s ease,visibility 0.4s}#menu.is-open{transform:translateX(0);opacity:1;visibility:visible}}#footer{grid-column:var(--footer-col)}#btn{padding-block:0}#btn .material-symbols-outlined{transition:transform 0.3s ease}#btn.is-open .material-symbols-outlined{transform:rotate(90deg)}.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--c-max,1200px)) minmax(0,1fr)}.wrap>*{grid-column:2/3;padding-inline:var(--c-pad,1.5rem)}.full-w{grid-column:1/-1;padding-inline:minmax(0,calc((100% - var(--c-max, 1200px)) / 2))}.grid-align-center{align-items:center}.grid-3x3{--w:repeat(3,1fr);--h:repeat(3,1fr)}.grid-3x3>:first-child{grid-area:2/2}.grid-stack{--cols:1;--rows:1}.grid-stack>*{grid-area:1/1}.grid-item{grid-area:var(--area,auto)!important}.grid-auto-center{--max:max-content;justify-content:center}.grid-auto-end{--max:max-content;justify-content:end}@media (min-width:768px){.grid{grid-template-columns:var(--tb-w,var(--w,repeat(var(--tb-cols,var(--cols,1)),1fr)));grid-template-rows:var(--tb-h,var(--h,repeat(var(--tb-rows,var(--rows,1)),auto)))}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(var(--tb-min,var(--min,250px)),var(--tb-max,var(--max,1fr))))}.grid-reverse>:first-child{order:2}.grid-reverse>:last-child{order:1}.grid-item{grid-area:var(--tb-area,var(--area,auto))!important}}@media (min-width:768px) and (max-width:1023px){.tb-reverse>:first-child{order:2}.tb-reverse>:last-child{order:1}}@media (min-width:1024px){#header{grid-area:var(--pc-header-area,var(--header-area))}#hero{grid-area:var(--pc-hero-area,var(--hero-area))}#main{grid-column:var(--pc-main-col,var(--main-col))}#footer{grid-column:var(--pc-footer-col,var(--footer-col))}.grid{grid-template-columns:var(--pc-w,var(--tb-w,var(--w,repeat(var(--pc-cols,var(--tb-cols,var(--cols,1))),1fr))));grid-template-rows:var(--pc-h,var(--tb-h,var(--h,repeat(var(--pc-rows,var(--tb-rows,var(--rows,1))),auto))))}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(var(--pc-min,var(--tb-min,var(--min,250px))),var(--pc-max,var(--tb-max,var(--max,1fr)))))}.pc-reverse>:first-child{order:2}.pc-reverse>:last-child{order:1}.grid-item{grid-area:var(--pc-area,var(--tb-area,var(--area,auto)))!important}}.p-0{padding:0!important}.p-sm{padding:var(--sp-sm)}.px-sm{padding-inline:var(--sp-sm)}.py-sm{padding-block:var(--sp-sm)}.pt-sm{padding-block-start:var(--sp-sm)}.pb-sm{padding-block-end:var(--sp-sm)}.m-sm{margin:var(--sp-sm)}.mx-sm{margin-inline:var(--sp-sm)}.my-sm{margin-block:var(--sp-sm)}.mt-sm{margin-block-start:var(--sp-sm)}.mb-sm{margin-block-end:var(--sp-sm)}.gap-sm{gap:var(--sp-sm)}.p-md{padding:var(--sp-md)}.px-md{padding-inline:var(--sp-md)}.py-md{padding-block:var(--sp-md)}.pt-md{padding-block-start:var(--sp-md)}.pb-md{padding-block-end:var(--sp-md)}.m-md{margin:var(--sp-md)}.mx-md{margin-inline:var(--sp-md)}.my-md{margin-block:var(--sp-md)}.mt-md{margin-block-start:var(--sp-md)}.mb-md{margin-block-end:var(--sp-md)}.gap-md{gap:var(--sp-md)}.p-lg{padding:var(--sp-lg)}.px-lg{padding-inline:var(--sp-lg)}.py-lg{padding-block:var(--sp-lg)}.pt-lg{padding-block-start:var(--sp-lg)}.pb-lg{padding-block-end:var(--sp-lg)}.m-lg{margin:var(--sp-lg)}.mx-lg{margin-inline:var(--sp-lg)}.my-lg{margin-block:var(--sp-lg)}.mt-lg{margin-block-start:var(--sp-lg)}.mb-lg{margin-block-end:var(--sp-lg)}.gap-lg{gap:var(--sp-lg)}.ml-nav{margin-left:var(--nav-width,0px)}.pl-nav{padding-left:var(--nav-width,0px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:767px){.hide-mobile{display:none!important}}@media (min-width:768px){.show-mobile{display:none!important}}@media (min-width:768px) and (max-width:1023px){.hide-tablet{display:none!important}}@media (min-width:1024px){.hide-pc{display:none!important}}@property --color{syntax:"<color>";inherits:true;initial-value:#333}:root{--default:#333;--white:#fff;--line:#cfcfcf;--main:#c80019;--sub:#222e3e;--key:#337ab7;--l-p:calc(l + 0.15);--l-d:calc(l - 0.15)}[class*=theme-]{--color:var(--default);--pale:oklch(from var(--color) var(--l-p) c h);--deep:oklch(from var(--color) var(--l-d) c h)}.theme-main{--color:var(--main)}.theme-sub{--color:var(--sub)}.theme-key{--color:var(--key)}.theme-white{--color:var(--white)}.text-color{color:var(--color)}.text-deep{color:oklch(from var(--color) var(--l-d) c h)}.hover-def:hover,.text-def{color:var(--default)!important}.hover-white:hover,.text-white{color:var(--white)!important}.bg-color{background:var(--color);color:var(--white)}.bg-pale{background:oklch(from var(--color) var(--l-p) c h)}.bg-deep{background:oklch(from var(--color) var(--l-d) c h);color:var(--white)}.bg-surf{background:oklch(from var(--color) 0.99 0.01 h);border:1px solid oklch(from var(--color) 0.88 0.04 h)}.bg-grad{background:linear-gradient(135deg,oklch(from var(--color) var(--l-p) c h),var(--color));color:var(--white)}.bg-white{background:var(--white)}.btn,[class*=bg-]{transition:all 0.2s ease}.btn{display:inline-grid;place-items:center;padding:0.5em 1.25em;border-radius:6px;cursor:pointer;border:1px solid transparent;background:var(--color,var(--main));color:var(--white);text-align:center;text-decoration:none;font-size:0.9rem}.btn:hover{background:oklch(from var(--color,var(--main)) var(--l-d,calc(l - 0.15)) c h)}.btn-outline{background:transparent;border-color:var(--color,var(--main));color:var(--color,var(--main))}.btn-outline:hover{background:oklch(from var(--color,var(--main)) 0.97 0.01 h);border-color:oklch(from var(--color,var(--main)) var(--l-d,calc(l - 0.15)) c h);color:oklch(from var(--color,var(--main)) var(--l-d,calc(l - 0.15)) c h)}.badge{display:inline-grid;place-items:center;padding:0.25em 0.75em;font-size:0.75em;line-height:1.2;border-radius:9999px;white-space:nowrap;background:var(--color,var(--main));color:var(--white)}.badge.badge-sq{border-radius:4px}.badge.badge-outline{background:transparent;border:1.5px solid var(--color,var(--main));color:var(--color,var(--main))}.type-vertical{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--f-serif,serif);line-height:2.2;letter-spacing:0.05em;text-align:justify}.cq-wrapper{container-type:inline-size;width:100%}.type-fit{--font-ratio:1;font-size:calc(100cqw / (var(--char-count, 10) * var(--font-ratio)));line-height:1;font-weight:900;white-space:nowrap;text-align:justify;text-align-last:justify;text-justify:inter-character}.type-auto{--font-min:var(--fs-base);--font-max:24px;--font-fluid:calc(var(--font-min) + (var(--font-max) - var(--font-min)) * ((100vw - var(--vw-min)) / (var(--vw-max) - var(--vw-min))));font-size:clamp(var(--font-min),var(--font-fluid),var(--font-max))}.type-jp{font-feature-settings:"palt";text-justify:inter-ideograph}.text-center{text-align:center}.text-xs{font-size:0.75rem!important}.text-sm{font-size:0.875rem!important}.text-base{font-size:1rem!important}.text-lg{font-size:1.125rem!important}.text-xl{font-size:1.25rem}.font-bold{font-weight:700}.img-fluid{max-width:100%;height:auto}.img-cover{width:100%;height:100%;object-fit:cover;display:block}.img-contain{width:100%;height:100%;object-fit:contain;display:block}.aspect-video{aspect-ratio:16/9;overflow:hidden}.aspect-square{aspect-ratio:1/1;overflow:hidden}.aspect-photo{aspect-ratio:4/3;overflow:hidden}.bg-pattern{background:var(--bg-img,none) var(--bg-pos,center)/var(--bg-size,auto) var(--bg-repeat,repeat)}.blend{mix-blend-mode:var(--blend,normal)}.grid-divider{--divide:50px;--_divide:var(--divide)}@media (min-width:768px){.grid-divider{--_divide:var(--tb-divide,var(--divide))}}@media (min-width:1024px){.grid-divider{--_divide:var(--pc-divide,var(--tb-divide,var(--divide)))}}.grid-divider{--w:1fr;--h:1fr var(--_divide) 1fr;--diff:calc(100% - var(--_divide));--diff-f:calc((100% / 2) + (var(--_divide) / 2));--diff-n:calc((100% / 2) - (var(--_divide) / 2));--gap:0}.grid-divider>:first-child{grid-area:1/1/3/2;z-index:1000}.grid-divider:not(.is-row)>:first-child{padding-bottom:var(--_divide)}.grid-divider.curve>:first-child,.grid-divider.wave>:first-child,.grid-divider.zigzag>:first-child{mask-image:linear-gradient(black,black),var(--divide-svg);mask-size:100% 101%,100% var(--_divide);mask-position:0 0,0 100.5%;mask-repeat:no-repeat,no-repeat;mask-composite:exclude}.grid-divider>:last-child{grid-area:2/1/4/2}.grid-divider:not(.is-row)>:last-child{padding-top:var(--_divide)}.grid-divider.slash>:first-child{clip-path:polygon(0 0,100% 0,100% 100%,0 var(--diff))}.grid-divider.slash2>:first-child{clip-path:polygon(0 0,100% 0,100% var(--diff),0 100%)}.grid-divider.triangle>:first-child{clip-path:polygon(100% 0,100% 100%,50% var(--diff),0 100%,0 0)}.grid-divider.triangle2>:first-child{clip-path:polygon(100% 0,100% var(--diff),50% 100%,0 var(--diff),0 0)}.grid-divider.speech>:first-child{clip-path:polygon(100% 0,100% var(--diff),var(--diff-f) var(--diff),50% 100%,var(--diff-n) var(--diff),0 var(--diff),0 0)}.grid-divider.speech2>:first-child{clip-path:polygon(100% 0,100% 100%,var(--diff-f) 100%,50% var(--diff),var(--diff-n) 100%,0 100%,0 0)}.grid-divider.curve>:first-child{--divide-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 20' preserveAspectRatio='none'%3E%3Cpath d='M0 20 C10 20 10 0 20 0 C30 0 30 20 40 20 Z' fill='black'/%3E%3C/svg%3E");mask-size:100% 101%,125% var(--_divide)}.grid-divider.wave>:first-child,.grid-divider.zigzag>:first-child{mask-size:100% 101%,var(--_divide) var(--_divide);mask-position:0 0,bottom left;mask-repeat:no-repeat,repeat-x}.grid-divider.zigzag>:first-child{--divide-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 0,2 2,2 2,0 1,1 0,0' fill='black'/%3E%3C/svg%3E")}.grid-divider.wave>:first-child{--divide-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 20' preserveAspectRatio='none'%3E%3Cpath d='M0 20 C10 20 10 15 20 15 C30 15 30 20 40 20 Z' fill='black'/%3E%3C/svg%3E")}.grid-divider.is-row{--w:1fr var(--_divide) 1fr;--h:1fr}.grid-divider.is-row>:first-child{grid-area:1/1/2/3;mask-position:0 0,right top;mask-size:101% 100%,var(--_divide) 100%;padding-right:var(--_divide)}.grid-divider.is-row>:last-child{grid-area:1/2/2/4;padding-left:var(--_divide)}.grid-divider.is-row.slash>:first-child{clip-path:polygon(0 0,var(--diff) 0,100% 100%,0 100%)}.grid-divider.is-row.slash2>:first-child{clip-path:polygon(0 0,100% 0,var(--diff) 100%,0 100%)}.grid-divider.is-row.triangle>:first-child{clip-path:polygon(var(--diff) 0,100% 50%,var(--diff) 100%,0 100%,0 0)}.grid-divider.is-row.triangle2>:first-child{clip-path:polygon(100% 0%,var(--diff) 50%,100% 100%,0 100%,0 0)}.grid-divider.is-row.speech>:first-child{clip-path:polygon(var(--diff) 0,var(--diff) var(--diff-n),100% 50%,var(--diff) var(--diff-f),var(--diff) 100%,0 100%,0 0)}.grid-divider.is-row.speech2>:first-child{clip-path:polygon(100% 0,100% var(--diff-n),var(--diff) 50%,100% var(--diff-f),100% 100%,0 100%,0 0)}.grid-divider.is-row.curve>:first-child{--divide-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 40' preserveAspectRatio='none'%3E%3Cpath d='M20 0 C20 10 0 10 0 20 C0 30 20 30 20 40 Z' fill='black'/%3E%3C/svg%3E");mask-size:101% 100%,var(--_divide) 125%}.grid-divider.is-row.wave>:first-child,.grid-divider.is-row.zigzag>:first-child{mask-size:101% 100%,var(--_divide) var(--_divide);mask-position:0 0,bottom right;mask-repeat:no-repeat,repeat-y}.grid-divider.is-row.zigzag>:first-child{--divide-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 1,1 0,2 2,2 2,0 0,0' fill='black'/%3E%3C/svg%3E")}.grid-divider.is-row.wave>:first-child{--divide-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 40' preserveAspectRatio='none'%3E%3Cpath d='M15 20 C15 30 20 30 20 40 L20 0 C20 10 15 10 15 20 Z' fill='black'/%3E%3C/svg%3E")}:root{--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:40px;--radius-full:9999px}.round{border-radius:var(--radius,var(--radius-md));overflow:hidden}.round-sm{border-radius:var(--radius,var(--radius-sm));overflow:hidden}.round-md{border-radius:var(--radius,var(--radius-md));overflow:hidden}.round-lg{border-radius:var(--radius,var(--radius-lg));overflow:hidden}.round-xl{border-radius:var(--radius,var(--radius-xl));overflow:hidden}.round-full{border-radius:var(--radius-full);overflow:hidden}.round-top{border-radius:var(--radius,var(--radius-lg)) var(--radius,var(--radius-lg)) 0 0;overflow:hidden}.round-bottom{border-radius:0 0 var(--radius,var(--radius-lg)) var(--radius,var(--radius-lg));overflow:hidden}.round-start{border-radius:var(--radius,var(--radius-lg)) 0 0 var(--radius,var(--radius-lg));overflow:hidden}.round-end{border-radius:0 var(--radius,var(--radius-lg)) var(--radius,var(--radius-lg)) 0;overflow:hidden}.round-section-top{border-radius:var(--radius,var(--radius-2xl)) var(--radius,var(--radius-2xl)) 0 0;overflow:hidden}.round-section-bottom{border-radius:0 0 var(--radius,var(--radius-2xl)) var(--radius,var(--radius-2xl));overflow:hidden}.blob-1{border-radius:30% 70% 70% 30%/30% 30% 70% 70%;overflow:hidden}.blob-2{border-radius:70% 30% 30% 70%/70% 70% 30% 30%;overflow:hidden}.blob-3{border-radius:50% 50% 30% 70%/50% 70% 30% 50%;overflow:hidden}.blob-4{border-radius:60% 40% 40% 60%/40% 60% 60% 40%;overflow:hidden}.hover-zoom{transition:transform 0.6s cubic-bezier(0.2,1,0.3,1)}.hover-zoom:hover{transform:scale(1.05)}.hover-dim{transition:opacity 0.3s}.hover-dim:hover{opacity:0.7}[data-animate]{transition:0.8s cubic-bezier(0.2,1,0.3,1);transition-property:opacity,transform;will-change:opacity,transform}.fade-in{opacity:0}.fade-in.is-visible{opacity:1}.slide-up{opacity:0;transform:translateY(20px)}.slide-up.is-visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:0.1s}.delay-2{transition-delay:0.2s}.modal{padding:0;border:none;color:var(--default,#333);background:transparent;width:min(90%,600px);border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,0.2);opacity:0;transition:opacity 0.3s}.modal[open]{opacity:1}@starting-style{.modal[open]{opacity:0}}.modal::backdrop{background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);opacity:0;transition:opacity 0.3s ease}.modal[open]::backdrop{opacity:1}@starting-style{.modal[open]::backdrop{opacity:0}}.modal-content{background:#fff;padding:2rem;position:relative;border-radius:inherit}.modal-close-btn{position:absolute;top:0.5rem;right:1rem;font-size:1.5rem;background:none;border:none;cursor:pointer;opacity:0.5}.modal-close-btn:hover{opacity:1}input[type=email],input[type=tel],input[type=text],select,textarea{width:100%;padding:0.6em 0.8em;font-family:inherit;font-size:1rem;color:inherit;background-color:var(--bg-form,#fff);border:1px solid var(--line,#ddd);border-radius:4px;transition:border-color 0.2s}input[type=email]:focus,input[type=tel]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:var(--color,#000)}textarea{min-height:100px;resize:vertical}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m2 3 3 3 3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center;padding-right:2.5em}input[type=checkbox],input[type=radio]{accent-color:var(--color,#000);cursor:pointer}label{display:inline-block;margin-bottom:0.3em;font-weight:700;font-size:0.9rem}.icon-stack{display:inline-grid;grid-template-columns:repeat(var(--grid-divisions,12),1fr);grid-template-rows:repeat(var(--grid-divisions,12),1fr);width:1em;height:1em;font-size:var(--stack-size,24px);position:relative;vertical-align:middle;line-height:1}.icon-layer,.text-layer{grid-column:var(--c-start,1)/span var(--c-span,12);grid-row:var(--r-start,1)/span var(--r-span,12);z-index:var(--z,1);color:var(--color,currentColor);opacity:var(--opacity,1);width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:var(--f-size,100%);line-height:1;user-select:none;pointer-events:none;transform:rotate(calc(var(--rotate, 0) * 1deg)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1))}.icon-layer{font-family:"Material Symbols Outlined";font-weight:normal;font-style:normal;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" var(--icon-fill,0),"wght" var(--icon-weight,400)}.text-layer{font-family:"Teko",sans-serif;font-weight:var(--text-weight,400)}

/* =============================================================
   1. Base & Resets (Override Framework)
   ============================================================= */
h1, h2, h3, h4 {
	font-family: var(--f-serif);
}
a {
	color: var(--main);
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.table td, .table th {
	padding: .75rem;
	vertical-align: top;
}
.table-bordered, .table-bordered td, .table-bordered th {
	border: 1px solid var(--line);
}

/* Material Symbols: Google Fonts CDN が font-size: 24px を指定するためリセット */
.material-symbols-outlined {
	font-size: inherit;
	line-height: inherit;
	vertical-align: middle;
}

/* =============================================================
   2. Layout & Global Components
   ============================================================= */
/* ナビゲーション */
#nav {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
}
#menu li + li {
	border-top: 1px solid var(--white);
}
@media (min-width: 768px) {
	#menu li + li {
		border: none;
	}
}

/* フッター区切り線 */
#footer {
	position: relative;
}
#footer::before {
	content: "";
	position: absolute;
	top: 33.5px;
	left: 0;
	width: 100%;
	border-top: 3px solid var(--main);
	z-index: -1;
}

/* Page sub header */
#page-sub-header {
	padding: 4rem 1rem;
	text-align: center;
	font-size: 1.25rem;
	background-size: cover;
	color: #cdbfe3;
}
#page-sub-header h1 {
	margin-top: 0;
	color: var(--white);
	margin-bottom: 0.625rem;
}
@media screen and (min-width: 768px) {
	#page-sub-header h1 { font-size: 3.75rem; line-height: 1; }
	#page-sub-header { padding-top: 3.75rem; padding-bottom: 3.75rem; text-align: left; font-size: 1.5rem; }
}
@media screen and (min-width: 992px) {
	#page-sub-header p { max-width: 50rem; }
}

/* Main title heading */
.main-title {
	color: var(--white);
	font-size: 18px;
	background: var(--sub);
	padding: 8px 20px 8px 40px;
	margin-bottom: 30px;
	border-radius: 15px;
	position: relative;
}
.main-title:before {
	content: "database";
	display: flex;
	color: var(--sub);
	background: var(--white);
	width: 50px;
	height: 50px;
	border: 5px solid var(--sub);
	border-radius: 25px;
	position: absolute;
	left: -15px;
	top: -3px;
	box-shadow: 0px 0px 5px -1px #000;
	font-family: 'Material Symbols Outlined';
	font-weight: normal;
	font-style: normal;
	font-size: 25px;
	justify-content: center;
	align-items: center;
	-webkit-font-smoothing: antialiased;
}

/* =============================================================
   3. Language Switcher (Bogo) & Locales
   ============================================================= */
.bogo-language-switcher {
	margin: 0 0 0 8px;
	padding: 0 0 0 8px;
	display: flex;
	justify-content: center;
}
.bogo-language-switcher li a { color: var(--white) !important; border: none !important; }
.bogo-language-switcher li + li::before { content: '/'; display: inline; padding: 0 10px; }
.bogo-language-switcher .bogoflags { display: none; }

.en-US { font-family: var(--f-serif); }

/* =============================================================
   4. Search Forms & Results
   ============================================================= */
/* 検索エリア下線 */
#search-area {
	border: none;
	border-bottom: 4px solid var(--main);
}
/* 検索ボタンセット（キーワード検索） */
.search-btn-set input {
	border-right: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.search-btn-set .btn {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	padding: 0 1rem;
}

/* Search result blocks */
.search-result-block {
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.search-result-label {
	font-size: 0.9rem;
	font-weight: 700;
	padding: var(--sp-sm) var(--sp-md);
	background: oklch(from var(--color, var(--main)) 0.95 0.02 h);
	border-bottom: 1px solid var(--line);
	color: oklch(from var(--color, var(--main)) var(--l-d) c h);
}
.result-list {
	padding: var(--sp-sm) var(--sp-md);
}
.result-list li {
	display: flex;
	align-items: center;
	gap: 4px;
	padding-block: 4px;
}
.result-list li .material-symbols-outlined {
	font-size: 16px;
	color: var(--main);
	flex-shrink: 0;
}

.message p {
	margin: 0 0 1rem 1rem;
}

/* =============================================================
   5. Content Area
   ============================================================= */
.entry-content,
.page-content,
.entry-summary {
	margin: 1.5em 0 50px;
}

/* =============================================================
   6. DataTables & TablePress
   ============================================================= */
.database-table .tablepress {
	--head-bg-color: oklch(from var(--main) 0.99 0.01 h) !important;
	--head-active-bg-color: oklch(from var(--main) 0.99 0.05 h) !important;
}
.database-table .tablepress thead {
	border: 1px solid var(--line);
	border-bottom: 0;
}
.database-table select.dt-input {
	width: 60px;
}
.database-table div.dt-container .dt-paging .dt-paging-button.current:not(.disabled),
.database-table div.dt-container .dt-paging .dt-paging-button.current:not(.disabled):hover,
.database-table div.dt-container .dt-paging .dt-paging-button:not(.disabled):hover {
	color: var(--white) !important;
	background: var(--main) !important;
	border: 1px solid transparent;
}

/* DataTables v2 スクロールバーデザイン */
.dt-scroll-body {
	scrollbar-width: thin; /* Firefox */
	scrollbar-color: #a0a0a0 transparent;
}
.dt-scroll-body::-webkit-scrollbar {
	width: 4px;
	height: 4px;
}
.dt-scroll-body::-webkit-scrollbar-track {
	background: transparent;
}
.dt-scroll-body::-webkit-scrollbar-thumb {
	background: #a0a0a0;
	border-radius: 9999px;
}
.dt-scroll-body::-webkit-scrollbar-thumb:hover {
	background: var(--main);
}

/* DataTables 列幅（min-width）
 * scrollX 使用時に列が潰れすぎないよう最低幅を指定
 * column-1 は非表示のため除外
 */
.tablepress th,
.tablepress td {
	font-weight: 400 !important;
	max-width: 200px;
	min-width: 80px; /* 全列の最低幅 */
}

/* DataTables FOUC（初期フラッシュ）対策
 * DataTables v2 は元の <table> を .dt-container 内に残したまま初期化するため、
 * .tablepress { visibility: hidden } だけでは初期化後も非表示のままになる。
 * 対策：
 *  1. .tablepress を事前非表示（生テーブルの一瞬表示を防ぐ）
 *  2. .dt-container も事前非表示（DataTables UI がちらつかないよう）
 *  3. initComplete で .is-ready を付与 → .tablepress を表示 + コンテナをフェードイン
 */
.tablepress {
	visibility: hidden;
	opacity: 0;
}
.dt-container {
	opacity: 0;
}
.dt-container.is-ready {
	animation: dt-fade-in 0.3s ease forwards;
}
.dt-container.is-ready .tablepress {
	visibility: visible;
	opacity: 1;
}
@keyframes dt-fade-in {
	to { opacity: 1; }
}

.tablepress .otherName {
	display: inline-block;
}
.tablepress .disease-name {
    display: block;
}
/* DataTables ローディングインジケーター（fixed オーバーレイ） */
.dt-loading {
	position: fixed;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	background: rgba(255, 255, 255, 0.9);
	z-index: 9999;
	color: var(--sub);
}
.dt-loading .material-symbols-outlined {
	font-size: 6rem;
	animation: dt-spin 1s linear infinite;
}
.dt-loading.is-hidden {
	display: none;
}
@keyframes dt-spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

/* =============================================================
   7. Plugins (Select2)
   ============================================================= */
#search-area .select2-container {
	width: 100%;
}
#search-area .select2-container .select2-choice {
	background: var(--white);
	padding: 0.6em 0.8em;
	height: auto;
	border: 1px solid var(--line);
	line-height: 1.5;
}
#search-area .select2-container .select2-choice .select2-arrow {
	border: 0;
	top: 3px;
	background: var(--white);
}

.select2-search .select2-input {
	border-radius: 4px !important;
	padding: 0.6em 0.8em !important;
}	

#search-area .select2-container.form-control {
	padding: 0;
}
#search-area .select2-container.form-control .select2-choice {
	color: #555 !important;
	height: 29px;
	line-height: 29px;
	border: 0;
	background-image: none;
}
#search-area .select2-container.form-control .select2-choice .select2-arrow {
	background: white;
	background-image: none;
	border: 0;
	border-radius: 0;
}