第 37回

このコーナーを楽しむために最新のHTMLを使う際に、どうしても避けて通れないのがWWWブラウザーの互換性の誰よりも早く最新のHTMLを使ってみたい問題だ。そこでこのコーナーでは、TIPSご

藤井幸孝／大内 勇とにブラウザーの対応状況をアイコンで表している（1月10日現在）。これを参考に使用するWWWブラウザーを選んでほしい。

1999年12月にインターネットエクスプローラ（IE）5.5の「Platform4Preview」版がひそかに登場した。見た目はIE 5と変わらないものの、スタイルシートやダイナミックHTMLには新たな機能が追加されている。この連載

5でもさっそくIE 5.5の新機能を調べ上げ、その実力を試してみた。IE 5.5の5.5

驚くべき機能をはじめとして、今月も最新のテクニックをお届けしよう。
3

CD-ROM収録先 A Magnavi→Ip0003→Htmltips+CD-ROM 今月号のTIPSをすべてCD-ROMに収録!!

4

インターネットエクスプローラ4以上
インターネットエクスプローラ5以上
インターネットエクスプローラ5.5以上
ネットスケープナビゲーター3以上
ネットスケープナビゲーター4以上

2月号「HTMLパズルに挑戦しよう」の解答
解答者の数は少なかったが、取り組みやすい問題だったせいか、初めてパズルに挑戦してくれた人が多かったのがうれしい。今月の問題にもぜひチャレンジしてみよう。ここには解答のポイントだけ掲載しているが、今月も付録CD-ROMには解答の全文を収録してあるので参考にしてほしい。

A N S W E R

1 干支を計算せよ！

まず、干支用の文字列の配列「eto」を用意し、Date オブジェクトで西暦の年を得たら、「eto[(year-4)%12]」でその年の干支が表示できる。年マイナス4を12で割った余りが干支の番号だ。
<SCRIPT LANGUAGE="JavaScript">
eto = new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");today = new Date();year = today.getYear();if (year < 2000) year += 1900;
if (today.getMonth( ) == 0 && today.getDate( ) == 1) {document.write(eto[(year-4)%12]);
document.write("あけまして<BR>おめでとうございます。");（中略）}</SCRIPT>A N S W E R

正解者：山口雅仁さん、村田正彦さん、高橋たかおさん、布施智也さん、鱈場哦仁さん、谷口勝宣さん、うおまさ@homeさん、Libretto30さん

2 英語と日本語であいさつせよ！

IEではnavigatorオブジェクトのbrowserLanguageに、ナビゲーターではlanguageに言語情報が入る。日本語は「ja」、英語は「en」、中国語は「zh」、フランス語は「fr」で始まる文字列になる。
if (navigator.browserLanguage) { // IE
if (navigator.browserLanguage.indexOf ("ja") >= 0)
document.write("謹賀新年");
if (navigator.browserLanguage.indexOf ("en") >= 0)
document.write("A Happy New Year!!");}
else if (navigator.language) {//ナビゲーター
if(navigator.language.indexOf ("ja") >= 0) {document.write("謹賀新年");}
if (navigator.language.indexOf ("en") >= 0) {document.write("A Happy New Year!!");}

322 INTERNET magazine 2000/3

正解者：山口雅仁さん、坂部和久さん、村田正彦さん、布施智也さん、鱈場哦仁さん、谷口勝宣さん、うおまさ@homeさん、Libretto30さん

インターネットマガジン／株式会社インプレスR&D

ダイナミックHTML（ダイナミック・エイチ・ティー・エム・エル ）：HTMLやスタイルシートとJavaScriptなどのスクリプト言語を組み合わせて、動きのあるページを構成する仕組み。
インターネットエクスプローラ4とネットスケープナビゲーター4で導入されたが、2つのブラウザーのダイナミックHTMLには互換性がない。
©1994-2007 Impress R&D

T IPS & T R ICKS

1
縦書き表示する
5.5
この世にWWWブラウザーが登場して以来、日本のユーザーが待ち望んでいた機能がIE 5.5でようやく実 現 した。縦 書 き表 示 だ。
これまでウェブページでの縦書きと言えば、テーブルや改行を使って強引に作り出すよりほかになかった。IE 5.5ではスタイルシートを1つ設定するだけで、タグの内容が簡単に縦書きに切り替わる。
しかもワープロと同じように「。」や「、」、「ー」は自動的に縦書きにふさわしいように表示される。
詩や小説のように、縦書きではなくては困るページを作っている人にはうれしい新機能だ。ウェブ上の日本語コンテンツがいっそう充実することは間違いない。

d<DIV STYLE="writing-mode: tb-rl; line-height: 1.8em;"><H1 ID="top">吾輩は猫である</H1><DIV ALIGN="right"><B>夏目 漱石</B></DIV><H2>一</H2>
吾輩は猫である。名前はまだ無い。<BR>……</DIV>

この機能を試すには、まずIE 5.5を入手しな

たいていのタグに縦 書 きを指 定 できるが、ければならない。1月11日現在、次のページから<BODY>タグには指定できない。つまり、ペー「Platform Preview」版がダウンロードできる。

ジ全体をまとめて縦書きにはできず、横書きのペまだ初期のベータ版なので不具合があるかもしれージの中にブロックを作ってそこだけ縦書きにすない。インストールの前に重要なデータはバックる感じになる。

<SPAN STYLE="writing-mode: lr-tb;">12</SPAN>月号

IE 5.5はまだ初期のベータ版なので、正式版が出たときにはスタイルシートなどの仕様が変わる可アップを取っておこう。
縦書き表示にはいくつかコツがある。単純に縦書能性があることに注意。正式版ではどうなるかわきにしただけでは行間が詰まって不自然に見えるからないが、現段階ではページを読み込むとスクので、「line-height」プロパティーも指定して、ロールバーが左端に行って文章の最後が表示さ読みやすくしよう。上のサンプルでは「1.8em」れてしまう。サンプルでは次のように「top」とダウンロードとインストールが済んだら、さっそとして行間を文字の高さの1.8倍にしている。まいうID属性を指定した見出しが最初に表示されく縦書きのテストをしてみよう。縦書きにしたい

た、サンプルの「夏目漱石」の部分は、「<DIVるようにしている。

テキストを普通に書き、<DIV>〜</DIV>や<P>

ALIGN="right">」として右寄せにしているが、

msdn.microsoft.com/downloads/
webtechnology/ie/iepreview.asp〜 < / P > で囲 む。 < D I V > タグや < P > タグに縦書きの中では下寄せとして表示される。縦書「writing-mode」という新しいスタイルシートのきの中に数字などの横書きを混ぜたいときは、次プロパティーを指定して、値を「tb-rl」とする。のように<SPAN>タグを使ってwriting-modeプ「tb-rl」とは、「top to bottom, right to left」（上ロパティーに「lr-tb」という値を指定すればいい。

<SCRIPT LANGUAGE="JavaScript">function goTop ( ) {if (navigator.userAgent.indexOf ("MSIE 5.5") > 0)
document.all("top").scrollIntoView( );}</SCRIPT><BODY onLoad="goTop( );">から下、右から左）という意味だ。IE 5.5では、

インターネットマガジン／株式会社インプレスR&D

ベータ版（ベータばん）：あるアプリケーションの開発中に、開発者以外の人に使って試してもらうために正式版の前に公開するバージョン。最近のアプリケーションでは、インターネットエクスプローラのように正式版公開の何か月も前からベータ版が一般公開されることが多い。
©1994-2007 Impress R&DINTERNET magazine 2000/3323

T IPS & T R ICKS

2
ページ
45

テーブルの枠線やフレームの境界線など、ウェブページのさまざまな部品の枠線をカスタマイズするテクニックはこれまで何度か紹介してきた。今回のTIPSは何とページ全体に額縁のような装飾を付けてしまおうというものだ。左のサンプルを見てほしい。ページの周りに赤く立体的な枠線が表示されている。スクロールバーを動かしても、常にこの額縁は表示され続ける。額縁の種類や色は好みに合わせて選べるようになっていて、しかも今あるページにちょっと書き足すだけで簡単に取り付けられる。このテクニックで自分のページを美術館の絵画のように演出してみよう。

d<STYLE TYPE="text/css">
BODY { border: 25 ridge red; }</STYLE>だけでなく、上下左右を別々に指定して、1 方

このテクニックに必要なコードは拍子抜けするほど短い。上のサンプルどおりに、たった3行書き加えるだけで、ページが赤い立体的な枠線で縁取られるはずだ。このスタイルシート指定は<HEAD>〜</HEAD>の間に置くこと。ブラウザ
ーのスクロールバーは枠線の内側になる。ページに枠線が付くのはIEだけで、ナビゲーターでは枠線は表示されないが、動作に支障はない。

dotteddotteddasheddashed

点線
点線
破線
破線

向だけに枠線を付けたり、方向ごとに太さや種

solid
solid
doubledouble

実線
実線
二重線
二重線

ンプルの「border」の代わりに、「border-top」

groovegrooveridge
ridge

V字型にへこんだ線
V字型にへこんだ線
山型に盛り上がった線
山型に盛り上がった線（下）、「border-left」（左）というプロパティー

inset
insetoutset
outset内側に向かってへこんだ線
内側に向かってへこんだ線
内側に向かって盛り上がった線
内側に向かって盛り上がった線に赤い盛り上がった線を、ページの下に青いへ（上）、「border-right」（右）、「border-bottom」
で1つ1つ指定すればいい。たとえばページの上こんだ線を付けるには、次のようにする。今まで見たことのない新鮮な効果をページに加えること

この枠線の種類と色は、何通りもの組み合わせでカスタマイズできる。サンプルでは「border:

ただし、dottedとdashedはウィンドウズ版のIE

25 ridge red」となっているが、この「25」が枠ではsolidと同じように表示され、効果がない。

線の太さ、「ridge」が種類、そして「red」がIE 5.5では点線や破線として正しく表示されるよ色を表している。太さには数字、色にはHTMLうになった。IE 5.5でもこのサンプルのようにの色指定（redや#FF0000など）を自由に指定<BODY>タグに点線や破線を設定した場合は効してみよう。枠線の種類には次のような8つがあ果がなく、実線として表示されてしまう。

り、「ridge」のように種類の名前で指定する。

また、スタイルシートで作る枠線は全体を囲む

324 INTERNET magazine 2000/3

類、色を変えたりすることもできる。上記のサができるだろう。
BODY { border-top: 25 ridge red;border-bottom: 20 groove blue; }さて、お好みの額縁は見つかっただろうか。

インターネットマガジン／株式会社インプレスR&D

スタイルシート：HTMLやXMLなどタグ付き文書を表示したときの視覚的効果を指定するための仕組み。CSS（Cascading Style Sheets）やXSL（eXtensible Style Language）がある。CSSは、インターネットエクスプローラ3以降とネットスケープナビゲーター4以降でサポートされた。
©1994-2007 Impress R&D

T IPS & T R ICKS

3
ナビゲーションメニューを作る
5
ここではホームページをナビゲートするメニューを紹介しよう。
左のサンプル画面は、ページの上部にメニューバーを配置して、メニューにマウスを載せたときにドロップダウンタイプのメニューリストを表示させている様子だ。表示されたメニューをクリックすれば、別のページにジャンプする。
今までもこのコーナーでは何度かナビゲーションメニューを取り上げてきたが、今回はIE 5を対象とした簡単なメニュースクリプトだ。
簡単とは言ってもソースはかなり長くなっているので、POINT欄をしっかり読んでほしい。このナビ
ゲーションメニューを使ってホームページをクールに演出しよう。

d1

var eOpenMenu = null;function document.onmouseover ( ) {var eSrc = window.event.srcElement;if (eSrc.className == "menuItem") {var eMenu =document.all [eSrc.id.replace("menu","child") ];if (eOpenMenu && eOpenMenu != eMenu)
closeMenu(eOpenMenu);
if (eMenu) openMenu(eSrc,eMenu);}
else if (eOpenMenu && !eOpenMenu.contains(eSrc) &&!menuBar.contains(eSrc) )closeMenu(eOpenMenu)}
function openMenu (eSrc, eMenu) {eMenu.style.left = eSrc.offsetLeft;eMenu.style.top = menuBar.offsetHeight;
eMenu.style.visibility = "visible";eOpenMenu = eMenu;}
function closeMenu (eMenu) {eMenu.style.visibility = "hidden";eOpenMenu = null;}2<DIV ID="menuBar"><TABLE BORDER="0"><TR><TD CLASS="menuItem" ID="menuHtml">HTML</TD><TD>|</TD><TD CLASS="menuItem" ID="menuCss">CSS</TD><TD>|</TD></TR></TABLE></DIV><DIV ID="childHtml"><DIV><A HREF="html/document/">Document</A></DIV><DIV><A HREF="html/font/">Font</A></DIV>……
</DIV><DIV ID="childCss"><DIV><A HREF="css/font/">Font</A></DIV><DIV><A HREF="css/text/">Text</A></DIV>……
</DIV>

最初にお断りしておくが、上記のソースは紙前のcloseMenuとは条件が違う。前のif文では面の都合上省略している部分が多い。完全なソドロップダウンメニューからマウスが外れたときースは本誌の付録CD-ROMに収録してあるので、にcloseMenuが実行されるが、最後のif文ではそちらを参照してほしい。

マウスがほかのメニューの上 に載 ったときにこの2つのID名を比較すると「何々Html」といcloseMenuが実行される。

う形になっていることがわかる。ソース1をそのそれではこのメニュースクリプトを説明しよう。

<TD CLASS="menuItem" ID="menuHtml"><DIV ID="childHtml">

まま使う場合は「何々」の文字列を変更してはまずはソース1。最初にプルダウンメニューを表関数openMenuとcloseMenuを簡単に説明しす変数「eOpenMenu」の初期値を「null」によう。関数openMenuではマウスが載っているを「child」に置き換える処理をしているからだ。

設定する。
「document.onmouseover」はペーメニューの下にドロップダウンメニューを表示さID名「何々Html」の「Html」部分は任意の文

ジ上でマウスが動いたときに実行される関数だ。

せる処理を行い、関数closeMenuではそのドロ字列に変更しても動作するので、自分で使う場関数の中では、まず変数「eSrc」がマウスの位ップダウンメニューを非表示にする。基本的にソ合 はここだけ変 更 するようにしよう。 ほかの置にあるタグを参照するようにする。次のif文は、

ース1についてはカスタマイズする必要がないの<TD>タグや<DIV>タグも同様だ。CLASS属性

そのタグのCLASS属性が「menuItem」の場合で、このまま書き写してしまったほうが楽だ。

はスクリプトで使っているので変更しないようにに実行される。このif文の中にはさらに2つのif文いけない。スクリプトで「menu」という文字列してほしい。

がある。1番目のif文ではドロップダウンメニューソース2を見てみよう。ここは単純なHTMLだけを閉じる関数「closeMenu」を呼び出す。2番だが、注意してほしい部分は、<TD>タグのID属

このスクリプトはIE 5でしか動作しないので、自目 ではドロップダウンメニューを開 く関 数

性と<DIV>タグのID属性だ。この2つのID属性分のページで使う場合は、IE 5専用ページを用意「openMenu」を呼び出している。関数の最後はスクリプト処理の部分で密接に関連している。

して使うようにしたほうがいいだろう。にあるif文でもcloseMenuを呼び出しているが、一例を挙げておこう。

インターネットマガジン／株式会社インプレスR&D

関数（かんすう）：プログラミング言語で、一定の処理を独立させて記述した部分。言語によっては「プロシージャー」や「メソッド」などとも呼ばれる。引数を計算して値を返したり、何度も行われる処理を1つにまとめたりするのに使われる。
©1994-2007 Impress R&D

INTERNET magazine 2000/3

325T IPS & T R ICKS

4
名前を覚えて別のページで表示
5
この連載で紹介しているテクニックは、どれも１つのページで完結するものばかりだった。ここでは複数のページにまたがって動作する技を新たに紹介しよう。このサンプルでは、左の画面で訪れた人が名前を入力してボタンを押すと、右の画面にジャンプするようになっている。 2 つの画 面 のHTMLはまったく別なのだが、左の画面で入力した名前が右のページに表示されている。クッキーを使って面倒な処理をしているわけではない。複数のページで同じデータを簡単に共有する技がつかめれば、訪問者が質問に次々と答えていくようなゲームなど、応用は無限に広がる。

d1<STYLE TYPE="text/css">.userdata { behavior: url(#default#userData); }</STYLE>32A<SCRIPT LANGUAGE="JavaScript">function SaveData ( ) {goform.setAttribute("name", goform.name.value);
goform.save("MyData");}</SCRIPT>B<BODY onLoad="LoadData( );"><FORM ID="goform" CLASS="userdata"
onSubmit="SaveData( ); location.href='main.htm';
return false;">
お名前：<INPUT TYPE="text" NAME="name"><INPUT TYPE="submit" VALUE="ENTER"></FORM>

まず、訪問者の名前を保存するページと名前

A<SCRIPT LANGUAGE="JavaScript">function LoadData ( ) {hello.load("MyData");s = hello.getAttribute("name");if(s) hello.innerHTML = "こんにちは、"+ s + "さん";else hello.innerHTML = "こんにちは";}</SCRIPT>B<BODY onLoad="LoadData();"><DIV ID="hello"
CLASS="userdata"></DIV>

性「userdata」を指定して、データ保存機能をグにCLASS属性「userdata」を指定してデータを読み出して表示するページには、それぞれソー付けている。

保存と読み出しの機能を付ける。

ス1 のように<STYLE> タグを使ってクラス名

2のAはBのフォームから呼び出して、名前を3のAが訪問者の名前を取り出す関数だ。デー「userdata」にデータ保存機能を指定する。こ保存するための関数だ。goformに新しく追加さタ保存機能を付けた<DIV>タグ（ID名「"hello"」）

れは1999年12月号で紹介したDHTMLビヘイビ

れた「setAttribute」メソッドを使って、テキスのメソッド「getAttribute」で「"name"」といアの使い方と同じだ。注意してほしいのは、同じトボックスに入力された文字列を「"name"」とうデータの値、つまり訪問者の名前を取り出す。

データを使うページは同じディレクトリー（フォいうデータ名で保存するようにする。実際には次次にこの値から「こんにちは○○さん」という文ルダー）の中に置かなければならないという点だ。の「 s a v e 」 メソッドでデータが保 存 される。

字列を組み立てて、「innerHTML」プロパティー

これは、別のサイトからデータが読めてしまうとsaveメソッドの引数「"MyData"」は、ひとまに入れれば画面上に表示されるようになる。

セキュリティー上の問題になるので、制限がかかとまりのデータ全体に付けた名前だ。これでボタっているためだ。

ンを押せば訪問者の名前が保存されるページがで

なお、上記のソースでは省略したが、名前を入き上がる。

力するページのほうでも次のように名前を読み出

2のAとBがユーザーの名前を入力させて保存してテキストボックスに表 示 させているので、するページのソースで、3 のA とB が名前を取訪問者の名前を取り出して表示するのが3のAり出して表示するページのソースだ。名前を保存とBだ。3のBの<BODY>タグのように、ペーするソースから見 てみよう。 2 のB ではジが読み込まれたときのonLoadイベントで名前「goform」というIDの<FORM>タグにCLASS属を取り出すようにする。このページでは<DIV>タ326 INTERNET magazine 2000/3

CD-ROMに収録したソースを参考にしてほしい。
goform.load("MyData");s = goform.getAttribute("name");if (s) goform.name.value = s;

インターネットマガジン／株式会社インプレスR&D

プロパティー：プログラミング言語において、ある機能が持っている設定可能なオプションや属性のこと。スタイルシートでは「color」のようにスタイルの種類をプロパティーと呼び、JavaScriptでは「document.bgColor」の「bgColor」のようにオブジェクトが持っている変数をプロパティーと呼ぶ。
©1994-2007 Impress R&D

HTMLパズルに挑戦しよう
隠されたトリックを解き明かせ！

今月のテーマ

半透明を制する

大好評発売中！

ここしばらく日付や時刻を計算する問題が続いたが、今月は久しぶりにグラフィカルなパズルに挑戦してみよう。IE 4以降でサポートされているフィルター機能のうち、タグを半透明化するテクニックを応用した問題だ。影を付けたり反転させ「HTMLパズルに挑戦しよう」
宛 先たりするフィルター機能はこの連載の読者にはおなじみだろうが、ここDで出題するような使い方をして、画像をかっこよく見せる方法があるこ

正解がわかった人も、わからなかった人も、ご意見、ご感想など何でもOK、次の宛先にメールしよう。用件の欄には必ずHTML TIPS＆TRICKSの1行を忘れずに。あなたの挑戦を待つ！とまで知っているかな？ トリックがわかったらすぐに解答を送ってきてほしい。正解者には抽選で1名にオリジナル折りたたみ傘をプレゼントさせていただく。なお、正解は来月のこのコーナーで発表する。それでは頭をやわらかくして、今月のテーマ 半透明を制する にチャレンジ！

m im-html@impress.co.jp
なお、締め切りは2月10日とさせていただく。

Q U E S T I O N

1 画像を重ね合わせろ！

45

5.5

半透明の筐体を持つiMacがブームになったり、今年中に発売されるウィンドウズ2000やMac OS Xでは半透明の表示効果がサポートされるなど、世の中は半透明が流行している。自分のページも半透明効果を使ったデザインでかっこよく見せてみよう。左のサンプルは、2枚の画像を重ね合わせて配置したものだ。普通は重なって下になった部分は見えなくなるのだが、ここでは重なりの部分が透けて見えて、まるで2つの画像が同時に表示されているような効果になっている。2枚の普通の画像とフィルター機能だけでここまで表現できるのだ。なお、残念ながら第1問、第2問ともにマッキントッシュ版のIEでは実現できない。

ヒント

Q U E S T I O N

半透明のフィルターは「filter: alpha(……)」をスタイルシートで指定する……

2 画像を遷移させろ！

45

5.5

左のサンプルは、第1問のソースを書き換えて2枚の画像を同じ位置にぴったり重ね合わせたものだ。位置を同じにしただけなら、2枚の画像が均等に混ざって見えるはずだ。ところがこのサンプルでは、1枚目の画像が左上の角から始まり、右下の方向に移るにしたがってだんだん薄くなっていき、2枚目の画像が途中から浮かび上がって、右下の角に至ると完全に2枚目の画像だけになっている。フォトレタッチソフトを使って画像を処理したわけではない。第1問と同じく画像とHTML、ブラウザーだけでこの効果を出しているのだ。誌面ではわかりにくいかもしれないが、答えを見つけてパソコン上で見てみれば、その効果のすごさに驚くはずだ。
ヒント

alphaフィルターのオプションをじっくり調べよう……
msdn.microsoft.com/workshop/author/filter/reference/filters/alpha.asp

インターネットマガジン／株式会社インプレスR&D

フィルター：IE 4以降の独自機能で、スタイルシートを拡張して画像や文字にさまざまな視覚効果を与えるもの。反転や半透明化を行ったり、スポットライトや陰影、炎、波型のような効果をHTMLだけで表現できる。スクリプトと組み合わせれば高度なアニメーション効果も可能。
©1994-2007 Impress R&D

INTERNET magazine 2000/3327

［インターネットマガジン バックナンバーアーカイブ］ ご利用上の注意
この PDF ファイルは、株式会社インプレス R&D（株式会社インプレスから分割）が 1994 年～2006 年まで発行した月刊誌『インターネットマガジン』の誌面を PDF 化し、「インターネットマガジン バックナンバーアーカイブ」として以下のウェブサイト「All-in-One INTERNET magazine 2.0」で公開しているものです。

http://i.impressRD.jp/bn
このファイルをご利用いただくにあたり、下記の注意事項を必ずお読みください。
z 記載されている内容（技術解説、URL、団体・企業名、商品名、価格、プレゼント募集、アンケートなど）は発行当時のものです。
z 収録されている内容は著作権法上の保護を受けています。著作権はそれぞれの記事の著作者（執筆者、写真の撮影者、イラストの作成者、編集部など）が保持しています。
z 著作者から許諾が得られなかった著作物は収録されていない場合があります。
z このファイルやその内容を改変したり、商用を目的として再利用することはできません。あくまで個人や企業の非商用利用での閲覧、複製、送信に限られます。
z 収録されている内容を何らかの媒体に引用としてご利用する際は、出典として媒体名および月号、該当ページ番号、発行元（株式会社インプレス R&D）、コピーライトなどの情報をご明記ください。
z オリジナルの雑誌の発行時点では、株式会社インプレス R&D（当時は株式会社インプレス）と著作権者は内容が正確なものであるように最大限に努めましたが、すべての情報が完全に正確であることは保証できません。このファイルの内容に起因する直接的および間接的な損害に対して、一切の責任を負いません。お客様個人の責任においてご利用ください。

このファイルに関するお問い合わせ先
All-in-One INTERNET magazine 編集部
im-info@impress.co.jp
Copyright © 1994-2007 Impress R&D, an Impress Group company. All rights reserved.