/* aim 共通記事文末・専用CSS（既存記事への影響を避け .aim-ef 内に限定） */
.aim-ef{box-sizing:border-box;max-width:760px;margin:54px auto 60px;color:#3d3937;font-family:"Noto Serif JP","Hiragino Mincho ProN",YuMincho,serif;font-size:14px;line-height:1.9;letter-spacing:.045em}
.aim-ef *{box-sizing:border-box}
.aim-ef a{color:inherit;text-decoration:none}
.aim-ef .aim-ef__heading{text-align:center;margin:0 0 52px;padding:0 8px}
.aim-ef .aim-ef__eyebrow{margin:0 0 12px;color:#8d827a;font:500 11px/1.7 Arial,sans-serif;letter-spacing:.2em}
.aim-ef .aim-ef__heading h2{margin:0 0 18px;padding:0;border:0;font-size:clamp(21px,3vw,28px);font-weight:500;line-height:1.65;letter-spacing:.07em;text-align:center}
.aim-ef .aim-ef__intro{max-width:570px;margin:0 auto;font-size:14px;line-height:2.1}
.aim-ef .aim-ef__section{margin:0 0 64px;padding:0}
.aim-ef .aim-ef__section-heading{margin:0 0 25px;text-align:center}
.aim-ef .aim-ef__section-heading h3,.aim-ef .aim-ef__contact h3{margin:0;padding:0;border:0;font-size:clamp(19px,2.7vw,23px);line-height:1.7;font-weight:500;text-align:center}
.aim-ef .aim-ef__section-heading>p:not(.aim-ef__eyebrow){margin:12px 0 0;font-size:13px}
.aim-ef .aim-ef__banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
/* PLAN & STYLEのみ：PC/SPともに中央1列。その他のバナー配置は維持 */
.aim-ef .aim-ef__plan .aim-ef__banners{
  grid-template-columns:minmax(0,1fr);
  gap:28px;
  width:100%;
  max-width:620px;
  margin-right:auto;
  margin-left:auto;
}
.aim-ef .aim-ef__banner{display:block;min-width:0;background:#fff;border:1px solid #e9e5e1;transition:opacity .2s}
.aim-ef .aim-ef__banner:hover{opacity:.75}
.aim-ef .aim-ef__banner img,.aim-ef .aim-ef__shop-image{display:block;width:100%;height:auto;margin:0}
.aim-ef .aim-ef__banner-caption{display:block;padding:13px 12px;text-align:center;font-size:12px;line-height:1.7;letter-spacing:.025em}
.aim-ef .aim-ef__event-banner .aim-ef__banner{max-width:100%;margin:0 auto}
.aim-ef .aim-ef__about-copy{margin-top:27px}
.aim-ef .aim-ef__about-title{margin:0 0 18px;font-size:17px;font-weight:500;line-height:1.7}
.aim-ef .aim-ef__about-copy p{margin:0 0 15px;font-size:13px;line-height:2.1}
.aim-ef .aim-ef__steps{counter-reset:step;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.aim-ef .aim-ef__steps li{counter-increment:step;list-style:none;margin:0;padding:22px 22px 22px 25px;background:#f8f6f4;line-height:1.8}
.aim-ef .aim-ef__steps li:before{content:"0" counter(step);display:block;margin-bottom:8px;color:#988b7e;font:12px/1.5 Arial,sans-serif;letter-spacing:.12em}
.aim-ef .aim-ef__steps strong{display:block;margin-bottom:8px;font-weight:600;font-size:14px}
.aim-ef .aim-ef__steps span{display:block;font-size:12px}
.aim-ef .aim-ef__instagram-feed{max-width:100%;overflow:hidden}
.aim-ef .aim-ef__contact{padding:38px 25px 43px;background:#f8f6f4;text-align:center}
.aim-ef .aim-ef__contact-lead{margin:12px auto 24px;max-width:520px;font-size:13px;line-height:1.9}
.aim-ef .aim-ef__cta-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:left}
.aim-ef .aim-ef__cta-list>a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:85px;padding:16px 13px;background:#fff;border:1px solid #d8d2ca;transition:opacity .2s}
.aim-ef .aim-ef__cta-list>a:hover{opacity:.7}
.aim-ef .aim-ef__cta-text{min-width:0}
.aim-ef .aim-ef__cta-text strong,.aim-ef .aim-ef__cta-text small{display:block}
.aim-ef .aim-ef__cta-text strong{font-size:13px;font-weight:600;line-height:1.5}
.aim-ef .aim-ef__cta-text small{margin-top:5px;color:#777;font-size:10px;line-height:1.7}
.aim-ef .aim-ef__cta-arrow{flex:none;font:15px/1 Arial,sans-serif}
.aim-ef .aim-ef__access-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.aim-ef .aim-ef__map{position:relative;aspect-ratio:4/3;overflow:hidden}
.aim-ef .aim-ef__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;max-width:none}
.aim-ef .aim-ef__access-info p{margin:0 0 13px;font-size:12px;line-height:1.9}
.aim-ef .aim-ef__access-info .aim-ef__access-label{margin:0 0 3px;color:#887b70;font:600 10px/1.5 Arial,sans-serif;letter-spacing:.14em}
.aim-ef .aim-ef__access-info a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){
 .aim-ef{margin:40px auto 50px;padding:0 14px;font-size:13px}
 .aim-ef .aim-ef__heading{margin-bottom:43px}
 .aim-ef .aim-ef__heading h2{font-size:21px}
 .aim-ef .aim-ef__intro{font-size:13px}
 .aim-ef .aim-ef__section{margin-bottom:53px}
 .aim-ef .aim-ef__section-heading{margin-bottom:20px}
 .aim-ef .aim-ef__banners{grid-template-columns:1fr;gap:17px}
 .aim-ef .aim-ef__banner-caption{padding:12px 10px}
 .aim-ef .aim-ef__steps{grid-template-columns:1fr;gap:11px}
 .aim-ef .aim-ef__steps li{padding:19px 20px}
 .aim-ef .aim-ef__contact{padding:28px 16px 32px}
 .aim-ef .aim-ef__cta-list{grid-template-columns:1fr;gap:9px}
 .aim-ef .aim-ef__cta-list>a{min-height:70px}
 .aim-ef .aim-ef__access-grid{grid-template-columns:1fr;gap:20px}
 .aim-ef .aim-ef__map{aspect-ratio:4/3}
}

/* WordPressのwpautopがリンク間に挿入するbrがGridの列を占有する問題を回避 */
.aim-ef .aim-ef__banners > br,
.aim-ef .aim-ef__cta-list > br {
  display: none !important;
}
