/*
Theme Name: JMA Fukuoka Minami Venue
Description: JMAドローンスクール福岡南会場 公式LP
Version: 2.2.1
*/
:root{
  --fmn-ink:#171917;
  --fmn-muted:#686e6a;
  --fmn-line:#d8ddd8;
  --fmn-paper:#f4f5f1;
  --fmn-green:#244f42;
  --fmn-green-dark:#17352c;
  --fmn-white:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--fmn-ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Noto Sans JP","Yu Gothic",Arial,sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.fmn-wrap{width:min(1120px,calc(100% - 64px));margin:0 auto}
.fmn-eyebrow{margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--fmn-green)}
.fmn-index{font-size:10px;letter-spacing:.16em;color:#8a8f8b;text-transform:uppercase}
.fmn-section{padding:88px 0}
.fmn-section--soft{background:var(--fmn-paper)}

.fm-header{position:fixed;z-index:1000;top:0;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.07)}
.fm-header__inner{width:min(1120px,calc(100% - 64px));height:70px;display:flex;align-items:center;justify-content:space-between;margin:0 auto}
.fm-brand{display:flex;align-items:center;gap:10px}.fm-brand img{width:44px}.fm-brand span{display:flex;flex-direction:column;line-height:1.15}.fm-brand strong{font-size:12px}.fm-brand small{font-size:9px;color:#707572;letter-spacing:.08em;margin-top:4px}
.fm-header__actions{display:flex;align-items:center;gap:10px}
.fm-header__cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;background:var(--fmn-green);color:#fff;font-size:12px;font-weight:700}
.fm-venue-menu{position:relative}
.fm-venue-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid #cfd5d0;border-radius:999px;background:#fff;font-size:12px;font-weight:700}
.fm-venue-menu summary::-webkit-details-marker{display:none}
.fm-venue-menu__panel{position:absolute;top:52px;right:0;width:310px;padding:10px 18px 16px;background:#fff;border:1px solid #d9ddda;box-shadow:0 20px 50px rgba(0,0,0,.14)}
.fm-venue-menu__panel a{display:flex;align-items:center;justify-content:space-between;padding:14px 2px;border-bottom:1px solid #ecefec;font-size:13px}
.fm-venue-menu__panel a:last-child{border-bottom:0}
.fm-venue-menu__panel a:after{content:"↗";font-size:11px;color:#8a8f8b}

.fmn-hero{padding:142px 0 76px;background:linear-gradient(135deg,#fafbf8 0%,#eef2ed 100%)}
.fmn-hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}
.fmn-hero h1,.fmn-section h2,.fmn-final h2{margin:0;font-weight:500;letter-spacing:-.045em;line-height:1.14}
.fmn-hero h1{font-size:clamp(46px,4.2vw,64px)}
.fmn-hero h1 em{font-style:normal;color:var(--fmn-green)}
.fmn-lead{max-width:590px;margin:26px 0 0;font-size:16px;line-height:1.9;color:#505753}
.fmn-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.fmn-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-size:13px;font-weight:700}
.fmn-btn--primary{background:var(--fmn-green);color:#fff}
.fmn-btn--line{border:1px solid #9aa19c;background:rgba(255,255,255,.6)}
.fmn-btn--light{background:#fff;color:#111}
.fmn-btn--darkline{border:1px solid rgba(255,255,255,.45);color:#fff}
.fmn-hero__panel{position:relative;min-height:340px;border:1px solid #d8ddd8;background:#e8ebe5;overflow:hidden}
.fmn-hero__panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(23,25,23,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(23,25,23,.05) 1px,transparent 1px);background-size:34px 34px}
.fmn-hero__place{position:absolute;left:7%;top:12%;font-size:clamp(44px,4.4vw,66px);font-weight:700;line-height:.86;letter-spacing:-.06em;color:#717773}
.fmn-hero__place span{margin-left:.3em}
.fmn-hero__meta{position:absolute;left:7%;bottom:8%;font-size:9px;font-weight:700;letter-spacing:.16em}
.fmn-hero__badge{position:absolute;right:6%;bottom:7%;width:56px;height:56px;border:1px solid #333;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:9px;font-weight:800;line-height:1.2}

.fmn-path{border-top:1px solid #252825;border-bottom:1px solid #252825;background:#181a18;color:#fff}
.fmn-path__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.fmn-path a{display:flex;align-items:center;gap:12px;padding:19px 18px;border-right:1px solid #363936;font-size:13px}
.fmn-path a:first-child{border-left:1px solid #363936}
.fmn-path span{font-size:9px;color:#aeb4af}

.fmn-intro{display:grid;grid-template-columns:150px 1fr;gap:36px}
.fmn-intro h2,.fmn-sectionhead h2,.fmn-license h2,.fmn-faq h2{font-size:clamp(36px,3.4vw,50px)}
.fmn-copycols{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:28px}
.fmn-copycols p{margin:0;color:var(--fmn-muted);font-size:14px}

.fmn-sectionhead{display:grid;grid-template-columns:150px minmax(0,1fr) 300px;gap:36px;align-items:start;margin-bottom:40px}
.fmn-sectionhead>p:last-child{margin:0;color:var(--fmn-muted);font-size:13px}
.fmn-schedule{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fmn-schedule article{display:flex;flex-direction:column;justify-content:space-between;min-height:250px;padding:30px;border:1px solid var(--fmn-line);background:#fff}
.fmn-schedule small{font-size:9px;letter-spacing:.16em;color:var(--fmn-green)}
.fmn-schedule h3{margin:18px 0 10px;font-size:24px;line-height:1.4}
.fmn-schedule p{margin:0;color:var(--fmn-muted);font-size:13px}
.fmn-schedule article>a{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:14px;border-top:1px solid #1c1f1c;font-size:13px;font-weight:700}

.fmn-photo__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:54px;align-items:center}
.fmn-photo__copy{max-width:360px}
.fmn-photo h2{font-size:clamp(36px,3.5vw,50px)}
.fmn-photo__copy>p:last-child{margin:22px 0 0;color:var(--fmn-muted);font-size:13px}
.fmn-photo figure{margin:0;aspect-ratio:16/9;max-height:340px;overflow:hidden;background:#eee}
.fmn-photo figure img{display:block;width:100%;height:100%;object-fit:cover}

.fmn-reasons{background:var(--fmn-green);color:#fff}
.fmn-reasons .fmn-eyebrow,.fmn-reasons .fmn-index{color:#c8d8d0}
.fmn-sectionhead--light{grid-template-columns:150px 1fr}
.fmn-reasons__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.24)}
.fmn-reasons article{min-height:230px;padding:30px 28px;border-right:1px solid rgba(255,255,255,.24)}
.fmn-reasons article:first-child{border-left:1px solid rgba(255,255,255,.24)}
.fmn-reasons article span{font-size:10px;color:#c8d8d0}
.fmn-reasons h3{margin:34px 0 12px;font-size:21px;line-height:1.45}
.fmn-reasons article p{margin:0;color:#dce7e1;font-size:13px}

.fmn-license{display:grid;grid-template-columns:1fr .85fr;gap:72px;align-items:start}
.fmn-license .fmn-index{margin-bottom:28px}
.fmn-links{border-top:1px solid #aeb5b0}
.fmn-links a,.fmn-textlink{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #aeb5b0;font-size:13px;font-weight:700}

.fmn-textlink{margin-top:18px}

.fmn-faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}
.fmn-faq .fmn-index{margin-bottom:28px}
.fmn-faq__items{border-top:1px solid #aaa}
.fmn-faq details{border-bottom:1px solid #bbb}
.fmn-faq summary{position:relative;cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-size:16px;font-weight:700}
.fmn-faq summary:after{content:"＋";position:absolute;right:4px;top:19px}
.fmn-faq details[open] summary:after{content:"−"}
.fmn-faq details p{margin:0;padding:0 0 22px;color:var(--fmn-muted);font-size:14px}

.fmn-final{padding:78px 0;background:var(--fmn-green-dark);color:#fff}
.fmn-final .fmn-eyebrow{color:#bfd0c8}
.fmn-final__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}
.fmn-final h2{font-size:clamp(38px,4vw,56px)}

.fm-footer{background:#eef0ec;border-top:1px solid #d7dcd7;padding:42px 0 20px}
.fm-footer__grid{width:min(1120px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:40px}
.fm-footer__brand{font-weight:700}.fm-footer p{font-size:11px;color:#6c716d}.fm-footer__links{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;font-size:11px}.fm-footer__contact{display:flex;flex-direction:column;align-items:flex-end}.fm-footer__contact a{font-size:20px;font-weight:700}.fm-footer__contact small{font-size:10px;color:#747a76}.fm-footer__bottom{width:min(1120px,calc(100% - 64px));margin:28px auto 0;padding-top:14px;border-top:1px solid #d7dcd7;font-size:9px;color:#7a7f7b}

/* Venue cards: no map */
.fmn-venuecards{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.fmn-venuecard{display:flex;flex-direction:column;min-height:320px;padding:32px;border:1px solid var(--fmn-line);background:#fff}
.fmn-venuecard--primary{background:#e9efe9;border-color:#cbd6cf}
.fmn-venuecard--renewal{background:#fff}
.fmn-venuecard__label{margin:0 0 18px;font-size:9px;font-weight:700;letter-spacing:.15em;color:var(--fmn-green)}
.fmn-venuecard h3{margin:0 0 18px;font-size:24px;line-height:1.4}
.fmn-venuecard__place{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--fmn-green)}
.fmn-venuecard__address{margin:0;font-size:20px;line-height:1.55;font-weight:700}
.fmn-venuecard__note{margin:18px 0 0;color:var(--fmn-muted);font-size:13px}
.fmn-venuecard__contact{margin-top:auto;padding-top:22px}
.fmn-venuecard__company{margin:0 0 10px;font-size:12px;font-weight:700}
.fmn-venuecard dl{margin:0}
.fmn-venuecard dl>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--fmn-line)}
.fmn-venuecard dt{font-size:10px;color:var(--fmn-muted)}
.fmn-venuecard dd{margin:0;font-size:14px}

@media(max-width:900px){
  .fmn-wrap,.fm-header__inner,.fm-footer__grid,.fm-footer__bottom{width:min(100% - 32px,1120px)}
  .fm-brand span{display:none}
  .fm-header__actions{gap:8px}
  .fm-header__cta{display:none}
  .fm-venue-menu summary{width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:0;font-size:0;background:transparent;position:relative}
  .fm-venue-menu summary:before,.fm-venue-menu summary:after{content:"";position:absolute;left:9px;width:26px;height:1px;background:#171917}
  .fm-venue-menu summary:before{top:16px}.fm-venue-menu summary:after{top:27px}
  .fm-venue-menu[open] summary:before{top:21px;transform:rotate(45deg)}.fm-venue-menu[open] summary:after{top:21px;transform:rotate(-45deg)}
  .fm-venue-menu__panel{position:fixed;top:70px;right:0;width:min(88vw,360px);height:calc(100dvh - 70px);padding:18px 24px 36px;overflow-y:auto;border:0;border-left:1px solid #e2e5e2;box-shadow:-18px 0 40px rgba(0,0,0,.14)}
  .fm-venue-menu__panel a{padding:17px 0;font-size:16px}
  .fmn-hero{padding:112px 0 56px}.fmn-hero__grid{grid-template-columns:1fr;gap:32px}.fmn-hero h1{font-size:clamp(42px,9vw,58px)}.fmn-hero__panel{min-height:290px}
  .fmn-path__grid{grid-template-columns:1fr 1fr}
  .fmn-section{padding:68px 0}
  .fmn-intro,.fmn-sectionhead,.fmn-sectionhead--light,.fmn-license,.fmn-photo__grid,.fmn-faq,.fmn-final__grid{grid-template-columns:1fr;gap:28px}
  .fmn-copycols,.fmn-schedule,.fmn-venuecards{grid-template-columns:1fr}
  .fmn-sectionhead{margin-bottom:32px}
  .fmn-photo__copy{max-width:620px}.fmn-photo figure{max-height:none}
  .fmn-reasons__grid{grid-template-columns:1fr}.fmn-reasons article,.fmn-reasons article:first-child{border-left:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24);min-height:auto}
  .fm-footer__grid{grid-template-columns:1fr}.fm-footer__contact{align-items:flex-start}
}
@media(max-width:560px){
  .fmn-wrap,.fm-header__inner,.fm-footer__grid,.fm-footer__bottom{width:calc(100% - 28px)}
  .fm-header__inner{height:64px}.fm-venue-menu__panel{top:64px;height:calc(100dvh - 64px)}
  .fmn-hero{padding-top:100px}.fmn-hero h1{font-size:38px}.fmn-lead{font-size:15px}.fmn-actions{flex-direction:column}.fmn-btn{width:100%}
  .fmn-hero__panel{min-height:230px}.fmn-hero__place{font-size:40px}
  .fmn-path__grid{grid-template-columns:1fr}.fmn-path a,.fmn-path a:first-child{border-left:0;border-right:0;border-bottom:1px solid #343734}
  .fmn-section{padding:54px 0}
  .fmn-intro h2,.fmn-sectionhead h2,.fmn-license h2,.fmn-faq h2,.fmn-photo h2{font-size:32px}
  .fmn-schedule article{min-height:auto;padding:24px}.fmn-schedule h3{font-size:21px}
  .fmn-photo figure{aspect-ratio:4/3}
  .fmn-venuecard{padding:24px 20px}.fmn-venuecard h3{font-size:21px}.fmn-venuecard__address{font-size:17px}.fmn-venuecard dl>div{grid-template-columns:1fr;gap:4px}
  .fmn-final h2{font-size:36px}
}
