/* ===== フルワイド強制 ===== */
.home .l-wrap, .home .l-content--full, .home #content {
  max-width:100%!important; width:100%!important; padding:0!important; margin:0!important;
}
.home .l-sidebar, .home #sidebar, .home .widget-area { display:none!important; }
.home .l-main, .home .l-content, .home main {
  width:100%!important; max-width:100%!important; float:none!important; margin:0!important; padding:0!important;
}
.home .l-article, .home .l-content { padding:0!important; }

/* ===== 共通 ===== */
.fp-inner { max-width:1100px; margin:0 auto; padding:0 24px; }
.fp-sec-head { text-align:center; margin-bottom:36px; }
.fp-sec-head__en { font-size:40px; font-weight:900; color:#333; letter-spacing:6px; line-height:1; font-family:'Noto Serif JP',serif; }
.fp-sec-head__ja { font-size:13px; color:#888; margin-top:6px; }
.fp-orange-btn {
  display:inline-flex; align-items:center; gap:8px;
  background:#e8632a; color:#fff; padding:14px 28px;
  border-radius:4px; text-decoration:none; font-weight:700; font-size:14px;
  transition:opacity .2s;
}
.fp-orange-btn:hover { opacity:.88; color:#fff; }

/* ===== HERO ===== */
.fp-hero { position:relative; height:580px; overflow:hidden; }
.fp-hero__slides { position:absolute; inset:0; }
.fp-hero__slide {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity 1.5s ease;
}
.fp-hero__slide.is-active { opacity:1; }

/* ===== 3カラム ===== */
.fp-3col { background:#e8632a; padding:36px 0; }
.fp-3col__inner { max-width:1100px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.fp-3card { background:#fff; border-radius:4px; overflow:hidden; text-decoration:none; display:block; transition:transform .2s; }
.fp-3card:hover { transform:translateY(-2px); }
.fp-3card__img { width:100%; height:220px; object-fit:cover; display:block; }
.fp-3card__body { padding:20px 16px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; }
.fp-3card__logo { height:56px; width:auto; display:block; }
.fp-3card__en { font-size:32px; font-weight:900; letter-spacing:2px; color:#e8632a; line-height:1; font-family:'Noto Serif JP',serif; }
.fp-3card__name { font-size:20px; font-weight:900; color:#333; line-height:1.2; }
.fp-3card__sub { font-size:12px; color:#888; }

/* ===== 全国で大活躍 ===== */
.fp-about { padding:72px 24px; background:#fff; }
.fp-about__inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:200px 1fr 220px; gap:32px; align-items:center; }
.fp-about__chara-l img { width:100%; object-fit:contain; display:block; }
.fp-about__title { font-size:30px; font-weight:900; color:#e8632a; line-height:1.4; margin:0 0 16px; font-family:'Noto Serif JP',serif; }
.fp-about__text { font-size:14px; color:#444; line-height:2.1; margin:0; }
.fp-about__chara-r { display:flex; flex-direction:column; align-items:center; gap:8px; }
.fp-about__real-label { font-size:11px; color:#e8632a; font-weight:700; text-align:center; }
.fp-about__badge {
  background:#f5c842; border-radius:50%; width:130px; height:130px;
  display:flex; align-items:center; justify-content:center;
  text-align:center; font-size:12px; font-weight:700; color:#333; line-height:1.6; padding:10px;
}
.fp-about__chara-r-img { width:100%; max-width:220px; }

/* ===== NEWS ===== */
.fp-news { background:#fdf6ee; padding:72px 0; }
.fp-news__list { list-style:none; padding:0; margin:0; border-top:1px solid #eee; }
.fp-news__item { display:flex; align-items:baseline; gap:20px; padding:16px 0; border-bottom:1px solid #eee; }
.fp-news__date { font-size:13px; color:#999; white-space:nowrap; min-width:90px; }
.fp-news__link { color:#333; text-decoration:none; font-size:15px; line-height:1.6; }
.fp-news__link:hover { color:#e8632a; }
.fp-news__empty { text-align:center; color:#aaa; padding:32px 0; }

/* ===== イベント ===== */
.fp-events-grid { padding:72px 0; }
.fp-ev-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:0; }
.fp-ev-card { background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.07); transition:transform .2s; }
.fp-ev-card:hover { transform:translateY(-3px); }
.fp-ev-card__thumb img { width:100%; height:180px; object-fit:cover; display:block; }
.fp-ev-card__body { padding:16px; }
.fp-ev-card__pref { display:inline-block; font-size:11px; background:#f0e8d8; color:#8a6a30; padding:2px 8px; border-radius:3px; margin-bottom:8px; }
.fp-ev-card__title { font-size:14px; font-weight:700; margin:0 0 8px; line-height:1.5; }
.fp-ev-card__title a { color:#333; text-decoration:none; }
.fp-ev-card__title a:hover { color:#e8632a; }
.fp-ev-card__venue, .fp-ev-card__date { font-size:12px; color:#888; margin:0 0 4px; }
.fp-ev-card__price { font-size:13px; font-weight:700; color:#444; margin:4px 0 0; }

/* ===== JELLY ROOM ===== */
.fp-room { display:grid; grid-template-columns:42% 58%; }
.fp-room__left { background:#f9f1e0; padding:56px 40px; display:flex; flex-direction:column; justify-content:center; gap:0; }
.fp-room__logo { height:64px; width:auto; margin-bottom:12px; object-fit:contain; object-position:left; }
.fp-room__title { font-size:34px; font-weight:900; color:#e8632a; line-height:1.4; margin:0 0 12px; font-family:'Noto Serif JP',serif; }
.fp-room__text { font-size:14px; color:#555; line-height:1.9; margin-bottom:20px; }
.fp-fc {
  margin-top:16px; background:#5c3317; color:#fff;
  padding:14px 20px; border-radius:4px;
  display:flex; align-items:center; gap:14px; text-decoration:none; transition:opacity .2s;
}
.fp-fc:hover { opacity:.88; }
.fp-fc__icon { background:#fff; border-radius:4px; padding:4px; width:52px; height:36px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.fp-fc__icon img { height:26px; width:auto; }
.fp-fc__label { font-size:17px; font-weight:900; color:#fff; }
.fp-room__right img { width:100%; height:100%; object-fit:cover; display:block; min-height:480px; }

/* ===== 企業・自治体 ===== */
.fp-corp { display:grid; grid-template-columns:1fr 1fr; border-top:4px solid #e8632a; }
.fp-corp__left { background:#f9f1e0; padding:56px 40px; display:flex; flex-direction:column; justify-content:center; }
.fp-corp__badge { font-size:14px; color:#e8632a; font-weight:700; margin-bottom:12px; }
.fp-corp__title { font-size:24px; font-weight:900; color:#333; line-height:1.5; margin:0 0 12px; font-family:'Noto Serif JP',serif; }
.fp-corp__text { font-size:13px; color:#555; line-height:1.9; margin-bottom:20px; }
.fp-corp__circles { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:24px; align-items:flex-end; }
.fp-corp__circle-item { display:flex; flex-direction:column; align-items:center; gap:6px; }
.fp-corp__circle {
  border-radius:50%; overflow:hidden;
  width:80px; height:80px; flex-shrink:0;
  border:3px solid #e8632a;
}
.fp-corp__circle img { width:100%; height:100%; object-fit:cover; display:block; }
.fp-corp__circle-label { font-size:11px; font-weight:700; color:#555; text-align:center; }
.fp-corp__right { position:relative; overflow:hidden; min-height:480px; }
.fp-corp__right img { width:100%; height:100%; object-fit:cover; display:block; }
.fp-corp__no1 {
  position:absolute; top:24px; left:0; right:0;
  display:flex; justify-content:center;
}
.fp-corp__no1-text {
  background:#e8632a; color:#fff; padding:10px 24px;
  font-size:16px; font-weight:900; border-radius:4px;
  letter-spacing:1px; text-align:center;
}
.fp-corp__no1-text span { font-size:22px; margin-left:4px; }

/* ===== SNS ===== */
.fp-sns { background:#fff; padding:48px 0; }
.fp-sns__wrap {
  max-width:700px; margin:0 auto; padding:0 24px;
  text-align:center;
}
.fp-sns__title {
  font-size:36px; font-weight:900; letter-spacing:6px;
  font-family:'Noto Serif JP',serif; color:#333;
  margin-bottom:20px;
}
.fp-yt {
  background:#f4906e; border-radius:12px; padding:18px 22px;
  margin-bottom:20px; display:flex; align-items:center; gap:20px;
}
.fp-yt__text { flex:1; }
.fp-yt__label { font-size:11px; color:#c0392b; font-weight:700; margin-bottom:4px; }
.fp-yt__title { font-size:15px; font-weight:900; color:#fff; margin:0; line-height:1.5; }
.fp-yt__btn {
  background:red; border-radius:50%; width:48px; height:48px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; text-decoration:none; transition:opacity .2s;
}
.fp-yt__btn:hover { opacity:.85; }
.fp-sns__icons { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.fp-sni {
  width:48px; height:48px; border-radius:10px;
  display:flex; align-items:center; justify-content:center; text-decoration:none;
  transition:opacity .2s;
}
.fp-sni:hover { opacity:.85; }
.fp-sni--x  { background:#000; }
.fp-sni--ig { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.fp-sni--yt { background:red; }
.fp-sni--line { background:#06c755; }
.fp-sni--tt { background:#000; }
.fp-sni--fb { background:#1877f2; }
.fp-sns__right { display:flex; align-items:flex-end; justify-content:center; }
.fp-sns__right img { width:100%; max-width:160px; object-fit:contain; display:block; }

/* ===== レスポンシブ ===== */
@media(max-width:900px) {
  .fp-hero { height:380px; }
  .fp-about__inner { grid-template-columns:1fr; }
  .fp-about__chara-l, .fp-about__chara-r { display:none; }
  .fp-ev-grid { grid-template-columns:1fr 1fr; }
  .fp-room { grid-template-columns:1fr; }
  .fp-room__left { padding:40px 24px; }
  .fp-room__right img { min-height:260px; }
  .fp-corp { grid-template-columns:1fr; }
  .fp-corp__left { padding:40px 24px; }
  .fp-corp__right { min-height:280px; }
  .fp-sns__wrap { grid-template-columns:1fr; }
  .fp-sns__right { display:none; }
  /* 3カラム：スマホで横並びコンパクト */
  .fp-3col__inner { grid-template-columns:1fr; gap:8px; }
  .fp-3card { display:flex; flex-direction:row; }
  .fp-3card__img { width:38%; height:100px; flex-shrink:0; object-fit:cover; }
  .fp-3card__body { flex:1; padding:12px 14px; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:3px; }
  .fp-3card__logo { height:40px; }
  .fp-3card__en { font-size:28px; }
  .fp-3card__name { font-size:17px; }
}
@media(max-width:600px) {
  .fp-ev-grid { grid-template-columns:1fr; }
}
