<!doctype html>

<html lang="ja">

<head>

  <meta charset="utf-8" />

  <meta name="viewport" content="width=device-width,initial-scale=1" />

  <title>Exfort|静かな進化を、確かな力に。</title>

  <meta name="description" content="Exfort株式会社|デジタルマーケティング戦略支援、ブランドコミュニケーション戦略支援、LLMOコンサルティング支援" />


  <style>

    :root{

      --teal:#0D9488;

      --tealHover:#0A7A70;

      --ink:#0B1F2A;

      --text:#334155;

      --muted:#64748B;

      --bg:#F8FAFC;

      --white:#ffffff;

      --line:#E2E8F0;

      --shadow:0 10px 30px rgba(2,6,23,.08);

      --radius:14px;

      --container:1100px;

    }

    *{box-sizing:border-box}

    html{scroll-behavior:smooth}

    body{

      margin:0;

      font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic UI",sans-serif;

      background:var(--bg);

      color:var(--ink);

    }

    a{color:inherit;text-decoration:none}

    .container{max-width:var(--container);margin:0 auto;padding:0 24px}

    .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}


    /* Header */

    header{

      position:fixed;top:0;left:0;right:0;

      z-index:50;

      transition:all .25s ease;

      padding:18px 0;

      background:transparent;

    }

    header.scrolled{

      background:rgba(255,255,255,.90);

      backdrop-filter:blur(10px);

      border-bottom:1px solid var(--line);

      padding:10px 0;

      box-shadow:0 6px 18px rgba(2,6,23,.05);

    }

    .nav{

      display:flex;align-items:center;justify-content:space-between;gap:16px;

    }

    .brand{

      font-weight:800;letter-spacing:.02em;font-size:20px;color:var(--ink);

    }

    .navlinks{display:flex;align-items:center;gap:18px}

    .navlinks a{

      font-size:13px;font-weight:600;color:var(--text);

      padding:8px 6px;border-radius:10px;

      transition:color .2s ease, background .2s ease;

    }

    .navlinks a:hover{color:var(--teal)}

    .navlinks .btn{

      background:var(--teal);color:#fff;padding:10px 14px;border-radius:12px;

    }

    .navlinks .btn:hover{background:var(--tealHover);color:#fff}


    /* Mobile */

    .menuBtn{display:none;border:1px solid var(--line);background:rgba(255,255,255,.75);border-radius:12px;padding:10px 12px}

    .mobileNav{

      display:none;

      position:absolute;top:100%;left:0;right:0;

      background:#fff;border-bottom:1px solid var(--line);

      box-shadow:0 18px 40px rgba(2,6,23,.10);

    }

    .mobileNav a{

      display:block;padding:14px 24px;border-top:1px solid #F1F5F9;

      color:var(--text);font-weight:700;font-size:14px;

    }

    .mobileNav a.btn{color:var(--teal)}

    header.open .mobileNav{display:block}


    /* Hero */

    .hero{

      position:relative;

      padding:140px 0 96px;

      overflow:hidden;

      background:var(--white);

    }

    .hero::before{

      content:"";

      position:absolute;inset:0;

      background:

        linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.78) 55%, rgba(255,255,255,.25) 100%),

        linear-gradient(180deg, rgba(13,148,136,.10) 0%, rgba(255,255,255,.30) 100%),

        url("images/hero.jpg") center/cover no-repeat;

      transform:scale(1.02);

      filter:saturate(1.05);

      opacity:.9;

      -webkit-mask-image:linear-gradient(to bottom, #000 90%, transparent);

      mask-image:linear-gradient(to bottom, #000 90%, transparent);

    }

    .heroInner{position:relative;max-width:720px}

    h1{

      margin:0 0 18px;

      font-size:44px;line-height:1.15;

      color:var(--ink);

      letter-spacing:-.02em;

    }

    .lead{

      margin:0 0 28px;

      font-size:18px;line-height:1.85;

      color:var(--text);

      max-width:44em;

      text-wrap:balance;

    }

    .heroBtns{display:flex;gap:12px;flex-wrap:wrap}

    .btnPrimary,.btnGhost{

      display:inline-flex;align-items:center;justify-content:center;

      padding:14px 20px;border-radius:12px;

      font-weight:800;font-size:14px;

      transition:all .2s ease;

    }

    .btnPrimary{background:var(--teal);color:#fff;box-shadow:0 14px 34px rgba(13,148,136,.22)}

    .btnPrimary:hover{background:var(--tealHover);transform:translateY(-1px)}

    .btnGhost{background:#fff;border:1px solid var(--line);color:var(--text)}

    .btnGhost:hover{background:#F8FAFC}


    /* Sections */

    .section{padding:96px 0}

    .sectionAlt{background:var(--bg)}

    .sectionHead{margin-bottom:44px}

    .sectionHead h2{

      margin:0 0 12px;

      font-size:28px;color:var(--ink);letter-spacing:-.01em

    }

    .bar{width:48px;height:4px;background:var(--teal)}

    .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

    .card{

      background:#fff;border:1px solid #EEF2F7;

      box-shadow:var(--shadow);

      border-radius:var(--radius);

    }

    .cardPad{padding:26px}

    .kicker{font-size:12px;font-weight:900;color:var(--teal);letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}

    .card h3{margin:0 0 12px;color:var(--ink);font-size:18px}

    .card p{margin:0;color:var(--text);line-height:1.8;font-size:14px}


    /* R&D block */

    .rd{

      border-left:4px solid var(--teal);

      padding:22px 22px 22px 26px;

      background:#fff;border-radius:var(--radius);

      border:1px solid #EEF2F7;

      box-shadow:var(--shadow);

      max-width:900px;

    }

    .rd h2{font-size:24px;margin:0 0 12px;color:var(--ink)}

    .rd p{margin:0 0 16px;color:var(--text);line-height:1.9}

    .pill{display:inline-flex;align-items:center;gap:10px;color:var(--teal);font-weight:800;font-size:13px}

    .dot{width:8px;height:8px;border-radius:999px;background:var(--teal);animation:pulse 1.2s infinite}

    @keyframes pulse{0%{transform:scale(1);opacity:.35}50%{transform:scale(1.25);opacity:1}100%{transform:scale(1);opacity:.35}}


    /* Profile */

    .profileWrap{display:flex;gap:22px;align-items:flex-start;max-width:980px}

    .avatarWrap{width:160px;height:160px;flex:0 0 auto;position:relative}

    .avatarShadow{

      position:absolute;inset:0;background:rgba(11,31,42,.05);

      transform:translate(10px,10px);border-radius:12px;z-index:0;transition:transform .25s ease;

    }

    .avatar{

      width:100%;height:100%;object-fit:cover;border-radius:12px;

      border:1px solid #EEF2F7;box-shadow:0 6px 18px rgba(2,6,23,.08);

      filter:grayscale(1);opacity:.92;transition:all .5s ease;position:relative;z-index:1;

    }

    .avatarWrap:hover .avatar{filter:grayscale(0);opacity:1}

    .avatarWrap:hover .avatarShadow{transform:translate(6px,6px)}

    .roleLine{margin:0 0 6px;font-size:12px;font-weight:900;color:var(--teal);letter-spacing:.16em}

    .name{margin:0 0 14px;font-size:24px;color:var(--ink);font-weight:900}

    .bio{margin:0;color:var(--text);line-height:1.9}


    /* Company table */

    .companyBox{max-width:920px}

    .rows{border-top:1px solid var(--line)}

    .row{

      display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);

      flex-wrap:wrap;

    }

    .label{flex:0 0 200px;font-size:13px;font-weight:900;color:var(--text)}

    .value{flex:1;font-size:14px;color:var(--ink);line-height:1.8}


    /* Contact */

    .center{text-align:center}

    .contactCard{max-width:920px;margin:0 auto}

    .note{font-size:12px;color:#94A3B8;margin-top:10px}

    form{display:block}

    .formGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

    label{display:block;font-size:13px;font-weight:900;color:var(--text);margin:0 0 8px}

    input,textarea{

      width:100%;padding:12px 12px;border-radius:12px;

      border:1px solid var(--line);background:var(--bg);

      outline:none;transition:border .2s ease;background-clip:padding-box;

      font-size:14px;color:var(--ink);

    }

    input:focus,textarea:focus{border-color:var(--teal)}

    textarea{min-height:140px;resize:vertical}

    .submitWrap{text-align:center;margin-top:16px}

    .submitted{

      padding:28px;border-radius:var(--radius);background:var(--bg);

      border:1px solid #EEF2F7;text-align:center;

    }

    .backLink{border:0;background:transparent;color:var(--teal);font-weight:800;cursor:pointer}


    /* Footer */

    footer{

      background:var(--ink);

      color:#fff;

      padding:34px 0;

      margin-top:auto;

    }

    .footInner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}

    .footTitle{font-weight:900;font-size:18px;margin:0}

    .footSub{margin:6px 0 0;color:rgba(255,255,255,.60);font-size:13px}

    .copy{color:rgba(255,255,255,.55);font-size:12px;font-weight:700}


    /* Responsive */

    @media (max-width:860px){

      .navlinks{display:none}

      .menuBtn{display:inline-flex;align-items:center;gap:8px}

      h1{font-size:38px}

      .section{padding:76px 0}

      .grid3{grid-template-columns:1fr;gap:14px}

      .profileWrap{flex-direction:column}

      .avatarWrap{width:140px;height:140px}

      .formGrid{grid-template-columns:1fr}

      .label{flex:0 0 140px}

    }

  </style>

</head>


<body>

  <header id="siteHeader">

    <div class="container">

      <div class="nav">

        <a class="brand" href="#top">Exfort</a>


        <nav class="navlinks" aria-label="Primary">

          <a href="#services">事業内容</a>

          <a href="#strengths">強み</a>

          <a href="#rd">R&amp;D</a>

          <a href="#profile">代表</a>

          <a href="#company">会社情報</a>

          <a class="btn" href="#contact">お問い合わせ</a>

        </nav>


        <button class="menuBtn" id="menuBtn" aria-expanded="false" aria-controls="mobileNav">

          <span style="font-weight:900;color:var(--ink)">Menu</span>

          <span aria-hidden="true">☰</span>

        </button>

      </div>

    </div>


    <div class="mobileNav" id="mobileNav">

      <a href="#services">事業内容</a>

      <a href="#strengths">強み</a>

      <a href="#rd">R&amp;D</a>

      <a href="#profile">代表</a>

      <a href="#company">会社情報</a>

      <a class="btn" href="#contact">お問い合わせ</a>

    </div>

  </header>


  <main id="top">

    <!-- Hero -->

    <section class="hero">

      <div class="container">

        <div class="heroInner">

          <h1>静かな進化を、<br>確かな力に。</h1>

          <p class="lead">

            複雑化するデジタル領域において、本質的な価値を追求する。Exfortは、企業支援から生まれる深い洞察をもとに、

            お客様の事業成長を確かな技術と戦略で支えます。

          </p>

          <div class="heroBtns">

            <a class="btnPrimary" href="#contact">お問い合わせ</a>

            <a class="btnGhost" href="#services">事業内容を見る</a>

          </div>

        </div>

      </div>

    </section>


    <!-- Services -->

    <section id="services" class="section">

      <div class="container">

        <div class="sectionHead">

          <h2>事業内容</h2>

          <div class="bar"></div>

        </div>


        <div class="grid3">

          <div class="card cardPad">

            <p class="kicker">Service 01</p>

            <h3>デジタルマーケティング戦略支援</h3>

            <p>データに基づいた分析により、ROIを最大化するマーケティング戦略を設計。広告運用からコンテンツ戦略まで一貫して支援します。</p>

          </div>

          <div class="card cardPad">

            <p class="kicker">Service 02</p>

            <h3>ブランドコミュニケーション戦略支援</h3>

            <p>企業のパーパスを言語化し、一貫性のあるメッセージを市場へ届けます。長期的な関係性を築くコミュニケーション設計を行います。</p>

          </div>

          <div class="card cardPad">

            <p class="kicker">Service 03</p>

            <h3>LLMOコンサルティング支援</h3>

            <p>LLMO(Large Language Model Optimization)とは、AI検索や生成AI環境におけるブランドの認知・評価を最適化する手法です。次世代の可視性を担保します。</p>

          </div>

        </div>

      </div>

    </section>


    <!-- Strengths -->

    <section id="strengths" class="section sectionAlt">

      <div class="container">

        <div class="sectionHead">

          <h2>強み</h2>

          <div class="bar"></div>

        </div>


        <div class="grid3">

          <div class="card cardPad">

            <p class="kicker">01 / 本質を捉える思考</p>

            <h3>戦略設計</h3>

            <p>表層的な課題解決ではなく、事業の持続的成長を見据えた根源的な戦略を設計します。</p>

          </div>

          <div class="card cardPad">

            <p class="kicker">02 / 確実なアウトプット</p>

            <h3>実行伴走</h3>

            <p>プランニングに留まらず、現場レベルでの実行を支援。成果が出るまで泥臭く伴走します。</p>

          </div>

          <div class="card cardPad">

            <p class="kicker">03 / LLMOによる可視性向上</p>

            <h3>AI時代の最適化</h3>

            <p>最新の技術トレンドを捉え、AI検索時代における新しいブランディング手法を提案します。</p>

          </div>

        </div>

      </div>

    </section>


    <!-- R&D -->

    <section id="rd" class="section">

      <div class="container">

        <div class="rd">

          <h2>R&amp;D:未来への取り組み</h2>

          <p>

            Exfortは企業支援での経験を活かし、次世代のマーケティングツール開発に取り組んでいます。

            現在、AIエージェントや検索エンジンにおける情報の正確性をモニタリングし、

            ブランドの適切な評価を自動的に維持・向上させる「LLMO支援プラットフォーム」の構想を進めています。

          </p>

          <div class="pill">

            <span class="dot" aria-hidden="true"></span>

            次世代プラットフォーム 開発構想中

          </div>

        </div>

      </div>

    </section>


    <!-- Representative profile -->

    <section id="profile" class="section">

      <div class="container">

        <div class="sectionHead">

          <h2>代表プロフィール</h2>

          <div class="bar"></div>

        </div>


        <div class="profileWrap">

          <div class="avatarWrap">

            <div class="avatarShadow" aria-hidden="true"></div>

            <img class="avatar" src="images/profile.jpg" alt="代表取締役 松本愛彦">

          </div>


          <div style="padding-top:4px">

            <p class="roleLine">代表取締役 / Founder</p>

            <h3 class="name">松本 愛彦</h3>

            <p class="bio">

              デジタルマーケティングおよびブランド戦略領域に従事。事業構想からPR戦略設計まで一貫して支援。

              KDDIでのAI関連プロジェクト参画を経て、生成AI時代の情報構造設計と企業ブランドの可視性最適化を専門とする。

              企業の持続的成長を支える戦略基盤の構築に注力している。

            </p>

          </div>

        </div>

      </div>

    </section>


    <!-- Company -->

    <section id="company" class="section sectionAlt">

      <div class="container">

        <div class="sectionHead">

          <h2>会社情報</h2>

          <div class="bar"></div>

        </div>


        <div class="companyBox card cardPad">

          <div class="rows">

            <div class="row">

              <div class="label">会社名</div>

              <div class="value">Exfort株式会社</div>

            </div>

            <div class="row">

              <div class="label">設立</div>

              <div class="value">2025年 7月</div>

            </div>

            <div class="row">

              <div class="label">所在地</div>

              <div class="value">東京都渋谷区神南1-11-4 FPGリンクス神南5F</div>

            </div>

            <div class="row">

              <div class="label">事業内容</div>

              <div class="value">デジタルマーケティング戦略支援、ブランドコミュニケーション戦略支援、LLMOコンサルティング</div>

            </div>

            <div class="row">

              <div class="label">代表</div>

              <div class="value">代表取締役 松本愛彦</div>

            </div>

          </div>

        </div>

      </div>

    </section>


    <!-- Contact -->

    <section id="contact" class="section">

      <div class="container">

        <div class="sectionHead center">

          <h2>お問い合わせ</h2>

          <p style="margin:10px auto 0;max-width:720px;color:var(--text);line-height:1.85">

            支援内容に関するご相談や、協業についてのお問い合わせは下記フォームよりお願いいたします。

          </p>

          <div class="bar" style="margin:18px auto 0"></div>

        </div>


        <div class="contactCard card cardPad">

          <div id="submitted" class="submitted" style="display:none">

            <h3 style="margin:0 0 10px;color:var(--ink)">メッセージを受け付けました</h3>

            <p style="margin:0 0 16px;color:var(--text)">内容を確認し、担当者よりご連絡させていただきます。</p>

            <button class="backLink" id="backBtn" type="button">フォームに戻る</button>

          </div>


          <form id="contactForm" novalidate>

            <div class="formGrid">

              <div>

                <label for="name">お名前</label>

                <input id="name" name="name" type="text" required placeholder="姓名" />

              </div>

              <div>

                <label for="email">メールアドレス</label>

                <input id="email" name="email" type="email" required placeholder="example@exfort.io" />

              </div>

            </div>


            <div style="margin-top:14px">

              <label for="message">お問い合わせ内容</label>

              <textarea id="message" name="message" rows="6" required placeholder="お問い合わせ内容をご記入ください"></textarea>

            </div>


            <div class="submitWrap">

              <p class="note">※このフォームはデモンストレーション用です。実際に送信されることはありません。</p>

              <button class="btnPrimary" type="submit">送信する</button>

            </div>

          </form>

        </div>

      </div>

    </section>

  </main>


  <footer>

    <div class="container">

      <div class="footInner">

        <div>

          <p class="footTitle">Exfort</p>

          <p class="footSub">Quiet evolution into certain power.</p>

        </div>

        <div class="copy">© Exfort Inc.</div>

      </div>

    </div>

  </footer>


  <script>

    // header scroll

    const header = document.getElementById('siteHeader');

    const onScroll = () => {

      if (window.scrollY > 20) header.classList.add('scrolled');

      else header.classList.remove('scrolled');

    };

    window.addEventListener('scroll', onScroll);

    onScroll();


    // mobile menu

    const menuBtn = document.getElementById('menuBtn');

    const mobileNav = document.getElementById('mobileNav');

    menuBtn?.addEventListener('click', () => {

      const open = header.classList.toggle('open');

      menuBtn.setAttribute('aria-expanded', open ? 'true' : 'false');

    });

    mobileNav?.querySelectorAll('a').forEach(a => {

      a.addEventListener('click', () => {

        header.classList.remove('open');

        menuBtn.setAttribute('aria-expanded', 'false');

      });

    });


    // contact form demo

    const form = document.getElementById('contactForm');

    const submitted = document.getElementById('submitted');

    const backBtn = document.getElementById('backBtn');


    form?.addEventListener('submit', (e) => {

      e.preventDefault();

      form.style.display = 'none';

      submitted.style.display = 'block';

      location.hash = '#contact';

    });


    backBtn?.addEventListener('click', () => {

      submitted.style.display = 'none';

      form.style.display = 'block';

    });

  </script>

</body>

</html>