@charset "UTF-8";
:root{--green:#173e35;--ink:#203b33;--paper:#f7f6ef;--line:#d4d9cd;--lime:#e0ed88;--muted:#5e7065;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover;height:auto}figure,p,h1,h2,h3{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8b9b23;outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--lime);padding:10px}.skip:focus{top:10px}
.header{height:100px;padding:0 3.6%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:46px;height:46px}.brand strong{display:block;font-family:Arial,sans-serif;letter-spacing:.04em;font-size:26px;line-height:1.1;font-weight:800}.brand-nara{font-weight:400}.brand small{display:block;font-size:10px;margin-top:6px;letter-spacing:.045em}.header nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700}.header nav a{position:relative}.header nav a:hover{color:#6d802d}.nav-contact{border:1px solid var(--green);padding:10px 18px;border-radius:2px}.nav-contact span{margin-left:14px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:46% 54%;min-height:650px;max-height:850px}.hero-copy{padding:66px 7% 28px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{display:block;font-size:10px;line-height:1.5;letter-spacing:.2em;font-family:Arial,sans-serif;font-weight:700}.eyebrow i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#839b45;margin-right:10px}.hero-kicker{font-size:13px;letter-spacing:.12em;margin-top:40px}.hero h1{font-family:var(--serif);font-size:clamp(36px,3.9vw,67px);font-weight:600;line-height:1.55;letter-spacing:.045em;margin-top:12px;white-space:nowrap}.hero-description{font-size:13px;line-height:2.3;margin-top:22px;color:var(--muted)}.button{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:17px 25px;font-weight:700;font-size:12px;min-height:58px}.button span{font-size:22px;line-height:1}.button.dark{background:var(--green);color:white;margin-top:28px;min-width:235px}.button:hover{filter:brightness(1.1)}.hero-foot{margin-top:auto;padding-top:35px;width:100%;display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.02em}.scroll{font-family:Arial,sans-serif;letter-spacing:.12em;white-space:nowrap}.hero-photo{position:relative;overflow:hidden;min-height:650px}.hero-photo>img{width:100%;height:100%;object-position:50% center;position:absolute;inset:0}.hero-photo:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#142c2590);pointer-events:none}.hero-photo figcaption{position:absolute;bottom:28px;left:30px;right:30px;color:white;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:10px;z-index:1}.hero-photo figcaption span:first-child{font-family:Arial,sans-serif;letter-spacing:.15em}.photo-stamp{position:absolute;right:28px;top:28px;border-radius:50%;width:91px;height:91px;border:1px solid #ffffffb0;color:white;display:grid;place-content:center;text-align:center;font-family:var(--serif);font-size:16px;line-height:1.5;letter-spacing:.15em;background:#173e351c;backdrop-filter:blur(3px)}
.intro-line{display:flex;gap:36px;align-items:center;padding:29px 6%;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}.intro-line svg{width:120px;margin-left:auto;height:24px;fill:none;stroke:#719383;stroke-width:1}.intro-line small{font-size:10px;font-weight:400;color:var(--muted)}.section{max-width:1320px;margin:auto;padding:100px 6%}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:48px}h2{font-family:var(--serif);font-weight:600;font-size:clamp(25px,2.5vw,38px);line-height:1.6;letter-spacing:.04em;margin-top:13px}.section-heading>p{font-size:12px;color:var(--muted);line-height:2}.activity-lead{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}.activity-lead figure img{aspect-ratio:1.28;object-position:48% center}.activity-lead figcaption{font-size:10px;color:var(--muted);margin-top:10px}.number{font-family:var(--serif);font-size:36px;line-height:1.2;display:flex;align-items:center;gap:18px}.number span{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.16em}.activity-lead h3,.activity-pair h3{font-family:var(--serif);font-size:28px;font-weight:600;line-height:1.65;margin:22px 0}.activity-lead p,.activity-pair p{font-size:13px;line-height:2.15;color:var(--muted)}.activity-lead p+p{margin-top:12px}.small-label{display:block;font-size:10px;margin-top:23px;padding-top:14px;border-top:1px solid var(--line)}.activity-pair{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:60px}.activity-pair article{padding:27px 0 0;border-top:1px solid var(--line)}.activity-pair h3{margin:15px 0}.activity-pair .small-label{border:none;padding-top:0}
.stories{background:#eeefe7;max-width:none;padding-left:max(6%,calc((100vw - 1160px)/2));padding-right:max(6%,calc((100vw - 1160px)/2))}.story-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:26px}.story .photo-open{width:100%;aspect-ratio:1.3}.photo-open{border:none;padding:0;background:var(--green);position:relative;display:block;overflow:hidden;isolation:isolate}.photo-open img{width:100%;height:100%;transition:transform .5s}.photo-open:hover img{transform:scale(1.035)}.zoom{position:absolute;bottom:12px;right:12px;background:var(--paper);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:17px;line-height:1}.story-meta{display:flex;justify-content:space-between;gap:6px;font-size:9px;color:var(--muted);margin-top:18px;letter-spacing:.03em}.story-meta span:first-child{font-family:Arial,var(--sans);font-weight:700}.story h3{font-family:var(--serif);font-size:20px;line-height:1.7;margin-top:9px;font-weight:600}.story p{font-size:12px;color:var(--muted);line-height:2;margin-top:12px}.photo-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;margin-top:45px}.photo-strip button{aspect-ratio:2}.photo-strip button:nth-child(3) img{object-position:center 65%}.strip-caption{position:absolute;bottom:0;left:0;right:0;color:white;background:linear-gradient(transparent,#102d26aa);padding:25px 12px 10px;text-align:left;font-size:10px}.archive{margin-top:55px;border-top:1px solid #a9b8ac;border-bottom:1px solid #a9b8ac}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.archive>summary{display:flex;justify-content:space-between;align-items:center;padding:25px 0;gap:20px}.archive summary small{font-family:Arial,sans-serif;display:block;font-size:8px;letter-spacing:.15em}.archive summary strong{display:block;font-family:var(--serif);font-size:22px;font-weight:600}.archive-summary{font-size:11px}.archive-summary b{margin-left:45px;font-size:25px;font-weight:400}details[open]>summary b{display:inline-block;transform:rotate(45deg)}.archive-body{padding-bottom:30px}.archive-body>p{font-size:11px;color:var(--muted);margin-bottom:18px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;line-height:1.8}td,th{padding:13px 12px;border-bottom:1px solid #d2d9ce;vertical-align:top}thead th{background:#dde4d6;font-weight:600;white-space:nowrap}tbody th{font-weight:500;min-width:190px}td:first-child{white-space:nowrap}td:last-child{white-space:nowrap}td:nth-child(3){min-width:160px}
.belief{background:var(--green);color:var(--paper);position:relative;overflow:hidden;padding:90px 6% 70px}.belief-inner{max-width:1160px;margin:auto;position:relative;z-index:1}.belief .eyebrow{color:var(--lime)}.belief h2{font-size:clamp(30px,3.3vw,48px);margin-top:20px}.belief p{margin-top:28px;font-size:13px;line-height:2.4;color:#d2ded4}.water-lines{position:absolute;right:-140px;top:80px;width:65%;height:75%;stroke:#e0ed8830;stroke-width:1;transform:rotate(-20deg);pointer-events:none}.sdgs{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:50px;padding-top:25px;border-top:1px solid #ffffff36;font-size:9px}.sdgs>span:first-child{margin-right:auto;color:#bdcdc2}.sdgs b{font-family:Arial,sans-serif;display:inline-grid;place-items:center;width:27px;height:27px;background:#ffffff13;border:1px solid #ffffff38;font-size:13px;margin-right:7px}
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.about>div>p{font-size:13px;color:var(--muted);line-height:2.2;margin-top:24px}.organization dl{margin:0}.organization dl>div{display:grid;grid-template-columns:105px 1fr;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px;gap:12px}.organization dl>div:first-child{border-top:1px solid var(--line)}dt{color:var(--muted);font-size:11px}dd{margin:0}dd small{font-size:10px;color:var(--muted)}.about .source-note{font-size:9px;margin-top:15px}.instructor{font-size:11px;margin-top:24px;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.instructor summary{padding:13px 0;display:flex;justify-content:space-between;gap:15px;font-weight:600}.instructor p{font-size:12px;color:var(--muted);padding:5px 0 20px;line-height:2.1}.contact{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}.contact h2{font-size:34px}.contact p{font-size:12px;color:var(--muted);margin-top:20px}.contact-actions{align-self:center}.button.lime{background:var(--lime);font-size:13px;padding:21px 25px}.email{display:inline-block;font-size:14px;font-family:Arial,sans-serif;margin-top:15px;border-bottom:1px solid #93a18c}.contact p.office{font-size:10px;margin-top:13px}.reference{padding-top:0;padding-bottom:45px;font-size:10px;color:var(--muted)}.reference details{border-top:1px solid var(--line);padding-top:15px}.reference summary{display:flex;justify-content:space-between}.reference p{margin-top:15px}.reference ul{padding-left:20px}.reference a{text-decoration:underline;text-underline-offset:3px}
footer{background:#e6e9de;padding:45px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand{font-family:Arial,sans-serif;letter-spacing:.08em;font-size:23px;font-weight:700;line-height:1.2}.footer-brand span{display:block;font-family:var(--sans);font-size:9px;font-weight:400;letter-spacing:.03em;margin-top:9px}footer p{font-family:var(--serif);font-size:14px}footer small{font-family:Arial,sans-serif;font-size:9px;color:var(--muted)}.top-link{border:1px solid #b3bcae;border-radius:50%;width:40px;height:40px;display:grid;place-content:center}.lightbox{border:0;padding:55px 25px 20px;background:#102b24;color:white;width:min(1100px,95vw);max-height:95dvh}.lightbox::backdrop{background:#081d16e8}.lightbox figure img{height:min(70dvh,750px);width:100%;object-fit:contain}.lightbox figcaption{font-size:12px;line-height:1.7;text-align:center;padding-top:15px}.lightbox-close{position:absolute;right:20px;top:10px;background:transparent;border:none;font-size:12px;min-height:36px}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:15px;font-size:11px}.lightbox-controls button{background:transparent;border:1px solid #ffffff66;color:white;width:44px;height:40px}.dialog-open{overflow:hidden}
@media(min-width:1600px){.hero-copy{padding-left:max(10%,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.header nav{gap:17px;font-size:11px}.brand strong{font-size:23px}.brand small{font-size:9px}.hero{min-height:600px}.hero-copy{padding-top:50px}.hero-photo{min-height:600px}.hero h1{font-size:4vw}.hero-foot{flex-direction:column;gap:8px}.hero-kicker{margin-top:30px}.activity-lead,.activity-pair{gap:40px}.about{gap:45px}.intro-line{gap:22px}.intro-line small{display:none}.story h3{font-size:18px}.hero-photo figcaption{flex-direction:column;align-items:flex-start}}
@media(max-width:800px){html{scroll-padding-top:90px}.header{height:80px;padding:0 5%;gap:15px}.brand img{width:38px;height:38px}.brand strong{font-size:23px}.brand small{font-size:8px}.menu-toggle{display:flex;background:transparent;border:1px solid var(--line);align-items:center;gap:10px;font-size:10px;padding:8px 10px}.menu-toggle span{font-size:15px}.header nav{display:none;position:absolute;left:0;right:0;top:80px;padding:25px 6%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #173e3510;align-items:stretch}.header nav.is-open{display:flex;flex-direction:column;gap:0}.header nav a{padding:12px 0;font-size:13px}.header nav a.nav-contact{padding:12px 15px;margin-top:10px}.hero{grid-template-columns:1fr 1fr;min-height:570px}.hero-copy{padding:40px 8% 25px 11%}.hero h1{font-size:4.2vw;letter-spacing:.01em}.hero-description{font-size:11px}.hero-kicker{font-size:11px;margin-top:33px;letter-spacing:0}.hero .button{min-width:0;width:100%;padding:12px 15px;gap:12px;font-size:10px}.hero-photo{min-height:570px}.photo-stamp{width:70px;height:70px;font-size:13px;top:18px;right:18px}.intro-line{font-size:12px;padding:22px 6%;gap:23px}.intro-line svg{width:80px}.section{padding:70px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:18px}.activity-lead{gap:30px}.activity-lead h3,.activity-pair h3{font-size:23px}.activity-lead p,.activity-pair p{font-size:12px}.activity-lead figure img{aspect-ratio:.9}.activity-lead figcaption{font-size:8px}.small-label{font-size:9px}.story-grid{grid-template-columns:1fr 1fr}.story-wide{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;column-gap:25px}.story-wide .photo-open{grid-row:1/5;aspect-ratio:1.15}.story-wide .story-meta{margin-top:0;align-self:end}.story-wide h3{font-size:23px}.story-wide p{align-self:start}.story h3{font-size:20px}.photo-strip{gap:10px}.photo-strip button{aspect-ratio:1.1}.strip-caption{font-size:9px}.about{gap:35px}.organization dl>div{grid-template-columns:75px 1fr;font-size:11px}.contact{gap:35px}.contact h2{font-size:29px}.contact .button{font-size:11px;padding:18px}.contact .office{line-height:1.8}.reference{padding-top:0;padding-bottom:35px}footer{flex-wrap:wrap}footer p{font-size:12px}.belief{padding:65px 6%}.sdgs{gap:12px}.sdgs>span:first-child{width:100%}.sdgs>span{font-size:8px}}
@media(max-width:560px){body{font-size:14px}.brand{gap:8px}.brand strong{font-size:21px}.brand small{font-size:7px}.header{height:74px}.header nav{top:74px}.menu-toggle{font-size:9px;padding:7px 8px;gap:6px}.hero{grid-template-columns:1fr;max-height:none}.hero-copy{padding:35px 7% 28px}.hero .eyebrow{font-size:9px}.hero-kicker{margin-top:28px;font-size:12px}.hero h1{font-size:clamp(33px,8.5vw,48px);line-height:1.6;margin-top:9px}.hero-description{font-size:12px;line-height:2.1;margin-top:18px}.hero .button{width:230px;min-height:52px;padding:14px 20px;font-size:11px;margin-top:24px}.hero-foot{flex-direction:row;padding-top:25px;align-items:center;font-size:7px}.hero-photo{min-height:340px;aspect-ratio:1.15}.hero-photo img{object-position:center 55%}.hero-photo figcaption{left:22px;bottom:21px;font-size:9px;gap:5px}.photo-stamp{right:20px;top:20px}.intro-line{justify-content:space-between;font-size:10px;gap:8px;padding:20px 6%}.intro-line svg{display:none}.section{padding:58px 7%}h2{font-size:26px;letter-spacing:.01em}.section-heading>p{font-size:11px}.activity-lead{grid-template-columns:1fr;gap:26px}.activity-lead figure img{aspect-ratio:1.3}.activity-lead figcaption{font-size:9px}.activity-lead h3,.activity-pair h3{font-size:26px;margin:16px 0}.number{font-size:31px}.activity-lead p,.activity-pair p{font-size:12px}.activity-pair{grid-template-columns:1fr;gap:26px;margin-top:35px}.activity-pair article{padding-top:25px}.activity-pair .small-label{margin-top:16px}.story-grid{gap:34px;grid-template-columns:1fr}.story-wide{display:block;grid-column:auto}.story-wide .story-meta{margin-top:17px}.story .photo-open,.story-wide .photo-open{aspect-ratio:1.35}.story h3,.story-wide h3{font-size:23px}.story p{font-size:12px}.photo-strip{margin-top:35px;gap:8px}.photo-strip button{aspect-ratio:.75}.strip-caption{font-size:8px;line-height:1.6;padding:30px 7px 9px}.archive{margin-top:35px}.archive summary strong{font-size:19px}.archive-summary{font-size:9px}.archive-summary b{margin-left:8px;font-size:23px}.archive>summary{gap:10px;padding:22px 0}.archive summary small{font-size:7px}.belief{padding:55px 7%}.belief h2{font-size:29px}.belief p{font-size:11px;line-height:2.5}.water-lines{width:120%;right:-50%;top:50px;height:70%}.sdgs{gap:12px;margin-top:35px}.sdgs>span{display:flex;align-items:center}.sdgs>span:first-child{font-size:9px}.sdgs b{width:24px;height:24px;font-size:12px}.about{grid-template-columns:1fr;gap:35px}.about h2 br{display:none}.about>div>p{font-size:12px}.organization dl>div{font-size:12px;grid-template-columns:85px 1fr;padding:17px 0}.contact{grid-template-columns:1fr;gap:30px;margin:0 7%;padding:40px 0 45px}.contact h2{font-size:29px}.contact .button{font-size:12px}.contact p{font-size:12px}.contact p.office{font-size:10px}.reference{padding-top:0;padding-bottom:28px}footer{padding:32px 7%;gap:25px}.footer-brand{font-size:22px;flex-basis:calc(100% - 70px)}footer p{display:none}footer small{order:3;flex-basis:100%;font-size:8px}.top-link{order:2}.lightbox{padding:48px 12px 15px;max-height:95dvh}.lightbox figure img{height:auto;max-height:70dvh;object-fit:contain}.lightbox figcaption{font-size:10px;padding:14px 8px 0}.lightbox-close{right:10px}}
.hero>*{min-width:0}.hero-photo{width:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-character{position:absolute;top:15px;right:12px;width:clamp(145px,15vw,205px);z-index:2;display:flex;flex-direction:column;align-items:center;pointer-events:none}.hero-character img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 3px 8px #173e3524)}.hero-character>span{font-size:9px;line-height:1.5;letter-spacing:.08em;color:var(--green);background:#f7f6efed;padding:4px 12px;border-radius:20px;margin-top:-20px}
@media(max-width:560px){.hero-character{width:128px;top:0;right:6px}.hero-character>span{font-size:8px;margin-top:-22px;padding:3px 10px}}
/* 公式キャラを余白に透かし、本文・写真は前面に保つ */
.activities,.about{position:relative;isolation:isolate;overflow:hidden}
.activities::before,.about::before{content:"";position:absolute;pointer-events:none;z-index:-1;background:url("assets/official-character.png") center/contain no-repeat;filter:grayscale(1);mix-blend-mode:multiply}
.activities::before{width:390px;height:390px;right:-38px;top:-30px;opacity:.075;transform:rotate(8deg)}
.about::before{width:350px;height:350px;left:-65px;bottom:-76px;opacity:.055;transform:rotate(-9deg)}
@media(max-width:800px){.activities::before{width:280px;height:280px;right:-45px;top:0}.about::before{width:280px;height:280px;left:-65px;bottom:-60px}}
@media(max-width:560px){.activities::before{width:220px;height:220px;right:-38px;top:0;opacity:.065}.about::before{width:245px;height:245px;left:-65px;bottom:-40px;opacity:.045}}
/* 正式名称を主表示、JOFI奈良は通称として補記 */
.brand strong{font-family:var(--sans);font-size:19px;line-height:1.5;font-weight:700;letter-spacing:.02em}.brand small{font-size:10px;margin-top:2px;letter-spacing:.05em}.footer-brand{font-family:var(--sans);font-size:18px;line-height:1.7;letter-spacing:.01em}.footer-brand span{margin-top:3px;font-size:10px}
@media(max-width:1100px){.header nav{gap:18px}.brand strong{font-size:16px}.brand small{font-size:10px}}
@media(max-width:950px){.header{height:84px}.menu-toggle{display:flex;background:transparent;border:1px solid var(--line);align-items:center;gap:8px;font-size:10px;padding:8px 10px}.menu-toggle span{font-size:15px}.header nav{display:none;position:absolute;left:0;right:0;top:84px;padding:25px 6%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #173e3510;align-items:stretch}.header nav.is-open{display:flex;flex-direction:column;gap:0}.header nav a{padding:12px 0;font-size:13px}.header nav a.nav-contact{padding:12px 15px;margin-top:10px}}
@media(max-width:560px){.header{height:84px;padding:0 5%;gap:8px}.header nav{top:84px}.brand{gap:8px;min-width:0;flex-shrink:1}.brand img{width:33px;height:33px;flex-shrink:0}.brand strong{font-size:13px;line-height:1.6;letter-spacing:0}.brand strong>span{display:block}.brand small{font-size:9px;line-height:1.4;margin-top:2px}.menu-toggle{flex-shrink:0;font-size:9px;padding:7px 8px;gap:6px}.footer-brand{font-size:14px;flex-basis:calc(100% - 65px)}.footer-brand span{font-size:10px}}

/* 布目湖の調査写真を主役にし、縦長の構図を保つ */
.hero-photo-catfish{min-height:700px;background:#253e32}
.hero-photo-open{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:transparent;display:block;cursor:zoom-in}
.hero-photo-open img{width:100%;height:100%;object-fit:contain;object-position:center}
.hero-photo-open:focus-visible{outline-offset:-5px}
.hero-photo-catfish figcaption{pointer-events:none;align-items:flex-end}
.hero-photo-catfish figcaption>span:last-child{text-align:right;line-height:1.8;background:#173e35b8;padding:7px 11px}
@media(max-width:1100px){.hero-photo-catfish figcaption{align-items:flex-start}.hero-photo-catfish figcaption>span:last-child{text-align:left}}
@media(max-width:800px){.hero-photo-catfish{min-height:620px}}
@media(max-width:560px){.hero-photo-catfish{min-height:560px;height:560px;aspect-ratio:auto}.hero-photo-catfish .hero-photo-open img{object-position:center}.hero-photo-catfish figcaption{left:15px;right:15px;bottom:15px;flex-direction:row;align-items:flex-end}.hero-photo-catfish figcaption>span:first-child{font-size:8px;letter-spacing:.08em}.hero-photo-catfish figcaption>span:last-child{font-size:9px;text-align:right;padding:5px 8px}.hero-photo-catfish .hero-character{right:2px;top:0;width:115px}}
/* 募集告知と会員資格の主表示 */
.brand strong{font-size:16px;line-height:1.65}.brand strong>span{display:inline}.brand strong em{font-style:normal;font-size:11px;display:inline-block;border:1px solid #9aab92;padding:0 6px;line-height:1.7;vertical-align:2px;margin-left:3px}.brand small{font-size:9px}.nav-recruit{color:#526921}.header nav{gap:23px}.hero-description{font-size:12px}.footer-brand{font-size:15px}.footer-brand span{font-size:10px}
.recruitment{background:#e0ed88;border-bottom:1px solid #c7d270;scroll-margin-top:0}.recruitment-inner{max-width:1320px;margin:auto;padding:43px 6%;display:flex;justify-content:space-between;align-items:center;gap:35px}.recruitment h2{font-family:var(--sans);font-weight:800;font-size:32px;letter-spacing:.04em;line-height:1.55;margin-top:9px}.recruitment h2 span{display:inline-block;margin-left:.2em}.recruitment p{font-size:12px;line-height:2.1;margin-top:13px;color:#364a31}.recruitment .button{margin:0;min-width:290px;flex-shrink:0;font-size:12px;gap:20px}.recruitment .eyebrow{font-size:9px;letter-spacing:.18em}
@media(min-width:951px) and (max-width:1120px){.header nav{gap:13px;font-size:10px}.brand strong{font-size:14px}.brand small{font-size:8px}.nav-contact{padding:9px 12px}}
@media(max-width:800px){.recruitment-inner{display:block;padding:36px 6%}.recruitment h2{font-size:29px}.recruitment .button{min-width:0;width:max-content;margin-top:23px;font-size:11px}.recruitment p{font-size:11px}}
@media(max-width:560px){html{scroll-padding-top:112px}.header{height:104px}.header nav{top:104px}.brand strong{font-size:12px;line-height:1.8}.brand strong>span{display:block}.brand strong em{font-size:9px;vertical-align:1px;padding:0 5px}.brand small{font-size:7.5px;line-height:1.6;letter-spacing:0}.brand small>span{display:block}.brand small>span+span{font-size:8px}.brand img{width:30px;height:30px}.recruitment-inner{padding:32px 7%}.recruitment h2{font-size:29px;line-height:1.6}.recruitment h2 span{display:block;margin-left:0}.recruitment .button{width:100%;font-size:11px;padding:16px 19px}.recruitment p br{display:none}.hero-description{font-size:11px}.footer-brand{font-size:12px}.footer-brand span{font-size:9px}}

.hero .hero-description{font-size:13px;line-height:2.1}.hero-kicker{letter-spacing:.025em}
.report-news{display:flex;gap:18px;align-items:center;padding:20px 6%;border-bottom:1px solid var(--line);font-size:11px;line-height:1.8}.report-news time{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.04em;white-space:nowrap}.report-news-tag{background:var(--green);color:var(--paper);padding:2px 9px;font-size:9px;white-space:nowrap}.report-news strong{font-weight:600}.report-news>span:last-child{font-size:22px;margin-left:auto}.report-news:hover,.story-read-more:hover{color:#5c7430}.story-read-more{display:inline-block;font-size:11px;font-weight:700;border-bottom:1px solid #8b9e7d;margin-top:15px;padding-bottom:3px}.report-main{max-width:1120px;margin:auto;padding:45px 6% 70px}.report-back{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:30px}.report-meta{display:flex;gap:17px;align-items:center;font-size:10px;color:var(--muted)}.report-meta time{font:700 12px Arial,sans-serif;letter-spacing:.07em}.report-meta>span:nth-child(2){background:#e3ebd8;color:var(--green);padding:3px 12px}.report-heading h1{font-family:var(--serif);font-size:clamp(27px,3vw,42px);line-height:1.6;letter-spacing:.025em;font-weight:600;margin-top:16px}.report-heading h1>span{display:block;font-size:.72em;margin-top:5px}.report-lead{font-size:14px;color:var(--muted);line-height:2.2;max-width:850px;margin-top:25px}.report-hero{margin-top:35px}.report-hero .photo-open{width:100%;aspect-ratio:1.6}.report-hero img{object-position:center 55%}.report-main figcaption{font-size:10px;color:var(--muted);line-height:1.8;margin-top:10px}.report-body{max-width:780px;margin:auto}.report-facts{margin:42px 0 50px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:22px 40px}.report-facts>div{display:grid;grid-template-columns:88px 1fr;gap:12px;font-size:12px}.report-facts dt{font-size:10px}.report-facts dd small{font-size:10px;color:var(--muted)}.report-facts dd strong{font-size:16px}.report-text{margin-top:40px}.report-text h2{font-size:26px;line-height:1.7;margin-top:12px}.report-text p{font-size:14px;line-height:2.2;margin-top:20px;color:#435b4d}.report-source-link{font-size:10px;text-decoration:underline;text-underline-offset:3px;margin-left:4px;white-space:nowrap}.report-photo-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:25px;margin:38px 0 45px}.report-photo-grid .photo-open{width:100%;height:360px;background:#e7eade}.report-photo-grid img{object-fit:contain}.report-support{background:#e8eddb;padding:30px;margin-top:45px}.report-support h2{font-size:23px}.report-support p{font-size:12px;color:var(--muted);margin-top:15px}.report-support .button{width:max-content;min-width:240px;margin-top:22px}.report-sources{margin-top:35px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}.report-sources summary{display:flex;justify-content:space-between}.report-sources p{margin-top:16px;line-height:2}.report-sources ul{padding-left:20px}.report-sources a{text-decoration:underline;text-underline-offset:3px}.report-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:11px}
@media(max-width:800px){.report-main{padding:30px 6% 50px}.report-heading h1{font-size:30px}.report-lead{font-size:13px}.report-text p{font-size:13px}.report-photo-grid{gap:16px}.report-photo-grid .photo-open{height:300px}.report-facts{gap:18px 25px}.report-facts>div{grid-template-columns:68px 1fr;gap:8px;font-size:11px}}
@media(max-width:560px){.report-news{display:grid;grid-template-columns:auto auto 1fr;gap:8px 12px;padding:16px 7%;font-size:11px}.report-news strong{grid-column:1/3;font-size:11px;line-height:1.9}.report-news>span:last-child{grid-row:1/3;grid-column:3;align-self:center;margin-left:auto}.report-news-tag{width:max-content}.report-main{padding:27px 7% 45px}.report-back{margin-bottom:24px;font-size:10px}.report-meta{gap:12px;font-size:9px}.report-meta time{font-size:10px}.report-heading h1{font-size:27px;letter-spacing:0;line-height:1.65}.report-heading h1>span{font-size:20px;margin-top:12px}.report-lead{font-size:12px;margin-top:20px}.report-hero{margin-top:25px}.report-hero .photo-open{aspect-ratio:1.25}.report-main figcaption{font-size:9px}.report-facts{grid-template-columns:1fr;gap:15px;margin:30px 0 35px;padding:20px 0}.report-facts>div{grid-template-columns:76px 1fr;font-size:12px}.report-text{margin-top:32px}.report-text h2{font-size:23px}.report-text p{font-size:12px;line-height:2.2;margin-top:17px}.report-source-link{font-size:9px}.report-photo-grid{grid-template-columns:1fr;gap:25px;margin:30px 0}.report-photo-grid .photo-open{height:auto;aspect-ratio:1.25}.report-photo-grid figure:last-child .photo-open{height:380px;aspect-ratio:auto}.report-support{padding:24px 20px;margin-top:35px}.report-support h2{font-size:22px}.report-support .button{width:100%;min-width:0;font-size:11px;padding:15px 17px}.report-sources{font-size:10px}.report-bottom{flex-direction:column;font-size:11px;gap:13px}}
@media(max-width:800px){.hero .hero-description{font-size:12px}.hero-kicker{font-size:11px}}
@media(max-width:560px){.hero .hero-description{font-size:12px}.hero-kicker{font-size:11px;line-height:1.8}}

/* 承認済みJOFIロゴを各ページのメインロゴに使用 */
.brand img{width:64px;height:64px;object-fit:contain;flex-shrink:0}
@media(max-width:950px){.brand img{width:56px;height:56px}}
@media(max-width:560px){.brand img{width:46px;height:46px}}
