:root{
  --edj-base:#F9F6EF;
  --edj-ink:#1E1E1E;
  --edj-olive:#6B7A3F;
  --edj-sand:#A89F86;
  --edj-cream:#E8E2D4;
  --edj-border:#D9D2BF;
  --edj-muted:#6A6A6A;
  --edj-white:#FFFFFF;
  --edj-shadow:0 4px 14px rgba(30,30,30,0.06);
  --edj-serif:"Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --edj-sans:"Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  --edj-maxw:1160px;
  --edj-radius:6px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--edj-base);
  color:var(--edj-ink);
  font-family:var(--edj-sans);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--edj-olive);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block;height:auto}
h1,h2,h3,h4,h5,h6{font-family:var(--edj-serif);color:var(--edj-ink);line-height:1.45;margin:0 0 0.6em}
h1{font-size:2.1rem;letter-spacing:.02em}
h2{font-size:1.55rem;border-left:4px solid var(--edj-olive);padding-left:.6rem;margin-top:2.2rem}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.edj-container{max-width:var(--edj-maxw);margin:0 auto;padding:0 24px}

.edj-topbar{background:var(--edj-base);border-bottom:1px solid var(--edj-border)}
.edj-topbar__inner{display:flex;flex-direction:column;align-items:center;padding:18px 24px 0;max-width:var(--edj-maxw);margin:0 auto}
.edj-logo{font-family:var(--edj-serif);font-size:1.4rem;color:var(--edj-ink);letter-spacing:.08em;font-weight:700}
.edj-logo span{color:var(--edj-olive)}
.edj-sub{font-size:.8rem;color:var(--edj-muted);margin-top:4px;letter-spacing:.06em}
.edj-navrow{margin-top:14px;border-top:1px solid var(--edj-border);width:100%}
.edj-navrow__inner{max-width:var(--edj-maxw);margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:10px 24px;flex-wrap:wrap;gap:12px}
.edj-menu{list-style:none;margin:0;padding:0;display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.edj-menu>li{position:relative}
.edj-menu a{color:var(--edj-ink);font-size:.95rem;padding:6px 2px;display:inline-block}
.edj-menu a:hover{color:var(--edj-olive);text-decoration:none;border-bottom:1px solid var(--edj-olive)}
.edj-dropdown-btn{background:none;border:0;font-family:inherit;font-size:.95rem;cursor:pointer;color:var(--edj-ink);padding:6px 2px;display:inline-flex;align-items:center;gap:4px}
.edj-dropdown-btn[aria-expanded="true"]{color:var(--edj-olive)}
.edj-dropdown{position:absolute;top:100%;left:0;background:var(--edj-white);border:1px solid var(--edj-border);box-shadow:var(--edj-shadow);min-width:280px;padding:10px 0;display:none;z-index:40}
.edj-dropdown.is-open{display:block}
.edj-dropdown li{list-style:none}
.edj-dropdown a{display:block;padding:8px 18px;font-size:.88rem;color:var(--edj-ink)}
.edj-dropdown a:hover{background:var(--edj-cream);color:var(--edj-olive)}
.edj-nav-cta{background:var(--edj-olive);color:var(--edj-white)!important;padding:9px 18px!important;border-radius:2px;font-size:.9rem;border:1px solid var(--edj-olive)}
.edj-nav-cta:hover{background:#586632;text-decoration:none;border-color:#586632}

.edj-hero{background:var(--edj-base);padding:64px 0 70px;border-bottom:1px solid var(--edj-border)}
.edj-hero__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.edj-hero__eyebrow{color:var(--edj-olive);font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;font-weight:600}
.edj-hero h1{font-size:2.45rem;margin-bottom:18px}
.edj-hero__lead{font-size:1.02rem;color:#3b3b3b;margin-bottom:28px;max-width:560px}
.edj-hero__cta{display:inline-block;background:var(--edj-ink);color:var(--edj-white);padding:13px 28px;border-radius:2px;font-size:.95rem;letter-spacing:.04em}
.edj-hero__cta:hover{background:var(--edj-olive);text-decoration:none;color:var(--edj-white)}
.edj-hero__image{aspect-ratio:4/3;background:var(--edj-cream);overflow:hidden;border:1px solid var(--edj-border)}
.edj-hero__image img{width:100%;height:100%;object-fit:cover}

.edj-section{padding:72px 0}
.edj-section--cream{background:var(--edj-cream)}
.edj-section__head{text-align:left;margin-bottom:40px}
.edj-section__eyebrow{color:var(--edj-olive);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px;font-weight:600}

.edj-about__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.edj-about__image{aspect-ratio:4/3;background:var(--edj-cream);border:1px solid var(--edj-border);overflow:hidden}
.edj-about__image img{width:100%;height:100%;object-fit:cover}

.edj-mission__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.edj-mission__grid.reverse .edj-mission__image{order:2}
.edj-mission__image{aspect-ratio:4/3;background:var(--edj-cream);border:1px solid var(--edj-border);overflow:hidden}
.edj-mission__image img{width:100%;height:100%;object-fit:cover}

.edj-columns-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.edj-column-card{background:var(--edj-white);border:1px solid var(--edj-border);display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}
.edj-column-card:hover{transform:translateY(-3px);box-shadow:var(--edj-shadow)}
.edj-column-card__image{aspect-ratio:4/3;overflow:hidden;background:var(--edj-cream)}
.edj-column-card__image img{width:100%;height:100%;object-fit:cover}
.edj-column-card__body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.edj-column-card__tag{font-size:.72rem;color:var(--edj-olive);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-weight:600}
.edj-column-card__body h3{font-size:1.08rem;margin-bottom:10px;line-height:1.5}
.edj-column-card__body h3 a{color:var(--edj-ink)}
.edj-column-card__body h3 a:hover{color:var(--edj-olive);text-decoration:none}
.edj-column-card__excerpt{font-size:.9rem;color:#434343;margin-bottom:14px;flex:1}
.edj-column-card__cta{font-size:.85rem;color:var(--edj-olive);font-weight:600;border-bottom:1px solid var(--edj-olive);align-self:flex-start;padding-bottom:1px}
.edj-column-card__cta:hover{text-decoration:none;color:#586632;border-color:#586632}

.edj-reader-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.edj-reader-card{background:var(--edj-white);border:1px solid var(--edj-border);padding:24px;text-align:left}
.edj-reader-card__icon{width:36px;height:36px;color:var(--edj-olive);margin-bottom:14px}
.edj-reader-card h4{font-size:1.02rem;margin-bottom:8px}
.edj-reader-card p{font-size:.88rem;color:#484848;margin:0}

.edj-faq{max-width:820px}
.edj-faq details{background:var(--edj-white);border:1px solid var(--edj-border);padding:16px 22px;margin-bottom:12px}
.edj-faq details[open]{background:var(--edj-base)}
.edj-faq summary{cursor:pointer;font-family:var(--edj-serif);font-size:1.02rem;color:var(--edj-ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.edj-faq summary::-webkit-details-marker{display:none}
.edj-faq summary::after{content:"+";font-size:1.4rem;color:var(--edj-olive);transition:transform .2s ease}
.edj-faq details[open] summary::after{content:"−"}
.edj-faq details>p{margin-top:12px;font-size:.93rem;color:#434343}

.edj-closing{background:var(--edj-ink);color:var(--edj-base);padding:64px 0;text-align:center}
.edj-closing h2{color:var(--edj-base);border-left:0;padding-left:0;font-size:1.75rem}
.edj-closing p{max-width:620px;margin:0 auto 26px;color:#cfc9b8;font-size:.98rem}
.edj-closing__cta{display:inline-block;background:var(--edj-olive);color:var(--edj-white);padding:13px 30px;font-size:.95rem;letter-spacing:.04em}
.edj-closing__cta:hover{background:#7f9149;text-decoration:none;color:var(--edj-white)}

.edj-footer{background:var(--edj-base);border-top:1px solid var(--edj-border);padding:54px 0 24px;color:#3a3a3a}
.edj-footer__grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:48px;margin-bottom:36px}
.edj-footer h5{font-family:var(--edj-serif);font-size:1rem;margin-bottom:16px;color:var(--edj-ink)}
.edj-footer ul{list-style:none;padding:0;margin:0}
.edj-footer ul li{margin-bottom:8px;font-size:.88rem}
.edj-footer ul a{color:#3a3a3a}
.edj-footer ul a:hover{color:var(--edj-olive)}
.edj-footer__contact p{font-size:.88rem;margin-bottom:8px;color:#3a3a3a}
.edj-newsletter input[type="email"],.edj-newsletter input[type="text"]{width:100%;padding:10px 12px;border:1px solid var(--edj-border);background:var(--edj-white);font-family:inherit;font-size:.9rem;margin-bottom:10px}
.edj-newsletter label{font-size:.78rem;color:var(--edj-muted);display:flex;gap:8px;align-items:flex-start;margin-bottom:12px}
.edj-newsletter label input{margin-top:3px}
.edj-newsletter button{background:var(--edj-olive);color:var(--edj-white);border:0;padding:10px 20px;font-family:inherit;font-size:.88rem;cursor:pointer;letter-spacing:.04em}
.edj-newsletter button:hover{background:#586632}
.edj-footer__bottom{border-top:1px solid var(--edj-border);padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;color:var(--edj-muted)}
.edj-cookie-link{background:none;border:0;color:var(--edj-olive);font-family:inherit;cursor:pointer;font-size:.82rem;padding:0;text-decoration:underline}

.edj-article-hero{background:var(--edj-cream);padding:60px 0 48px;border-bottom:1px solid var(--edj-border)}
.edj-article-hero__meta{font-size:.82rem;color:var(--edj-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.edj-article-hero h1{font-size:2.1rem;max-width:820px;margin-bottom:12px}
.edj-article-hero__byline{font-size:.88rem;color:var(--edj-muted)}
.edj-article{padding:58px 0}
.edj-article__wrap{max-width:760px;margin:0 auto}
.edj-article__image{aspect-ratio:16/9;overflow:hidden;border:1px solid var(--edj-border);margin-bottom:36px;background:var(--edj-cream)}
.edj-article__image img{width:100%;height:100%;object-fit:cover}
.edj-article__wrap h2{margin-top:2rem}
.edj-article__wrap p{font-size:1rem;line-height:1.85}
.edj-article__wrap ul,.edj-article__wrap ol{padding-left:1.4em;margin:1em 0}
.edj-article__wrap li{margin-bottom:8px;font-size:.98rem}
.edj-article__nav{display:flex;justify-content:space-between;gap:20px;margin-top:48px;padding-top:28px;border-top:1px solid var(--edj-border);flex-wrap:wrap}
.edj-article__nav a{display:block;padding:14px 18px;border:1px solid var(--edj-border);background:var(--edj-white);max-width:48%;flex:1;min-width:220px}
.edj-article__nav a:hover{border-color:var(--edj-olive);text-decoration:none}
.edj-article__nav span{display:block;font-size:.74rem;color:var(--edj-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.edj-article__nav strong{font-family:var(--edj-serif);font-size:.98rem;color:var(--edj-ink);font-weight:600}

.edj-page-hero{background:var(--edj-base);padding:58px 0 40px;border-bottom:1px solid var(--edj-border)}
.edj-page-hero h1{font-size:2rem;margin-bottom:8px}
.edj-page-hero p{color:var(--edj-muted);font-size:.95rem;max-width:660px}

.edj-page-body{padding:58px 0}
.edj-page-body h2{margin-top:1.8rem}
.edj-page-body__wrap{max-width:820px;margin:0 auto}

.edj-contact__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:36px;background:var(--edj-base);padding:36px;border:1px solid var(--edj-border)}
.edj-contact__info{padding:8px}
.edj-contact__info h3{font-size:1.1rem;margin-bottom:18px}
.edj-contact__item{display:flex;gap:14px;margin-bottom:20px;align-items:flex-start}
.edj-contact__item svg{width:24px;height:24px;color:var(--edj-olive);flex-shrink:0;margin-top:2px}
.edj-contact__item__label{font-size:.74rem;color:var(--edj-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}
.edj-contact__item__value{font-size:.95rem;color:var(--edj-ink)}
.edj-contact__item__value a{color:var(--edj-ink)}
.edj-contact__form{background:var(--edj-white);padding:32px 30px;border:1px solid var(--edj-border)}
.edj-contact__form h3{font-size:1.1rem;margin-bottom:18px}
.edj-contact__form label{display:block;margin-bottom:14px;font-size:.84rem;color:#3a3a3a}
.edj-contact__form label span{display:block;margin-bottom:5px;color:var(--edj-muted);letter-spacing:.04em}
.edj-contact__form input,.edj-contact__form textarea{width:100%;padding:10px 12px;border:1px solid var(--edj-border);font-family:inherit;font-size:.95rem;background:var(--edj-white)}
.edj-contact__form textarea{resize:vertical;min-height:130px}
.edj-contact__form button{background:var(--edj-ink);color:var(--edj-white);border:0;padding:12px 24px;font-family:inherit;font-size:.92rem;cursor:pointer;letter-spacing:.04em;margin-top:8px}
.edj-contact__form button:hover{background:var(--edj-olive)}
.edj-contact__form .edj-consent{font-size:.78rem;color:var(--edj-muted);display:flex;gap:8px;align-items:flex-start;margin-top:8px;margin-bottom:12px}

.edj-map{margin-top:36px;background:var(--edj-cream);border:1px solid var(--edj-border)}
.edj-map__frame{position:relative;width:100%;height:420px}
.edj-map__frame iframe{width:100%;height:100%;border:0}
.edj-map__open{display:inline-block;margin-top:12px;padding:10px 18px;background:var(--edj-white);border:1px solid var(--edj-border);font-size:.85rem;color:var(--edj-ink)}
.edj-map__open:hover{border-color:var(--edj-olive);color:var(--edj-olive);text-decoration:none}
.edj-map__inner{padding:18px 20px}

.edj-archive-list{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.edj-archive-card{background:var(--edj-white);border:1px solid var(--edj-border);padding:0;display:flex;flex-direction:column}
.edj-archive-card__image{aspect-ratio:16/9;overflow:hidden;background:var(--edj-cream)}
.edj-archive-card__image img{width:100%;height:100%;object-fit:cover}
.edj-archive-card__body{padding:24px 26px 28px}
.edj-archive-card__meta{font-size:.76rem;color:var(--edj-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.edj-archive-card h3{font-size:1.12rem;margin-bottom:10px}
.edj-archive-card h3 a{color:var(--edj-ink)}
.edj-archive-card h3 a:hover{color:var(--edj-olive);text-decoration:none}
.edj-archive-card p{font-size:.92rem;color:#434343;margin-bottom:12px}
.edj-archive-card__cta{font-size:.85rem;color:var(--edj-olive);font-weight:600}
.edj-series-anchor{padding:44px 0 0;border-top:1px dashed var(--edj-border);margin-top:40px}
.edj-series-anchor:first-child{border-top:0;margin-top:0;padding-top:0}
.edj-series-anchor h2{margin-top:0}

.edj-cookie{position:fixed;left:0;right:0;bottom:0;background:var(--edj-base);border-top:1px solid var(--edj-border);padding:20px 24px;z-index:200;box-shadow:0 -4px 16px rgba(30,30,30,.08);display:none}
.edj-cookie.is-open{display:block}
.edj-cookie__inner{max-width:var(--edj-maxw);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.edj-cookie__text{font-size:.88rem;color:var(--edj-ink);line-height:1.6}
.edj-cookie__text strong{display:block;font-family:var(--edj-serif);font-size:1rem;margin-bottom:4px}
.edj-cookie__text a{color:var(--edj-olive);text-decoration:underline}
.edj-cookie__actions{display:flex;gap:10px;flex-wrap:wrap}
.edj-cookie__actions button{padding:10px 20px;border:1px solid var(--edj-ink);font-family:inherit;font-size:.88rem;cursor:pointer;letter-spacing:.04em;min-width:120px}
.edj-cookie__accept{background:var(--edj-ink);color:var(--edj-white)}
.edj-cookie__accept:hover{background:var(--edj-olive);border-color:var(--edj-olive)}
.edj-cookie__decline{background:var(--edj-white);color:var(--edj-ink)}
.edj-cookie__decline:hover{background:var(--edj-cream)}

.edj-modal{position:fixed;inset:0;background:rgba(30,30,30,.55);display:none;align-items:center;justify-content:center;z-index:300;padding:20px}
.edj-modal.is-open{display:flex}
.edj-modal__inner{background:var(--edj-white);max-width:460px;width:100%;padding:34px 32px;border:1px solid var(--edj-border);text-align:center}
.edj-modal__inner h3{font-size:1.3rem;margin-bottom:12px;color:var(--edj-olive)}
.edj-modal__inner p{color:#3a3a3a;margin-bottom:20px;font-size:.95rem}
.edj-modal__close{background:var(--edj-ink);color:var(--edj-white);border:0;padding:10px 26px;font-family:inherit;cursor:pointer;font-size:.88rem}

@media(max-width:900px){
  .edj-hero__grid,.edj-about__grid,.edj-mission__grid,.edj-mission__grid.reverse,.edj-contact__grid{grid-template-columns:1fr;gap:32px}
  .edj-mission__grid.reverse .edj-mission__image{order:0}
  .edj-columns-grid{grid-template-columns:repeat(2,1fr)}
  .edj-reader-grid{grid-template-columns:repeat(2,1fr)}
  .edj-footer__grid{grid-template-columns:1fr;gap:28px}
  .edj-cookie__inner{grid-template-columns:1fr}
  .edj-archive-list{grid-template-columns:1fr}
  .edj-hero h1{font-size:1.9rem}
  .edj-navrow__inner{padding:10px 16px}
  .edj-menu{gap:14px}
  .edj-hero{padding:44px 0 50px}
  .edj-section{padding:52px 0}
  .edj-map__frame{height:320px}
}
@media(max-width:540px){
  .edj-columns-grid{grid-template-columns:1fr}
  .edj-reader-grid{grid-template-columns:1fr}
  h1{font-size:1.7rem}
  .edj-hero h1{font-size:1.65rem}
  .edj-article-hero h1{font-size:1.65rem}
  .edj-article__nav a{max-width:100%}
}
