:root{--blue:#6489dc;--blue-strong:#5278cf;--blue-soft:#8eaff1;--blue-pale:#f2f6ff;--ink:#2e426d;--muted:#7181a0;--line:#e0e8f6;--green:#98d2aa;--pink:#f2a4bf;--yellow:#f6cf69}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:Hiragino Maru Gothic ProN,Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif}button{color:inherit;font:inherit}.visitorSite{background:#fff;min-height:100vh}.siteHeader{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;border-bottom:1px solid #eff3fa;align-items:center;height:88px;padding:0 max(32px,50vw - 560px);display:flex;position:sticky;top:0}.siteBrand{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:13px;display:flex}.siteBrand>span:last-child{flex-direction:column;gap:4px;display:flex}.siteBrand b{color:#5379cf;letter-spacing:.07em;font-size:18px}.siteBrand b i{color:#557ee0;margin-left:5px;font-size:12px;font-style:normal}.siteBrand small{color:#7c8ba6;font-size:9px;font-weight:700}.doveLogo{color:#fff;background:linear-gradient(145deg,#d8e7ff,#a9c4f4);border-radius:60% 45% 55% 35%;place-items:center;width:50px;height:42px;font-size:25px;display:grid;position:relative;transform:rotate(-9deg)}.doveLogo:after{content:"";clip-path:polygon(0 0,100% 50%,0 100%);background:#f3c961;width:8px;height:6px;position:absolute;top:20px;right:-5px}.siteHeader nav{align-items:center;gap:31px;margin-left:auto;display:flex}.siteHeader nav button{color:#60718f;cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:700}.siteHeader nav button:hover{color:var(--blue)}.siteHeader .searchButton{color:var(--blue-strong);padding:0 0 4px 4px;font-size:27px}.visitorHero{background-image:linear-gradient(90deg,#f2f9fffa 0%,#f2f9ffeb 38%,#f2f9ff0f 65%),url(/ofa-hero-watercolor.png);background-position:50%;background-size:cover;min-height:460px;position:relative}.visitorHeroCopy{width:min(1080px,100% - 64px);margin:0 auto;padding-top:100px}.visitorHero h1{color:#557dd2;letter-spacing:.03em;margin:0;font-size:clamp(38px,5vw,57px);line-height:1.5}.visitorHero p{color:#536887;margin:22px 0 0;font-size:13px;font-weight:700;line-height:2.05}.homeContent{z-index:3;width:min(1080px,100% - 40px);margin:-78px auto 0;position:relative}.calendarCard{border:1px solid var(--line);background:#fffffffa;border-radius:16px;padding:30px 34px 25px;scroll-margin-top:110px;box-shadow:0 12px 35px #3a538b0e}.calendarTitle{align-items:center;gap:13px;margin-bottom:25px;display:flex}.calendarTitle h2{color:#537bcc;margin:0 0 5px;font-size:18px}.calendarTitle p{color:#6f8cc2;margin:0;font-size:10px;font-weight:700}.calendarIcon{color:#86c99d;background:#fffef6;border:2px solid #9ab8ee;border-radius:5px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-weight:900;display:grid;position:relative}.calendarIcon:before{content:"";border-top:2px solid #9ab8ee;position:absolute;top:8px;left:-2px;right:-2px}.calendarIcon{padding-top:7px}.calendar{width:min(760px,100%);margin:0 auto}.calendarMonth{grid-template-columns:44px 1fr 44px;align-items:center;margin:0 auto 18px;display:grid}.calendarMonth b{text-align:center;color:#304670;font-size:18px}.calendarMonth button{color:var(--blue-strong);cursor:pointer;background:0 0;border:0;font-size:37px;line-height:1}.calendarMonth button:disabled{opacity:.22;cursor:default}.calendarGrid{grid-template-columns:repeat(7,1fr);display:grid}.weekdays{margin-bottom:8px}.weekdays span{text-align:center;color:#536689;padding:8px 0;font-size:10px;font-weight:700}.calendarDays{grid-template-columns:repeat(7,1fr);row-gap:5px;display:grid}.calendarDays button{color:#34486f;background:0 0;border:0;border-radius:50%;width:42px;height:42px;margin:auto;font-size:12px;font-weight:700;position:relative}.calendarDays button>span{display:block}.calendarDays button>small{color:#5278cf;background:#fff7cf;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:8px;display:grid;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 7px #2d45722e}.calendarDays button:disabled{cursor:default}.calendarDays button.outside{color:#c4ccda}.calendarDays button.available{color:#fff;cursor:pointer;background:linear-gradient(145deg,#93b5f5,#72a0ee);transition:all .16s;box-shadow:0 5px 13px #5782db29}.calendarDays button.available:hover,.calendarDays button.selected{outline:3px solid #e5edff;transform:translateY(-2px)scale(1.06);box-shadow:0 7px 17px #5782db42}.calendarLegend{color:#657696;gap:32px;margin-top:22px;font-size:10px;display:flex}.calendarLegend span{align-items:center;gap:8px;display:flex}.calendarLegend i{background:#edf1f6;border-radius:50%;width:16px;height:16px}.calendarLegend i.hasCases{background:#80a9f2}.countExample{color:#5278cf;background:#fff3bd;border-radius:50%;place-items:center;min-width:18px;height:18px;font-size:8px;display:grid}.datasetStatus{color:#6177a3;background:#f8fbff;border:1px solid #dce7f8;border-radius:11px;grid-template-columns:auto 1fr;align-items:center;gap:5px 18px;width:min(760px,100%);margin:24px auto 0;padding:17px 20px;display:grid}.datasetStatus b{color:#476ab6;font-size:11px}.datasetStatus span{font-size:10px;font-weight:800}.datasetStatus small{color:#7a89a4;grid-column:1/-1;font-size:8px;line-height:1.7}.aboutSection{padding:42px 0 36px}.sectionTitle{align-items:center;gap:9px;margin-bottom:21px;display:flex}.sectionTitle span{color:#94cfaa;font-size:25px}.sectionTitle h2{color:#567dce;margin:0;font-size:18px}.valueCards{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.valueCards article{border:1px solid var(--line);text-align:center;background:#fff;border-radius:13px;min-height:200px;padding:25px 18px 20px}.valueCards h3{color:#314773;margin:13px 0 10px;font-size:13px}.valueCards p{color:#74849f;margin:0;font-size:9px;line-height:1.9}.valueIcon{border-radius:50%;place-items:center;width:58px;height:58px;margin:auto;font-size:30px;font-weight:400;display:grid}.valueIcon.green{color:#7fc392;background:#eef8f1}.valueIcon.pink{color:#ef82a5;background:#fff0f5}.valueIcon.yellow{color:#eab744;background:#fff8e6}.valueIcon.blue{color:#7196e8;background:#eff4ff}.messageBanner{background-color:#eef8ff;background-image:url(/visitor-footer-watercolor.png);background-position:50%;background-size:cover;flex-direction:column;justify-content:center;align-items:center;min-height:210px;margin:0 -20px;padding:42px 80px 32px 350px;display:flex}.messageBanner h2{color:#537acb;text-align:center;margin:0;font-size:20px}.messageBanner p{color:#7889a5;text-align:center;font-size:9px}.scopePill{color:#5578c4;text-align:center;background:#ffffffd9;border:1px solid #d7e4f7;border-radius:999px;margin-top:13px;padding:10px 22px;font-size:11px;font-weight:900}.scopePill small{color:#7b8ba7;font-size:8px}.bannerButtons{gap:14px;margin-top:14px;display:flex}.bannerButtons button{color:#607db9;background:#ffffffeb;border:1px solid #d8e3f6;border-radius:999px;min-width:220px;padding:13px 23px;font-size:10px;font-weight:800}.bannerButtons button span{border:1px solid #9bb4e7;border-radius:50%;place-items:center;width:16px;height:16px;margin-left:12px;display:inline-grid}.bannerButtons button.primary{color:#fff;background:#85a6eb;border-color:#0000}.dayPage{width:min(1120px,100% - 40px);margin:0 auto;padding:40px 0 70px}.dayCalendarArea{border:1px solid var(--line);border-radius:14px;padding:25px 30px 28px}.dayCalendarLayout{flex-direction:column;align-items:center;gap:22px;display:flex}.compactCalendar{border:1px solid #dce5f5;border-radius:10px;width:min(760px,100%);margin:0 auto;padding:22px 30px 18px}.compactCalendar .calendarDays button{width:38px;height:38px}.calendarGuide{flex-direction:row;justify-content:center;align-items:center;gap:16px;display:flex}.speechBubble{color:#5472ac;background:#fff9e9;border-radius:22px;padding:20px 27px;font-size:12px;font-weight:700;line-height:1.8;position:relative}.speechBubble:after{content:"";background:#fff9e9;width:23px;height:23px;position:absolute;top:50%;left:-11px;transform:translateY(-50%)rotate(45deg)}.calendarGuide img{object-fit:contain;mix-blend-mode:multiply;width:118px;height:118px}.judgmentSection{border:1px solid var(--line);border-radius:14px;margin-top:24px;padding:24px 30px 35px}.breadcrumbs{color:#6d7d9d;align-items:center;gap:13px;font-size:10px;display:flex}.breadcrumbs button{cursor:pointer;color:#5b6f95;background:0 0;border:0}.breadcrumbs .backCalendar{color:#6688d2;background:#fff;border:1px solid #cfdcf3;border-radius:999px;margin-left:auto;padding:11px 24px;font-weight:800}.dayTitle{align-items:center;gap:14px;margin:36px 0 30px;display:flex}.dayTitle h1{color:#344c7a;text-underline-offset:9px;margin:0;font-size:22px;-webkit-text-decoration:underline wavy #aad7b7;text-decoration:underline wavy #aad7b7;text-decoration-thickness:2px}.sampleBadge{color:#8a6c2c;background:#fff5d8;border-radius:999px;margin-left:auto;padding:6px 10px;font-size:9px;font-weight:800}.sampleBadge.realBadge{color:#3f7d59;background:#eaf8ef}.judgmentGrid{grid-template-columns:minmax(0,1.25fr) minmax(290px,.85fr);gap:30px;display:grid}.caseList{flex-direction:column;gap:16px;display:flex}.caseCard{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;min-height:135px;padding:23px 55px 20px 24px;transition:all .16s;display:flex;position:relative}.caseCard:hover,.caseCard.active{border-color:#a9beea;transform:translateY(-1px);box-shadow:0 7px 19px #4c669f12}.caseCard small{color:#7584a0;font-size:9px}.caseCard b{color:#334875;margin:14px 0 11px;font-size:15px}.caseTags{gap:7px;display:flex}.caseTags i{color:#6784c5;background:#eff4ff;border-radius:5px;padding:5px 9px;font-size:8px;font-style:normal}.caseTags i.pink{color:#df789c;background:#fff0f5}.caseTags i.purple{color:#8b73d1;background:#f3eeff}.caseTags i.blue{color:#6589d5;background:#edf4ff}.caseArrow{color:#3e5582;font-size:28px;position:absolute;top:50%;right:25px;transform:translateY(-50%)}.caseSummary{background:linear-gradient(145deg,#f8faff,#f2f6fe);border-radius:10px;padding:25px}.reviewBadge{border-radius:999px;width:fit-content;margin-bottom:14px;padding:6px 10px;font-size:8px;font-weight:900}.reviewBadge.approved{color:#3f7d59;background:#e4f6eb}.reviewBadge.pending{color:#856b2d;background:#fff4ce}.caseSummary h2{margin:0 0 13px;font-size:14px}.caseSummary h3{margin:21px 0 9px;font-size:11px}.caseSummary p{color:#657696;font-size:10px;line-height:1.8}.caseSummary ul{color:#657696;margin:0;padding:0;font-size:10px;line-height:1.9;list-style:none}.keywordList{flex-wrap:wrap;gap:7px;display:flex}.keywordList span{color:#637ba9;background:#e9effb;border-radius:5px;padding:6px 9px;font-size:8px}.sourceButtons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sourceButtons a{color:#617db7;background:#e8effd;border-radius:7px;padding:11px;font-size:8px;line-height:1.5;text-decoration:none}.sourceButtons a:hover{background:#dce8ff}.caseSummary .sourceCheck{color:#8a97ad;margin:10px 0 0;font-size:8px}.detailButton{color:#fff;cursor:pointer;text-align:center;background:#87a7e9;border:0;border-radius:999px;width:min(610px,100%);margin:33px auto 0;padding:15px 20px;font-size:11px;font-weight:800;display:block}.detailPanel{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:28px;padding:30px}.detailPanel>h2{color:#35507e;font-size:20px}.detailPanel section{border-bottom:1px solid #edf1f7;padding:17px 0}.detailPanel h3{color:#5277c5;font-size:14px}.detailPanel p,.detailPanel li{color:#5f7190;font-size:11px;line-height:1.9}.aiNotice{color:#8d733d;background:#fff8e8;border-radius:8px;padding:12px 15px;font-size:9px}.sampleFootnote{margin-top:25px;color:#9a7890!important}.basicInfo{flex-wrap:wrap;gap:8px;margin:13px 0 5px;display:flex}.basicInfo span{color:#6680b5;background:#f0f5ff;border-radius:999px;padding:7px 10px;font-size:9px}.officialLinks{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:25px;display:flex}.officialLinks a{color:#5e80c8;background:#f9fbff;border:1px solid #cbdaf4;border-radius:999px;padding:12px 20px;font-size:10px;font-weight:800;text-decoration:none}.officialLinks a:hover{background:#eef4ff}.visitorFooter{color:#71809b;border-top:1px solid #edf1f7;justify-content:space-between;align-items:center;min-height:68px;padding:0 max(32px,50vw - 540px);font-size:9px;display:flex}@media (width<=850px){.siteHeader nav button:not(.searchButton){display:none}.valueCards{grid-template-columns:1fr 1fr}.messageBanner{padding-left:280px}.judgmentGrid{grid-template-columns:1fr}}@media (width<=600px){.siteHeader{height:72px;padding:0 15px}.siteBrand b{font-size:14px}.siteBrand small{font-size:7px}.doveLogo{width:38px;height:32px}.siteHeader .searchButton{font-size:22px}.visitorHero{background-position:68%;min-height:460px}.visitorHeroCopy{width:calc(100% - 38px);padding-top:60px}.visitorHero h1{font-size:33px}.visitorHero p{width:72%;font-size:10px}.homeContent{width:calc(100% - 24px);margin-top:-70px}.calendarCard{padding:22px 13px}.calendarTitle h2{font-size:15px}.calendarDays button{width:35px;height:35px}.calendarLegend{flex-wrap:wrap;gap:13px}.datasetStatus{grid-template-columns:1fr}.datasetStatus small{grid-column:auto}.valueCards{gap:9px}.valueCards article{min-height:180px;padding:20px 11px}.messageBanner{background-position:17%;min-height:300px;margin:0 -12px;padding:155px 18px 25px}.messageBanner h2{font-size:15px}.bannerButtons{flex-direction:column;width:100%}.bannerButtons button{width:100%}.dayPage{width:calc(100% - 22px);padding-top:18px}.dayCalendarArea,.judgmentSection{padding:19px 13px}.compactCalendar{padding:18px 8px}.compactCalendar .calendarDays button{width:34px;height:34px}.calendarGuide{gap:8px}.calendarGuide img{width:82px;height:82px}.speechBubble{border-radius:16px;padding:14px 15px;font-size:9px;line-height:1.7}.speechBubble:after{width:15px;height:15px;left:-7px}.breadcrumbs .backCalendar{padding:9px 12px;font-size:0}.breadcrumbs .backCalendar:after{content:"カレンダーへ";font-size:9px}.dayTitle{flex-wrap:wrap;align-items:flex-start}.dayTitle h1{width:calc(100% - 58px);font-size:17px}.sampleBadge{margin-left:56px}.caseCard{min-height:125px}.sourceButtons{grid-template-columns:1fr}.visitorFooter{flex-direction:column;align-items:flex-start;gap:10px;padding:20px 15px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
