/*
Theme Name: Form Reach
Theme URI: https://form-reach.net
Description: FormReach 公式サイト用オリジナルテーマ（問い合わせフォーム営業代行）。公開前パスワードゲート＋noindex内蔵。モバイルファースト・レスポンシブ対応。
Author: HP Assist
Version: 0.2.0
*/
:root{
  --navy:#12345b;
  --navy-d:#0d2542;
  --navy-l:#1d4d7e;
  --accent:#ff6a3d;
  --accent-d:#e8542a;
  --ink:#1c2733;
  --gray:#5c6b7a;
  --gray-l:#8593a1;
  --line:#e4e9ef;
  --bg:#ffffff;
  --bg2:#f5f8fb;
  --maxw:1120px;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;color:var(--ink);background:var(--bg);line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased;letter-spacing:.02em;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
.fr-container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.fr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.fr-sp{display:none;}
@media(max-width:768px){.fr-pctab{display:none;}.fr-sp{display:inline;}}

/* ---- section common ---- */
.fr-section{padding:88px 0;}
.fr-section--alt{background:var(--bg2);}
.fr-section--navy{background:linear-gradient(160deg,#08205e 0%,#123a9e 55%,#1a56c8 100%);color:#fff;}
.fr-head{text-align:center;margin-bottom:52px;}
.fr-head__en{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.18em;background:linear-gradient(120deg,#4f46e5 0%,#7c3aed 55%,#06b6d4 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;margin-bottom:10px;}
.fr-head__ja{font-size:44px;font-weight:800;line-height:1.3;letter-spacing:.03em;}
.fr-head__ja em{position:relative;font-style:normal;color:var(--ink);white-space:nowrap;}
.fr-head__ja em::after{content:"";position:absolute;left:-.05em;right:-.05em;bottom:.08em;height:.34em;z-index:-1;background:linear-gradient(90deg,rgba(255,176,32,.55),rgba(255,106,43,.55));border-radius:4px;}
.fr-uline{position:relative;isolation:isolate;white-space:nowrap;color:var(--ink);}
.fr-uline::after{content:"";position:absolute;left:-.05em;right:-.05em;bottom:.08em;height:.34em;z-index:-1;background:linear-gradient(90deg,rgba(255,176,32,.55),rgba(255,106,43,.55));border-radius:4px;}
.fr-section--navy .fr-head__ja em,.fr-price-section .fr-head__ja em,.fr-flow-section .fr-head__ja em{background:linear-gradient(90deg,#5cc8ff 0%,#a3ecff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.fr-section--navy .fr-head__ja{color:#fff;}
.fr-head__lead{max-width:720px;margin:18px auto 0;font-size:16px;color:var(--gray);text-wrap:balance;}
.fr-section--navy .fr-head__lead{color:rgba(255,255,255,.82);}
@media(max-width:768px){.fr-section{padding:60px 0;}.fr-head__ja{font-size:27px;}.fr-head{margin-bottom:36px;}}
@media(max-width:480px){.fr-head__ja{font-size:23px;letter-spacing:.02em;}.fr-head__en{font-size:12.5px;}.fr-head__lead{font-size:14.5px;}}

/* ---- buttons ---- */
.fr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;border-radius:999px;transition:.25s;letter-spacing:.03em;line-height:1;text-align:center;}
.fr-btn--cta{position:relative;overflow:hidden;background:linear-gradient(90deg,#ff8154 0%,#ff6a3d 55%,#e8542a 100%);color:#fff;padding:18px 40px;font-size:16px;box-shadow:0 10px 26px rgba(255,106,61,.32);}
.fr-btn--cta:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(255,106,61,.45);filter:brightness(1.05);}
.fr-btn--cta::before,.fr-header__cta::before,.fr-mcta__contact::before{content:"";position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:fr-shine 4s ease-in-out infinite;pointer-events:none;}
.fr-btn--cta>*,.fr-header__cta>*,.fr-mcta__contact>*{position:relative;z-index:1;}
@keyframes fr-shine{0%{left:-150%;}22%{left:160%;}100%{left:160%;}}
.fr-btn--ghost{background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff;padding:16px 34px;font-size:15px;}
.fr-btn--ghost:hover{background:#fff;color:var(--navy);}
.fr-btn--tel{background:#fff;color:var(--navy);padding:16px 30px;font-size:15px;border:1px solid var(--line);}
.fr-btn__sub{font-size:11px;font-weight:600;opacity:.85;letter-spacing:.1em;}

/* ---- header ---- */
.fr-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line);transition:.3s;}
.fr-header__inner{display:flex;align-items:center;justify-content:space-between;height:76px;transition:height .3s;}
.fr-header.is-scrolled{box-shadow:0 6px 22px rgba(13,37,66,.08);}
.fr-header.is-scrolled .fr-header__inner{height:62px;}
.fr-logo{display:inline-flex;align-items:center;gap:9px;font-family:'Montserrat','Noto Sans JP',sans-serif;font-size:25px;font-weight:900;letter-spacing:0;color:var(--navy);}
.fr-logo__mark{height:38px;width:auto;display:block;}
.fr-logo span{color:var(--accent);}
.fr-gnav__list{display:flex;gap:18px;list-style:none;align-items:center;}
.fr-gnav__list a{font-size:14.5px;font-weight:600;color:var(--ink);transition:.2s;white-space:nowrap;}
.fr-gnav__list a:hover{color:var(--accent);}
.fr-header__cta{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;position:relative;overflow:hidden;background:linear-gradient(90deg,#ff8154 0%,#ff6a3d 55%,#e8542a 100%);color:#fff !important;padding:12px 22px;border-radius:999px;font-size:14px;font-weight:900;box-shadow:0 6px 16px rgba(255,106,61,.3);}
.fr-header__cta:hover{filter:brightness(1.06);}
.fr-header__right{display:flex;align-items:center;gap:16px;}
.fr-header__tel{display:inline-flex;align-items:center;gap:9px;color:var(--navy);}
.fr-header__tel .fr-ic{color:var(--accent);width:20px;height:20px;}
.fr-header__tel-txt{display:flex;flex-direction:column;line-height:1.2;}
.fr-header__tel-txt small{font-size:10.5px;font-weight:600;color:var(--gray);letter-spacing:.02em;}
.fr-header__tel-txt b{font-size:18px;font-weight:900;color:var(--navy);letter-spacing:.02em;}
@media(max-width:768px){.fr-header__tel{display:none;}.fr-header__inner{height:64px;}.fr-header.is-scrolled .fr-header__inner{height:56px;}.fr-header__right{gap:10px;}.fr-logo{font-size:20px;gap:7px;}.fr-logo__mark{height:31px;}.fr-header__cta{padding:9px 16px;font-size:13px;}}
@media(max-width:480px){.fr-logo{font-size:17px;gap:6px;}.fr-logo__mark{height:27px;}.fr-header__right{gap:8px;}.fr-header__cta{padding:8px 13px;font-size:12.5px;gap:0;}.fr-header__cta .fr-ic{display:none;}.fr-navtoggle{padding:6px;}}
.fr-navtoggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;z-index:2;}
.fr-navtoggle span{width:26px;height:2px;background:var(--navy);display:block;transition:.3s;}
.fr-navtoggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.fr-navtoggle.is-open span:nth-child(2){opacity:0;}
.fr-navtoggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:1200px){
  .fr-navtoggle{display:flex;}
  .fr-gnav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(13,37,66,.12);transform:translateY(-12px);opacity:0;visibility:hidden;transition:.28s;}
  .fr-gnav.is-open{transform:none;opacity:1;visibility:visible;}
  .fr-gnav__list{flex-direction:column;gap:0;align-items:stretch;}
  .fr-gnav__list li{border-bottom:1px solid var(--line);}
  .fr-gnav__list li:last-child{border-bottom:0;}
  .fr-gnav__list a{display:block;padding:15px 24px;font-size:15px;}
}

/* ---- hero ---- */
.fr-hero{position:relative;}
.fr-hero__pc{display:block;padding:0;}
.fr-hero__pc-inner{max-width:none;margin:0;padding:0;}
.fr-hero__banner{width:100%;height:auto;display:block;}
.fr-hero__sp{display:none;}
.fr-hero__sp-img{width:100%;height:auto;display:block;}
@media(max-width:768px){.fr-hero__pc{display:none;}.fr-hero__sp{display:block;}}
.fr-hero__label{display:inline-block;font-size:13px;letter-spacing:.12em;font-weight:600;border:1px solid rgba(255,255,255,.45);padding:7px 18px;border-radius:999px;margin-bottom:26px;}
.fr-hero__title{font-size:46px;font-weight:800;line-height:1.4;letter-spacing:.02em;margin-bottom:24px;text-wrap:balance;}
.fr-hero__title em{font-style:normal;color:#ffb199;}
.fr-hero__lead{font-size:17.5px;line-height:2;max-width:640px;margin-bottom:36px;color:rgba(255,255,255,.92);text-wrap:balance;}
.fr-hero__btns{display:flex;gap:16px;flex-wrap:wrap;}
.fr-hero__note{margin-top:30px;font-size:13.5px;color:rgba(255,255,255,.7);border-left:3px solid var(--accent);padding-left:14px;line-height:1.8;}
.fr-hero__stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:44px;}
.fr-hero__stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:20px 26px;min-width:150px;}
.fr-hero__stat b{display:block;font-size:30px;font-weight:800;color:#ffb199;line-height:1.1;}
.fr-hero__stat span{font-size:13px;color:rgba(255,255,255,.82);}
@media(max-width:768px){.fr-hero__title{font-size:30px;}.fr-hero__lead{font-size:15.5px;}.fr-hero__btns{flex-direction:column;}.fr-hero__stat{flex:1;min-width:calc(50% - 8px);padding:16px;}.fr-hero__stat b{font-size:24px;}}

/* ---- worries ---- */
.fr-worries{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:940px;margin:0 auto;}
.fr-worry{position:relative;display:flex;flex-direction:column;align-items:flex-start;background:#fff;border-radius:16px;padding:26px 28px 28px;box-shadow:0 10px 30px rgba(13,37,66,.07);overflow:hidden;transition:.28s;}
.fr-worry::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--accent),#ffb199);opacity:0;transition:.28s;}
.fr-worry:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(13,37,66,.13);}
.fr-worry:hover::before{opacity:1;}
.fr-worry__ico{flex:none;width:54px;height:54px;border-radius:15px;background:rgba(255,106,61,.12);color:var(--accent);display:flex;align-items:center;justify-content:center;transition:.28s;margin-bottom:16px;}
.fr-worry__ico .fr-ic{width:24px;height:24px;}
.fr-worry:hover .fr-worry__ico{background:var(--accent);color:#fff;}
.fr-worry__ttl{font-size:16.5px;font-weight:900;color:var(--ink);line-height:1.55;margin-bottom:8px;position:relative;z-index:1;}
.fr-worry__desc{font-size:13.5px;color:var(--gray);line-height:1.8;position:relative;z-index:1;}
.fr-worry__num{position:absolute;right:16px;bottom:-14px;font-size:66px;font-weight:800;line-height:1;color:rgba(18,52,91,.05);pointer-events:none;font-style:italic;}
@media(max-width:768px){.fr-worries{grid-template-columns:1fr;}}

/* ---- feature (3特徴) ---- */
.fr-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.fr-feature{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:0;overflow:hidden;transition:.25s;box-shadow:0 12px 32px rgba(13,37,66,.12);}
.fr-feature:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(13,37,66,.14);}
.fr-feature__img{aspect-ratio:16/9;overflow:hidden;background:var(--bg2);}
.fr-feature__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.fr-feature:hover .fr-feature__img img{transform:scale(1.06);}
.fr-feature__body{flex:1;padding:26px 24px 28px;background:#fff;position:relative;}
.fr-feature__num{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff;font-size:20px;font-weight:800;margin-bottom:18px;}
.fr-feature h3{display:block;font-size:19px;margin-bottom:12px;font-weight:900;color:var(--ink);letter-spacing:.02em;}
.fr-feature p{font-size:14.5px;color:var(--gray);text-align:left;}
@media(max-width:1024px){.fr-features{grid-template-columns:1fr;max-width:560px;margin:0 auto;}}

/* ---- reasons (選ばれる理由) ---- */
.fr-reasons{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:960px;margin:0 auto;}
.fr-reason{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:0;overflow:hidden;transition:.25s;}
.fr-reason:hover{transform:translateY(-4px);border-color:rgba(255,106,61,.45);box-shadow:0 18px 40px rgba(0,0,0,.18);}
.fr-reason__img{aspect-ratio:5/3;background:var(--bg2);overflow:hidden;}
.fr-reason__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.fr-reason:hover .fr-reason__img img{transform:scale(1.06);}
.fr-reason__body{padding:26px 28px;}
.fr-reason__label{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;color:#fff;background:#ff6a3d;padding:5px 14px;border-radius:999px;margin-bottom:16px;}
.fr-reason h3{font-size:19px;color:var(--navy);margin-bottom:10px;}
.fr-reason p{font-size:14.5px;color:var(--gray);}
@media(max-width:768px){.fr-reasons{grid-template-columns:1fr;max-width:480px;}}

/* ---- price ---- */
.fr-price{max-width:780px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 16px 44px rgba(13,37,66,.08);}
.fr-price__row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 32px;border-bottom:1px dashed var(--line);}
.fr-price__row:last-child{border-bottom:0;}
.fr-price__label{font-size:15.5px;font-weight:700;color:var(--navy);}
.fr-price__label small{display:block;font-size:12.5px;font-weight:400;color:var(--gray-l);margin-top:4px;}
.fr-price__val{font-size:26px;font-weight:800;color:var(--accent);white-space:nowrap;text-align:right;}
.fr-price__val small{font-size:14px;color:var(--ink);font-weight:600;}
.fr-price__note{max-width:780px;margin:22px auto 0;font-size:13.5px;color:var(--gray);text-align:center;line-height:1.9;text-wrap:balance;}
.fr-price__cta{text-align:center;margin-top:32px;}
@media(max-width:768px){.fr-price__row{flex-direction:column;gap:8px;padding:20px 20px;}.fr-price__val{font-size:22px;text-align:left;}}

/* ---- price cards (dark / count-up) ---- */
.fr-price-section{background:linear-gradient(160deg,#08205e 0%,#123a9e 60%,#1a56c8 100%);position:relative;overflow:hidden;}
.fr-price-section::before{content:"";position:absolute;top:-12%;right:4%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(56,160,255,.28),transparent 62%);pointer-events:none;}
.fr-price-section .fr-head__ja{color:#fff;}
.fr-price-section .fr-head__lead{color:rgba(255,255,255,.8);}
#service .fr-head__ja,#service .fr-head__ja em,#reason .fr-head__ja em,#price .fr-head__ja em,#flow .fr-head__ja em{background:none;-webkit-text-fill-color:#fff;color:#fff;}
#worries .fr-head__ja em,#merit .fr-head__ja em,#recommend .fr-head__ja em,#faq .fr-head__ja em{background:none;-webkit-text-fill-color:var(--ink);color:var(--ink);}
.fr-price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:960px;margin:0 auto;position:relative;z-index:1;}
.fr-price-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 22px 26px;text-align:center;overflow:hidden;transition:.3s;}
.fr-price-card:hover{transform:translateY(-5px);border-color:rgba(255,106,61,.5);box-shadow:0 20px 46px rgba(0,0,0,.2);}
.fr-price-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ffb199,#ff6a3d);}
.fr-price-card__ico{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:rgba(255,106,61,.16);color:#ff8a63;margin-bottom:18px;}
.fr-price-card__num{display:flex;align-items:baseline;justify-content:center;gap:1px;color:#ff6a3d;font-weight:800;line-height:1;}
.fr-price-card__num .fr-count{font-size:54px;letter-spacing:.01em;background:linear-gradient(90deg,#ff7a3d 0%,#ee5320 50%,#c8400f 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.fr-price-card__tilde{font-size:26px;font-weight:700;color:#ff8a63;margin:0 3px;}
.fr-price-card__unit{font-size:20px;font-weight:700;color:var(--navy);margin-left:4px;}
.fr-price-card__label{margin-top:14px;font-size:15px;font-weight:700;color:var(--navy);}
.fr-price-card__note{margin-top:10px;font-size:12.5px;line-height:1.7;color:var(--gray);}
.fr-price__note--dark{color:rgba(255,255,255,.78);}
@media(max-width:1024px){.fr-price-cards{max-width:760px;gap:16px;}.fr-price-card__num .fr-count{font-size:44px;}}
@media(max-width:768px){.fr-price-cards{grid-template-columns:1fr;max-width:360px;}.fr-price-card__num .fr-count{font-size:48px;}}

/* ---- flow (dark / number cards) ---- */
.fr-flow-section{background:linear-gradient(160deg,#061a52 0%,#0f338c 60%,#1747b0 100%);position:relative;overflow:hidden;}
.fr-flow-section::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;}
.fr-flow-section::after{content:"";position:absolute;top:-8%;left:-4%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(56,160,255,.24),transparent 62%);pointer-events:none;}
.fr-flow-section .fr-head__ja{color:#fff;}
.fr-flow-section .fr-head__lead{color:rgba(255,255,255,.82);}
.fr-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;z-index:1;}
.fr-flow-card{position:relative;background:#fff;border-radius:16px;padding:26px 24px;box-shadow:0 16px 40px rgba(0,0,0,.26);transition:.25s;overflow:hidden;}
.fr-flow-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#ffb199,#ff6a3d);transform:scaleX(0);transform-origin:left;transition:.35s;}
.fr-flow-card:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(0,0,0,.34);}
.fr-flow-card:hover::before{transform:scaleX(1);}
.fr-flow-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.fr-flow-card__num{font-size:44px;font-weight:800;font-style:italic;color:var(--accent);line-height:1;letter-spacing:.02em;}
.fr-flow-card__ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:rgba(255,106,61,.1);color:#ff6a3d;}
.fr-flow-card__ico .fr-ic{width:22px;height:22px;}
.fr-flow-card h3{font-size:16.5px;color:var(--navy);margin-bottom:8px;}
.fr-flow-card p{font-size:13.5px;color:var(--gray);line-height:1.75;}
@media(max-width:1024px){.fr-flow-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){.fr-flow-grid{grid-template-columns:1fr;}.fr-flow-card__num{font-size:38px;}}

/* ---- faq ---- */
.fr-faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.fr-faq__item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(13,37,66,.05);}
.fr-faq__item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;font-weight:700;font-size:16px;color:var(--navy);}
.fr-faq__item summary::-webkit-details-marker{display:none;}
.fr-faq__item summary::after{content:"+";flex:none;font-size:22px;color:var(--accent);transition:transform .3s;}
.fr-faq__item[open] summary::after{transform:rotate(45deg);}
.fr-faq__a{padding:0 26px 22px;font-size:14.5px;line-height:1.95;color:var(--gray);}
@media(max-width:768px){.fr-faq__item summary{font-size:14.5px;padding:18px;}.fr-faq__a{padding:0 18px 18px;}}
.fr-morewrap{text-align:center;margin-top:38px;}
.fr-morelink{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:15px 34px;font-weight:900;color:var(--navy);box-shadow:0 8px 22px rgba(13,37,66,.08);transition:.25s;}
.fr-morelink:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,106,61,.18);}
.fr-morelink span{transition:transform .25s;}
.fr-morelink:hover span{transform:translateX(4px);}

/* ---- company ---- */
.fr-company{max-width:720px;margin:0 auto;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.fr-company__row{display:flex;border-bottom:1px solid var(--line);}
.fr-company__row:last-child{border-bottom:0;}
.fr-company__th{flex:none;width:150px;background:var(--bg2);padding:16px 20px;font-size:14px;font-weight:700;color:var(--navy);}
.fr-company__td{padding:16px 20px;font-size:14.5px;color:var(--ink);}
@media(max-width:768px){.fr-company__row{flex-direction:column;}.fr-company__th{width:100%;}}

/* ---- CTA band ---- */
.fr-cta-band{position:relative;overflow:hidden;background:linear-gradient(135deg,#08205e,#1a56c8);color:#fff;text-align:center;padding:84px 24px;}
.fr-cta-band::before{content:"";position:absolute;top:-32%;left:50%;transform:translateX(-50%);width:620px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,106,61,.24),transparent 65%);pointer-events:none;}
.fr-cta-band::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;}
.fr-cta-band>*{position:relative;z-index:1;}
.fr-cta-band h2{font-size:40px;font-weight:800;margin-bottom:14px;letter-spacing:.03em;text-wrap:balance;}
.fr-cta-band h2 em{font-style:normal;background:none;-webkit-text-fill-color:#fff;color:#fff;}
.fr-cta-band .fr-btn{padding:18px 42px;font-size:16px;font-weight:900;}
.fr-cta-band p{margin-bottom:30px;color:rgba(255,255,255,.9);text-wrap:balance;}
.fr-cta-band__btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.fr-cta-band__tel{margin-top:22px;font-size:14px;color:rgba(255,255,255,.85);}
.fr-cta-band__tel a{font-size:22px;font-weight:800;color:#fff;letter-spacing:.04em;}
@media(max-width:768px){.fr-cta-band h2{font-size:27px;}.fr-cta-band__btns{flex-direction:column;}.fr-cta-band .fr-btn{width:100%;}}

/* ---- footer ---- */
.fr-footer{background:linear-gradient(180deg,#0d2542 0%,#0b1d33 100%);color:rgba(255,255,255,.72);padding:64px 0 24px;border-top:3px solid var(--accent);}
.fr-footer__grid{display:grid;grid-template-columns:2.2fr 1fr 1fr;gap:48px;align-items:start;}
.fr-footer__brand{max-width:380px;}
.fr-footer__logo{display:inline-flex;align-items:center;gap:9px;font-family:'Montserrat','Noto Sans JP',sans-serif;font-size:22px;font-weight:900;color:#fff;margin-bottom:16px;}
.fr-footer__mark{display:inline-flex;background:#fff;border-radius:8px;padding:4px;}
.fr-footer__mark img{height:28px;width:auto;display:block;}
.fr-footer__logo span{color:var(--accent);}
.fr-footer__desc{font-size:13.5px;line-height:1.9;color:rgba(255,255,255,.6);margin-bottom:22px;}
.fr-footer__tel{display:inline-flex;align-items:center;gap:11px;padding:11px 20px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.04);color:#fff;transition:border-color .2s,background .2s;}
.fr-footer__tel:hover{border-color:var(--accent);background:rgba(255,106,61,.1);}
.fr-footer__tel svg{width:20px;height:20px;color:var(--accent);flex:none;}
.fr-footer__tel-txt{display:flex;flex-direction:column;line-height:1.25;}
.fr-footer__tel-txt small{font-size:11px;color:rgba(255,255,255,.55);letter-spacing:.04em;}
.fr-footer__tel-txt b{font-family:'Montserrat','Noto Sans JP',sans-serif;font-size:21px;font-weight:800;letter-spacing:.02em;}
.fr-footer__col h4{font-size:13px;letter-spacing:.1em;color:#fff;margin-bottom:18px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.12);}
.fr-footer__col ul{list-style:none;}
.fr-footer__col li{margin-bottom:12px;}
.fr-footer__col a{font-size:13.5px;color:rgba(255,255,255,.7);transition:color .2s,padding .2s;}
.fr-footer__col a:hover{color:#fff;padding-left:4px;}
.fr-footer__bottom{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);text-align:center;}
.fr-footer__company{font-size:12.5px;line-height:1.8;color:rgba(255,255,255,.55);}
.fr-footer__copy{margin-top:8px;font-size:12px;color:rgba(255,255,255,.4);}
@media(max-width:768px){.fr-footer{padding:48px 0 22px;}.fr-footer__grid{grid-template-columns:1fr 1fr;gap:32px 24px;}.fr-footer__brand{grid-column:1 / -1;max-width:none;}}

/* ---- mobile fixed CTA ---- */
.fr-mcta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:200;box-shadow:0 -4px 20px rgba(0,0,0,.22);}
.fr-mcta__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 4px;color:#fff;}
.fr-mcta__btn svg{width:20px;height:20px;flex:none;}
.fr-mcta__txt{display:flex;flex-direction:column;line-height:1.25;}
.fr-mcta__txt small{font-size:10px;font-weight:600;opacity:.9;letter-spacing:.02em;}
.fr-mcta__txt b{font-size:15px;font-weight:800;letter-spacing:.02em;}
.fr-mcta__tel{background:var(--navy);}
.fr-mcta__contact{position:relative;overflow:hidden;background:linear-gradient(90deg,#ff8154,#ff6a3d 60%,#e8542a);}
@media(max-width:768px){.fr-mcta{display:flex;}body{padding-bottom:60px;}}

/* ---- reveal ---- */
.js .fr-reveal>*{opacity:0;transform:translateY(22px);transition:.6s cubic-bezier(.2,.7,.2,1);}
.js .fr-reveal.is-in>*{opacity:1;transform:none;}
.js .fr-reveal>*:nth-child(2){transition-delay:.08s;}
.js .fr-reveal>*:nth-child(3){transition-delay:.16s;}
@media (prefers-reduced-motion: reduce){.js .fr-reveal>*{opacity:1 !important;transform:none !important;}html{scroll-behavior:auto;}}

/* ---- icons ---- */
.fr-ic{display:inline-block;vertical-align:middle;flex:none;}
.fr-btn .fr-ic{width:18px;height:18px;}
.fr-header__cta .fr-ic{width:16px;height:16px;vertical-align:-3px;}
.fr-feature__ico{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;background:var(--bg2);color:var(--accent);margin-bottom:18px;}
.fr-reason__ico{display:block;color:#ffb199;margin-bottom:12px;}
.fr-flow__item h3 .fr-ic{color:var(--accent);width:18px;height:18px;vertical-align:-3px;margin-right:7px;}
.fr-worry__mark .fr-ic{width:18px;height:18px;}

/* ---- hero visual ---- */
.fr-hero__visual{position:relative;}
.fr-hero__img{width:100%;height:auto;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.35);}
.fr-hero__ph{display:none;flex-direction:column;align-items:center;gap:14px;background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.32);border-radius:18px;padding:28px;}
.fr-hero__visual.is-empty .fr-hero__ph{display:flex;}
.fr-hero__ph>svg{width:100%;max-width:340px;height:auto;}
.fr-hero__ph span{font-size:12.5px;color:rgba(255,255,255,.6);letter-spacing:.06em;}
@media(max-width:1024px){.fr-hero__inner{grid-template-columns:1fr !important;}.fr-hero__visual{max-width:440px;margin:6px auto 0;}}

/* ---- image placeholder ---- */
.fr-imgslot{position:relative;width:100%;min-height:130px;background:var(--bg2);border:1px dashed #cdd6e0;border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.fr-imgslot img{width:100%;height:100%;object-fit:cover;display:block;}
.fr-imgslot__ph{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--gray-l);text-align:center;padding:20px;}
.fr-imgslot__ph .fr-ic{color:var(--gray-l);margin-bottom:2px;}
.fr-imgslot__ph b{font-size:13.5px;font-weight:700;color:var(--gray);}
.fr-imgslot__ph em{font-size:11.5px;font-style:normal;color:var(--gray-l);letter-spacing:.04em;}
.fr-imgslot--figure{max-width:900px;margin:44px auto 0;}

/* ---- merit ---- */
.fr-merits{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.fr-merit{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 22px;text-align:center;transition:.25s;}
.fr-merit:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(13,37,66,.1);}
.fr-merit__ico{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:16px;background:rgba(255,106,61,.12);color:var(--accent);margin-bottom:16px;}
.fr-merit__ico .fr-ic{width:28px;height:28px;}
.fr-merit h3{font-size:16.5px;color:var(--navy);margin-bottom:10px;}
.fr-merit p{font-size:13.5px;color:var(--gray);text-align:left;line-height:1.75;}
@media(max-width:1024px){.fr-merits{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.fr-merits{grid-template-columns:1fr;}}

/* ---- compare ---- */
.fr-compare{max-width:900px;margin:0 auto;overflow-x:auto;}
.fr-compare table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:15px;min-width:560px;box-shadow:0 12px 32px rgba(13,37,66,.08);}
.fr-compare th,.fr-compare td{padding:18px 14px;text-align:center;border-bottom:1px solid var(--line);}
.fr-compare thead th{background:linear-gradient(90deg,#123a9e,#1a56c8);color:#fff;font-weight:700;font-size:14px;line-height:1.4;}
.fr-compare tbody th{text-align:left;font-weight:800;color:var(--navy);background:var(--bg2);white-space:nowrap;line-height:1.4;font-size:15.5px;}
.fr-compare tbody tr:last-child th,.fr-compare tbody tr:last-child td{border-bottom:0;}
.fr-compare .is-me td{background:rgba(255,106,61,.07);}
.fr-compare .is-me th{background:rgba(255,106,61,.16);color:var(--accent-d);}
.fr-compare .mk{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;font-size:26px;font-weight:900;line-height:1;-webkit-text-stroke:1.2px currentColor;}
.fr-compare .mk--o{color:#1d9e75;background:rgba(29,158,117,.13);}
.fr-compare .mk--n{color:#5f6b78;background:rgba(95,107,120,.1);}
.fr-compare .mk--t{color:#d99a1f;background:rgba(217,154,31,.15);}
.fr-compare .is-me .mk{width:48px;height:48px;font-size:30px;}
.fr-compare__note{max-width:900px;margin:16px auto 0;font-size:12.5px;color:var(--gray-l);text-align:center;line-height:1.7;}

/* ---- target ---- */
.fr-targets{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.fr-target{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0;overflow:hidden;box-shadow:0 8px 22px rgba(13,37,66,.07);transition:.25s;}
.fr-target:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,37,66,.14);}
.fr-target__img{width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--bg2);}
.fr-target__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.fr-target:hover .fr-target__img img{transform:scale(1.05);}
.fr-target p{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.6;padding:16px 18px 18px;}
@media(max-width:1024px){.fr-targets{gap:16px;}}
@media(max-width:768px){.fr-targets{grid-template-columns:1fr 1fr;max-width:520px;gap:14px;}}

/* ---- mechanism (仕組み図解) ---- */
.fr-mechanism{display:flex;align-items:stretch;justify-content:center;gap:10px;max-width:980px;margin:48px auto 0;}
.fr-mechanism__step{flex:1;background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:28px 20px;text-align:center;}
.fr-mechanism__step--accent{background:linear-gradient(160deg,#12345b,#1d4d7e);border-color:transparent;color:#fff;box-shadow:0 16px 40px rgba(18,52,91,.25);}
.fr-mechanism__ico{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:16px;background:#fff;color:var(--accent);margin-bottom:14px;box-shadow:0 6px 16px rgba(13,37,66,.08);}
.fr-mechanism__step--accent .fr-mechanism__ico{background:rgba(255,255,255,.16);color:#fff;}
.fr-mechanism__step h4{font-size:15.5px;color:var(--navy);margin-bottom:8px;}
.fr-mechanism__step--accent h4{color:#fff;}
.fr-mechanism__step p{font-size:13px;color:var(--gray);line-height:1.7;}
.fr-mechanism__step--accent p{color:rgba(255,255,255,.9);}
.fr-mechanism__arrow{flex:none;display:flex;align-items:center;color:var(--accent);}
.fr-mechanism__arrow .fr-ic{width:26px;height:26px;}
@media(max-width:768px){.fr-mechanism{flex-direction:column;gap:6px;}.fr-mechanism .fr-mechanism__arrow{transform:rotate(90deg) !important;align-self:center;margin:2px 0;}}

/* ---- mid CTA ---- */
.fr-midcta{background:linear-gradient(135deg,#fff3ee 0%,#eef3f9 100%);padding:58px 0;}
.fr-midcta__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.fr-midcta__badge{display:inline-block;background:#fff;border:1px solid var(--line);color:var(--navy);font-size:12.5px;font-weight:700;padding:7px 16px;border-radius:999px;margin-bottom:14px;box-shadow:0 6px 16px rgba(13,37,66,.06);}
.fr-midcta__title{font-size:27px;font-weight:800;color:var(--navy);line-height:1.45;}
.fr-midcta__text{font-size:15px;color:var(--gray);margin-top:10px;}
.fr-midcta__btns{display:flex;gap:14px;flex-wrap:wrap;flex:none;}
@media(max-width:768px){.fr-midcta__inner{flex-direction:column;text-align:center;}.fr-midcta__btns{width:100%;flex-direction:column;}.fr-midcta__btns .fr-btn{width:100%;}.fr-midcta__title{font-size:23px;}}
.fr-cta-band__badge{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);color:#fff;font-size:13px;font-weight:700;padding:8px 18px;border-radius:999px;margin-bottom:18px;}

/* ---- intro（メイン下の主役CTA） ---- */
.fr-intro{background:linear-gradient(180deg,#f6f7f9 0%,#eef0f4 100%);padding:54px 0 62px;text-align:center;}
.fr-intro__badge{display:inline-block;background:#fff;border:1px solid var(--line);color:var(--navy);font-size:13px;font-weight:700;padding:9px 20px;border-radius:999px;box-shadow:0 6px 16px rgba(13,37,66,.06);margin-bottom:22px;}
.fr-intro__ctawrap{margin-bottom:8px;}
.fr-intro__cta{position:relative;overflow:hidden;display:inline-flex;flex-direction:column;align-items:center;gap:2px;background:linear-gradient(90deg,#ff8154 0%,#ff6a3d 55%,#e8542a 100%);color:#fff;padding:15px 58px;border-radius:999px;box-shadow:0 16px 36px rgba(255,106,61,.42);transition:.25s;}
.fr-intro__cta:hover{transform:translateY(-2px);filter:brightness(1.05);}
.fr-intro__cta::before{content:"";position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:fr-shine 4s ease-in-out infinite;pointer-events:none;}
.fr-intro__cta small,.fr-intro__cta b{position:relative;z-index:1;}
.fr-intro__cta small{font-size:12px;font-weight:600;opacity:.92;}
.fr-intro__cta b{font-size:22px;font-weight:800;letter-spacing:.03em;}
.fr-intro__title{font-size:34px;font-weight:800;color:var(--ink);line-height:1.42;margin-top:34px;letter-spacing:.02em;text-wrap:balance;}
.fr-intro__title em{font-style:normal;background:linear-gradient(90deg,#2b7fff 0%,#c04dff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.fr-intro__lead{max-width:760px;margin:18px auto 0;font-size:15.5px;color:var(--gray);line-height:1.9;text-wrap:balance;}
.fr-intro__note{margin-top:36px;font-size:13.5px;color:var(--gray);}
.fr-intro__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;}
.fr-intro__tags span{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:600;color:var(--navy);box-shadow:0 4px 12px rgba(13,37,66,.05);}
.fr-intro__tags .fr-ic{width:16px;height:16px;color:var(--accent);}
@media(max-width:768px){.fr-intro__title{font-size:25px;}.fr-intro__cta{padding:14px 42px;}.fr-intro__cta b{font-size:19px;}}

/* ---- pagehead ---- */
.fr-pagehead{background:linear-gradient(135deg,#08205e,#1a56c8);color:#fff;text-align:left;padding:56px 0 52px;}
.fr-crumb{background:var(--bg2);border-bottom:1px solid var(--line);}
.fr-crumb .fr-container{padding-top:13px;padding-bottom:13px;}
.fr-crumb a,.fr-crumb span{font-size:13px;}
.fr-crumb a{color:var(--navy);font-weight:600;}
.fr-crumb a:hover{color:var(--accent);}
.fr-crumb .sep{margin:0 9px;color:var(--gray-l);}
.fr-crumb .cur{color:var(--gray);}
.fr-pagehead__en{display:block;font-size:13px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.6);margin-bottom:10px;}
.fr-pagehead__title{font-size:38px;font-weight:800;letter-spacing:.03em;color:#fff;}
.fr-pagehead__title em{font-style:normal;background:none;-webkit-text-fill-color:#fff;color:#fff;}
.fr-pagehead__lead{max-width:760px;margin:16px 0 0;font-size:15px;color:rgba(255,255,255,.85);text-wrap:balance;}
@media(max-width:768px){.fr-pagehead__title{font-size:28px;}}
.fr-merits--3{grid-template-columns:repeat(3,1fr);}
@media(max-width:1024px){.fr-merits--3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.fr-merits--3{grid-template-columns:1fr;}}

/* ---- prose（本文） ---- */
.fr-prose{max-width:820px;margin:0 auto;font-size:15.5px;line-height:1.95;color:var(--ink);}
.fr-prose h3{font-size:20px;color:var(--navy);margin:34px 0 12px;padding-left:12px;border-left:4px solid var(--accent);}
.fr-prose h3:first-child{margin-top:0;}
.fr-prose p{margin-bottom:16px;color:var(--gray);}
.fr-prose ul{margin:0 0 16px 1.2em;color:var(--gray);}
.fr-prose li{margin-bottom:8px;}
.fr-prose a{color:var(--accent);font-weight:600;}
.fr-prose b:not(.fr-em){font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-weight:800;color:var(--navy);}
.fr-prose h2{font-size:24px;color:var(--navy);margin:36px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--line);}
.fr-prose img{max-width:100%;height:auto;border-radius:10px;margin:16px 0;}
.fr-media{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;max-width:1040px;margin:0 auto;}
.fr-media .fr-prose{max-width:none;margin:0;}
.fr-media__fig{margin:0;}
.fr-media__fig img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 14px 36px rgba(8,32,94,.14);}
@media(max-width:768px){.fr-media{grid-template-columns:1fr;gap:26px;}.fr-media__fig{order:-1;}}
.fr-em{font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-weight:900;color:var(--accent-d,#c8431c);background:linear-gradient(transparent 54%,rgba(255,138,84,.4) 54%);padding:0 3px;letter-spacing:.01em;}
.fr-flowintro{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;max-width:1040px;margin:0 auto;}
.fr-flowintro__body{max-width:none;margin:0;}
.fr-flowintro__card{background:linear-gradient(150deg,#123a9e 0%,#0d2542 100%);border-radius:18px;padding:30px 28px;box-shadow:0 18px 44px rgba(8,32,94,.24);}
.fr-flowintro__badge{display:inline-block;font-family:'Montserrat','Noto Sans JP',sans-serif;font-size:12px;font-weight:800;letter-spacing:.16em;color:#a3ecff;border:1px solid rgba(163,236,255,.4);border-radius:999px;padding:5px 14px;margin-bottom:18px;}
.fr-flowintro__card ul{list-style:none;display:flex;flex-direction:column;gap:16px;}
.fr-flowintro__card li{display:flex;align-items:flex-start;gap:13px;}
.fr-flowintro__ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#ff8154,#ff6a3d);color:#fff;box-shadow:0 6px 16px rgba(255,106,61,.4);}
.fr-flowintro__ico svg{width:19px;height:19px;}
.fr-flowintro__card b{display:block;font-size:15.5px;font-weight:800;color:#fff;line-height:1.5;}
.fr-flowintro__card small{display:block;margin-top:3px;font-size:12.5px;color:rgba(255,255,255,.7);line-height:1.65;}
@media(max-width:768px){.fr-flowintro{grid-template-columns:1fr;gap:28px;}}

/* ---- posts（コラム一覧） ---- */
.fr-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.fr-post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 26px rgba(13,37,66,.06);transition:.25s;}
.fr-post-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(13,37,66,.13);}
.fr-post-card__img{aspect-ratio:16/9;background:var(--bg2);overflow:hidden;display:block;}
.fr-post-card__img img{width:100%;height:100%;object-fit:cover;display:block;}
.fr-post-card__body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column;}
.fr-post-card__date{font-size:12px;color:var(--accent);font-weight:700;}
.fr-post-card__title{font-size:16.5px;color:var(--navy);margin:6px 0 10px;line-height:1.6;font-weight:700;}
.fr-post-card__ex{font-size:13.5px;color:var(--gray);line-height:1.8;}
.fr-posts-empty{text-align:center;color:var(--gray);padding:50px 0;}
@media(max-width:1024px){.fr-posts{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.fr-posts{grid-template-columns:1fr;}}
.fr-pagination{text-align:center;margin-top:40px;}
.fr-pagination .page-numbers{display:inline-block;padding:8px 14px;margin:0 4px;border:1px solid var(--line);border-radius:8px;color:var(--navy);font-weight:700;}
.fr-pagination .current{background:var(--accent);color:#fff;border-color:var(--accent);}

/* ---- info table（特商法） ---- */
.fr-infotable{max-width:860px;margin:0 auto;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;}
.fr-infotable dl{display:flex;flex-wrap:wrap;margin:0;}
.fr-infotable dt{width:32%;background:var(--bg2);padding:16px 20px;font-weight:700;font-size:14px;color:var(--navy);border-bottom:1px solid var(--line);box-sizing:border-box;}
.fr-infotable dd{width:68%;padding:16px 20px;margin:0;font-size:14.5px;color:var(--ink);line-height:1.8;border-bottom:1px solid var(--line);box-sizing:border-box;}
.fr-infotable dd a{color:var(--accent);font-weight:600;text-decoration:none;}
.fr-infotable dd a:hover{text-decoration:underline;}
@media(max-width:768px){.fr-infotable dt,.fr-infotable dd{width:100%;}.fr-infotable dt{border-bottom:0;}}
.fr-legal-note{max-width:860px;margin:16px auto 0;font-size:12.5px;color:var(--gray-l);line-height:1.7;}

/* ---- contact form ---- */
.fr-form{max-width:720px;margin:0 auto;}
.fr-form__row{margin-bottom:20px;}
.fr-form label{display:block;font-size:14px;font-weight:700;color:var(--navy);margin-bottom:7px;}
.fr-form label .req{color:#fff;background:var(--accent);font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;margin-left:8px;}
.fr-form label .opt{color:var(--gray-l);font-size:12px;margin-left:8px;}
.fr-form input,.fr-form textarea,.fr-form select{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;font-size:16px;font-family:inherit;background:#fff;box-sizing:border-box;}
.fr-form input:focus,.fr-form textarea:focus,.fr-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,106,61,.12);}
.fr-form textarea{min-height:150px;resize:vertical;}
.fr-form__hp{position:absolute!important;left:-9999px!important;}
.fr-form__privacy{font-size:13.5px;color:var(--gray);text-align:center;margin:20px 0;}
.fr-form__privacy a{color:var(--accent);font-weight:600;}
.fr-form__submit{text-align:center;margin-top:8px;}
.fr-form__submit button{border:0;cursor:pointer;font-family:inherit;}
.fr-form__err{background:#fdecea;border:1px solid #f5c2bd;color:#c0392b;border-radius:10px;padding:12px 16px;margin-bottom:22px;font-size:14px;}
.fr-contact-alt{max-width:720px;margin:28px auto 0;text-align:center;font-size:14px;color:var(--gray);}
.fr-contact-alt a{font-weight:800;color:var(--navy);}
.fr-thanks{max-width:640px;margin:0 auto;text-align:center;}
.fr-thanks p{font-size:16px;color:var(--gray);line-height:2;margin-bottom:28px;}

/* ---- 公開前ゲート ---- */
.fr-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy-d);padding:24px;}
.fr-gate__box{width:100%;max-width:380px;background:#fff;border-radius:16px;padding:40px 32px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3);}
.fr-gate__logo{font-size:26px;font-weight:800;color:var(--navy);margin-bottom:6px;}
.fr-gate__logo span{color:var(--accent);}
.fr-gate__note{font-size:13.5px;color:var(--gray);margin-bottom:24px;}
.fr-gate__box input[type=password]{width:100%;height:48px;border:1px solid var(--line);border-radius:10px;padding:0 14px;font-size:16px;margin-bottom:14px;}
.fr-gate__box input[type=password]:focus{outline:none;border-color:var(--accent);}
.fr-gate__box button{width:100%;height:48px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-size:15px;font-weight:700;cursor:pointer;}
.fr-gate__err{color:#d33;font-size:13px;margin-bottom:12px;}

/* ---- holding ---- */
.fr-holding{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;}
.fr-holding h1{font-size:38px;font-weight:800;color:var(--navy);margin-bottom:12px;}
.fr-holding h1 span{color:var(--accent);}
.fr-holding p{font-size:15px;color:var(--gray);}
/* タイトル・見出し系を全ページ極太(900)に統一 */
.fr-head__ja,.fr-intro__title,.fr-cta-band h2,.fr-midcta__title,.fr-pagehead__ja,.fr-feature h3,.fr-merit h3,.fr-reason h3,.fr-flow-card h3,.fr-mechanism__step h4,.fr-prose h3,.fr-faq__item summary,.fr-price-card__label{font-weight:900;}
