/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 24 2026 | 13:52:23 */
/* =====================================================================
   【共通】フッター・言語切替 2026（Simple Custom CSS and JS に登録）
   すべて .wr-sitefoot / .wr-lang の中だけに効きます
   ===================================================================== */
.wr-sitefoot, .wr-lang{
  --wf-navy:#0c2656; --wf-navy-2:#0a1f47; --wf-line:rgba(255,255,255,.12);
  --wf-text:rgba(255,255,255,.86); --wf-muted:rgba(255,255,255,.58);
  --wf-aqua:#43c6ec; --wf-aqua-2:#2b9fd6; --wf-gold:#f5c507;
  --wf-ease:cubic-bezier(.22,.61,.36,1);
}
.wr-sitefoot{
  position:relative; margin:72px 0 0; padding:0; border:0;
  background:var(--wf-navy); color:var(--wf-text);
  font-family:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP","Meiryo",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; line-height:1.8; letter-spacing:.02em;
}
.wr-sitefoot *{ box-sizing:border-box; }
.wr-sitefoot ul, .wr-sitefoot li{ list-style:none; margin:0; padding:0; }
.wr-sitefoot li::before, .wr-sitefoot li::marker{ content:none; }
.wr-sitefoot a{ color:inherit; text-decoration:none; box-shadow:none; }
.wr-sitefoot p{ margin:0; padding:0; border:0; background:none; }
.wr-sitefoot img{ display:block; max-width:100%; height:auto; border:0; }

/* ---------- CTA（上に少し重なるカード） ---------- */
.wr-sitefoot__cta{ position:relative; padding:0 20px; }
.wr-sitefoot__cta-in{
  position:relative; top:-44px; max-width:1040px; margin:0 auto -8px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:30px 36px; border-radius:22px;
  background:linear-gradient(135deg,var(--wf-aqua),var(--wf-aqua-2));
  box-shadow:0 26px 50px -26px rgba(12,38,86,.75);
  overflow:hidden;
}
.wr-sitefoot__cta-in::after{ content:""; position:absolute; right:-70px; top:-90px; width:240px; height:240px; border-radius:50%; background:rgba(255,255,255,.12); pointer-events:none; }
.wr-sitefoot__cta-text{ position:relative; z-index:1; color:#fff; }
.wr-sitefoot__cta-en{ font-size:12px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; opacity:.9; }
.wr-sitefoot__cta-ja{ margin-top:4px !important; font-size:clamp(17px,2vw,21px); font-weight:800; line-height:1.55; }
.wr-sitefoot__cta-btns{ position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.wr-sitefoot__btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:50px; padding:12px 22px; border-radius:999px;
  font-size:14.5px; font-weight:800; line-height:1.3; white-space:nowrap;
  transition:transform .3s var(--wf-ease), box-shadow .3s var(--wf-ease), background .3s;
}
.wr-sitefoot__btn:hover{ transform:translateY(-2px); }
.wr-sitefoot__btn--line{ background:#06c755; color:#fff !important; box-shadow:0 12px 22px -12px rgba(0,80,30,.8); }
.wr-sitefoot__btn--line i{ font-size:20px; }
.wr-sitefoot__btn--light{ background:#fff; color:var(--wf-navy) !important; box-shadow:0 12px 22px -14px rgba(12,38,86,.7); }
.wr-sitefoot__btn--light i{ color:var(--wf-aqua-2); }
.wr-sitefoot__btn--ghost{ border:1.5px solid rgba(255,255,255,.75); color:#fff !important; }
.wr-sitefoot__btn--ghost:hover{ background:rgba(255,255,255,.14); }

/* ---------- 本体 ---------- */
.wr-sitefoot__main{ padding:8px 20px 0; }
.wr-sitefoot__in{ max-width:1040px; margin:0 auto; }
.wr-sitefoot__main > .wr-sitefoot__in:first-child{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,2fr); gap:48px;
  padding:20px 0 44px;
}
.wr-sitefoot__logo img{ width:190px; filter:brightness(0) invert(1); opacity:.95; }
.wr-sitefoot__motto{ margin-top:18px !important; font-size:15px; font-weight:800; color:#fff; letter-spacing:.12em; }
.wr-sitefoot__motto span{ margin-left:10px; font-size:11.5px; font-weight:600; color:var(--wf-gold); letter-spacing:.14em; }
.wr-sitefoot__desc{ margin-top:12px !important; font-size:13px; line-height:1.95; color:var(--wf-muted); }
.wr-sitefoot__trust{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px !important; }
.wr-sitefoot__trust li{ padding:4px 12px; border-radius:999px; border:1px solid var(--wf-line); font-size:11.5px; font-weight:700; color:var(--wf-text); line-height:1.6; }

.wr-sitefoot__nav{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.wr-sitefoot__h{ padding-bottom:12px !important; margin-bottom:12px !important; border-bottom:1px solid var(--wf-line) !important; font-size:14px; font-weight:800; color:#fff; letter-spacing:.08em; }
.wr-sitefoot__h span{ display:block; font-size:10.5px; font-weight:700; color:var(--wf-aqua); letter-spacing:.22em; text-transform:uppercase; }
.wr-sitefoot__col li + li{ margin-top:2px !important; }
.wr-sitefoot__col a{ position:relative; display:inline-block; padding:5px 0 5px 14px; font-size:13.5px; color:var(--wf-text); transition:color .25s; }
.wr-sitefoot__col a::before{ content:""; position:absolute; left:0; top:50%; width:6px; height:1px; background:var(--wf-aqua); transition:width .25s var(--wf-ease); }
.wr-sitefoot__col a:hover{ color:#fff; }
.wr-sitefoot__col a:hover::before{ width:10px; }

/* 言語・SNS */
.wr-sitefoot__sub{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding:22px 0; border-top:1px solid var(--wf-line); }
.wr-sitefoot__langs{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.wr-sitefoot__sub-h{ font-size:12px; font-weight:800; color:var(--wf-muted); letter-spacing:.16em; text-transform:uppercase; }
.wr-sitefoot__lang-list{ display:flex; flex-wrap:wrap; gap:6px; }
.wr-sitefoot__lang-list a{ display:inline-block; padding:5px 13px; border-radius:999px; background:rgba(255,255,255,.06); font-size:12.5px; font-weight:700; color:var(--wf-text); transition:background .25s; }
.wr-sitefoot__lang-list a:hover{ background:rgba(255,255,255,.16); color:#fff; }
.wr-sitefoot__lang-list a[aria-current="true"]{ background:#fff; color:var(--wf-navy); }
.wr-sitefoot__sns{ display:flex; gap:10px; }
.wr-sitefoot__sns a{ display:grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--wf-line); font-size:17px; color:#fff; transition:background .25s, border-color .25s; }
.wr-sitefoot__sns a:hover{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.35); }

.wr-sitefoot__bottom{ display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:1040px; margin:0 auto; padding:18px 0 80px; border-top:1px solid var(--wf-line); } /* 下80px：左下の言語ボタンと重ならないように */
.wr-sitefoot__copy{ font-size:11.5px; color:var(--wf-muted); letter-spacing:.08em; }
.wr-sitefoot__top{ display:inline-flex; align-items:center; gap:8px; font-size:11.5px; font-weight:700; color:var(--wf-text); letter-spacing:.14em; text-transform:uppercase; }
.wr-sitefoot__top i{ display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.1); transition:transform .3s var(--wf-ease); }
.wr-sitefoot__top:hover i{ transform:translateY(-3px); }

/* ---------- タブレット・スマホ ---------- */
@media (max-width:900px){
  .wr-sitefoot__cta-in{ flex-direction:column; align-items:stretch; text-align:center; padding:26px 22px; }
  .wr-sitefoot__cta-btns{ justify-content:center; }
  .wr-sitefoot__main > .wr-sitefoot__in:first-child{ grid-template-columns:1fr; gap:36px; }
}
@media (max-width:600px){
  .wr-sitefoot{ margin-top:64px; }
  .wr-sitefoot__cta{ padding:0 14px; }
  .wr-sitefoot__cta-in{ top:-36px; border-radius:18px; }
  .wr-sitefoot__btn{ width:100%; }
  .wr-sitefoot__main{ padding:0 18px; }
  .wr-sitefoot__brand{ text-align:center; }
  .wr-sitefoot__logo img{ margin:0 auto; }
  .wr-sitefoot__trust{ justify-content:center; }
  .wr-sitefoot__nav{ grid-template-columns:1fr 1fr; gap:26px 18px; }
  .wr-sitefoot__nav .wr-sitefoot__col:last-child{ grid-column:1 / -1; }
  .wr-sitefoot__sub{ flex-direction:column; align-items:flex-start; }
  .wr-sitefoot__bottom{ padding-bottom:84px; } /* 下の追従ボタンと重ならないように */
}

/* =====================================================================
   言語切替：左下の追従ボタン
   ===================================================================== */
.wr-lang{
  position:fixed; left:14px; bottom:16px; z-index:9000; /* メニュー(10000台)・キャストの拡大表示より下 */ margin:0; padding:0;
  font-family:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP","Meiryo",system-ui,sans-serif;
}
.wr-lang__btn{
  display:flex; align-items:center; gap:8px; height:46px; padding:0 16px 0 14px;
  border-radius:999px; list-style:none; cursor:pointer;
  background:var(--wf-navy); color:#fff; font-size:13px; font-weight:800; letter-spacing:.04em;
  box-shadow:0 12px 26px -10px rgba(12,38,86,.7); border:1px solid rgba(255,255,255,.18);
  -webkit-user-select:none; user-select:none;
}
.wr-lang__btn::-webkit-details-marker{ display:none; }
.wr-lang__btn::marker{ content:""; }
.wr-lang__btn i{ font-size:18px; color:var(--wf-aqua); }
.wr-lang__btn::after{ content:""; width:7px; height:7px; margin-left:2px; border-right:2px solid rgba(255,255,255,.7); border-top:2px solid rgba(255,255,255,.7); transform:rotate(-45deg) translate(-1px,1px); transition:transform .25s; }
.wr-lang[open] .wr-lang__btn::after{ transform:rotate(135deg) translate(-1px,1px); }
.wr-lang__panel{
  position:absolute; left:0; bottom:56px; width:210px; max-height:min(70vh,420px); overflow:auto;
  padding:10px; border-radius:16px; background:#fff;
  box-shadow:0 24px 50px -18px rgba(12,38,86,.55); border:1px solid #e3edf5;
}
.wr-lang__h{ margin:2px 8px 6px !important; font-size:11px; font-weight:800; color:#6d8b99; letter-spacing:.14em; }
.wr-lang__panel a{ display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-radius:10px; font-size:14px; font-weight:700; color:#143a4e !important; text-decoration:none !important; }
.wr-lang__panel a:hover{ background:#f3fbff; }
.wr-lang__panel a[aria-current="true"]{ background:#e8f6fd; color:#1791c4 !important; }
.wr-lang__panel a[aria-current="true"]::after{ content:"✓"; font-size:13px; }
.wr-lang__code{ display:none; }
/* スマホ：右下の「LINEでお問い合わせ」と重ならないよう、丸いアイコンだけにする */
@media (max-width:600px){
  .wr-lang{ left:10px; bottom:15px; }
  .wr-lang__btn{ position:relative; justify-content:center; width:46px; height:46px; padding:0; gap:0; }
  .wr-lang__btn i{ font-size:20px; }
  .wr-lang__now, .wr-lang__btn::after{ display:none; }
  .wr-lang__code{ display:block; position:absolute; right:-4px; top:-5px; min-width:22px; padding:1px 4px; border-radius:999px; background:#fff; color:var(--wf-navy); font-size:9.5px; font-weight:900; line-height:1.5; text-align:center; box-shadow:0 2px 6px rgba(12,38,86,.35); }
  .wr-lang__panel{ bottom:56px; width:200px; }
}
@media (prefers-reduced-motion:reduce){
  .wr-sitefoot *, .wr-lang *{ transition:none !important; }
}
