
【2025年最新版】Android 15アップデートはいつ来る?対応機種一覧と安全に更新する全手順
最終更新日:2025年12月5日 IT初心者のアオイさん スマホに「Android 15へアップデートできます」と表示されたんですけど、すぐ入れて大丈夫なのか、様子を見たほうがいいのか迷っていて……。 機種によって配信のタイミングも違うみたいですし、自分のスマホが対象なのか、安全にアップデートするには何をしておけばいいのか、まとめて知りたいです。 IT上級者のミナト先輩 Android 15は、2024年10月にPixel向けに正式リリースされて、その後2025年にかけて各メーカーが順次配信しているバージョンだよ。 この記事では「いつ頃アップデートが来るのか」「どの機種が対象なのか」「アップデート前後のトラブルを避けるには何をすればよいか」を、順番に整理していこう。今日のうちに確認しておきたいチェックリストと、実際の更新操作の流れまで一気にまとめてあるよ。 目次 この記事のゴールと前提(Android 15のいま) Android 15アップデートはいつ来る?全体スケジュールの目安 Pixelシリーズのタイムライン Galaxy(Samsung)のタイムライン その他メーカーのざっくり傾向 あなたのスマホは対象?主な対応機種の整理と確認ポイント Pixelの対応機種 Galaxyの対応機種のイメージ 対応機種か自分で確認する方法 Android 15の主な新機能とメリット(簡単チェック) アップデート前に必ずやること(バックアップと安全確認) 安全にAndroid 15へ更新する全手順 共通の基本手順 Pixelでの更新ステップ Galaxyでの更新ステップ アップデート後に多いトラブルと対処のコツ よくある質問 まとめ この記事のゴールと前提(Android 15のいま) 2025年12月時点では、Android 15はすでに多くの端末に配信済みで、一部のハイエンド機種ではさらに新しいAndroid 16へのアップデートも始まっています。 ただし、Androidのアップデートは「OSが出たらすぐ全員に届く」という仕組みではありません。 GoogleがAndroid 15を正式リリースする。 各メーカー(Samsung、Sony、シャオミなど)が、自社のカスタマイズを乗せて動作検証を行う。 キャリア版は、通信事業者ごとの検証を経てから配信される。 このため、同じ機種でも、国・販売チャネル・SIMフリーかキャリア版かによって、配信時期が数カ月ずれることは珍しくありません。 この記事のゴールは次の三つです。 Android 15が「いつ頃」「どんな端末に」届くイメージをつかむ。 自分のスマホが対応機種かどうかを自力で判断できるようにする。 実際にアップデートする前後で、トラブルを最小限にするための手順を押さえる。 ここで紹介する内容は、2025年12月5日時点の情報を元にしています。アップデート計画はメーカー・キャリアの事情で変わることがあるため、最終的にはお使いの端末の「設定」画面と公式サポート情報もあわせて確認してください。 Android 15アップデートはいつ来る?全体スケジュールの目安 まず、「そもそもAndroid 15っていつ出たの?」というところから整理します。 Android 15は、「Vanilla Ice Cream(バニラアイスクリーム)」という開発コード名で開発され、2024年9月3日にAOSP(Androidオープンソースプロジェクト)として公開され、その後2024年10月15日にPixel向けに正式リリースされました。 そこから2025年にかけて、各メーカーが自社端末向けのAndroid 15アップデートを段階的に配信している、というのが現在地です。 Pixelシリーズのタイムライン Pixelシリーズは、Androidの純正体験を提供するGoogle謹製スマホです。Android 15の正式版は、2024年10月15日にサポート中のPixel端末へ配信されています。 Pixelの場合は、 発売から一定期間(近年のPixel 8/9世代では最大7年間)のOSアップデート保証。 最新のAndroidメジャーアップデートは、最初の配信対象になることが多い。 という特徴があります。Pixel 6以降の機種はAndroid 15の対象になっており、最新のPixel 9シリーズではその後のAndroid 16までの更新も視野に入っています。 Galaxy(Samsung)のタイムライン Samsungは、独自UIである「One UI」をAndroidに重ねて提供しており、Android 15ベースのOne UI 7の配信を2025年春から順次開始しています。 おおまかな流れとしては次の通りです。 2025年4月ごろ:フラッグシップ機(Galaxy S24シリーズ・折りたたみハイエンド)を中心に、One UI 7(Android 15)の配信を開始。 2025年夏にかけて:上位ミドルレンジ、タブレットへ順次拡大。 その後:エントリーモデルや旧世代モデルに順番に配信。 ただし、国やキャリアによって配信開始時期がずれるため、日本国内では「韓国・グローバル版より数週間~数カ月遅れる」ケースも多いです。 その他メーカーのざっくり傾向 ほかの主要メーカー(例:Sony、シャオミ、OPPO、モトローラなど)も、フラッグシップ機を中心にAndroid 15アップデートを配信しています。 フラッグシップ機・上位モデル:2025年前半~中盤にかけてAndroid 15配信完了。 ミドルレンジ:2025年後半までに順次配信。 ローエンド・古いモデル:Android 15対象外、または配信時期未定のまま打ち切りになる場合もある。 このように、「いつ来るか」はメーカー・モデル・販売チャンネルによってかなりバラバラです。次の章では、具体的に自分のスマホが対象かどうかを確認するポイントを見ていきます。 あなたのスマホは対象?主な対応機種の整理と確認ポイント ここでは、代表的なシリーズについて「Android 15の対象になっている世代」をざっくり整理しつつ、自分の端末でチェックすべきポイントをまとめます。 Pixelの対応機種 まずはPixelから。2025年時点で、Android 15が提供されているPixelの代表的な機種は次の通りです。 Pixel 9シリーズ:Pixel 9/9 Pro/9 Pro XL/9 Pro Fold Pixel 8シリーズ:Pixel 8/8 Pro/8a Pixel Fold(初代) Pixel 7シリーズ:Pixel 7/7 Pro/7a Pixel 6シリーズ:Pixel 6/6 Pro/6a これらの機種は、地域やキャリアにより配信タイミングに差はあるものの、すでにAndroid 15のアップデートが提供されています。 Galaxyの対応機種のイメージ Galaxyの場合は、正式な一覧はSamsung公式のアップデート情報を確認するのが確実ですが、2025年時点では次のような傾向があります。 Galaxy Sシリーズ:最新のS25世代だけでなく、S24/S23シリーズもAndroid 15対象。 Galaxy Zシリーズ:折りたたみ機(Z Fold/Z Flip)の直近数世代がAndroid 15対象。 Galaxy Aシリーズ:A5x/A7xなどの中~上位ミドルレンジが順次対象。 Galaxy Tabシリーズ:上位タブレットを中心にAndroid 15対応が進行。 実際には「同じシリーズでも発売年によって対象外になる」こともあるため、機種名と型番をもとに、後述の方法で確認するのが確実です。 対応機種か自分で確認する方法 自分の端末がAndroid 15対象かどうかは、次の手順で確認できます。 スマホの「設定」アプリを開く。 「デバイス情報」や「端末情報」を探し、自分の機種名(例:Pixel 7a、Galaxy S24)と型番をメモする。 「ソフトウェア更新」または「システム」→「システムアップデート」の画面を開き、最新バージョンが配信されていないか確認する。 ネットで「メーカー名+機種名+Android 15」で検索し、公式のアップデート情報をチェックする。 なお、「アップデートが来る予定」となっている機種でも、キャリア独自の事情や法人契約向けの制限により、配信が遅れたり見送られたりする場合もあります。複数台運用している場合は、念のため複数台で挙動を確認してから本番機に適用するのがおすすめです。 Android 15の主な新機能とメリット(簡単チェック) 細かい変更点は多数ありますが、「アップデートする意味があるか」を判断するうえで押さえておきたいポイントだけ、簡単に整理します。 Android 15は、プライバシーとセキュリティ、カメラ・メディア体験、大画面や折りたたみ端末への最適化などに力が入っているアップデートです。 セキュリティ・プライバシー関連: 「プライベートスペース」による、機密アプリの分離・ロック。 改善された盗難対策機能や、デバイス保護機能の強化。 通知まわりの制御強化(センシティブ通知、通知クールダウンなど)。 日々の使い勝手: アプリアーカイブ(使っていないアプリを一時退避し、必要なときに復元)。 部分的な画面共有(アプリ単位での画面共有など)。 マルチタスクや大画面向けレイアウトの改善。 カメラ・メディア: 低照度撮影(暗所)の画質改善。 動画・ゲームのパフォーマンス向上のための新しいAPI。 特に、セキュリティ面の改善は「体感しづらいけれど重要」な要素です。長く同じスマホを使うほど、OS側のアップデートで守られているかどうかの差が効いてきます。 アップデート前に必ずやること(バックアップと安全確認) Androidのメジャーアップデートは、通常の月例アップデートよりも変更点が多く、まれに不具合やアプリの相性問題が出ることがあります。そこで、アップデート前に最低限やっておきたい準備をチェックリスト形式でまとめます。 Googleアカウントの同期が有効になっているか(連絡先・予定・アプリデータなど)。 写真や動画を、Googleフォトやクラウドストレージ、PCなどにバックアップしているか。 LINEなど重要なアプリのトーク履歴を、アプリの機能でバックアップしたか。 モバイルSuicaなど、引き継ぎが必要な電子マネー・ポイント系の手順を確認したか。 バッテリー残量が十分(目安として80%以上)か、もしくは充電器につないだ状態で実施できるか。 Wi-Fiに接続できる環境か(モバイル回線だけだと時間がかかることがある)。 これらを満たしていれば、万が一アップデート中にトラブルが起きても被害を最小限に抑えやすくなります。 安全にAndroid 15へ更新する全手順 ここからは、実際の更新手順を「共通部分」と「Pixel/Galaxyでの具体例」に分けて整理します。メーカーごとに表示されるメニュー名は少し違いますが、流れはほぼ同じです。 共通の基本手順 バックアップと事前チェックを済ませる(前章のチェックリストを参照)。 設定アプリを開き、「システム」または「ソフトウェア更新」の項目を探す。 「システムアップデート」や「ダウンロードしてインストール」を選択する。 画面に「Android 15」や「Androidバージョン15」といった表示が出ているか確認する。 内容を読み、注意書きを確認したうえで「ダウンロード」→「今すぐインストール」を選ぶ。 端末が自動で再起動し、インストールが完了するまで待つ(途中で電源を切らない)。 アップデート後は、念のため次の点も確認すると安心です。 主要なアプリ(銀行アプリ、電子決済、仕事用アプリなど)が正常に起動するか。 モバイル回線・Wi-Fi・Bluetooth・テザリングが問題なく使えるか。 バッテリー消費が異常に早くなっていないか(一日様子を見る)。 Pixelでの更新ステップ Google公式の案内では、Pixel向けAndroid 15は、設定アプリから通常のアップデートと同じ手順で受け取ることが推奨されています。 設定アプリを開き、「システム」→「システムアップデート」をタップする。 「アップデートをチェック」をタップし、新しいアップデートがあるか確認する。 「Android 15」へのアップデートが表示されたら、「ダウンロードしてインストール」を選択する。 ダウンロード完了後、再起動を求められたら「今すぐ再起動」をタップする。 再起動後、「設定」→「デバイス情報」→「Androidバージョン」でバージョンが15になっているか確認する。 Galaxyでの更新ステップ Galaxyでは、Android 15ベースのOne UI 7へのアップデートは「ソフトウェア更新」メニューから行います。 設定アプリを開き、「ソフトウェア更新」をタップする。 「ダウンロードおよびインストール」を選択し、利用可能な更新をチェックする。 「One UI 7(Android 15)」などの表示があれば、内容と注意事項を読み、「ダウンロード」を実行する。 ダウンロード完了後、「今すぐインストール」または「夜間にインストール」を選択する。 再起動後、「設定」→「端末情報」→「ソフトウェア情報」でAndroidバージョンとOne UIバージョンを確認する。 アップデート後に多いトラブルと対処のコツ メジャーアップデート後は、次のようなトラブルがよく報告されます。 バッテリー消費が一時的に増えたように感じる。 一部のアプリが落ちやすくなった、または起動しなくなった。 通知が届かない、挙動が変わったように感じる。 これらに対して、まず試してみたい対処法は次の通りです。 アップデート直後は、システムの最適化処理が裏で走っていることが多く、1~2日はバッテリー消費が増えることがある。1日ほど様子を見る。 問題が出ているアプリについて、アプリストアから最新バージョンに更新する。 それでも改善しない場合は、「設定」→「アプリ」から該当アプリのキャッシュ削除を試す。 通知関連のトラブルは、「通知設定」や「バッテリー最適化」の設定で制限されていないかを確認する。 どうしても改善しない場合は、バックアップを取ったうえで「設定」→「リセット」からネットワーク設定のリセット、または最終手段として端末の初期化を検討する。 端末固有の不具合が疑われる場合は、メーカーのサポートや販売店に相談すると、同様の事例がないか教えてもらえることもあります。 よくある質問 Q まだAndroid 14のままですが、急いでAndroid 15にアップデートしたほうがいいですか。 A セキュリティや新機能の観点からは、サポート中の最新メジャーバージョンに更新しておくことが推奨されます。ただし、仕事で使う重要なアプリが多い場合は、数日~数週間ほど様子を見て、不具合情報が落ち着いてからアップデートするという選び方もあります。いずれにしても、更新前のバックアップだけは必ず行ってください。 Q アップデートしたあとに、元のバージョン(Android 14)に戻すことはできますか。 A 一般的には、正式配信されたアップデートを適用したあとに元のバージョンへ戻すことは推奨されておらず、端末やメーカーによってはそもそもサポートされていません。PCを使った手動のダウングレード手順が紹介されることもありますが、データの消失や保証の問題につながる可能性があるため、自己責任の高度な操作になります。基本的には「戻さなくてよい状態になるまで、事前の準備と検証をしたうえでアップデートする」のが安全です。 Q Android 15より新しいAndroid 16が出ていると聞きました。15に上げる意味はありますか。 A 2025年時点では、一部の最新機種でAndroid 16へのアップデートが始まっていますが、多くの端末では「いったんAndroid 15へ更新し、その後16が配信される」という流れになります。Android 15でもセキュリティとプライバシーの強化、盗難対策、日常の使い勝手改善など多くのメリットがあるため、15を飛ばして16を待つよりも、順番にアップデートしていくほうが安全なケースがほとんどです。 Q 中古で購入したAndroidスマホでも、Android 15にアップデートできますか。 A 中古端末でも、メーカーのサポート期間内であればAndroid 15の対象になります。ただし、「キャリア版でアップデートが打ち切られている」「法人向けモデルで制限されている」といったケースもあるため、機種名と型番、そして販売された地域(国内版か海外版か)をもとに、メーカーのアップデート情報を確認する必要があります。中古ショップで購入する際は、「Android 15までのアップデート予定」や「現時点のバージョン」を事前に確認しておくと安心です。 まとめ Point Android 15は2024年秋に正式リリースされ、2025年にかけてPixel・Galaxyをはじめ多くの端末へ配信されてきました。ただし、メーカーやキャリア、モデルごとに配信時期は大きく異なるため、「いつ来るか」は自分の端末情報と公式アップデート情報の両方で確認する必要があります。 Point 対応機種かどうかは「端末情報(機種名・型番)」と「ソフトウェア更新」画面、そして各メーカーの案内を組み合わせて確認するのが確実です。最新機種ほどAndroid 15・16へのアップデートが提供されやすく、古いエントリーモデルほど対象外になる傾向があります。 Point アップデート前には、バックアップ・バッテリー残量・通信環境の三つを必ずチェックし、「重要アプリが最新か」「電子マネー等の引き継ぎ手順を把握しているか」を確認しておきましょう。トラブルを避ける鍵は、「準備してからアップデートする」ことです。 お役立ち情報 お問い合わせ .pcstore-w10eos-article{ --pc-blue:#148ad2; --talk-bg:#f7fbff; --talk-bd:#d9ecfb; --avatar-size:clamp(64px,20vw,150px); color:#222; line-height:1.9; font-size:16px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif; } .pcstore-w10eos-article p{margin:0 0 1em;} .pcstore-w10eos-article .last-updated{ margin-bottom:.8em; color:#555; font-size:.9rem; } /* 見出し */ .pcstore-w10eos-article h2{ margin:2.2em 0 .9em; padding:.2em .6em; border-left:6px solid var(--pc-blue); background:#f3f9ff; font-size:1.45rem; line-height:1.4; font-weight:700; } .pcstore-w10eos-article h3{ margin:1.6em 0 .6em; padding:.15em .5em; border-left:3px solid var(--pc-blue); font-size:1.2rem; line-height:1.5; } /* H2下:画像用フレーム(1200×800 / 3:2想定) */ .pcstore-w10eos-article .h2-image-frame{ width:100%; max-width:880px; aspect-ratio:3/2; background:#f8fbff; border:2px dashed #c9def0; border-radius:10px; margin:1em 0 1.4em; display:flex; align-items:center; justify-content:center; overflow:hidden; } .pcstore-w10eos-article .h2-image-frame img{ width:100%; height:100%; object-fit:cover; } /* 導入会話エリア */ .pcstore-w10eos-article .lead-talk{ background:var(--talk-bg); border:1px solid var(--talk-bd); border-radius:10px; padding:14px; margin:18px 0 24px; } .pcstore-w10eos-article .talk-row{ display:flex; gap:14px; align-items:flex-start; margin:12px 0; } .pcstore-w10eos-article .talk-row.reverse{ flex-direction:row-reverse; } .pcstore-w10eos-article .talk-avatar-wrap{ display:flex; flex-direction:column; align-items:center; gap:4px; flex-shrink:0; max-width:150px; } .pcstore-w10eos-article .talk-avatar{ width:var(--avatar-size); height:var(--avatar-size); border-radius:50%; object-fit:cover; border:3px solid #fff; box-shadow:0 4px 14px rgba(0,0,0,.12); } .pcstore-w10eos-article .talk-meta{ font-size:.8rem; color:#4c6b8a; text-align:center; line-height:1.4; } .pcstore-w10eos-article .talk-balloon{ background:#fff; border:1px solid var(--talk-bd); border-radius:10px; padding:12px 14px; flex:1; } /* 4コマ漫画枠(縦長画像にも対応) */ .pcstore-w10eos-article .fourkoma-frame{ width:100%; max-width:680px; margin:20px auto 28px; border:2px solid #d9ecfb; border-radius:12px; background:#f7fbff; padding:12px; box-shadow:0 4px 12px rgba(20,138,210,.08); text-align:center; box-sizing:border-box; } .pcstore-w10eos-article .fourkoma-frame img{ width:100%; height:auto; display:block; border-radius:8px; } .pcstore-w10eos-article .fourkoma-note{ color:#6c7a89; font-size:.9rem; margin:0; } /* テーブル */ .pcstore-w10eos-article .table-scroll{ overflow-x:auto; border:1px solid #eee; border-radius:6px; } .pcstore-w10eos-article .cmp-table{ width:100%; border-collapse:collapse; min-width:720px; } .pcstore-w10eos-article .cmp-table th, .pcstore-w10eos-article .cmp-table td{ padding:10px 12px; border-bottom:1px solid #eee; text-align:left; } .pcstore-w10eos-article .cmp-table thead th{ background:#f3f8ff; color:#23456b; font-weight:700; } /* 通常UL(目次・まとめ以外) */ .pcstore-w10eos-article ul:not(.toc-container):not(.summary-badges ul):not(.checklist){ list-style:none; padding-left:0; margin-left:0; } .pcstore-w10eos-article ul:not(.toc-container):not(.summary-badges ul):not(.checklist)>li{ position:relative; padding-left:1.6em; margin:.55em 0; } .pcstore-w10eos-article ul:not(.toc-container):not(.summary-badges ul):not(.checklist)>li::before{ content:"✓"; position:absolute; left:0; top:.2em; color:var(--pc-blue); font-weight:700; border:2px solid var(--pc-blue); border-radius:4px; width:1.1em; height:1.1em; display:flex; align-items:center; justify-content:center; background:#fff; } /* 通常OL(steps以外) */ .pcstore-w10eos-article ol:not(.steps){ list-style:none; padding-left:0; counter-reset:ol; } .pcstore-w10eos-article ol:not(.steps)>li{ position:relative; counter-increment:ol; padding-left:2.2em; margin:.6em 0; } .pcstore-w10eos-article ol:not(.steps)>li::before{ content:counter(ol); position:absolute; left:0; top:.15em; width:1.6em; height:1.6em; display:flex; align-items:center; justify-content:center; background:var(--pc-blue); color:#fff; border-radius:50%; font-weight:700; } /* 工程リスト .steps(縦ガイドなし) */ .pcstore-w10eos-article ol.steps{ list-style:none; padding-left:0; counter-reset:step; } .pcstore-w10eos-article ol.steps>li{ counter-increment:step; position:relative; padding-left:2.2em; margin:.7em 0; } .pcstore-w10eos-article ol.steps>li::before{ content:counter(step); position:absolute; left:0; top:.1em; width:1.6em; height:1.6em; background:var(--pc-blue); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; } /* チェックリスト(印刷用にも使いやすいシンプル版) */ .pcstore-w10eos-article .checklist{ list-style:none; padding-left:1.4em; margin:0 0 1.2em; } .pcstore-w10eos-article .checklist li{ position:relative; margin:.4em 0; } .pcstore-w10eos-article .checklist li::before{ content:"✓"; position:absolute; left:-1.4em; top:.1em; color:var(--pc-blue); font-weight:700; } /* FAQ:Q/Aバッジ */ .pcstore-w10eos-article .faq-item{ margin:1.2em 0; padding:1em 1.2em; border:1px solid #dce7f4; border-radius:10px; background:#fafdff; } .pcstore-w10eos-article .faq-label{ width:1.8em; height:1.8em; border-radius:50%; background:var(--pc-blue); color:#fff; font-weight:700; display:inline-flex; align-items:center; justify-content:center; margin-right:.5em; flex-shrink:0; } .pcstore-w10eos-article .faq-label.q{background:#148ad2;} .pcstore-w10eos-article .faq-label.a{background:#0b74b5;} .pcstore-w10eos-article .faq-question, .pcstore-w10eos-article .faq-answer{ margin:.3em 0 0; } /* まとめ:Pointバッジ(角丸カード) */ .pcstore-w10eos-article .summary-badges ul{ list-style:none; padding:0; margin:0; } .pcstore-w10eos-article .summary-badges li{ display:flex; gap:.8em; align-items:flex-start; background:#f7fbff; border:1px solid #d9ecfb; border-radius:8px; padding:.8em 1em; margin:.6em 0; } .pcstore-w10eos-article .summary-badges .badge-point{ padding:.3em .7em; border:2px solid var(--pc-blue); border-radius:6px; background:#fff; color:var(--pc-blue); font-size:.85rem; font-weight:700; white-space:nowrap; } /* CTA・バナー */ .pcstore-w10eos-article .cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin:2em 0; } .pcstore-w10eos-article .btn-blue{ background:var(--pc-blue); color:#fff; text-decoration:none; padding:12px 18px; border-radius:6px; font-weight:700; box-shadow:0 2px 4px rgba(0,0,0,.08); } .pcstore-w10eos-article .btn-blue:hover{ opacity:.9; } .pcstore-w10eos-article .banner-link{ display:block; text-align:center; margin:10px 0 30px; } .pcstore-w10eos-article .banner-link img{ max-width:100%; height:auto; border-radius:8px; box-shadow:0 4px 10px rgba(0,0,0,.12); } /* 目次 */ .pcstore-w10eos-article #toc{ max-width:520px; margin:2.2em auto; border:1px solid #ccc; border-radius:6px; } .pcstore-w10eos-article .toc-title{ padding:.5em 1em; cursor:pointer; font-weight:700; } .pcstore-w10eos-article #toc[open] .toc-title::after{ content:"[とじる]"; margin-left:.5em; font-weight:400; } .pcstore-w10eos-article #toc:not([open]) .toc-title::after{ content:"[ひらく]"; margin-left:.5em; font-weight:400; } .pcstore-w10eos-article .toc-container{ padding:1em; margin:0; list-style:none; } .pcstore-w10eos-article .toc-container li{ margin:2px 0; } .pcstore-w10eos-article .toc-container, .pcstore-w10eos-article .toc-container ul{ counter-reset:toc; } .pcstore-w10eos-article .toc-container li a{ display:flex; color:#333; text-decoration:none; align-items:baseline; } .pcstore-w10eos-article .toc-container li a::before{ counter-increment:toc; content:counters(toc,".") " "; color:var(--pc-blue); margin-right:.4em; white-space:nowrap; } /* レスポンシブ */ @media(max-width:720px){ .pcstore-w10eos-article{font-size:15px;} .pcstore-w10eos-article .cmp-table{min-width:560px;} .pcstore-w10eos-article .lead-talk{padding:10px;} .pcstore-w10eos-article .talk-avatar-wrap{max-width:120px;} } .pcstore-w10eos-article a:focus{ outline:2px solid var(--pc-blue); outline-offset:2px; } (function(){ var EXTRA_OFFSET = 90; var DURATION = 420; function easeInOutQuad(t){ return t < 0.5 ? 2*t*t : -1 + (4 - 2*t)*t; } function scrollToTarget(target){ if(!target) return; var prefersReduced = window.matchMedia && window.matchMedia("(prefers-reduced-motion: reduce)").matches; var rect = target.getBoundingClientRect(); var startY = window.pageYOffset; var destY = rect.top + startY - EXTRA_OFFSET; if(prefersReduced){ window.scrollTo(0, destY); return; } var startTime = performance.now(); var distance = destY - startY; function step(now){ var t = Math.min((now - startTime) / DURATION, 1); var eased = easeInOutQuad(t); window.scrollTo(0, startY + distance * eased); if(t < 1){ requestAnimationFrame(step); } } requestAnimationFrame(step); } document.addEventListener("click", function(e){ var a = e.target.closest('#toc a[href^="#"]'); if(!a) return; var href = a.getAttribute("href") || ""; if(!href) return; var el = document.querySelector(href); if(!el) return; e.preventDefault(); scrollToTarget(el); }); })();