<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Liner Note &#187; モバイル</title>
	<atom:link href="http://note.openvista.jp/tag/mobile-electronics/feed/" rel="self" type="application/rss+xml" />
	<link>http://note.openvista.jp</link>
	<description>情報（ユーザー中心デザイン・ユーザビリティ）と技術（ウェブプログラミング・ウェブサービス）についてのメモ書き</description>
	<lastBuildDate>Mon, 12 Sep 2011 15:12:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>iPhoneのリアルなインターネットよりもケータイウェブの方が使いやすいよね</title>
		<link>http://note.openvista.jp/2008/compact-and-usable-ktai-web/</link>
		<comments>http://note.openvista.jp/2008/compact-and-usable-ktai-web/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 03:17:32 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[モバイル]]></category>
		<category><![CDATA[ユーザビリティ]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=1031</guid>
		<description><![CDATA[必要な情報がコンパクトに手短にまとまっていて、ブラウズ作業を無理矢理終わらされないケータイウェブの方が現段階では使いやすいよねという話]]></description>
			<content:encoded><![CDATA[<p class="left-box"><img src="http://note.openvista.jp/download/2008/09/cielo-formobile.png" alt="モバイル向けの表示" title="モバイル向けの表示" /></p>
<p>iPhoneはモバイルデバイスにおけるユーザインタフェイスの発展可能性を感じさせるデバイスではありますが、疑問に思うところもあります。</p>
<p>まず、結論から言えばiPhoneの弱点は<em>ケータイウェブが見られないこと</em>です。この時のケータイウェブというのはNTTDoCoMo・au・Softbankモバイルの携帯電話における内蔵ブラウザで見ることができるインターネットのことですが、これがiPhoneのリアルなインターネットよりも使い勝手がよいんではないかと思う点を何点か上げておきます。</p>
<div class="toc">
<ol>
<li><a href="http://note.openvista.jp/2008/compact-and-usable-ktai-web/#t9212a3">必要な情報がすぐに得られる</a></li>
<li><a href="http://note.openvista.jp/2008/compact-and-usable-ktai-web/#t25fb09">ウェブブラウザが安定していて、信頼できる</a></li>
<li><a href="http://note.openvista.jp/2008/compact-and-usable-ktai-web/#t13a809">想定反論に対する再反論</a>
<ol>
<li><a href="http://note.openvista.jp/2008/compact-and-usable-ktai-web/#t2378e8">ケータイウェブはお金がかかる</a></li>
<li><a href="http://note.openvista.jp/2008/compact-and-usable-ktai-web/#t2c0170">ケータイウェブは簡単な情報しか出てこない</a></li>
</ol>
</li>
<li><a href="http://note.openvista.jp/2008/compact-and-usable-ktai-web/#t48e754">補足</a></li>
</ol>
</div>
<h3 id="t9212a3">必要な情報がすぐに得られる</h3>
<p>去年、まだ僕が就活していたときに、<a href="http://d.hatena.ne.jp/leva/20080227/1204040905" title="モバイル業界の未来と就活 on Hatena">あるモバイル向けコンテンツ会社の説明会で「フルブラウザなどのリッチクライアントが普及していくと、オープンなウェブの中で戦いを迫られることになるから苦しくなるんじゃないか」と質問したら、「我々にはケータイ利用者がパッと情報を得られるよう、画面を最適化するノウハウがあり、それが強みである。」とお答えいただいた</a>んですね。で、なるほどこれはケータイウェブの便利なところだと思うのです。</p>
<p>天気予報にしろ、乗り換え案内にしろ、あるいはGoogleのメールにしろカレンダーにしろ、既存のケータイウェブの資産はもうかなりあって、それらは携帯電話上で読みやすいよう<em>数画面で必要な情報が得られるように最適化されていて</em>、またUIの要素数自体があまりないのでPCウェブのようにどこで検索すれば迷うことも比較的少ないでしょう<span class="weaken">（TSUTAYA Onlineのように企業側の販促情報でできているようなところもありますけど）</span>。</p>
<p>もちろん、iPhoneも技術的にはXHTML+CSSの知識があれば、最適化した画面設計をすることはできますが、大半のサイトはPCと同じ画面で見ることを要求されるので、自分の求めている情報がどこにあるのか、目を点にしながら画面を逐一探さないといけないという手間がかかります。HTML5など情報の意味がブラウザ側でより明確になれば、閲覧者の求めに応じた情報提供も可能になってくるでしょうけど、まぁまだまだ先の話でしょう。</p>
<h3 id="t25fb09">ウェブブラウザが安定していて、信頼できる</h3>
<p>ブラウザが勝手に終了しない（落ちない）という点です。iPhoneの場合、ブラウザが落ちるとそれだけで再起動に十数秒のロスになります<span class="weaken">（加えて直前に見たページもなくなっていたのなら、その再検索にさらに何分か必要でしょう）</span>。乗り換え案内や天気情報などその特性上モバイルには即時性を必要とするコンテンツが多くあり、<em>時間的なロスはデスクトップのそれよりか致命的なものとなりやすい</em>でしょう。</p>
<p>僕がiPod touchを使っている時には（個人的に使い出によるでしょうけど）、だいたい3-4のタスク<span class="weaken">（ブログの閲覧だとか、はてなブックマークのリンク先を読んだりとか）</span>に一回は落ちるんですが、こうやって勝手に終了されると、一回のタスクで下手にPCを使うことの何倍もの時間がかかることもあり、それならPCサイトブラウザで十分だよなぁと思うことが何度もあります<span class="weaken">（PCサイトブラウザを恒常的に使わないので、どこまで実用的なのかわからないところはあるんですが）</span></p>
<h3 id="t13a809">想定反論に対する再反論</h3>
<h4 id="t2378e8">ケータイウェブはお金がかかる</h4>
<p>ちなみに、PCでは大体の情報が無料で入手できるのに対して、ケータイウェブはお金がかかる<span class="weaken">（パケット料金や課金コンテンツなど）</span>との意見もあるかと思います。</p>
<p>パケット料金と課金コンテンツの話は分けて話すべきですが、まず前者に関しては「んー、そりゃiPhoneにも、むしろ携帯のそれよりお金かかってるんでないかい」でいいでしょう。後者に関しても、私はお金が必要だとは必ずしも思いません。ここでそう思うかどうかの差はおそらく<em>情報に対して求めている水準の差</em>なのだと思います。</p>
<p>つまり、GPSで目的地までナビゲーションしてもらったり、乗り換え案内で次の電車はどれくらいにくるのか調べようと思ったら、お金をサービス会社に払ってそれを得ることになります。ただ、普通に電車を乗り換えたり、一週間後の天気を見るようなよくある水準の情報に対しては無料で済ますことができます<span class="weaken">（ニュースの全文を読みたいならお金払え的な新聞各社はちょっと時代錯誤感がありますが）</span></p>
<p>さらにいえば、Yahoo!やGoogleなど広告でお金を得ていたりするモバイルコンテンツプロバイダもいますから、欲しい情報に対して必ず値札がついているという状況ではないかと思います。</p>
<h4 id="t2c0170">ケータイウェブは簡単な情報しか出てこない</h4>
<p>これは確かにある面ではその通りだと思います。あるコンテンツ<span class="weaken">（天気など）</span>に対して8割が求める情報と2割が求める情報があって、欲しいのは2割の情報なのに、携帯では割愛されているなんて状況は、まだまだあります。</p>
<p>ですが、これは適材適所なのだと思います。狭い画面で誰でも彼でものニーズを満たそうと思って情報量をむやみに増やせば、それは回り回って8割の人の情報行動を妨げる結果にもなります。</p>
<p>ですから、この時はPCサイトブラウザやPCサイト変換プロキシ提供サイトなどを用いて、アクセスすればよいでしょう。もし、こうした情報しか必要ないのであれば、それはケータイウェブは適していないと言うだけのことです。</p>
<h3 id="t48e754">補足</h3>
<p>いつものように補足ですが、別にiPod touch/iPhoneでのモバイルインターネットを全否定しているわけではありません。基本的なタスクがネイティブアプリケーションの充実により、快適に行えるようになれば状況も変わってくるでしょうし、それは却ってケータイウェブより使いやすく、より多くの人が求める情報行動をカバーできるようになるかもしれないですし、それはウェブ制作者として僕も望むところです。</p>
<p>ただ、ユーザビリティの指標における効果・効率・満足度のいずれも、ケータイウェブのそれに及ばない<sup><a href="http://note.openvista.jp/2008/compact-and-usable-ktai-web/#footnote_0_1031" id="identifier_0_1031" class="footnote-link footnote-identifier-link" title="満足度については意義もある人もいるかと思いますが、それはまず効果が満たせてからでしょう。人で言うなら会話が成立してからその会話が面白いのかどうか評価できるのと同じこと">1</a></sup>現段階では少なくとも今ケータイを持っているマジョリティに勧められるところではないと思います。</p>
<ol class="footnotes"><li id="footnote_0_1031" class="footnote">満足度については意義もある人もいるかと思いますが、それはまず効果が満たせてからでしょう。人で言うなら会話が成立してからその会話が面白いのかどうか評価できるのと同じこと</li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=1031&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/compact-and-usable-ktai-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MobileMeには情報だけではなく状況を同期してほしい</title>
		<link>http://note.openvista.jp/2008/connecting-situation-by-mobileme/</link>
		<comments>http://note.openvista.jp/2008/connecting-situation-by-mobileme/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 18:40:24 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブはこうあってほしい論]]></category>
		<category><![CDATA[コンピュータ関係]]></category>
		<category><![CDATA[モバイル]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=511</guid>
		<description><![CDATA[MobileMeは機器毎の環境の違いを埋めるためのサービスですが、カレンダーデータなどの情報だけではなく、ブラウザで閲覧中のページなど今やっていることの状況を同期するところまで突き詰めてやってほしいと思います]]></description>
			<content:encoded><![CDATA[<p>iPhone/iPod touch のSafariのようにリッチで高い操作性を持つブラウザアプリを見るにつけ、モバイルと PC/Mac<sup><a href="http://note.openvista.jp/2008/connecting-situation-by-mobileme/#footnote_0_511" id="identifier_0_511" class="footnote-link footnote-identifier-link" title="この表記方法はめんどくさいので、以後は単にPCと書きます">1</a></sup> との距離はどんどん縮まっているんじゃないかと思います<sup><a href="http://note.openvista.jp/2008/connecting-situation-by-mobileme/#footnote_1_511" id="identifier_1_511" class="footnote-link footnote-identifier-link" title="現状、MobileSafariは結構異常終了することが多いので、そう簡単に結論できる状況ではないけどね">2</a></sup> 。つまりモバイルとPCのフィールドが重なってきているわけです。また、Gmailなどのウェブアプリが受け入れられている状況があって、情報を一つの機器に閉じこめておく、もっと言えば環境を分断するという不便さがどんどんと表面化してきている現状があるわけです。</p>
<p class="right-box"><img src="http://note.openvista.jp/download/2008/07/mobileme-package.png" alt="MobileMeパッケージ" title="MobileMeパッケージ" width="200" height="190" /></p>
<p><a href="http://www.apple.com/jp/mobileme/" title="アップル - MobileMe">MobileMe</a>というサービスは、この<em>「環境は似通ってきているのに情報は分断されてしまっている<sup><a href="http://note.openvista.jp/2008/connecting-situation-by-mobileme/#footnote_2_511" id="identifier_2_511" class="footnote-link footnote-identifier-link" title="然るべき手順を踏めば同期することは出来るが、面倒くさすぎて几帳面な人しかやらないという状況があると">3</a></sup> 」という状況</em>に対するAppleなりの解決策だろうと思います<span class="weaken">（だからMobileMeは非力なデバイスには情報を同期させることはないでしょう）</span>。「すべての情報を、いつでもアップデート」というコピーからも伺えるようにMobileMeは情報を同期することによっていつでもどこからでも最新の情報が見られるようにするために出てきたわけですが、もう少し踏み込んだ言い方をするなら<em>機器毎の環境の違いを小さくするために出てきた</em>ともいえるのではないかと思うのです。</p>
<p>ただ、現状MobileMeで同期できるのは、ブラウザのブックマーク、メール、連絡先、カレンダーといったところ。これら情報の同期だけで環境の同質化といってしまうのは、少し物足りなさを感じざるを得ません。</p>
<p>環境を同質化するということは、同じ情報が見られるというだけではなく、同じタスクを機器を問わずシームレスに継続してこなせるというところまで踏み込む必要があるのではないかと思うのです。リッチなアプリケーションによって、そのハード的・ソフト的な制限が外れたのならば、次は<em>「今○○している」という行動・状況を同期する</em>ところまで面倒を見てあげる必要があるのではないかと思うのです。</p>
<p>具体的な話にしましょう。例えば、私たちはPCを使ってAmazon.co.jpで買い物をします。例えば、私たちはPCを使ってブログを読みます。例えば、私たちはGoogle Mapを使って駅から目的地までの道のりを調べます。</p>
<p>しかし、その状況は同期されることはないのです。まぁ、iPhoneでAmazonにアクセスし直すことはあるでしょうし、ブログのタイトルでぐぐって改めて読み返したり、Google Mapで目的地を再度検索することはあるかもしれません。プリンタで出力する人もいるでしょう。が、それは単にユーザが再度その状況をiPhoneに設定し直しただけであって、共有あるいは同期したわけでないですよね。</p>
<p>では、どうなるのがよいのでしょうか。例えば、MacのSafariの同期ボタンを押すと、今見ているページがMobileMeのサーバに送信されて、iPhoneとセッションが同期され、買い物の続きができる。あるいはブログの続きが読める。また、iPhoneのマップアプリを開くと、PCで最近検索したルートや閲覧したマイマップの情報が格納されている<sup><a href="http://note.openvista.jp/2008/connecting-situation-by-mobileme/#footnote_3_511" id="identifier_3_511" class="footnote-link footnote-identifier-link" title="どことなくNAVITIMEぽいな">4</a></sup> 。ここまで踏み込んで始めて、PCとモバイルとの環境差異を無くしたといえるのではないでしょうか。</p>
<p>ですから、MobileMeには<em>「PCの電源を落として、iPhoneの電源をつけた次の瞬間からさっきのPCの状況が共有される」</em>という情報・状況同期サービスに発展してほしいのです。単なる妄想というわけではなく、その一端は<a href="http://internet.watch.impress.co.jp/cda/news/2008/01/16/18121.html">iTunes Movie Rentals</a>というサービスで実現している<sup><a href="http://note.openvista.jp/2008/connecting-situation-by-mobileme/#footnote_4_511" id="identifier_4_511" class="footnote-link footnote-identifier-link" title="PC/Mac/iPhone/AppleTVに視聴状況を同期することでいつでもどこでも映画を継続的に視聴できる">5</a></sup> わけですから、そう遠い話ではないと思いますが。</p>
<p>ちなみに、こうした考え方自体は<a href="http://satoshi.blogs.com/life/2005/10/pervasive_appli.html" title="Life is beautiful: パーベイシブ・アプリケーションという世界観">UIEngineのパーベイシブ・アプリケーションという考え方</a>とそう変わるところではないですから、特段目新しいというわけでもないでしょう。UIEngineと違ってどの機器でも対象にするというわけではなく、Apple製品と特別に戦略のためにお許しされたPCだけで状況が同期できるというのが最大の違いでしょうか。</p>
<p>あと高望みするなら、その同期対象はApple純正あるいは公認アプリだけではなく、<em>サードパーティによるMacアプリとiPhoneアプリとが（自由に）同期できる</em>ようになるところまでiPhone API/Cocoa APIを広げて欲しいなと。少しは面白そうな未来が見えてきません？</p>
<p><img src="http://note.openvista.jp/download/2008/07/mobileme-sync.png" alt="MobileMeが目的地探索状況を機器間で同期しているイメージ" title="MobileMeが目的地探索状況を機器間で同期しているイメージ" width="500" height="348" /></p>
<p><amazon>B001CLDGX4,clear2,http://internet.watch.impress.co.jp/cda/static/image/2008/06/10/mobme1s.jpg</amazon></p>
<ol class="footnotes"><li id="footnote_0_511" class="footnote">この表記方法はめんどくさいので、以後は単にPCと書きます</li><li id="footnote_1_511" class="footnote">現状、MobileSafariは結構異常終了することが多いので、そう簡単に結論できる状況ではないけどね</li><li id="footnote_2_511" class="footnote">然るべき手順を踏めば同期することは出来るが、面倒くさすぎて几帳面な人しかやらないという状況があると</li><li id="footnote_3_511" class="footnote">どことなくNAVITIMEぽいな</li><li id="footnote_4_511" class="footnote">PC/Mac/iPhone/AppleTVに視聴状況を同期することでいつでもどこでも映画を継続的に視聴できる</li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=511&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/connecting-situation-by-mobileme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3G iPhoneは安いか高いか</title>
		<link>http://note.openvista.jp/2008/cost-of-3g-iphone-life/</link>
		<comments>http://note.openvista.jp/2008/cost-of-3g-iphone-life/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 20:16:32 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブサービス論]]></category>
		<category><![CDATA[コンピュータ関係]]></category>
		<category><![CDATA[モバイル]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=492</guid>
		<description><![CDATA[iPhoneを買うと月々いくらくらいかかるのか整理してみる、あと適当に雑感とか]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.softbankmobile.co.jp/ja/news/press/2008/20080623_02/index.html" title="iPhone 3G向けサービスの詳細について～8GBモデルが実質約23,000円、月々960円で購入可能。さらに月額5,985円でパケット通信し放題に～ | ソフトバンクモバイル株式会社">ソフトバンクモバイルから3G iPhoneの購入料金および専用料金プランのプレスリリース</a>が出たので、ちょっと整理してみます。このプレスリリースによれば、まず3G iPhone自体の料金は以下のようになります。</p>
<table summary="3G iPhone自体の購入料金">
<thead>
<tr>
<th colspan="2"></th>
<th>容量8GBモデル<br /><span class="weaken">（カラー：ブラック）</span></th>
<th>記憶容量16GBモデル<br /><span class="weaken">（カラー：ブラック・ホワイト）</span></th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="2">端末購入代金</th>
<th>24ヶ月割賦支払い</th>
<td>2,880円/月</td>
<td>3,360円/月</td>
</tr>
<tr>
<th>一括支払い</th>
<td>69,120円</td>
<td>80,640円</td>
</tr>
<tr>
<th colspan="2">特別割引代金</th>
<td colspan="2"><em class="minus">-1,920円/月</em></td>
</tr>
<tr>
<th colspan="2">実質負担料金</th>
<td>960円 x 24 = 23,040円</td>
<td>1,440 x 24 = 34,560円</td>
</tr>
</tbody>
</table>
<p>次いで、この負担料金を加えた月々の総負担料金は以下の通り。</p>
<table summary="3G iPhoneの総負担料金">
<thead>
<tr>
<th colspan="2"></th>
<th>通話なし</th>
<th>通話60分</th>
<th>通話180分</th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="5">通話プラン</th>
<th>最適プラン</th>
<td>ホワイトプラン (i)</td>
<td>ブルーSプランバリュー (i)</td>
<td>ブルーMプランバリュー (i)</td>
</tr>
<tr>
<th>基本使用料<br /><span class="weaken">（ブループランバリュー(i)は自分割引50適用）</span></th>
<td>980円</td>
<td>1,470円</td>
<td>2,520円</td>
</tr>
<tr>
<th>通話料金</th>
<td>なし</td>
<td>2,268円</td>
<td>5,292円</td>
</tr>
<tr>
<th>無料通話料</th>
<td>なし</td>
<td><em class="minus">-2,100円</em></td>
<td><em class="minus">-4,200円</em></td>
</tr>
<tr>
<th>通話小計</th>
<td>980円</td>
<td>1,638円</td>
<td>3,612円</td>
</tr>
<tr>
<th rowspan="3">データオプション</th>
<th>パケット定額フル<br />定額料</th>
<td colspan="3">5,985円</td>
</tr>
<tr>
<th>S! ベーシックパック（i）<br />基本料</th>
<td colspan="3">315円</td>
</tr>
<tr>
<th>データ小計</th>
<td colspan="3">6,300円</td>
</tr>
<tr>
<th rowspan="3">端末料金</th>
<th>端末料金</th>
<td colspan="3">2,880円(8GB)<br />3,360円(16GB)</td>
</tr>
<tr>
<th>特別割引料金</th>
<td colspan="3"><em class="minus">-1,920円</em></td>
</tr>
<tr>
<th>端末小計</th>
<td colspan="3">960円(8GB)<br />1,440円(16GB)</td>
</tr>
<tr>
<th colspan="2">計</th>
<td>8,240円(8GB)<br />8,720円(16GB)</td>
<td>8,798円(8GB)<br />9,278円(16GB)</td>
<td>10,872円(8GB)<br />11,352円(16GB)</td>
</tr>
</tbody>
</table>
<p>ということで、購入から2年間は<em>月々だいたい8,000円ちょいから11,300円あたり</em>で利用できるようになりそうです。データ通信は使うけど通話にはあまり使わないという方で、ソフトバンクモバイルの相手にたまに電話する、またはSMSを結構使うようになりそうという方は<em>ホワイトプラン(i)</em>、それ以外のキャリアを持っている方にもたまにすると言う方は割引適用後、900円で1,000円分の無料通話が付いてくる<em>ブループランSSバリュー(i)</em>がオススメです。</p>
<p>で、問題はこれが安いかどうかという話かと思うので、ここでは無難にアメリカのAT&amp;Tのそれと比べてみます。<a href="http://k-tai.impress.co.jp/cda/article/news_toppage/40336.html" title="iPhone 3Gは月いくらで利用できる？ AT&amp;Tがプランを発表">iPhone 3Gは月いくらで利用できる？ AT&amp;Tがプランを発表</a>を再び表にすると以下のようになります。</p>
<table summary="3G iPhoneの総負担料金@AT&amp;T">
<thead>
<tr>
<th colspan="2"></th>
<th>容量8GBモデル<br /><span class="weaken">（カラー：ブラック）</span></th>
<th>記憶容量16GBモデル<br /><span class="weaken">（カラー：ブラック・ホワイト）</span></th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="2">端末料金</th>
<th>一括価格</th>
<td>$199</td>
<td>$299</td>
</tr>
<tr>
<th>（参考）2年割賦価格</th>
<td>約$8.3/月</td>
<td>約$12.5/月</td>
</tr>
<tr>
<th colspan="2">通話プラン料金</th>
<td colspan="2">$39~</td>
</tr>
<tr>
<th colspan="2">データプラン料金<br /><span class="weaken">（個人向け）</span></th>
<td colspan="2">$30</td>
</tr>
<tr>
<th colspan="2">計</th>
<td>$77.3~</td>
<td>$81.5~</td>
</tr>
<tr>
<th colspan="2">日本円換算<sup><a href="http://note.openvista.jp/2008/cost-of-3g-iphone-life/#footnote_0_492" id="identifier_0_492" class="footnote-link footnote-identifier-link" title="1$=105円として計算">1</a></sup> </th>
<td>8,117円</td>
<td>8,558円</td>
</tr>
</tbody>
</table>
<p>一見、ソフトバンクモバイルの通話なしと同等の料金のようにも思えますが、<a href="http://www.apple.com/pr/library/2007/06/26plans.html" title="AT&#038;T and Apple Announce Simple, Affordable Service Plans for iPhone">AT&amp;Tの旧iPhone向けプラン</a>において$59.9の最低料金のプランでも450分もの無料通話がありますから、新プランにも少なからず無料通話がついてくることが予想できます。これを考慮した上で比較するなら、よく通話する人にとっては割高に感じるでしょうね。</p>
<p>ただ、使いやすいフルブラウザ・フルメーラ、他にはないサードパーティのiPhone向けアプリといった環境は現状日本市場には出ていない<sup><a href="http://note.openvista.jp/2008/cost-of-3g-iphone-life/#footnote_1_492" id="identifier_1_492" class="footnote-link footnote-identifier-link" title="わからないというのもありますが">2</a></sup> わけで、そういう<em>まだ値段が付いていないところにあなたならどれくらいのお金が払えますか</em>という問いが最終的な購入判断につながるのではないかと思います。</p>
<p>ちなみに、現在発売中のiPod touchも7月11日以降には、3G iPhoneと同じバージョンのOSが入って出荷されるわけですが、6月26日現在での最安価格（価格.comによる）は8GBで32,500円、16GBで38,800円で、2年割賦で考えると8GBで約1354円/月、16GBで約1617円/月になります。どこでも電話・ネットはいらないという方はこちらでもいいかも。</p>
<h3 id="t1a28a2">料金以外のポイント</h3>
<p>料金以外で気になったところをまとめておくと、まず<em>既存のメールアドレスが利用できない</em>点。S! メール(i) というiPhone専用サービスでは、なぜか、<code>好きな文字列@i.softbank.jp</code> というちょっと変わったアドレスが割り当てられているようです。通信上のなんらかの問題でどうしようもなかったのかもしれませんが、<a href="http://japan.cnet.com/mobile/story/0,3800078151,20344372,00.htm" title="ソフトバンクのスマートフォン「X01HT」でS!メールが利用可能に--新色も登場:モバイルチャンネル - CNET Japan">現行のスマートフォンがS!メール対応になっている</a>だけに、既存ユーザには迷惑な話です。また、<em>専用U-SIM</em>となっているため、他の携帯電話とU-SIMカードを抜き差しして使い分けるという使い方は出来なくなっているようです。これも通信上の問題なのでしょうか。</p>
<p><del datetime="2008-07-04T01:34:50+09:00" class="block">オレンジ・ブルー両プランにバリュープランがないのも気になりましたが、これは3G iPhoneに販売奨励金が入っているためかと思います。<br />
</del><br />
<ins datetime="2008-07-04T01:34:50+09:00" class="block"><br />
バリュープランも使えるようです（<a href="http://mb.softbank.jp/mb/iphone/price_plan/other/index.html" title="その他の料金プラン | SoftBank">その他の料金プラン | SoftBank</a>）<br />
</ins></p>
<p>それと気になるのが、既存のWindows Mobileのスマートフォン。このまま放置されると、毎月の基本料金がホワイトプラン＋<a href="http://mb.softbank.jp/mb/price_plan/X/packet/" title="パケットし放題 PCサイトダイレクトご利用の場合 | SoftBank">パケットし放題 PCサイトダイレクト</a>で2,009円～10,780円とネットを中心に使っている人にとっては、iPhoneプラント比較して高額になってしまいます。それとも実際は、iPhoneと違って全然ネットが使われていないから大丈夫だったりするんでしょうかね。</p>
<h3 id="t945df2">結局どうするか</h3>
<p>個人的には行動範囲内に無線LANが配備されているため、当分は買わないと思います。GPSやBluetoothでの音楽視聴<sup><a href="http://note.openvista.jp/2008/cost-of-3g-iphone-life/#footnote_2_492" id="identifier_2_492" class="footnote-link footnote-identifier-link" title="もっとも初代iPhoneはA2DPやAVRCPなどのプロトコルには対応していなかったわけですが、はてさて">3</a></sup> にはかなり惹かれますが、それにiPod touchを使ってみて思いましたが、本格的に音楽プレイヤーとして使うなら32GBは欲しいかなと。社会人になる来年春には持とうかなと思うので、それまでにはなんらかのモデルチェンジがあることを期待して待っておくことにします。</p>
<p>まぁ、私が買わなくともWeb技術に詳しい人はお求めになるだろうと思うので、そういう方と無料で通話できるようになるのは嬉しいですね。</p>
<p class="related"><a href="http://note.openvista.jp/2008/ipod-touch-second-review/" title="iPod touch セカンドインプレッション">iPod touch セカンドインプレッション</a>もよろしければご覧ください</p>
<ol class="footnotes"><li id="footnote_0_492" class="footnote">1$=105円として計算</li><li id="footnote_1_492" class="footnote">わからないというのもありますが</li><li id="footnote_2_492" class="footnote">もっとも初代iPhoneはA2DPやAVRCPなどのプロトコルには対応していなかったわけですが、はてさて</li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=492&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/cost-of-3g-iphone-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>「あとで読む」アドオンを翻訳してみた</title>
		<link>http://note.openvista.jp/2008/read-it-later-localized/</link>
		<comments>http://note.openvista.jp/2008/read-it-later-localized/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 19:29:04 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブブラウザ]]></category>
		<category><![CDATA[ツールの制作]]></category>
		<category><![CDATA[モバイル]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=488</guid>
		<description><![CDATA[完成度の高い「あとで読む」アドオン、Read It Laterを日本の環境にあわせて翻訳・改変してみました]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ideashower.com/ideas/launched/read-it-later/" title="the Idea Shower » » Read it Later - Firefox Extension BETA">Read It Later</a>という「あとで読みたい」ページを保存して管理できるFirefox用のアドオンが公開されてました。公式サイトに書いてあった機能をざっと訳すとこんな感じ。</p>
<dl>
<dt>ページの保存</dt>
<dd>時間ができた時読めるように、「読むリスト」にページを保存することが出来ます</dd>
<dt>オフラインモード</dt>
<dd>ページを保存しておいて機内や電車などどこでも読めるようにできます</dd>
<dt>RSSフィードの出力</dt>
<dd>あとで読むページを自動的にRSSフィードにして、どこにいてもリストが読めるようになります</dd>
<dt>コンピュータ間で同期</dt>
<dd>仕事用PC、家庭用PCなど何台のコンピュータとも読むリストを同期することが出来ます</dd>
<dt>ソーシャルブックマークに投稿</dt>
<dd>読んだ後はお好きなブックマークサービスにページをブックマークしておきましょう</dd>
<dt>クリック保存モード</dt>
<dd>面白そうなリンクをクリックするだけで、あっという間に読むリストの出来上がり</dd>
</dl>
<p>実際、使ってみた感想は<a href="http://netafull.net/firefox-addon/026330.html" title="[N] 高機能な“あとで読む”Firefoxアドオン「Read It Later」">ネタフルさん</a>にて取り上げ済みなので、ここでは割愛しますがなかなか良い感じです。とりあえずざっと見したいという人に向けてYoutubeでデモ動画も公開されています。</p>
<dl class="video" id="video-mLNfsLpM8zo">
<dt style="width:348px;"><a href="http://www.youtube.com/watch?v=mLNfsLpM8zo&amp;fmt=18">Read It Later Firefox Extension</a></dt>
<dd style="height:378px;"><object data="http://www.youtube.com/v/mLNfsLpM8zo&amp;hl&amp;ap=%2526fmt%3D18" type="application/x-shockwave-flash" width="460" height="378"><param name="movie" value="http://www.youtube.com/v/mLNfsLpM8zo&amp;hl&amp;ap=%2526fmt%3D18" /><param name="allowfullscreen" value="true" /></object></dd>
</dl>
<p>今回はこのアドオンを勝手ながら日本語化させていただきました<sup><a href="http://note.openvista.jp/2008/read-it-later-localized/#footnote_0_488" id="identifier_0_488" class="footnote-link footnote-identifier-link" title="ライセンスが明記されていないので、少しやましい感じがしますが">1</a></sup> 。単に日本語化するだけではなく、以下のソーシャルブックマークサービス・ミニブログサービスに投稿できるようにしてみました。文字化けも解消しています。</p>
<ul class="links">
<li><a href="http://b.hatena.ne.jp/" title="はてなブックマーク - ソーシャルブックマーク">はてなブックマーク</a></li>
<li><a href="http://clip.livedoor.com/" title="livedoor クリップ - ソーシャルブックマーク">livedoor クリップ</a></li>
<li><a href="http://bookmarks.yahoo.co.jp/all" title="人気ブックマーク - Yahoo!ブックマーク">Yahoo!ブックマーク</a></li>
<li><a href="http://clip.nifty.com/" title="@nifty クリップ">@nifty クリップ</a></li>
<li><a href="http://www.tumblr.com/" title="Tumblr">Tumblr</a></li>
</ul>
<p>ダウンロード・インストールは以下から。ちなみに、今バージョンはFirefox3以上でしか使用することが出来ません。</p>
<dl class="download">
<dt>ダウンロード</dt>
<dd><a href="http://note.openvista.jp/download/2008/06/isreaditlater.xpi">Read It Later（あとで読む）日本版</a></dd>
<dt>ライセンス</dt>
<dd>著作権は制作者のNate Weiner氏に全て帰属します</dd>
</dl>
<div class="update">
<h3 id="t3a77db">更新履歴</h3>
<dl>
<dt>2008/08/03</dt>
<dd>バージョン0.9811の日本語版をリリース</dd>
<dt>2008/06/21</dt>
<dd>初版リリース</dd>
</dl>
</div>
<h3 id="t2ae8f0">スクリーンショット</h3>
<p><img src="http://note.openvista.jp/download/2008/06/read-it-later-config1.png" alt="「あとで読む」ページの既読化" title="「あとで読む」ページの既読化" width="272" height="232" /></p>
<p><img src="http://note.openvista.jp/download/2008/06/read-it-later-config2.png" alt="「あとで読む」読むリスト" title="「あとで読む」読むリスト" width="353" height="349" /></p>
<p><a href="http://note.openvista.jp/download/2008/06/read-it-later-config3.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/06/read-it-later-config3-300x299.png" alt="「あとで読む」設定画面" title="「あとで読む」設定画面" width="300" height="299" /></a></p>
<p><ins datetime="2008-06-23T01:20:51+09:00" class="block"><br />
「あとで読む」フォルダはブックマークツールバーのフォルダを指定できないですが、代替方法として「読むリスト」のRSSフィードをスマートブックマークとしてブックマークツールバーに置く方法があります。</p>
<p>しかし、RSSの日本語部分が変な感じにエンコードされちゃって、イマイチ使えないです。そこで、きちんと日本語へ変換するゲートウェイを用意しましたので、ご自由にどうぞ。RSSフィードのURLを以下の<code>?url=</code>の後に入れてご使用ください。</p>
<dl>
<dt>RSSフィードのアドレスの例</dt>
<dd>https://readitlaterlist.com/users/123abc/feed/unread</dd>
<dt>変換後のRSSフィードのアドレスの例</dt>
<dd><em>http://tech.openvista.jp/tmp/rss_unescape/?url=</em>https://readitlaterlist.com/users/123abc/feed/unread</dd>
</dl>
<p>日本語タイトルはどうやら変換の途中で短くちょん切られるらしく全部入らないようです…。<br />
</ins></p>
<ol class="footnotes"><li id="footnote_0_488" class="footnote">ライセンスが明記されていないので、少しやましい感じがしますが</li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=488&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/read-it-later-localized/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google検索を少し見やすくするユーザースタイルシート</title>
		<link>http://note.openvista.jp/2008/customizing-google-with-user-css/</link>
		<comments>http://note.openvista.jp/2008/customizing-google-with-user-css/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 17:28:30 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブブラウザ]]></category>
		<category><![CDATA[ウェブ標準技術絡み]]></category>
		<category><![CDATA[ツールの制作]]></category>
		<category><![CDATA[モバイル]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/?p=469</guid>
		<description><![CDATA[Google検索結果をユーザスタイルシートを使って、もう少し見やすくしてみようという試み]]></description>
			<content:encoded><![CDATA[<p>小ネタですが、少し前から使っているGoogle検索向けユーザスタイルシートを公開してみます。どのような表示結果が万人にとって見やすいかはわかりませんが、個人的にはそこそこ見やすくなったと感じています。</p>
<dl>
<dt>適用前</dt>
<dd>
<p><a href="http://note.openvista.jp/download/2008/06/usercss_before.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/06/usercss_before-200x122.png" alt="ユーザCSS適用前" title="ユーザCSS適用前" width="200" height="122" /></a></p>
</dd>
<dt>適用後</dt>
<dd>
<p><a href="http://note.openvista.jp/download/2008/06/usercss_after.png" rel="lightbox"><img src="http://note.openvista.jp/download/2008/06/usercss_after-200x121.png" alt="ユーザCSS適用後" title="ユーザCSS適用後" width="200" height="121" /></a></p>
</dd>
</dl>
<p>変更点は以下の通り。</p>
<ul>
<li>横幅を40文字程度に設定</li>
<li>検索結果に番号を振った</li>
<li>検索フォームを右下に貼り付けるようにして、フォーカスがある場合以外は半透明状態にした</li>
<li>関連ページやメモを取るなどのリンクは削除</li>
<li>一部のサイトへアイコンを追加（Wikipedia, amazon.co.jp, .go.jp, .ac.jp）</li>
<li>ファイルタイプが特殊な物にアイコンを追加(PDF, Microsoft Word）</li>
<li>検索行動にあまり関係のない情報を削除</li>
</ul>
<p>なお、<a href="http://userscripts.org/scripts/show/8551" title="AutoPagerize – Userscripts.org">AutoPagerize</a>と併用すると、より快適になるかと思います。</p>
<h3 id="t1295e5">適用方法</h3>
<p>特定のサイトにCSSを適用するための<a href="http://www.akatsukinishisu.net/wiki.cgi?%40-moz-document" title="@-moz-document - 徒委記">@-moz-document</a>ルールを使っているので、現時点ではMozilla FirefoxやFlockなどのブラウザ以外では使用できません。</p>
<p>適用については<a href="http://www.mozilla-japan.org/support/firefox/edit#content" title="Firefox Help: 設定ファイルの編集">ユーザスタイルシートの作成方法</a>に沿って、以下の内容をuserContent.cssとしてプロファイルフォルダに保存してください。<a href="https://addons.mozilla.org/ja/firefox/addon/2108" title="Stylish :: Firefox Add-ons">Stylish</a>というFirefox用アドオンは、ユーザCSSを一元管理できるのでとても便利です。</p>
<div class="source-code"><div><img src="http://note.openvista.jp/wp-content/plugins/coolcode/code.png" width="16" height="16" alt="" /> <em>CSSソースコード</em></div><pre class="source-code"><code><span class="codes-var">@namespace</span><span class="codes-code"> </span><span class="codes-identifier">url</span><span class="codes-code">(</span><span class="codes-identifier">http</span><span class="codes-code">://</span><span class="codes-identifier">www.w3.org</span><span class="codes-code">/1999/</span><span class="codes-identifier">xhtml</span><span class="codes-code">);</span>
<span class="codes-code"> </span>
<span class="codes-code">@-</span><span class="codes-identifier">moz-document</span><span class="codes-code"> </span><span class="codes-identifier">url-prefix</span><span class="codes-code">(&quot;</span><span class="codes-identifier">http</span><span class="codes-code">://</span><span class="codes-identifier">www.google.co.jp</span><span class="codes-code">/</span><span class="codes-identifier">search</span><span class="codes-code">&quot;),</span>
<span class="codes-identifier">url-prefix</span><span class="codes-code">(&quot;</span><span class="codes-identifier">http</span><span class="codes-code">://</span><span class="codes-identifier">www.google.com</span><span class="codes-code">/</span><span class="codes-identifier">search</span><span class="codes-code">&quot;)</span><span class="codes-brackets">{</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div#tads</span><span class="codes-code">, /</span><span class="codes-identifier">*</span><span class="codes-code"> </span><span class="codes-identifier">Ad</span><span class="codes-code"> </span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-identifier">table#mbEnd</span><span class="codes-code">, /</span><span class="codes-identifier">*</span><span class="codes-code"> </span><span class="codes-identifier">Ad</span><span class="codes-code"> </span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">h1</span><span class="codes-code">,</span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">td.xsm</span><span class="codes-code">,</span>
<span class="codes-identifier">span.xsm</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">display:</span><span class="codes-string">none</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">body</span><span class="codes-code"> </span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">margin:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">7</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">20</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">20</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-code">/</span><span class="codes-identifier">*</span><span class="codes-code"> グローバルナビゲーションの枠線 </span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-code"> </span>
<span class="codes-identifier">body</span><span class="codes-code"> &gt; </span><span class="codes-identifier">div</span><span class="codes-code"> &gt; </span><span class="codes-identifier">div#gbar</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">padding-bottom:</span><span class="codes-code"> </span><span class="codes-number">15</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">body</span><span class="codes-code"> &gt; </span><span class="codes-identifier">div</span><span class="codes-code"> &gt; </span><span class="codes-identifier">div.gbh</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">border:</span><span class="codes-code"> </span><span class="codes-string">none</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding-bottom:</span><span class="codes-code"> </span><span class="codes-number">10</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">; </span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-code">/</span><span class="codes-identifier">*</span><span class="codes-code"> 検索ボックステーブル周りの調整 </span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">width:</span><span class="codes-code"> </span><span class="codes-number">100</span><span class="codes-string">%</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">width:</span><span class="codes-code"> </span><span class="codes-number">450</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code">,</span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code"> </span><span class="codes-identifier">table</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">margin:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">padding-bottom:</span><span class="codes-code"> </span><span class="codes-number">6</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">position:</span><span class="codes-code"> </span><span class="codes-string">fixed</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">bottom:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">right:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code"> </span><span class="codes-identifier">table</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">padding-bottom:</span><span class="codes-code"> </span><span class="codes-number">6</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code"> </span><span class="codes-identifier">table</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">display:</span><span class="codes-code"> </span><span class="codes-string">block</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">float:</span><span class="codes-code"> </span><span class="codes-string">left</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding-top:</span><span class="codes-code"> </span><span class="codes-number">7</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code">:</span><span class="codes-identifier">hover</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">background-color:</span><span class="codes-code"> </span><span class="codes-var">white</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code"> </span><span class="codes-identifier">input</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">font-size:</span><span class="codes-code"> </span><span class="codes-number">90</span><span class="codes-string">%</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">opacity:</span><span class="codes-code"> </span><span class="codes-number">0.6</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code"> </span><span class="codes-identifier">input</span><span class="codes-code">[</span><span class="codes-identifier">name</span><span class="codes-code">=&quot;</span><span class="codes-identifier">q</span><span class="codes-code">&quot;]</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">display:</span><span class="codes-code"> </span><span class="codes-string">block</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">background-color:</span><span class="codes-code"> </span><span class="codes-var">white</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">border:</span><span class="codes-code"> </span><span class="codes-number">1</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-string">inset</span><span class="codes-code"> </span><span class="codes-var">#666</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">float:</span><span class="codes-code"> </span><span class="codes-string">left</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">width:</span><span class="codes-code"> </span><span class="codes-number">350</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">4</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">6</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code"> </span><span class="codes-identifier">input</span><span class="codes-code">[</span><span class="codes-identifier">name</span><span class="codes-code">=&quot;</span><span class="codes-identifier">q</span><span class="codes-code">&quot;]:</span><span class="codes-identifier">focus</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">border:</span><span class="codes-code"> </span><span class="codes-number">1</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-string">solid</span><span class="codes-code"> </span><span class="codes-var">#94bbdf</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">outline:</span><span class="codes-code"> </span><span class="codes-number">1</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-string">solid</span><span class="codes-code"> </span><span class="codes-var">#b3cfe8</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code"> </span><span class="codes-identifier">input</span><span class="codes-code">[</span><span class="codes-identifier">name</span><span class="codes-code">=&quot;</span><span class="codes-identifier">q</span><span class="codes-code">&quot;]:</span><span class="codes-identifier">focus</span><span class="codes-code">,</span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code"> </span><span class="codes-identifier">input</span><span class="codes-code">[</span><span class="codes-identifier">name</span><span class="codes-code">=&quot;</span><span class="codes-identifier">q</span><span class="codes-code">&quot;]:</span><span class="codes-identifier">focus</span><span class="codes-code"> + </span><span class="codes-identifier">input</span><span class="codes-code">[</span><span class="codes-identifier">name</span><span class="codes-code">=&quot;</span><span class="codes-identifier">btnG</span><span class="codes-code">&quot;],</span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code"> </span><span class="codes-identifier">input</span><span class="codes-code">[</span><span class="codes-identifier">name</span><span class="codes-code">=&quot;</span><span class="codes-identifier">q</span><span class="codes-code">&quot;] + </span><span class="codes-identifier">input</span><span class="codes-code">[</span><span class="codes-identifier">name</span><span class="codes-code">=&quot;</span><span class="codes-identifier">btnG</span><span class="codes-code">&quot;]:</span><span class="codes-identifier">active</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">opacity:</span><span class="codes-code"> </span><span class="codes-number">1.0</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">table#sft</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code">[</span><span class="codes-identifier">valign</span><span class="codes-code">=&quot;</span><span class="codes-identifier">top</span><span class="codes-code">&quot;] &gt; </span><span class="codes-identifier">td</span><span class="codes-code"> + </span><span class="codes-identifier">td</span><span class="codes-code"> </span><span class="codes-identifier">input</span><span class="codes-code">[</span><span class="codes-identifier">name</span><span class="codes-code">=&quot;</span><span class="codes-identifier">btnG</span><span class="codes-code">&quot;]</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">margin-left:</span><span class="codes-code"> </span><span class="codes-number">10</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">3</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-code">/</span><span class="codes-identifier">*</span><span class="codes-code"> 関連ページ、メモへのリンクを削除 </span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-code"> </span>
<span class="codes-identifier">a</span><span class="codes-code">[</span><span class="codes-identifier">href*</span><span class="codes-code">=&quot;</span><span class="codes-identifier">q</span><span class="codes-code">=</span><span class="codes-identifier">related</span><span class="codes-code">&quot;],</span>
<span class="codes-identifier">span.bl</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">display:</span><span class="codes-code"> </span><span class="codes-string">none</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-code">/</span><span class="codes-identifier">*</span><span class="codes-code"> 検索結果の幅 </span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div#res</span><span class="codes-code"> </span><span class="codes-identifier">table</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">width:</span><span class="codes-code"> </span><span class="codes-number">100</span><span class="codes-string">%</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">max-width:</span><span class="codes-code"> </span><span class="codes-number">40</span><span class="codes-string">em</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-code">/</span><span class="codes-identifier">*</span><span class="codes-code"> 各検索結果を下げ </span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-code"> </span>
<span class="codes-identifier">.s</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">margin-top:</span><span class="codes-code"> </span><span class="codes-number">0.3</span><span class="codes-string">em</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">margin-left:</span><span class="codes-code"> </span><span class="codes-number">2</span><span class="codes-string">em</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-code">/</span><span class="codes-identifier">*</span><span class="codes-code"> カウンタを生成 </span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div#res</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">counter-reset:</span><span class="codes-code"> head !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">.g</span><span class="codes-code"> &gt; </span><span class="codes-identifier">.r</span><span class="codes-code">:</span><span class="codes-identifier">before</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">counter-increment:</span><span class="codes-code"> head !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">content:</span><span class="codes-code"> &quot;#&quot; counter(head) !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">font-size:</span><span class="codes-code"> </span><span class="codes-number">18</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">font-weight:</span><span class="codes-code"> </span><span class="codes-string">bold</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">margin-right:</span><span class="codes-code"> </span><span class="codes-number">5</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">4</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">background:</span><span class="codes-code"> </span><span class="codes-var">white</span><span class="codes-code"> url(&quot;data:image/png</span><span class="codes-code">;</span><span class="codes-identifier">base64</span><span class="codes-code">,</span><span class="codes-identifier">iVBORw0KGgoAAAANSUhEUgAAAAoAAAAeCAMAAAAiq38CAAAAA3NCSVQICAjb4U</span><span class="codes-code">/</span><span class="codes-identifier">gAAAAYFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu7u7v7</span><span class="codes-code">+/</span><span class="codes-identifier">w8PDx8fHy8vLz8</span><span class="codes-code">/</span><span class="codes-identifier">P09PT19fX29vb39</span><span class="codes-code">/</span><span class="codes-identifier">f4</span><span class="codes-code">+</span><span class="codes-identifier">Pj5</span><span class="codes-code">+</span><span class="codes-identifier">fn6</span><span class="codes-code">+</span><span class="codes-identifier">vr7</span><span class="codes-code">+/</span><span class="codes-identifier">v8</span><span class="codes-code">/</span><span class="codes-identifier">Pz9</span><span class="codes-code">/</span><span class="codes-identifier">f3</span><span class="codes-code">+/</span><span class="codes-identifier">v7</span><span class="codes-code">///9</span><span class="codes-identifier">uR0UGAAAAQUlEQVQYlXXGtwGAMAAEsZ8ATHIk7L</span><span class="codes-code">+</span><span class="codes-identifier">lK5</span><span class="codes-code">+/</span><span class="codes-identifier">QZX0QdYX3ge64W1Qq4PqbIE3QwneCF346QnvAe3wbpgNCtAK74IOWSsakaslG2kAAAAASUVORK5CYII</span><span class="codes-code">=&quot;) </span><span class="codes-identifier">left</span><span class="codes-code"> </span><span class="codes-identifier">top</span><span class="codes-code"> !</span><span class="codes-identifier">important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">color:</span><span class="codes-code"> </span><span class="codes-var">#bbb</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">border:</span><span class="codes-code"> </span><span class="codes-number">1</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-string">solid</span><span class="codes-code"> </span><span class="codes-var">#bfbfbf</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    -</span><span class="codes-reserved">moz-border-radius:</span><span class="codes-code"> </span><span class="codes-number">3</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-code">/</span><span class="codes-identifier">*</span><span class="codes-code"> 関連検索 </span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div.e</span><span class="codes-code">,</span>
<span class="codes-identifier">div#res</span><span class="codes-code"> &gt; </span><span class="codes-reserved">div:</span><span class="codes-code">first-child{</span>
<span class="codes-code">    border: </span><span class="codes-number">1</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-string">solid</span><span class="codes-code"> </span><span class="codes-var">#4d7032</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div#res.med</span><span class="codes-code"> &gt; </span><span class="codes-identifier">div.med</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">border:</span><span class="codes-code"> </span><span class="codes-string">none</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div.e</span><span class="codes-code"> </span><span class="codes-identifier">table#brs</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">width:</span><span class="codes-code"> </span><span class="codes-number">100</span><span class="codes-string">%</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">max-width:</span><span class="codes-code"> </span><span class="codes-number">100</span><span class="codes-string">%</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div#res</span><span class="codes-code"> &gt; </span><span class="codes-identifier">div</span><span class="codes-special">:first-child</span><span class="codes-code"> </span><span class="codes-identifier">td.nobr</span><span class="codes-code">,</span>
<span class="codes-identifier">div.e</span><span class="codes-code"> </span><span class="codes-identifier">table#brs</span><span class="codes-code"> </span><span class="codes-identifier">caption</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">min-width:</span><span class="codes-code"> </span><span class="codes-number">100</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">background-color:</span><span class="codes-code"> </span><span class="codes-var">#6d9f52</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">color:</span><span class="codes-code"> </span><span class="codes-var">white</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">vertical-align:</span><span class="codes-code"> </span><span class="codes-string">middle</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">text-align:</span><span class="codes-code"> </span><span class="codes-string">center</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">font-weight:</span><span class="codes-code"> </span><span class="codes-string">bold</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div#res</span><span class="codes-code"> &gt; </span><span class="codes-identifier">div</span><span class="codes-special">:first-child</span><span class="codes-code"> </span><span class="codes-identifier">td</span><span class="codes-code">,</span>
<span class="codes-identifier">div.e</span><span class="codes-code"> </span><span class="codes-identifier">table#brs</span><span class="codes-code"> </span><span class="codes-identifier">caption</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">10</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div.e</span><span class="codes-code"> </span><span class="codes-identifier">table#brs</span><span class="codes-code"> </span><span class="codes-identifier">tr</span><span class="codes-code"> </span><span class="codes-identifier">td</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">border:</span><span class="codes-code"> </span><span class="codes-number">1</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-string">solid</span><span class="codes-code"> </span><span class="codes-var">#ccc</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">10</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-code">/</span><span class="codes-identifier">*</span><span class="codes-code"> ファイルタイプ関連 </span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-code"> </span>
<span class="codes-identifier">.g</span><span class="codes-code"> &gt; </span><span class="codes-identifier">.r</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">font-size:</span><span class="codes-code"> </span><span class="codes-number">110</span><span class="codes-string">%</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">.g</span><span class="codes-code"> &gt; </span><span class="codes-identifier">.r</span><span class="codes-code"> &gt; </span><span class="codes-identifier">a.l</span><span class="codes-brackets">[</span><span class="codes-var">href</span><span class="codes-code">*=</span><span class="codes-quotes">&quot;</span><span class="codes-string">.ac.jp/</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">]</span><span class="codes-special">:before</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">content:</span><span class="codes-code"> url(&quot;data:image/png</span><span class="codes-code">;</span><span class="codes-identifier">base64</span><span class="codes-code">,</span><span class="codes-identifier">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAMAAADzapwJAAAAA3NCSVQICAjb4U</span><span class="codes-code">/</span><span class="codes-identifier">gAAAAYFBMVEUwMDAlTSZnaGcIoztLhlgBvEQ4qWA</span><span class="codes-code">+</span><span class="codes-identifier">uGskyWJUrXNetX0</span><span class="codes-code">/</span><span class="codes-identifier">znebnJxvu4l9wZidrqxx1ZGotLe1vL</span><span class="codes-code">+</span><span class="codes-identifier">N1qWb2q</span><span class="codes-code">+</span><span class="codes-identifier">w4r</span><span class="codes-code">/</span><span class="codes-identifier">X19u</span><span class="codes-code">+6</span><span class="codes-identifier">c7T5d7d6ejm7O3m9O7u9</span><span class="codes-code">/</span><span class="codes-identifier">b2</span><span class="codes-code">+</span><span class="codes-identifier">vj9</span><span class="codes-code">/</span><span class="codes-identifier">f3</span><span class="codes-code">///89</span><span class="codes-identifier">IAYcAAAA1ElEQVQYlWWR6Y6DMAyEXVhaoOEKR27m</span><span class="codes-code">/</span><span class="codes-identifier">d9yndBGbHb</span><span class="codes-code">+2</span><span class="codes-identifier">Bp9Go8SAnB</span><span class="codes-code">+</span><span class="codes-identifier">pP13B2UbGH70F6EM77OpxM2</span><span class="codes-code">+</span><span class="codes-identifier">Voz148h5mfa2ogklDccD1hU0zsBbVaHMdmHXJFBkny5shsw</span><span class="codes-code">/</span><span class="codes-identifier">mnMtHQWN4ELwD13QsLGJlH9p</span><span class="codes-code">+</span><span class="codes-identifier">JCmuEamLZLMhBvNEW7f1k2d8jqaaHiv5rZtmqb1Apnmcuv7He16PuLV</span><span class="codes-code">+</span><span class="codes-identifier">N7s</span><span class="codes-code">+</span><span class="codes-identifier">m1</span><span class="codes-code">+</span><span class="codes-identifier">vZ51lBLuQ8O4dej77smqx4Njrt</span><span class="codes-code">/</span><span class="codes-identifier">RUOPQd13XD6MyxK0SraVclom1LFJWpJPNEnST4JO</span><span class="codes-code">/4</span><span class="codes-identifier">bEva9NpKxAAAAAASUVORK5CYII</span><span class="codes-code">=&quot;) !</span><span class="codes-identifier">important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">4</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">.g</span><span class="codes-code"> &gt; </span><span class="codes-identifier">.r</span><span class="codes-code"> &gt; </span><span class="codes-identifier">a.l</span><span class="codes-brackets">[</span><span class="codes-var">href</span><span class="codes-code">*=</span><span class="codes-quotes">&quot;</span><span class="codes-string">.go.jp/</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">]</span><span class="codes-special">:before</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">content:</span><span class="codes-code"> url(&quot;data:image/png</span><span class="codes-code">;</span><span class="codes-identifier">base64</span><span class="codes-code">,</span><span class="codes-identifier">iVBORw0KGgoAAAANSUhEUgAAABYAAAAUCAMAAAC</span><span class="codes-code">+</span><span class="codes-identifier">oj0CAAAAA3NCSVQICAjb4U</span><span class="codes-code">/</span><span class="codes-identifier">gAAAAYFBMVEW8AAC2CQjNAAHsAAC7FhXIERHeCgi7KCjERkXsOjnZamrPfHvdgICvr6</span><span class="codes-code">/</span><span class="codes-identifier">gqai8vLzCwsLIyMjOzs7S1tbY29zg4OHz2tnk5ebp6enu7e3x8fHz9Pb39</span><span class="codes-code">/</span><span class="codes-identifier">f7</span><span class="codes-code">+/</span><span class="codes-identifier">v9</span><span class="codes-code">/</span><span class="codes-identifier">f3</span><span class="codes-code">////</span><span class="codes-identifier">j3z0zAAAAu0lEQVQYlbWQ3W6DMAxGoTC2FhZYSBY7</span><span class="codes-code">/</span><span class="codes-identifier">nv</span><span class="codes-code">/</span><span class="codes-identifier">t6wDVS</span><span class="codes-code">+</span><span class="codes-identifier">m3lWzIkX6dHT02Z29nO7fYxFRs</span><span class="codes-code">/</span><span class="codes-identifier">aYn7GoUsmF</span><span class="codes-code">/</span><span class="codes-identifier">FfCBngs6JBCDkuojhCdtGRAVgrTpf8Mpoh0SgCATZdh</span><span class="codes-code">+</span><span class="codes-identifier">hjH3ZhQj1hSqWJhmKaxv6nVpnGJ7Lmw1qvj</span><span class="codes-code">/</span><span class="codes-identifier">RcLI4p0xvATM4j9XodLN1eyyrVJKG7eTo3DbT58hkfv8h2Tt4S0pwRkVPncMq4Z07b6bNF5fSyv697wvzcRzG8d9g6wXC54DpXxzwAAAABJRU5ErkJggg</span><span class="codes-code">==&quot;) !</span><span class="codes-identifier">important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">4</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">.g</span><span class="codes-code"> &gt; </span><span class="codes-identifier">.r</span><span class="codes-code"> &gt; </span><span class="codes-identifier">a.l</span><span class="codes-brackets">[</span><span class="codes-var">href</span><span class="codes-code">*=</span><span class="codes-quotes">&quot;</span><span class="codes-string">http://www.amazon.co.jp/</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">]</span><span class="codes-special">:before</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">content:</span><span class="codes-code"> url(&quot;data:image/png</span><span class="codes-code">;</span><span class="codes-identifier">base64</span><span class="codes-code">,</span><span class="codes-identifier">iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAMAAACjpw26AAAAA3NCSVQICAjb4U</span><span class="codes-code">/</span><span class="codes-identifier">gAAAAYFBMVEUKCAYVEhEqKSc8OjlHRkVTUlFjYmJsbGt7e3qQj4</span><span class="codes-code">+</span><span class="codes-identifier">ZmZj7ji</span><span class="codes-code">+</span><span class="codes-identifier">trKz8nkL7o1O5uLj</span><span class="codes-code">+</span><span class="codes-identifier">rWP9tHHExMT8w479zJ</span><span class="codes-code">/</span><span class="codes-identifier">W1tb</span><span class="codes-code">+1</span><span class="codes-identifier">bDi4uL94Mfp6en95tH</span><span class="codes-code">+7</span><span class="codes-identifier">uLy8vL79</span><span class="codes-code">/</span><span class="codes-identifier">T9</span><span class="codes-code">+</span><span class="codes-identifier">vn</span><span class="codes-code">///9</span><span class="codes-identifier">mECSVAAAAtElEQVQYlW2RWRKEIAxEg4DgLi6AiOH</span><span class="codes-code">+</span><span class="codes-identifier">txxwprRk7K</span><span class="codes-code">/</span><span class="codes-identifier">Uo6sTEgivgqtCxD8cCfojxxi2VpaiWjO34ZBE1ycWQERbEhDPkIpLDFMBPMv261CLHIdNFlAUJMNHyp7a3B1T2Uv2ELHx4p4Qzh8bBoTSGE4q3J1L7j09TCWjrB64NFb1TcJaubSnzXhEjwGdVQnj0s37taNDKzt</span><span class="codes-code">/</span><span class="codes-identifier">W9qxGxfrnLNa9crZ5TdJtHRNUqc0ns3uMzz0AS8</span><span class="codes-code">+</span><span class="codes-identifier">JxP4ZhsWAAAAAElFTkSuQmCC</span><span class="codes-code">&quot;) !</span><span class="codes-identifier">important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">4</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">.g</span><span class="codes-code"> &gt; </span><span class="codes-identifier">.r</span><span class="codes-code"> &gt; </span><span class="codes-identifier">a.l</span><span class="codes-brackets">[</span><span class="codes-var">href</span><span class="codes-code">*=</span><span class="codes-quotes">&quot;</span><span class="codes-string">wikipedia.org</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">]</span><span class="codes-special">:before</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">content:</span><span class="codes-code"> url(&quot;data:image/png</span><span class="codes-code">;</span><span class="codes-identifier">base64</span><span class="codes-code">,</span><span class="codes-identifier">iVBORw0KGgoAAAANSUhEUgAAABYAAAATCAMAAACjpw26AAAAA3NCSVQICAjb4U</span><span class="codes-code">/</span><span class="codes-identifier">gAAAAYFBMVEU</span><span class="codes-code">/</span><span class="codes-identifier">Pz9PT09aWlpnZ2dzc3N6enqCgoKKioqRkZGYmJicnJyjo6OoqKisrKywsLC2tra6urq</span><span class="codes-code">+</span><span class="codes-identifier">vr7CwsLHx8fLy8vQ0NDV1dXY2Njd3d3i4uLm5ubp6enu7u7y8vL4</span><span class="codes-code">+</span><span class="codes-identifier">Pj</span><span class="codes-code">///9</span><span class="codes-identifier">BAaonAAABB0lEQVQYlW3RSW7EIBAFUNO0zWDmYgbD</span><span class="codes-code">/</span><span class="codes-identifier">W8ZE2dahEUhHqikX2zz37U9G0V3cSVpTH55jNddrWIi6J198zWB3Ve79Dlax</span><span class="codes-code">/</span><span class="codes-identifier">f6cBz1bfEWp0</span><span class="codes-code">/</span><span class="codes-identifier">BGbvjxWPUub1exEHO0TgNBwrrdR</span><span class="codes-code">+9</span><span class="codes-identifier">FNRnrgETr7UmdDHA3aj2EMoVA4CUbF9sVZ2W0V5ct2CMUgwtTqO1nlrLJvgC2vATLy5XKqWnnE1O5L1bwd6LY66llVg6gKVSC85fi9U5Y6KYXB48WCn4vnqPFq</span><span class="codes-code">/</span><span class="codes-identifier">QsoesrVeGcYb0Z0odYoo1hCCtPfBB0BM</span><span class="codes-code">+</span><span class="codes-identifier">EJfDHQO0VVIS5L4mmAQkxqlRQvBjO3</span><span class="codes-code">/</span><span class="codes-identifier">m3c7TgbPipBjZP98ww8kpOY5DPccPrDciMXvSGh4AAAAASUVORK5CYII</span><span class="codes-code">=&quot;) !</span><span class="codes-identifier">important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">4</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">.g</span><span class="codes-code"> &gt; </span><span class="codes-identifier">.r</span><span class="codes-code"> &gt; </span><span class="codes-identifier">a.l</span><span class="codes-brackets">[</span><span class="codes-var">href</span><span class="codes-code">$=</span><span class="codes-quotes">&quot;</span><span class="codes-string">.pdf</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">]</span><span class="codes-special">:before</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">content:</span><span class="codes-code"> url(&quot;data:image/png</span><span class="codes-code">;</span><span class="codes-identifier">base64</span><span class="codes-code">,</span><span class="codes-identifier">iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAA3NCSVQICAjb4U</span><span class="codes-code">/</span><span class="codes-identifier">gAAAAYFBMVEW5Gg7rBADAKBvpIwfCQSrsMB</span><span class="codes-code">/</span><span class="codes-identifier">JUDHsRi6zaWH4YB7iZEm6gXL5dDjgflq</span><span class="codes-code">/</span><span class="codes-identifier">mJDviWH9nWnUqqDAwMDGyMnwubDQ0tPrycHZ2Nfe3t7z29Xk5eXs7Ozx8fH19fX6</span><span class="codes-code">+</span><span class="codes-identifier">vv</span><span class="codes-code">////</span><span class="codes-identifier">F3ylvAAAANXRFWHRDb21tZW50AE9QVFBpWCB3ZWJEZXNpZ25lciAgaHR0cDovL3d3dy53ZWJ0ZWNoLmNvLmpwL</span><span class="codes-code">/</span><span class="codes-identifier">A4MtsAAAJKSURBVDiNdZSL1rIqEIZJBAo1JOUgh</span><span class="codes-code">+</span><span class="codes-identifier">H</span><span class="codes-code">+7/</span><span class="codes-identifier">IfrL6t5H5zUcseXmYGGFJ2QarKGaB8XpRGZB9TQCy</span><span class="codes-code">+</span><span class="codes-identifier">Vb99</span><span class="codes-code">/</span><span class="codes-identifier">CHfIP5xEvjQmn7AVOy6rtbabVfcnGvm</span><span class="codes-code">/</span><span class="codes-identifier">jnSG4oy8Rh3TbNO1443KqQUdBwfo5pnJFWJ</span><span class="codes-code">+</span><span class="codes-identifier">bD8AbSlzPj78cBhHNXkSgiXjpYWWgZSFHD</span><span class="codes-code">+</span><span class="codes-identifier">GKcJJwb</span><span class="codes-code">/53</span><span class="codes-identifier">l25GW6lWl33MGS44XjJjtWl</span><span class="codes-code">+</span><span class="codes-identifier">alFzWd53O4D0</span><span class="codes-code">/</span><span class="codes-identifier">XguzGye3Gh6F</span><span class="codes-code">/6</span><span class="codes-identifier">FHVlGTf855</span><span class="codes-code">/</span><span class="codes-identifier">k</span><span class="codes-code">/8</span><span class="codes-identifier">DBeu5rJrUpNS0S3Lea3cGQdpwlvdholpbD2dwgdgoRTFDDOEERnD1MITDE7OSsAoXGkeXWkMrrBI6</span><span class="codes-code">+</span><span class="codes-identifier">ivHE1gTiym1MTo8kCl</span><span class="codes-code">+</span><span class="codes-identifier">HhxAUzZDDgjCydHngyUe9k1Qjec</span><span class="codes-code">+/</span><span class="codes-identifier">DgieFSWdIKcsvmJ0cORhJmKkHM0r19H</span><span class="codes-code">+</span><span class="codes-identifier">M8tgWVUYYDLcgXm</span><span class="codes-code">/</span><span class="codes-identifier">LmKGTBAtiXzQjD7Zgt9yR8l5BgTbtnVgBHCFwSwUrKOv7kFWsdQIL8</span><span class="codes-code">/</span><span class="codes-identifier">SqyckLu5BKsj7JVdRb88Sfd</span><span class="codes-code">/</span><span class="codes-identifier">YCra4NFympP7YtCwgpiLcT8g7</span><span class="codes-code">+/3</span><span class="codes-identifier">nhCuEeg6BJfFuyXFNusiKenvg66r4cq4dMhxiSVk18ToViF8dBiZGRCksuQFr3ULJoglSRFrRqAowzpGg</span><span class="codes-code">/</span><span class="codes-identifier">ldONa3UgCSZawg07UOF461eySmqqWsHHnu9bp0hLKyDeuOG8g6Iiu42StHXFeoL8hwDraUFozwblyzwAAQ7HrBFF5GY6BxLAFvcIjbilemttz07ftgTuDbr9Ym7W0f</span><span class="codes-code">+4</span><span class="codes-identifier">RzxmBVX</span><span class="codes-code">+</span><span class="codes-identifier">EAQn4dhZuDjHEOu0rMnwb5Dw5GmV0</span><span class="codes-code">/</span><span class="codes-identifier">r</span><span class="codes-code">+</span><span class="codes-identifier">uEAAAAAElFTkSuQmCC</span><span class="codes-code">&quot;) !</span><span class="codes-identifier">important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">4</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">.g</span><span class="codes-code"> &gt; </span><span class="codes-identifier">.r</span><span class="codes-code"> &gt; </span><span class="codes-identifier">a.l</span><span class="codes-brackets">[</span><span class="codes-var">href</span><span class="codes-code">$=</span><span class="codes-quotes">&quot;</span><span class="codes-string">.doc</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">]</span><span class="codes-special">:before</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">content:</span><span class="codes-code"> url(&quot;data:image/png</span><span class="codes-code">;</span><span class="codes-identifier">base64</span><span class="codes-code">,</span><span class="codes-identifier">iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAA3NCSVQICAjb4U</span><span class="codes-code">/</span><span class="codes-identifier">gAAAAYFBMVEUAR7sDYMYNcNSJYTtJdKQfgtwJkfKpcTk4kN2HiIE5pPNqmcNmq96UqLu3r4Jpxfy2t7jQwlfAv77HxsXh0mbLy8rR0NDC1ebu4mfY2Nje3t</span><span class="codes-code">/</span><span class="codes-identifier">m5ubs6</span><span class="codes-code">+</span><span class="codes-identifier">vy8vL4</span><span class="codes-code">+</span><span class="codes-identifier">Pj</span><span class="codes-code">///+</span><span class="codes-identifier">VSXRiAAAANXRFWHRDb21tZW50AE9QVFBpWCB3ZWJEZXNpZ25lciAgaHR0cDovL3d3dy53ZWJ0ZWNoLmNvLmpwL</span><span class="codes-code">/</span><span class="codes-identifier">A4MtsAAAItSURBVDiNdVSLsqowEFOkioDH2tr19P3</span><span class="codes-code">/</span><span class="codes-identifier">f3myi5e5Foy2zkjIblLYQxWULCil1C84yJ5jWpFTiiF9IW4uhPiV</span><span class="codes-code">+</span><span class="codes-identifier">FoQQohACD59IR6AYwecBWo0aY</span><span class="codes-code">+</span><span class="codes-identifier">Y67EbRqXUeB9HWcNcU95VHPA78HbGAnUONcZaNoogHnQ1</span><span class="codes-code">+</span><span class="codes-identifier">ONVjrcZiq9aY9hVPNxBPIJ4ltIvzi3tKdY6Tdh6rNuo5tvtep1uvlU8dtPUY7v151FPalT3oWfo3CpyPEp1RzUOnRqGbp4noNf</span><span class="codes-code">+</span><span class="codes-identifier">U7FMhOOLkdeCJXr9CuVDsbjsAz7kifx67nzfJzEV763W2hitXehXmJwaxUrWgGbAdhGmOsXoNIiNa09M4wVFNYzDxGHuKHpnHGs6Y8I0ztfL5TrfJ5MaIhSttayIbzydLoLraVcRPC5tKP48ns</span><span class="codes-code">/</span><span class="codes-identifier">fJ</span><span class="codes-code">/</span><span class="codes-identifier">BwKbeKwUuPGsLh5</span><span class="codes-code">/</span><span class="codes-identifier">eNh22JuUYSK5qMSz8rPIiN60CGYMY6lPYLyPvcEjMTxYxjT2yM79OUyjbHxbRjlhjj5WLZKPqVRkwFl5yllsg9MkGIvDvizfq2dF6IUtxqi</span><span class="codes-code">+</span><span class="codes-identifier">NcdOO2x8gSXh5HGSvLLKo7PTqutKTLo4rHVsklFt8qJkuo7TBMyJG0Cy</span><span class="codes-code">+4</span><span class="codes-identifier">syWGhICcE8PGOYezJ</span><span class="codes-code">+</span><span class="codes-identifier">ytIsdDMIFQ2K1jOZwRbYgcOC4ThyckSdI6xNMq4qHwS1HW5e483sMU86ZHyCBKQnM</span><span class="codes-code">+0</span><span class="codes-identifier">jpzdoj</span><span class="codes-code">/</span><span class="codes-identifier">LiGYZaJLpq1rlJaoF8b</span><span class="codes-code">/</span><span class="codes-identifier">Y7</span><span class="codes-code">/</span><span class="codes-identifier">QB</span><span class="codes-code">/</span><span class="codes-identifier">E9sotoiZI8kPxofJxMkZflDYmSEA3cxHXq</span><span class="codes-code">/</span><span class="codes-identifier">gEGTplX</span><span class="codes-code">+</span><span class="codes-identifier">MrHOQAAAABJRU5ErkJggg</span><span class="codes-code">==&quot;) !</span><span class="codes-identifier">important</span><span class="codes-code">;</span>
<span class="codes-code">    </span><span class="codes-reserved">padding:</span><span class="codes-code"> </span><span class="codes-number">0</span><span class="codes-string">px</span><span class="codes-code"> </span><span class="codes-number">4</span><span class="codes-string">px</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-code">/</span><span class="codes-identifier">*</span><span class="codes-code"> </span><span class="codes-identifier">AutoPagerize</span><span class="codes-code">使用者向け（使っていない人は要削除）</span><span class="codes-identifier">*</span><span class="codes-code">/</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div</span><span class="codes-code"> + </span><span class="codes-identifier">hr</span><span class="codes-code"> + </span><span class="codes-identifier">p</span><span class="codes-brackets">{</span>
<span class="codes-reserved">text-align:</span><span class="codes-code"> </span><span class="codes-string">center</span><span class="codes-code">;</span>
<span class="codes-reserved">font-size:</span><span class="codes-code"> </span><span class="codes-number">130</span><span class="codes-string">%</span><span class="codes-code">;</span>
<span class="codes-reserved">font-weight:</span><span class="codes-code"> </span><span class="codes-string">bold</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-identifier">div#bsf</span><span class="codes-code"> + </span><span class="codes-identifier">p</span><span class="codes-code">,</span>
<span class="codes-identifier">table#nav</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-reserved">display:</span><span class="codes-code"> </span><span class="codes-string">none</span><span class="codes-code"> !important</span><span class="codes-code">;</span>
<span class="codes-brackets">}</span>
<span class="codes-code"> </span>
<span class="codes-code">}</span></code></pre></div>
<p>検索テキストボックスのフォーカスが外れちゃうと、選択している状態も外れてしまうのがすこし難点ですかね。</p>
<p><ins datetime="2008-06-08T21:56:46+09:00" class="block"><br />
この問題を解消するために少し書き直しました。お困りの方は新しい方の記述に書き換えてください。<br />
</ins></p>
<p>あと、当然と言えば当然ですがもう少し踏み込んだことをしようとすると、ユーザJS（<a href="http://firefox.geckodev.org/index.php?Greasemonkey" title="Greasemonkey - Mozilla Firefox まとめサイト">Greasemonkey</a>）に手を入れざるを得ませんね。各検索結果にfaviconつけるくらいはユーザCSSでやりたい感じもしますが<sup><a href="http://note.openvista.jp/2008/customizing-google-with-user-css/#footnote_0_469" id="identifier_0_469" class="footnote-link footnote-identifier-link" title="Another side of Liner Note &amp;#8211; CSSのattr(Attribute name)を変数的に使いたい">1</a></sup> 。</p>
<div class="update">
<h3 id="t2b61fc">更新履歴</h3>
<dl>
<dt>2008/09/17</dt>
<dd>関連検索の色を修正</dd>
<dd>[PDF]などの文字を消去</dd>
<dt>2008/08/21</dt>
<dd>GoogleのHTML構造の変化に対応（加えて構造変化に強くなるよう修正）</dd>
<dd>広告ブロック機能を強化</dd>
<dt>2008/07/31</dt>
<dd>GoogleのHTML構造の変化に対応</dd>
<dt>2008/07/24</dt>
<dd>GoogleのHTML構造の変化に対応</dd>
<dt>2008/06/19</dt>
<dd>Firefox3でテキスト入力欄の背景が表示されず原因もわからないので、とりあえず背景がない状態で調整してみました。一応、この変更でテキスト入力欄に与えたフォーカスが常にテキストの一番後ろになってしまう問題も解決しました</dd>
</div>
<h3 id="t77aa44">謝辞</h3>
<p>base64でエンコードしていますが、アイコンは以下のものを使用させていただきました。</p>
<ul>
<li><a href="http://mayosoft.net/studio/" title="Mayosoft®Studios">Mayosoft®Studios</a></li>
<li><a href="http://www.iconarchive.com/category/culture/no-patriot-icons-by-mayosoft.html" title="I'm not a Patriot Icons">I&#8217;m not a Patriot Icons</a></li>
<li><a href="http://www.iconarchive.com/category/object/medical-icons-by-klukeart.html" title="Medical Icons">Medical Icons</a></li>
</ul>
<ol class="footnotes"><li id="footnote_0_469" class="footnote"><a href="http://memo.openvista.jp/post/36586218/css-attr-attribute-name" title="Another side of Liner Note - CSSのattr(Attribute name)を変数的に使いたい">Another side of Liner Note &#8211; CSSのattr(Attribute name)を変数的に使いたい</a></li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=469&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/customizing-google-with-user-css/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Google検索 for iPod touchを作った</title>
		<link>http://note.openvista.jp/2008/google-search-for-ipod-touch/</link>
		<comments>http://note.openvista.jp/2008/google-search-for-ipod-touch/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 16:36:38 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブサービスの制作]]></category>
		<category><![CDATA[モバイル]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/263/</guid>
		<description><![CDATA[iPod touchで利用しやすいようにビジュアルを最適化したGoogle検索ゲートウェイを作った]]></description>
			<content:encoded><![CDATA[<p><a href="http://note.openvista.jp/251/" title="Liner Note - PHP汎用スクレイピングライブラリを作ってみた">以前作ったスクレイピングライブラリ</a>を流用したので、かなり楽でした。</p>
<p>できるだけ、いつものGoogleと同じ表示に近づけたかったので、Googleさんが提供しているAPIは使用しませんでした。ちなみに2008年3月現在で、Google America<span class="weaken">(google.com)</span>はGoogle Japan<span class="weaken">(google.co.jp)</span>と違ってiPod touchに最適化されて検索がしやすいのですが、あいにく日本語検索ができません。そこで、自前でこしらえてみました。</p>
<p><a href="http://tech.openvista.jp/viewer/google/"><img src="http://note.openvista.jp/download/2008/03/google_for_touch_1.jpg" width="320" height="348" alt="Google for iPod touch 1" /><br />Google Search for iPod touch</a></p>
<p>Googleで「Google」を検索（無意味）</p>
<p><img src="http://note.openvista.jp/download/2008/03/google_for_touch_2.jpg" width="320" height="413" alt="Google for iPod touch 2" /></p>
<p>Googleで「郵便」を検索</p>
<p><img src="http://note.openvista.jp/download/2008/03/google_for_touch_3.jpg" width="320" height="417" alt="Google for iPod touch 3" /></p>
<p>あと、ブックマークレットも用意しました。以下のリンクをブックマーク後、<code>javascript:</code>以前の文字列を手動で削除ください。</p>
<p><a href="http://www.google.co.jp/javascript:q=prompt('Google%E6%A4%9C%E7%B4%A2','');if(q)location.href='http://tech.openvista.jp/viewer/google/'+unescape(q)+'.1.html'">Google検索 for iPod touch ブックマークレット</a></p>
<p>ホームボタンとしてホーム画面に置いてもいいかもしれませんね。</p>
<p>ちなみに今回は<a href="http://favicon.aruko.net/" title="Favicon API (ファビコン) α版">Favicon API</a>を使いましたので、タイトルリンク部の左にファビコンが表示されていると思います。APIを提供くださっているhirotomo kunimatsuさん、ありがとうございます。</p>
<p>また、タイトルリンク部の右には別窓で開くリンクも用意していますので、ご利用ください。</p>
<p class="caution">どうも、タイトルと本文が合っていないケースがたまに出てくるようです。99% スクレイピングライブラリの問題なので暇なときに直します。</p>
<p><ins datetime="2008-05-27T15:45:01+09:00" class="block"><br />
<a href="http://googlejapan.blogspot.com/2008/05/ipod-touch-google.html" title="Google Japan Blog: iPod touch で Google がますます便利に使えるようになりました">Google Japanでも対応されたようです、中の人お疲れ様でした。これでこのサービスもお役ご免かな。</a><br />
</ins></p>
<img src="http://note.openvista.jp/?ak_action=api_record_view&id=378&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/google-search-for-ipod-touch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>私がおサイフケータイ機能を使わない理由</title>
		<link>http://note.openvista.jp/2008/osaifu-ktai-weak-point/</link>
		<comments>http://note.openvista.jp/2008/osaifu-ktai-weak-point/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 16:28:00 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[モバイル]]></category>
		<category><![CDATA[雑多な考察]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/253/</guid>
		<description><![CDATA[おサイフケータイがインフラとなっていくためには、まだまだ乗り越えるための課題があるんじゃないかなと思ってまとめてみた]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogging.from.tv/wp/" title="カイ士伝">カイ士伝</a>の中の人が携帯を機種変したのに伴って、おサイフケータイ（Felica）関連のトピックをいろいろと書いてらして、今日も<a href="http://blogging.from.tv/wp/2008/02/24/90" title="カイ士伝 » Blog Archive » 「お財布」だけじゃないおサイフケータイのメリット">「お財布」だけじゃないおサイフケータイのメリット</a>なんてことを書かれていました。</p>
<p class="right-box"><img src="http://note.openvista.jp/download/2008/02/mobilesuica.png" width="124" height="164" alt="モバイルSuica" /></p>
<p>僕も、W43S<span class="weaken">（au）</span>→D904i<span class="weaken">（NTTドコモ）</span>→815SH<span class="weaken">（ソフトバンクモバイル）</span>といわゆるおサイフケータイを乗り継いできて、そのメリットもわかるので一応アプリも揃えてはいるんですが、実のところはあんまり（3-4ヶ月に一回くらい）使ってないですね。</p>
<p>で、なぜかって考えてみたんですが、以下の理由があると思います。</p>
<ul>
<li>公共の場で使うのが恥ずかしい</li>
<li>「財布」としての信頼性に欠ける</li>
<li>「財布」として使うためのコストが高い</li>
</ul>
<h3 id="t0b3e63">公共の場で使うのが恥ずかしい</h3>
<p>おサイフケータイ機能って使うときに「シャリーン」やらなんやらの確認のための効果音がしますよね。単に自意識過剰なのかもしれませんが、僕はあの効果音が非常に苦手なんですよ。店内に響き渡るといえばオーバーですが、オレは特別な決済をしてるんだぞってのを全力でアピールしてる気がしてなりません<sup><a href="http://note.openvista.jp/2008/osaifu-ktai-weak-point/#footnote_0_353" id="identifier_0_353" class="footnote-link footnote-identifier-link" title="決済完了の確認がその目的ならば、POSに表示したりするなどしてわざわざ音を出す必要性は必ずしもないはずです">1</a></sup> </p>
<p>支払いの時にも「おサイフケータイでお願いします」なる呪文を店員に言わないといけないですし、クレジットカードで決済するようにもうちょっとシームレスにできないのかなと。これも、インフラとして認知される前の過渡期的処置だと思いたいものですが。</p>
<h3 id="t05e76b">「財布」としての信頼性に欠ける</h3>
<p><a href="http://blogging.from.tv/wp/2008/02/15/65" title="カイ士伝 » Blog Archive » おサイフケータイの機種変更">おサイフケータイの機種変更</a>という記事でもご指摘されているとおり、<a href="http://www.edy.jp/qa/accident.html#6" title="電子マネー「Edy（エディ）」 | Q&#038;A | おサイフケータイが故障した場合">Edyなんかは携帯電話を紛失した場合は面倒見ないよ</a>ということになっているんですが、ちょっとそれはどうなのかなと。財布と違って完全に匿名なものではないのですから、携帯がネットワーク外にある場合は別として、例えばPCからネットワーク経由でEdyをロックして、一時的に残高をセンターに預けるという手も技術的にやろうと思えばできるんじゃないでしょうか<span class="weaken">（Edyをおサイフケータイ代表にするのは異論があるかもしれませんが、まぁ有名なアプリだと思うので）</span></p>
<p>あと、電池が切れると<span class="weaken">（正確にはFelicaチップを起動させるための電力も完全に消耗すると）</span>使えなくなるわけで、いつでもそこにあるリアル財布の信頼性には代え難い物がありますね。といっても、これは解決しようがないんですが。</p>
<h3 id="t27f268">「財布」として使うためのコストが高い</h3>
<p>いろいろな面倒くさいコストがあるのではないかな。例えば、</p>
<ul>
<li>チャージするのが面倒くさい</li>
<li>アプリをインストールするのが面倒くさい</li>
<li>ちゃんと決済できる状態か確かめるのが面倒くさい
<ul>
<li>Felicaロックされてないか</li>
<li>残高はちゃんと足りているかどうか</li>
</ul>
</li>
</ul>
<p>私はたぶんアーリーアダプターかレイトマジョリティあたりだと思うのでそれほどコストだとは思いませんが、やっぱり一般の方はいくらおサイフケータイのメリットを強調されても、まず使うためのコストが大きかったら、そもそも使う気も起きないんじゃないでしょうか。</p>
<p>インストールの手間はプリインストールアプリが増えることにより解消してきたかなという気もします。けれど、チャージや出所の分散化による手間は<a href="http://piro.sakura.ne.jp/latest/blosxom/life/2008-02-17_card.htm" title="Latest topics &gt; クレジットカードを多用する理由、EdyやSuicaをあまり使わない理由 - outsider reflex">クレジットカードを多用する理由、EdyやSuicaをあまり使わない理由 &#8211; outsider reflex</a>なんかでも触れられていますが、やはりPiTaPaなんかのポストペイ方式に比べるとリスクが大きいなという感じがします。</p>
<p>ただ、じゃあポストペイにすればそれでいいか、といえばそうではなくて、クレジットカード会社の会員獲得を目的として各サービス事業者とカード会社が結びつくことが往々にしてあって、これは結局のところユーザのお金の出所の分散化につながってしまいます<sup><a href="http://note.openvista.jp/2008/osaifu-ktai-weak-point/#footnote_1_353" id="identifier_1_353" class="footnote-link footnote-identifier-link" title="未だにView Suicaカードで年会費を取るモバイルSuicaや、VISAでは使えないQUIC PAYが好例">2</a></sup> 。</p>
<p>もしカード会員を獲得したいのならば、どこのカードでも無料で使えるようにしておいて、プラスで特別ポイントをつけるなどのメリットを強調することで、かえっておサイフケータイの普及を促し<span class="weaken">（確率論的な意味で）</span>カード会員の増加につながるのではないかなと思います。</p>
<h3 id="t23fc94">まとめ</h3>
<p>新しい物を使う場合には、メリットとデメリット・コストなどを天秤にかけた上でメリットが上回るようだったら使おうという話になるでしょう。例えば、おサイフケータイには「売買行動に伴う様々なステップを飛ばせる」とか「財布の中の現金やカードが減らせる」とかのメリットがあります。</p>
<p>でも、私の中ではまだ上に挙げたようなデメリットやコストの方が大きくて、「これなら財布でいいや」「これならクレカでいいや」というのが率直な感想です。</p>
<p>Felicaが普及して、近所のスーパーでおじいちゃん・おばあちゃんがFelicaでお買い物するくらいのインフラになるためには、こういうのを解決していく必要があるかなと思います。</p>
<p><ins datetime="2008-02-25T18:48:58+09:00" class="block"><br />
<a href="http://tech.openvista.jp/bookmark/comment/http://note.openvista.jp/253/" title="Liner Note - 私がおサイフケータイ機能を使わない理由：はてなブックマークビューワ">はてなブックマークでみなさんいろいろコメントしてくれている</a>ので併読するとよいかも。<br />
</ins></p>
<p><ins datetime="2008-02-27T12:01:29+09:00" class="block">カイ氏伝の中の人からレスをいただきました。<br /><a href="http://blogging.from.tv/wp/2008/02/26/92" title="カイ士伝 » Blog Archive » おサイフケータイ普及の壁">カイ士伝：おサイフケータイ普及の壁</a></ins></p>
<ol class="footnotes"><li id="footnote_0_353" class="footnote">決済完了の確認がその目的ならば、POSに表示したりするなどしてわざわざ音を出す必要性は必ずしもないはずです</li><li id="footnote_1_353" class="footnote"><span class="weaken">未だにView Suicaカードで年会費を取るモバイルSuica<del>や、VISAでは使えないQUIC PAY</del>が好例</li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=353&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/osaifu-ktai-weak-point/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>iPod touch専用 料理レシピ検索サービスを作った</title>
		<link>http://note.openvista.jp/2008/cooking-recipe-service-for-ipod-touch/</link>
		<comments>http://note.openvista.jp/2008/cooking-recipe-service-for-ipod-touch/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 22:04:36 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブサービスの制作]]></category>
		<category><![CDATA[モバイル]]></category>
		<category><![CDATA[ユーザビリティ]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/249/</guid>
		<description><![CDATA[iPod touchで快適に使えるレシピ検索サービス（powered by ボブアンドアンジー）を公開してみます]]></description>
			<content:encoded><![CDATA[<p>前々から作ろうと思ってたものなのだけど、昨夜に本格的に作りたくなったので1晩かけてやってみた。</p>
<p>何かというと、レシピをサッと検索して見やすく表示するという用途に特化したサービス。データは<a href="http://www.bob-an.com/" title="バレンタインチョコレートレシピも簡単検索！料理レシピ／ボブとアンジー">料理レシピ検索ソフトのボブとアンジー</a>から勝手に引っ張ってきてます。</p>
<h3 id="t2b6bf6">特徴</h3>
<ul>
<li>レシピを検索してサッと確認することができます</li>
<li>材料一覧には買い物の時に買い忘れをしないようにチェックボックスをつけています</li>
<li>検索結果やレシピはオフラインでも見られるように変換する機能をつけています。変換後のページをブックマークすれば、スーパーなどWi-Fiがない場所でもレシピを確認できます。</li>
</ul>
<p><a href="http://tech.openvista.jp/recipe/"><img src="http://note.openvista.jp/download/2008/02/boban.png" width="240" height="314" alt="レシピビューア スクリーンショット" /><br />ボブとアンジー レシピビューア for iPod touch</a></p>
<h3 id="t964c19">デモ動画</h3>
<dl class="video flv" id="video-boban" style="width: 360px;">
<dt style="width:248px;"><a href="#video-boban">レシピ検索デモ動画</a></dt>
<dd style="height:480px;"><object data="http://note.openvista.jp/wp-content/themes/cielo/module/flvplayer.swf?file=http://note.openvista.jp/download/movie/boban.mp4" type="application/x-shockwave-flash" width="360" height="480"><param name="movie" value="http://note.openvista.jp/wp-content/themes/cielo/module/flvplayer.swf?file=http://note.openvista.jp/download/movie/boban.mp4" /><param name="allowfullscreen" value="true" /></object></dd>
</dl>
<h3 id="tf2ba18">iPod touchのユーザビリティ小考</h3>
<p><a href="http://www.heartlogic.jp/archives/2007/10/ipod_touch_1.html" title="iPod touchの新しい可能性を見た :Heartlogic">iPod touchの新しい可能性を見た :Heartlogic</a>という記事でも書かれてあることですが、iPod touchは「PCでは煩雑 or 大げさ、でも携帯よりは情報量が欲しいし、パケ代を気にしたくない」という<em>ちょっとしたタスクを済ませるデバイスとしては非常に優秀</em>です（逆にちょっとこみいったタスクでは、キー入力性やハードウェア的な限界もあって、ええいPC使った方が早いわとなるので、あまり向いていないでしょう）</p>
<p>今回のレシピ検索というようなちょっとしたタスクなんかも気持ちよくこなせます。メールに書かれている住所をGoogle Mapsで確認したり、今から乗る電車だとどれくらいに目的地に着くのか調べたり、そういうタスクも向いているでしょう。Mac OS XのDashboardなんかはちょっとしたタスクの集合体ですね。</p>
<p>ですので、もしiPod touch向けにサービスを作るなら、できるだけオプションを少なくして、2-3ステップくらいでタスクが1巡するくらいが、iPod touchユーザにとってちょうどいい案配なんじゃないでしょうか<span class="weaken">（一応仮説なんで、具体的な数値とかについてはまた検証してみたいです）</span></p>
<p><a href="http://satoshi.blogs.com/life/2008/01/ipod-1.html" title="Life is beautiful: こんな商品が欲しい：風呂に浮かべてビデオを鑑賞できるiPod希望">アンチ・コンバージェンス論</a>から言えば、PCはより複雑なタスクを、iPod touchはこういうステップの少ないタスクをそれぞれ得意にして分化していくんじゃないでしょうか。</p>
<p>それと、ユーザビリティの話はまた改めて書こうと思ってます。</p>
<h3 id="tce53e7">権利的なお話</h3>
<p>一応、このサービスはボブアンドアンジーさんのリソースを勝手に使ってます。なので、著作権的にはクロだと思います。その点は非常に心苦しいので、当初は公開しようかしまいか迷ったのですが、いつも重宝させていただいているサイトなので、もっと便利に使えるようにしていくことが、相手方のサイトにとっても結果的にはよいのではないかと思い、公開してみました（無論、広告入れるとかはありません）</p>
<p>このサービスに限らず、スクレイピングを使っているサービスは著作権とは切っても切り離せないですね。勝手にやるにしてもこちらと相手方とがWIN-WINの関係でやっていけるのがマストだというのはこの手の物を作っていてよく意識します。</p>
<h3 id="t19d8fa">参考にした記事</h3>
<ul>
<li><a href="http://piro.sakura.ne.jp/latest/blosxom/mozilla/xul/2007-09-13_selector-to-xpath.htm" title="Latest topics &gt; CSS3セレクタとXPathでの表現の対応表 - outsider reflex">Latest topics &gt; CSS3セレクタとXPathでの表現の対応表 &#8211; outsider reflex</a></li>
<li><a href="http://noongoro.main.jp/note/note0050.html" title="PHPの正規表現のpreg_match()関数">PHPの正規表現のpreg_match()関数</a></li>
<li><a href="http://kandk.cafe.coocan.jp/nucleus/index.php?itemid=476" title="目から鱗 w/SQLite » 正規表現でHTMLコメントを取り除くには">目から鱗 w/SQLite » 正規表現でHTMLコメントを取り除くには</a></li>
<li><a href="http://ero.movie.coocan.jp/?iPod%20touch" title="iPod touch - めもちょう">iPod touch &#8211; めもちょう</a></li>
</ul>
<img src="http://note.openvista.jp/?ak_action=api_record_view&id=344&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/cooking-recipe-service-for-ipod-touch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPod touchのローカルサーバ上にあるファイル一覧を表示するスクリプト</title>
		<link>http://note.openvista.jp/2008/ipod-touch-local-finder/</link>
		<comments>http://note.openvista.jp/2008/ipod-touch-local-finder/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 13:08:45 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ツールの制作]]></category>
		<category><![CDATA[プログラミング技術絡み]]></category>
		<category><![CDATA[モバイル]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/240/</guid>
		<description><![CDATA[iPod touchでローカルサーバを立てているときにサーバ上に置くと動作する、簡易ファイラのようなものを公開]]></description>
			<content:encoded><![CDATA[<p>用途がマニアックなので、使う人がいるかわかりませんがどうぞ。Apache or Lighttpd + PHPをインストール済みのiPhone / iPod touchのウェブ公開ディレクトリ上で動作します。</p>
<p><img src="http://note.openvista.jp/download/2008/01/snap1.png" width="320" height="480" alt="スクリーンショットその１" /></p>
<p><img src="http://note.openvista.jp/download/2008/01/snap2.png" width="320" height="480" alt="スクリーンショットその2" /></p>
<p>Mobile Finderで十分だよという人もいると思うけど、ウェブ上だと動画や音声が直で開けて便利だしね。Mobile Finderほど多機能なものは要らないという人は便利かもしれない。</p>
<p>Safari上の動画視聴は便利ですね。アプリ版Movie Playerと違って、ちゃんとiPod touchを縦にすると縦に向いてくれますし。アプリ版より普通に便利なのだけど、ここらへんの不均衡はファームウェア1.1.3で直るのかな。</p>
<p>あ、ちなみに画像・動画にサムネイルを付けようと思ったんだけど、iPhone用PHPにはGDが入ってなかったので試せませんでした。残念。</p>
<dl class="download">
<dt>ダウンロード</dt>
<dd><a href="http://note.openvista.jp/download/2008/01/ipodtouch-showdir.zip" title="iPod touch ローカルファイル表示スクリプト">iPod touch ローカルファイル表示スクリプト</a></dd>
</dl>
<p><ins datetime="2008-01-07T00:35:14+09:00" class="block"><br />
動画ファイルがある場合、正常に見られるように動画埋め込みHTMLを生成するようにしました。<br />
</ins></p>
<p><ins datetime="2008-01-07T01:09:54+09:00" class="block"><br />
フォルダ名やファイル名が長い場合はスクロールするようにした。これで動画のタイトルが途中で省略されてシリーズ物がどれがどれだか分からなくなる問題も解決か。</p>
<p>なお、スクロール部分は<a href="http://miya2000.up.seesaa.net/marquee/marquee_demo.html" title="JavaScript Marquee Demo">JavaScript Marquee</a>を使わせていただいています。著作権についてはもちろん留保します。勝手に再配布しちゃってますが、もし問題があればお手数ですがコメント・ご連絡をお願いいたします。<br />
</ins></p>
<p><ins datetime="2008-01-07T03:29:24+09:00" class="block"><br />
書き忘れていましたが、lighttpdの場合は別途設定ファイル内(/usr/local/etc/lighttpd.conf)にて設定が必要です。以下のように、cgi.assignを書き換えてください（参考：<a href="http://mac-mini.ddo.jp/~LuckyStrike/wp/?p=474" title="iPod touchでlighttpdの動的コンテンツ">iPod touchでlighttpdの動的コンテンツ</a>）。dir-listing.activateについても念のために追記しておいてください（設定を反映するには本体の再起動が必要です）</p>
<div class="source-code"><div><img src="http://note.openvista.jp/wp-content/plugins/coolcode/code.png" width="16" height="16" alt="" /> <em>ソースコード</em></div><pre class="source-code"><code>dir-listing.activate = &quot;enable&quot;

cgi.assign = (
	&quot;.pl&quot;  =&gt; &quot;/opt/iphone/bin/perl&quot;,
	&quot;.py&quot; =&gt; &quot;/opt/iphone/bin/python&quot;,
	&quot;.rb&quot; =&gt; &quot;/opt/iphone/bin/ruby&quot;,
	&quot;.php&quot;  =&gt; &quot;/opt/iphone/bin/php-cgi&quot;,
	&quot;.cgi&quot; =&gt; &quot;&quot;,
	&quot;.sh&quot; =&gt; &quot;&quot;
)</code></pre></div>
<p></ins></p>
<img src="http://note.openvista.jp/?ak_action=api_record_view&id=313&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2008/ipod-touch-local-finder/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>サイトをiPhone / iPod touchに対応してみた</title>
		<link>http://note.openvista.jp/2007/webdesign-for-ipod-touch/</link>
		<comments>http://note.openvista.jp/2007/webdesign-for-ipod-touch/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 09:11:01 +0000</pubDate>
		<dc:creator>hash</dc:creator>
				<category><![CDATA[ウェブデザイン]]></category>
		<category><![CDATA[ウェブ標準技術絡み]]></category>
		<category><![CDATA[モバイル]]></category>

		<guid isPermaLink="false">http://note.openvista.jp/227/</guid>
		<description><![CDATA[このサイトをiPhone / iPod touchで見やすいように調整してみたプロセスについて]]></description>
			<content:encoded><![CDATA[<p>やっとこさ、重い腰を上げてiPhone / iPod touchで見やすいようにスタイルを調整してみました。ちょっとだけそのプロセスを書いておきます。</p>
<p><a href="http://developer.apple.com/jp/iphone/devcenter/designingcontent.html" title="Apple Developer Connection - iPhone for Web Developers - iPhone向けWebアプリケーションとコンテンツの最適化">Appleからはわりかししっかりしたドキュメントが提供されている</a><sup><a href="http://note.openvista.jp/2007/webdesign-for-ipod-touch/#footnote_0_280" id="identifier_0_280" class="footnote-link footnote-identifier-link" title="ちなみにApple Developper Connectionではビデオでのチュートリアルも公開されています、英語ですがわかりやすいです">1</a></sup> のですが、いざやろうとするとなにからやっていいのかという感じもします。</p>
<p>ビジュアルの調整は同ドキュメントの「ページを読みやすくするために最適化する」の章で説明されていますので、ここを中心にして調整していけばよいかと思います。</p>
<p>まず、どうやって最適化していくかについて。iPhone / iPod touchは特定のプロバイダを使っているわけではないので、UserAgent文字列から判断することになります。で、そもそもブラウザ判別が必要かと言われると、必ずしも必要ではないと思います。</p>
<p>iPhone / iPod touchはCSS3メディアクエリが使えますので、iPhone / iPod touchのみ適用するCSSが指定できるからです<sup><a href="http://note.openvista.jp/2007/webdesign-for-ipod-touch/#footnote_1_280" id="identifier_1_280" class="footnote-link footnote-identifier-link" title="詳しくは「iPhoneスタイルシートを指定する」の項を参照">2</a></sup> 。ただ、それも現時点のみの話ですので、サーバーサイドで調整ができるのならば使っておくに越したことはないかと。</p>
<p>で、その際判別に使用するUserAgent文字列ですが、こんな感じになってます。</p>
<dl>
<dt>iPhone</dt>
<dd>Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3</dd>
<dt>iPod touch</dt>
<dd>Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A110a Safari/419.3</dd>
</dl>
<p>個々の環境や今後のバージョンアップを考えると、<code>(iPhone; U; CPU like Mac OS X;</code>と言う箇所で判断するのがよいかと思います。PHPですと、こんな感じで判定してます。</p>
<div class="source-code"><div><img src="http://note.openvista.jp/wp-content/plugins/coolcode/code.png" width="16" height="16" alt="" /> <em>PHPソースコード</em></div><pre class="source-code"><code><span class="codes-inlinetags">&lt;?php</span><span class="codes-code"> } </span><span class="codes-reserved">if</span><span class="codes-code"> </span><span class="codes-brackets">(</span>
<span class="codes-code">    </span><span class="codes-identifier">ereg</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">iPhone; U; CPU like Mac OS X;</span><span class="codes-quotes">&quot;</span><span class="codes-code">, </span><span class="codes-var">$_SERVER</span><span class="codes-brackets">[</span><span class="codes-quotes">'</span><span class="codes-string">HTTP_USER_AGENT</span><span class="codes-quotes">'</span><span class="codes-brackets">])</span><span class="codes-code"> ||</span>
<span class="codes-code">    </span><span class="codes-identifier">ereg</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">iPod; U; CPU like Mac OS X;</span><span class="codes-quotes">&quot;</span><span class="codes-code">, </span><span class="codes-var">$_SERVER</span><span class="codes-brackets">[</span><span class="codes-quotes">'</span><span class="codes-string">HTTP_USER_AGENT</span><span class="codes-quotes">'</span><span class="codes-brackets">])</span>
<span class="codes-code">    </span><span class="codes-brackets">){</span><span class="codes-code"> </span><span class="codes-inlinetags">?&gt;</span>
<span class="codes-default">&lt;!-- served for iPhone / iPod touch --&gt;</span>
<span class="codes-inlinetags">&lt;?php</span><span class="codes-code"> </span><span class="codes-brackets">}</span><span class="codes-code"> </span><span class="codes-inlinetags">?&gt;</span></code></pre></div>
<h3 id="t34e53a">view-portを設定する</h3>
<p>ビューポートはmetaタグで設定するもので、Safariの初期状態での表示領域や表示スケールを設定することができます。私は以下のように設定しました。</p>
<div class="source-code"><div><img src="http://note.openvista.jp/wp-content/plugins/coolcode/code.png" width="16" height="16" alt="" /> <em>HTMLソースコード</em></div><pre class="source-code"><code><span class="codes-brackets">&lt;</span><span class="codes-reserved">meta</span><span class="codes-code"> </span><span class="codes-var">name</span><span class="codes-code">=</span><span class="codes-quotes">&quot;</span><span class="codes-string">viewport</span><span class="codes-quotes">&quot;</span><span class="codes-code"> </span><span class="codes-var">content</span><span class="codes-code">=</span><span class="codes-quotes">&quot;</span><span class="codes-string">width=320; initial-scale=1.0; minimum-scale=1.0; maximum-scale=2.0;</span><span class="codes-quotes">&quot;</span><span class="codes-code"> </span><span class="codes-brackets">/&gt;</span></code></pre></div>
<p>これは「初期状態の表示領域を幅320pxの縮尺1.0倍（つまりそのまま）で表示しておいて、ページの拡大・縮小は1.0-2.0倍の範囲内でやって下さい」という命令です。ご覧のようにプロパティ毎に<code>;</code>で区切って記述してください。</p>
<p>なお、ここでは書いていませんが<code>height=xxx</code>という形で高さを指定できますし、<code>user-scalable=no</code>を追加すれば、拡大・縮小を禁止することができます。</p>
<h3 id="t5c44c8">補正CSSで調整する</h3>
<p>で、このview-portタグを指定した時にサイトを読み込むと、こんな感じに表示されます。</p>
<p><img src="http://note.openvista.jp/download/2007/11/touch_ss1.png" width="320" height="416" alt="iPod touch スクリーンショット1" /></a></p>
<p>ご覧の通り、単に表示領域がちっこくなっただけで本文領域はでかいままです。それとロゴが邪魔で検索ボックスがつかません。ので、以下のように補正CSSを指定してその中で本文領域の設定・ロゴの差し替えなどを行ってみます。</p>
<p><img src="http://note.openvista.jp/download/2007/11/touch_ss2.png" width="320" height="414" alt="iPod touch スクリーンショット2" /></a></p>
<p>そこそこマシにはなりましたが、そのほかにも一例を挙げると以下のような問題がありました。</p>
<ol>
<li>グローバルナビゲーション<span class="weaken">（ページの一番上の部分）</span>がはみ出ていて使えない</li>
<li>ところどころの表示がボックス領域からはみ出ている</li>
<li>リストや定義リストのマージンが大きすぎて表示領域が狭くなっている</li>
</ol>
<p>(1)のグローバルナビゲーションですが、iPod touchのようにあまり表示領域が広くないUAですと、セレクトボックスに格納して選択→移動するようなものが狭いスペースにおいてもある程度の利便性を備えていてよいかなと思ったのですけど、そうなるとマークアップを変更しないといけません<sup><a href="http://note.openvista.jp/2007/webdesign-for-ipod-touch/#footnote_2_280" id="identifier_2_280" class="footnote-link footnote-identifier-link" title="この部分は順不同リストでマークアップしていました">3</a></sup> 。</p>
<p>ここで安易にブラウザ判別をつけてマークアップをセレクトボックスに変えてしまうと、HTMLが複雑になって利用しにくくなってしまうので、このマークアップを維持したままで、画像で表示していたのを文字で表示するように変更することで手を打つようにしました。</p>
<p>(2)はpositionプロパティで絶対配置・相対配置による位置調整を乱用していたのが問題で、<code>position: static;</code>に変更し、padding/marginで調整するようにしました。</p>
<p>(3)はPC向けにマージンを大きめに取っていたのが災いしていたので、少なめに設定しておきました。</p>
<p>で、これらも含めていろいろとやってみたらこのような感じになりました。</p>
<p><img src="http://note.openvista.jp/download/2007/11/touch_ss3.png" width="320" height="416" alt="iPod touch スクリーンショット3" /></a></p>
<p><img src="http://note.openvista.jp/download/2007/11/touch_ss4.png" width="320" height="416" alt="iPod touch スクリーンショット4" /></a></p>
<p><img src="http://note.openvista.jp/download/2007/11/touch_ss5.png" width="320" height="416" alt="iPod touch スクリーンショット5" /></a></p>
<p>詳しくは<a href="http://note.openvista.jp/wp-content/themes/sandstripe/layouts/iphone.css" title="http://note.openvista.jp/wp-content/themes/sandstripe/layouts/iphone.css">実際のCSS</a>をご覧いただきたいですが、内容としては幅やpadding/margin・positionの調整が多かったですね。あと、フォントはVerdanaを指定しておくとより綺麗に表示されるように感じます。</p>
<p>それに、iPhone / iPod touchは対応できないので、フォントサイズ調整スライダなんかは今回消しています。ただ、これは単にjavascriptで値を変えればいいだけなので今後はラジオボックスでフォントサイズを選べるようにしていこうかと思っています。</p>
<h3 id="t550e2a">方向を検出する</h3>
<p>ご存じの通り、iPhoneは縦だと320px×356px<sup><a href="http://note.openvista.jp/2007/webdesign-for-ipod-touch/#footnote_3_280" id="identifier_3_280" class="footnote-link footnote-identifier-link" title="アドレスバーなどの領域を除いた表示領域">4</a></sup> 、横だと480px×196pxとデバイスを持つ方向によって幅が変わってしまいます。</p>
<p>コレに備えて、補正CSSは幅に依存しないように作っています（幅を % で指定するなど）が、場合によっては調整が必要かもしれません。</p>
<p>iPhone / iPod toucｈはjavascriptでデバイスの方向を検出できます<span class="weaken">（出典：<a href="http://developer.apple.com/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/chapter_8_section_6.html" title="Safari Web Content Guide for iPhone: Handling Orientation Events">Safari Web Content Guide for iPhone: Handling Orientation Events</a>）ので、これを使って補正CSSを追加したりできるよう…なのですが、手元の環境で以下のサンプルを試した限りでは縦方向のwindows.orientationが-90と言われてしまいます。これって私の環境だけの問題なんでしょうかね。</p>
<div class="source-code"><div><img src="http://note.openvista.jp/wp-content/plugins/coolcode/code.png" width="16" height="16" alt="" /> <em>JAVASCRIPTソースコード</em></div><pre class="source-code"><code><span class="codes-code">&lt;</span><span class="codes-identifier">script</span><span class="codes-code"> </span><span class="codes-identifier">type</span><span class="codes-code">=</span><span class="codes-quotes">&quot;</span><span class="codes-string">text/javascript</span><span class="codes-quotes">&quot;</span><span class="codes-code">&gt;</span>
<span class="codes-comment">//&lt;![CDATA[</span>
<span class="codes-builtin">window</span><span class="codes-code">.</span><span class="codes-identifier">onorientationchange</span><span class="codes-code"> = </span><span class="codes-reserved">function</span><span class="codes-code"> </span><span class="codes-brackets">()</span><span class="codes-code"> </span><span class="codes-brackets">{</span>
<span class="codes-code">  </span><span class="codes-reserved">if</span><span class="codes-code"> </span><span class="codes-brackets">(</span><span class="codes-builtin">window</span><span class="codes-code">.</span><span class="codes-identifier">orientation</span><span class="codes-code"> == </span><span class="codes-number">90</span><span class="codes-brackets">){</span>
<span class="codes-code">    </span><span class="codes-identifier">alert</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">現在、90です</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">)</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-brackets">}</span><span class="codes-code"> </span><span class="codes-reserved">else</span><span class="codes-code"> </span><span class="codes-reserved">if</span><span class="codes-code"> </span><span class="codes-brackets">(</span><span class="codes-builtin">window</span><span class="codes-code">.</span><span class="codes-identifier">orientation</span><span class="codes-code"> = -</span><span class="codes-number">90</span><span class="codes-brackets">){</span>
<span class="codes-code">    </span><span class="codes-identifier">alert</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">現在、-90です</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">)</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-brackets">}</span><span class="codes-code"> </span><span class="codes-reserved">else</span><span class="codes-code"> </span><span class="codes-reserved">if</span><span class="codes-code"> </span><span class="codes-brackets">(</span><span class="codes-builtin">window</span><span class="codes-code">.</span><span class="codes-identifier">orientation</span><span class="codes-code"> = </span><span class="codes-number">0</span><span class="codes-brackets">){</span>
<span class="codes-code">    </span><span class="codes-identifier">alert</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">現在、0です</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">)</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-brackets">}</span><span class="codes-code"> </span><span class="codes-reserved">else</span><span class="codes-brackets">{</span>
<span class="codes-code">    </span><span class="codes-identifier">alert</span><span class="codes-brackets">(</span><span class="codes-quotes">&quot;</span><span class="codes-string">現在、その他です</span><span class="codes-quotes">&quot;</span><span class="codes-brackets">)</span><span class="codes-code">;</span>
<span class="codes-code">  </span><span class="codes-brackets">}</span>
<span class="codes-brackets">}</span>
<span class="codes-comment">//]]&gt;</span>
<span class="codes-code">&lt;</span><span class="codes-quotes">/</span><span class="codes-string">script&gt;</span></code></pre></div>
<ol class="footnotes"><li id="footnote_0_280" class="footnote">ちなみにApple Developper Connectionではビデオでのチュートリアルも公開されています、英語ですがわかりやすいです</li><li id="footnote_1_280" class="footnote">詳しくは「iPhoneスタイルシートを指定する」の項を参照</li><li id="footnote_2_280" class="footnote">この部分は順不同リストでマークアップしていました</li><li id="footnote_3_280" class="footnote">アドレスバーなどの領域を除いた表示領域</li></ol><img src="http://note.openvista.jp/?ak_action=api_record_view&id=280&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://note.openvista.jp/2007/webdesign-for-ipod-touch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

