@charset "utf-8";
/* リニューアルのフッター（自動生成：_build_テーマヘッダー.py。直接編集しない） */
footer.sf-foot,footer.sf-foot *{box-sizing:border-box}
footer.sf-foot{font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-weight:500;line-height:1.85}
/* :where() は優先度0。テーマの指定だけを打ち消し、このあとのデザイン案の指定（余白など）は生かす */
:where(footer.sf-foot) :where(a){text-decoration:none}
:where(footer.sf-foot) :where(ul,ol){margin:0;padding:0;list-style:none}
:where(footer.sf-foot) :where(p,h1,h2,h3,h4,h5,h6,figure,dl,dd){margin:0}
:where(footer.sf-foot) :where(img){max-width:none}
:where(footer.sf-foot) :where(button,input){font-family:inherit}

footer{background:var(--blue);color:#fff;border-top:7px solid var(--yellow);padding:36px 20px 28px;font-size:16.5px}
.f-in{max-width:1100px;margin:0 auto}
.f-lead{margin:0 0 20px;text-align:center;font-size:27px;font-weight:900;letter-spacing:-.02em}
.f-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 22px;padding:0;list-style:none}
.f-nav a{display:block;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.55);border-radius:99px;
 padding:9px 18px;font-size:15px;font-weight:800;text-decoration:none;color:#fff}
.f-nav a:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.f-news{background:#fff;border:3px solid var(--ink);border-radius:16px;box-shadow:6px 6px 0 rgba(0,0,0,.28);
 max-width:760px;margin:0 auto 26px;padding:22px 24px;text-align:center;color:var(--ink)}
.f-news h2{margin:0 0 12px;font-size:19px;font-weight:900}
.f-news form{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.f-news input{flex:1 1 280px;min-width:0;border:2px solid var(--ink);border-radius:99px;padding:12px 18px;font:inherit;font-size:16px;background:#fff;color:var(--ink)}
.f-news button{border:2px solid var(--ink);border-radius:99px;background:var(--yellow);color:var(--ink);
 font:inherit;font-size:17px;font-weight:900;padding:12px 30px;cursor:pointer}
.f-news button:hover{background:var(--ink);color:#fff}
.f-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:16px}
/* 青地なので、フッターだけ実サイトと同じ白一色のロゴを使う（通常版は青い文字が沈む） */
.f-brand img{height:44px;width:auto;display:block}
.f-sns{display:flex;gap:9px}
.f-sns a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
 background:rgba(255,255,255,.2);color:#fff;text-decoration:none;transition:background .15s}
.f-sns a:hover{background:#fff;color:var(--blue)}
.f-sns svg{width:19px;height:19px;fill:currentColor;display:block}
.f-copy{text-align:center;font-size:13.5px;color:rgba(255,255,255,.85);border-top:1px solid rgba(255,255,255,.3);padding-top:14px}
@media(max-width:759px){ .f-lead{font-size:19px} footer{padding:28px 16px 22px;font-size:15.5px} .f-news h2{font-size:17px} .f-nav a{font-size:14px;padding:8px 15px} }

/* ニュースレターは現行のフォーム（Benchmark Email）をそのまま使い、見た目だけデザイン案に合わせる。
   フォームは form > input.formbox-field-… + button.formbox-button-… の形（fieldset は無い） */
footer.sf-foot .f-news h2{margin:0 0 12px;font-size:19px;font-weight:900;line-height:1.7}
@media(max-width:559px){ footer.sf-foot .f-news h2{font-size:17px} }
footer.sf-foot .f-news form{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin:0}
footer.sf-foot .f-news input[type="text"],footer.sf-foot .f-news input[type="email"]{
 flex:1 1 280px;min-width:0;width:auto!important;height:auto!important;box-sizing:border-box;margin:0!important;
 border:2px solid var(--ink)!important;border-radius:99px!important;padding:12px 18px!important;
 font:inherit!important;font-size:16px!important;line-height:1.85!important;background:#fff!important;color:var(--ink)!important}
footer.sf-foot .f-news button[type="submit"],footer.sf-foot .f-news input[type="submit"]{
 flex:none;height:auto!important;box-sizing:border-box;margin:0!important;border:2px solid var(--ink)!important;border-radius:99px!important;
 background:var(--yellow)!important;color:var(--ink)!important;padding:12px 30px!important;
 font:inherit!important;font-size:17px!important;font-weight:900!important;line-height:1.85!important;cursor:pointer}
footer.sf-foot .f-news button[type="submit"]:hover,footer.sf-foot .f-news input[type="submit"]:hover{background:var(--ink)!important;color:#fff!important}
footer.sf-foot .f-news .formbox-title-708063,footer.sf-foot .f-news #tdLogo708063{display:none!important}

/* 2026-09-27: 日本語フッターのスマホ表示を指定の2行に整える。PC・英語は維持。 */
@media(max-width:759px){
  footer.sf-foot .f-lead--ja .f-lead__tagline,
  footer.sf-foot .f-lead--ja .f-lead__name{display:block;white-space:nowrap}
  footer.sf-foot .f-lead--ja .f-lead__join{display:none}
}
@media(max-width:359px){footer.sf-foot .f-lead--ja{font-size:17px}}

/* 2026-10-02: Shared bottom free-trial CTA. Same scoped block in front/single/fallback-footer bundles. */
.art-cta.sf-trial-feature{display:flex;flex-wrap:wrap;align-items:stretch;gap:28px;background:#ff6b5e;color:#fff;padding:30px;text-align:left;position:relative;isolation:isolate;border:3px solid var(--ink,#202020);border-radius:22px;box-shadow:6px 6px 0 var(--ink,#202020)}
.sf-trial-feature .sf-trial-feature__copy{flex:1.25 1 300px;min-width:0;display:flex;flex-direction:column;padding-bottom:24px}
.sf-trial-feature p{font-family:inherit;letter-spacing:normal;font-weight:400;line-height:1.75}
.sf-trial-feature .sf-trial-feature__eyebrow{display:inline-flex;align-self:flex-start;align-items:center;gap:9px;font-family:Inter,sans-serif;font-size:12px;font-weight:800;letter-spacing:.15em;line-height:1.4;margin:0 0 16px;padding:7px 12px;border:1px solid rgba(255,255,255,.55);border-radius:99px}
.sf-trial-feature__eyebrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sf-trial-feature .sf-trial-feature__title{display:block;margin:0 0 14px;padding:0;border:0;background:none;box-shadow:none;color:#fff;font-size:clamp(25px,2.35vw,34px);font-weight:900;line-height:1.5;letter-spacing:-.025em}
.sf-trial-feature__title::before,.sf-trial-feature__title::after{content:none}
.sf-trial-feature__title span{display:block}
.sf-trial-feature .sf-trial-feature__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:360px;min-height:54px;margin:auto 0 0;padding:0;list-style:none}
.sf-trial-feature__benefits li{display:flex;align-items:center;justify-content:center;margin:0;padding:7px 4px;background:#fff;color:#202020;border:2px solid #202020;border-radius:8px;font-size:13px;font-weight:800;line-height:1.5;white-space:nowrap}
.sf-trial-feature__benefits li::before{content:none}
.sf-trial-feature .sf-trial-feature__booking{flex:1 1 280px;min-width:0;box-sizing:border-box;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;background:#fff;color:#202020;border:2px solid #202020;border-radius:16px;padding:22px 18px;text-align:center;box-shadow:4px 4px 0 #06557e}
.sf-trial-feature .sf-trial-feature__duration{display:flex;align-items:center;justify-content:center;gap:6px;min-height:58px;margin:0 0 12px;color:#202020;font-size:20px;font-weight:900;line-height:1;white-space:nowrap}
.sf-trial-feature__duration strong{display:block;font-family:inherit;font-size:48px;font-style:normal;font-weight:900;line-height:1;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.025em}
.sf-trial-feature__duration span{align-self:center;margin-left:8px;padding:6px 10px;border-radius:7px;background:#e4f4fb;color:#075f8c;font-size:20px;line-height:1.3}
.sf-trial-feature .sf-trial-feature__detail{margin:0 0 16px;font-size:14px;line-height:1.8;color:#414b53}
.sf-trial-feature a.sf-trial-feature__button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;margin-top:auto;box-sizing:border-box;padding:12px 14px;background:#ffe600;color:#202020;border:2px solid #202020;border-radius:99px;box-shadow:3px 3px 0 #202020;font-size:15px;font-weight:900;line-height:1.5;text-decoration:none;transition:background-color .18s,box-shadow .18s,transform .18s}
.sf-trial-feature__button svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sf-trial-feature a.sf-trial-feature__button:hover,.sf-trial-feature a.sf-trial-feature__button:focus-visible{background:#fff27a;box-shadow:3px 5px 0 #202020,0 0 20px rgba(255,230,0,.65);transform:translateY(-2px)}
.sf-trial-feature a.sf-trial-feature__button:focus-visible{outline:3px solid #0878b2;outline-offset:5px}
@media(max-width:759px){
 .art-cta.sf-trial-feature{padding:23px 20px;gap:23px;border-radius:18px;box-shadow:5px 5px 0 var(--ink,#202020)}
 .sf-trial-feature .sf-trial-feature__copy,.sf-trial-feature .sf-trial-feature__booking{flex-basis:100%}
 .sf-trial-feature .sf-trial-feature__copy{display:block;padding-bottom:0}
 .sf-trial-feature .sf-trial-feature__title{font-size:clamp(23px,6.3vw,32px);margin-bottom:12px}
 .sf-trial-feature .sf-trial-feature__eyebrow{margin-bottom:14px}
 .sf-trial-feature .sf-trial-feature__booking{padding:20px 14px}
 .sf-trial-feature .sf-trial-feature__benefits{gap:8px;min-height:0;margin:0}
}
@media(max-width:374px){
 .art-cta.sf-trial-feature{padding:20px 15px}
 .sf-trial-feature .sf-trial-feature__benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sf-trial-feature .sf-trial-feature__booking{padding:18px 10px}
 .sf-trial-feature a.sf-trial-feature__button{font-size:14px;padding:12px 10px;gap:6px}
}
@media(prefers-reduced-motion:reduce){.sf-trial-feature a.sf-trial-feature__button{transition:none}.sf-trial-feature a.sf-trial-feature__button:hover,.sf-trial-feature a.sf-trial-feature__button:focus-visible{transform:none}}
