- ネットワーク
- 技術 💻
DNSレコードの種類一覧|digの実出力で役割と設定ミスを確認
DNSレコードとは、ドメイン名に対して「IPアドレスはどこか」「メールはどこへ届けるか」などの情報を1件ずつ登録したデータのことです。 レコードには種類(タイプ)があり、A・AAAA・CNAME・MX・TXT・NS・SOA・CAA・SRV・HTTPS・PTRなど、用途ごとに使い分けます。
この記事では、各レコードの役割を一覧で整理したうえで、検証用の権威DNSサーバー(BIND 9.18)をローカルに立て、すべてのレコードを dig で実際に引いた出力を載せています。 外部のドメインではなく、テスト用に予約された example.test と文書用のIPアドレス(192.0.2.0/24、2001:db8::/32)を使っているため、読者の環境でも同じゾーンファイルで再現できます。さらに、CNAMEをapex(ドメインの頂点)に置いたときのエラー、TTLが減っていく様子、「DNS伝播」の正体、存在しない名前がキャッシュされるネガティブキャッシュも、実際の出力で確認します。
DNSレコードの種類 早見表
| レコード | 役割 | 値の例 | よく使う場面 |
|---|---|---|---|
| A | 名前 → IPv4アドレス | 192.0.2.10 |
Webサイト、APIの公開 |
| AAAA | 名前 → IPv6アドレス | 2001:db8::10 |
IPv6対応 |
| CNAME | 名前 → 別の名前(別名) | example.test. |
www を本体に向ける、外部サービスへの委任 |
| MX | メールの配送先サーバー | 10 mail.example.test. |
メール受信 |
| TXT | 任意の文字列 | "v=spf1 ... -all" |
SPF・DKIM・DMARC、ドメイン所有確認 |
| NS | そのゾーンを管理するDNSサーバー | ns1.example.test. |
委任、DNSサーバーの移管 |
| SOA | ゾーンの管理情報(シリアル、タイマー) | ns1... hostmaster... 2026092801 ... |
ゾーン転送、ネガティブキャッシュ |
| CAA | 証明書を発行してよい認証局 | 0 issue "ca.example.net" |
SSL/TLS証明書の誤発行防止 |
| SRV | サービスのホスト名とポート | 10 60 5060 sip.example.test. |
SIP、XMPP、一部のディレクトリサービス |
| HTTPS(SVCB) | HTTPS接続のための追加情報(ALPN等) | 1 . alpn="h2,h3" |
HTTP/3の事前通知、apexの別名 |
| PTR | IPアドレス → 名前(逆引き) | example.test. |
メールサーバーの信頼性確認、ログの可読化 |
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「DNSレコードの種類一覧|digの実出力で役割と設定ミスを確認」
検証環境:ローカルに権威DNSサーバーを立てる
この環境の dig は外部のDNS(8.8.8.8)も引けましたが、実在ドメインの設定は日々変わるため、記事ではローカルの権威DNSサーバーで検証しました。 権威DNSサーバーとは、そのドメインの正解データを持ち、問い合わせに答えるサーバーです。対して、利用者の代わりに問い合わせて結果をキャッシュするのがフルリゾルバ(キャッシュDNSサーバー)です。
flowchart LR
C[パソコン・スマホ<br/>スタブリゾルバ] -->|問い合わせ| R[フルリゾルバ<br/>キャッシュDNS]
R -->|キャッシュに無ければ| Root[ルート]
R --> TLD[TLDのDNS]
R --> A[権威DNSサーバー<br/>example.test]
A -->|レコード + TTL| R
R -->|TTLの間キャッシュ| C
権威DNSはBIND 9.18.39を127.0.0.1:7063で、キャッシュDNSは同じBINDを7064で起動し、dig 9.18.39から問い合わせています。
使ったゾーンファイル
$TTL 3600
$ORIGIN example.test.
@ IN SOA ns1.example.test. hostmaster.example.test. (
2026092801 ; serial
7200 ; refresh
1800 ; retry
1209600 ; expire
300 ) ; negative cache TTL
@ IN NS ns1.example.test.
@ IN NS ns2.example.test.
ns1 IN A 192.0.2.53
ns2 IN A 192.0.2.54
@ IN A 192.0.2.10
@ IN AAAA 2001:db8::10
www IN CNAME example.test.
@ IN MX 10 mail.example.test.
@ IN MX 20 mail2.example.test.
mail IN A 192.0.2.25
mail2 IN A 192.0.2.26
@ IN TXT "v=spf1 ip4:192.0.2.25 ip4:192.0.2.26 -all"
sel1._domainkey IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAexamplekey"
_dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.test"
@ IN CAA 0 issue "ca.example.net"
@ IN CAA 0 iodef "mailto:security@example.test"
_sip._tcp IN SRV 10 60 5060 sip.example.test.
sip IN A 192.0.2.60
@ IN HTTPS 1 . alpn="h2,h3" ipv4hint=192.0.2.10
api IN A 192.0.2.20
short 300 IN A 192.0.2.30
@ はゾーンの頂点(ここでは example.test.)を表します。名前の末尾の . は「これで完結した名前」という意味で、付け忘れると $ORIGIN が後ろに足されます(mail.example.test と書くと mail.example.test.example.test. になる)。
ゾーンファイルは、読み込む前に named-checkzone で文法を確認できます。
$ named-checkzone example.test example.test.zone
zone example.test/IN: loaded serial 2026092801
OK
digの出力の読み方
dig の出力は「ヘッダー」「質問」「回答」「権威」「追加」の各セクションに分かれています。 まずはAレコードを、省略なしで見てみます。
$ dig @127.0.0.1 -p 7063 example.test A +norec
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8573
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; QUESTION SECTION:
;example.test. IN A
;; ANSWER SECTION:
example.test. 3600 IN A 192.0.2.10
;; AUTHORITY SECTION:
example.test. 3600 IN NS ns2.example.test.
example.test. 3600 IN NS ns1.example.test.
;; ADDITIONAL SECTION:
ns1.example.test. 3600 IN A 192.0.2.53
ns2.example.test. 3600 IN A 192.0.2.54
;; Query time: 0 msec
;; SERVER: 127.0.0.1#7063(127.0.0.1) (UDP)
| 箇所 | 意味 |
|---|---|
status: NOERROR |
正常。名前が存在しない場合は NXDOMAIN |
flags: aa |
Authoritative Answer=権威DNSサーバーからの回答 |
3600 |
TTL(秒)。この秒数だけキャッシュしてよい |
IN |
クラス(インターネット)。実務ではほぼ常にIN |
| ANSWER / AUTHORITY / ADDITIONAL | 回答本体 / 管理しているNS / NSのIPなどの補足 |
よく使うオプションは次のとおりです。
| オプション | 用途 |
|---|---|
@サーバー |
問い合わせ先のDNSサーバーを指定(例:@8.8.8.8) |
-p ポート |
ポートを指定(今回の7063) |
+short |
値だけ表示 |
+noall +answer |
回答セクションだけ表示 |
+norec |
再帰を求めない(権威DNSに直接聞くとき) |
+trace |
ルートから順にたどって表示 |
レコードごとの実出力と解説
以下は dig @127.0.0.1 -p 7063 +noall +answer で問い合わせた実際の出力です。
A / AAAAレコード:名前からIPアドレスへ
$ dig ... example.test AAAA
example.test. 3600 IN AAAA 2001:db8::10
Aは IPv4、AAAAは IPv6 のアドレスを返します。 両方を登録しておくと、IPv6が使える利用者はIPv6で、そうでない利用者はIPv4で接続します。
CNAMEレコード:別名を付ける
$ dig ... www.example.test A
www.example.test. 3600 IN CNAME example.test.
example.test. 3600 IN A 192.0.2.10
Aを聞いたのに、まずCNAMEが返り、続けて別名先のAが返っています。 CNAMEは「この名前は別の名前の別名です」という意味で、リゾルバは別名先をたどって最終的な値を返します。外部のサービスにホスト名を向けるときによく使います。
MXレコード:メールの配送先
$ dig ... example.test MX
example.test. 3600 IN MX 10 mail.example.test.
example.test. 3600 IN MX 20 mail2.example.test.
数字は優先度で、小さいほど優先されます。 10のサーバーに届かないとき、20のサーバーに配送されます。MXの値はホスト名で、IPアドレスを直接書くことはできません。
TXTレコード:SPF・DKIM・DMARC
$ dig ... example.test TXT
example.test. 3600 IN TXT "v=spf1 ip4:192.0.2.25 ip4:192.0.2.26 -all"
$ dig ... sel1._domainkey.example.test TXT
sel1._domainkey.example.test. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAexamplekey"
$ dig ... _dmarc.example.test TXT
_dmarc.example.test. 3600 IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.test"
TXTは任意の文字列ですが、メールの送信ドメイン認証ではとくに重要です。
| 仕組み | 置く名前 | 役割 | 仕様 |
|---|---|---|---|
| SPF | ドメインそのもの | このドメインのメールを送ってよいサーバーのIP | RFC 7208 |
| DKIM | セレクタ._domainkey.ドメイン |
メールの電子署名を検証する公開鍵 | RFC 6376 |
| DMARC | _dmarc.ドメイン |
SPF/DKIMが失敗したときの扱いとレポート送付先 | RFC 9989(2026年5月にRFC 7489を置き換え) |
SPFには「DNSの参照は10回まで」という上限があり、include: を重ねすぎると検証に失敗します。SPFは1つのドメインに1レコードだけにまとめましょう。DMARCは2026年5月に改訂版(RFC 9989〜9991)が公開され、pct= などいくつかのタグが廃止されています。既存の設定を見直す機会に確認しておくと安心です。
NS / SOAレコード:ゾーンの管理情報
$ dig ... example.test NS
example.test. 3600 IN NS ns1.example.test.
example.test. 3600 IN NS ns2.example.test.
$ dig ... example.test SOA
example.test. 3600 IN SOA ns1.example.test. hostmaster.example.test. 2026092801 7200 1800 1209600 300
NSはそのゾーンを管理する権威DNSサーバー、SOAはゾーン全体の管理情報です。 SOAの数値は左から次の意味です。
| 値 | 項目 | 意味 |
|---|---|---|
2026092801 |
serial | ゾーンのバージョン。変更のたびに増やす(日付+連番が一般的) |
7200 |
refresh | セカンダリが更新を確認する間隔(秒) |
1800 |
retry | 確認に失敗したときの再試行間隔 |
1209600 |
expire | プライマリと通信できない状態で、セカンダリが応答を続ける期限 |
300 |
minimum | ネガティブキャッシュのTTL(後述) |
CAAレコード:証明書を発行できる認証局を限定する
$ dig ... example.test CAA
example.test. 3600 IN CAA 0 iodef "mailto:security@example.test"
example.test. 3600 IN CAA 0 issue "ca.example.net"
CAA(Certification Authority Authorization)は、このドメインの証明書を発行してよい認証局を指定するレコードです(RFC 8659)。 認証局は発行前にCAAを確認することが義務づけられており、ここに載っていない認証局は発行を控えます。issue は通常の証明書、issuewild はワイルドカード証明書、iodef は違反の報告先です。CAAを設定したら、利用中の認証局を必ず含めておくと、更新時の発行エラーを防げます。
SRVレコード:サービスのホストとポート
$ dig ... _sip._tcp.example.test SRV
_sip._tcp.example.test. 3600 IN SRV 10 60 5060 sip.example.test.
名前は _サービス._プロトコル.ドメイン の形で、値は「優先度 重み ポート ホスト名」です(RFC 2782)。 同じ優先度の中では重みの比率で振り分け、ポートも伝えられるのが特徴です。
HTTPS(SVCB)レコード:接続方法を事前に伝える
$ dig ... example.test HTTPS
example.test. 3600 IN HTTPS 1 . alpn="h2,h3" ipv4hint=192.0.2.10
HTTPSレコードは、HTTPSで接続する前に「HTTP/3に対応している」「このIPで接続できる」などの情報を伝えるレコードです(RFC 9460、汎用形がSVCB)。 先頭の数字が 1 以上なら接続情報を持つ「ServiceMode」、0 なら別名を示す「AliasMode」です。. は「この名前自身」を意味します。
| パラメータ | 意味 |
|---|---|
alpn |
使えるプロトコル(h2=HTTP/2、h3=HTTP/3) |
ipv4hint / ipv6hint |
接続先IPのヒント(A/AAAAの問い合わせを待たずに接続を始められる) |
ech |
暗号化されたClient Hello(ECH)の設定 |
AliasMode(優先度0)はapexにも置けるため、後述の「apexにCNAMEを置けない」問題の標準的な解決策として期待されています。
PTRレコード:逆引き
$ dig @127.0.0.1 -p 7063 +noall +answer -x 192.0.2.10
10.2.0.192.in-addr.arpa. 3600 IN PTR example.test.
IPアドレスを逆順に並べ、in-addr.arpa(IPv6は ip6.arpa)を付けた名前で問い合わせます。 逆引きゾーンは通常、IPアドレスを割り当てた側(クラウドやプロバイダ)が管理するため、設定はその管理画面や申請で行います。メールサーバーでは、正引き(A)と逆引き(PTR)が一致していることが受信側の確認項目になることが多いです。
CNAMEのルール:apexに置けない・他のレコードと共存できない
CNAMEを設定した名前には、ほかのレコードを一切置けません。 apex(example.test そのもの)には必ずSOAとNSがあるため、結果としてapexにCNAMEは置けません。実際にゾーンを作って確かめました。
失敗例1:apexにCNAME
@ IN NS ns1.example.test.
@ IN CNAME lb.example.net.
$ named-checkzone example.test bad1.zone
dns_master_load: bad1.zone:5: example.test: CNAME and other data
zone example.test/IN: loading from master file bad1.zone failed: CNAME and other data
zone example.test/IN: not loaded due to errors.
失敗例2:CNAMEとTXTを同じ名前に置く
ドメイン所有確認のTXTを、CNAME設定済みの www に追加しようとするケースです。
www IN CNAME lb.example.net.
www IN TXT "verify=abc123"
$ named-checkzone example.test bad2.zone
dns_master_load: bad2.zone:6: www.example.test: CNAME and other data
zone example.test/IN: not loaded due to errors.
どちらも「CNAME and other data」でゾーン全体が読み込まれませんでした。 管理画面型のDNSサービスでは登録時にエラーになるのが一般的です。
警告例:MXの向け先がCNAME
$ named-checkzone example.test bad3.zone
zone example.test/IN: example.test/MX 'mail.example.test' is a CNAME (illegal)
zone example.test/IN: loaded serial 1
OK
こちらは読み込みは成功しますが、「MXの向け先がCNAME」は仕様上認められない(illegal)と警告されます。 MX・NSの値には、A/AAAAを持つホスト名を直接指定しましょう。
apexを外部サービスに向けたいときの選択肢
| 方法 | しくみ | 注意点 |
|---|---|---|
| A/AAAAを直接登録 | サービスが公開する固定IPを登録 | IP変更時に手動で更新が必要 |
| ALIAS / ANAME / CNAMEフラットニング | DNSサービスが裏で別名先を解決し、A/AAAAとして応答 | DNSサービス独自の機能。標準レコードではない |
| HTTPSレコードのAliasMode | @ IN HTTPS 0 lb.example.net. |
対応しているクライアントのみ有効。A/AAAAも併用する |
www 付きを正とする |
apexは www へリダイレクト |
apex用のWebサーバー(またはリダイレクト機能)が必要 |
TTLと「DNS伝播」の正体
「DNSの変更が伝播するまで待つ」と言われるものの正体は、各地のキャッシュDNSが持っている古いデータのTTLが切れるのを待つことです。 変更が能動的に配られるわけではありません。キャッシュDNS(ポート7064)を通して確かめました。
## 1回目の問い合わせ(権威DNSから取得、TTL=300)
short.example.test. 300 IN A 192.0.2.30
## 5秒後(キャッシュから応答、TTLが減っている)
short.example.test. 295 IN A 192.0.2.30
## ここで権威DNS側を 192.0.2.31 に変更して再読み込み
$ dig @127.0.0.1 -p 7063 +noall +answer short.example.test A
short.example.test. 300 IN A 192.0.2.31
## キャッシュDNSに聞くと、まだ古い値(残りTTL 293秒)
short.example.test. 293 IN A 192.0.2.30
権威DNSはすでに新しい値を返しているのに、キャッシュDNSは残りTTLが0になるまで古い値を返し続けました。 世界中のキャッシュDNSがそれぞれ違うタイミングで取得しているため、「場所によって切り替わる時刻が違う」ように見えます。
切り替えを速くしたいときの手順は次のとおりです。
- 変更予定日の前に、TTLを短く(例:300秒)しておく。 元のTTL(例:3600秒)が経過するまで待つ
- レコードを変更する(切り替えは最大300秒で行き渡る)
- 安定したらTTLを元に戻す
なお、NSレコードの変更(DNSサーバーの移管)は、親ゾーン(TLD側)のNSのTTLにも左右されます。 親側のTTLは自分では短くできないため、旧DNSサーバーもしばらく同じ内容で動かしておくと、移行が安全に進みます。
ネガティブキャッシュ:存在しない名前もキャッシュされる
「その名前は存在しない(NXDOMAIN)」という回答もキャッシュされます。これをネガティブキャッシュと呼びます(RFC 2308)。 保持時間は、SOAのminimum値とSOAレコード自身のTTLのうち小さいほうです。
## まだ登録していない new.example.test を問い合わせる
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN
example.test. 300 IN SOA ns1.example.test. ... 2026092801 7200 1800 1209600 300
## 権威DNSに new.example.test(192.0.2.99)を追加して再読み込み
$ dig @127.0.0.1 -p 7063 +noall +answer new.example.test A
new.example.test. 60 IN A 192.0.2.99
## キャッシュDNSに再度問い合わせると、まだ NXDOMAIN(残り298秒)
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN
example.test. 298 IN SOA ns1.example.test. ... 2026092801 7200 1800 1209600 300
新しいレコードは追加したのに、事前に一度問い合わせていたキャッシュDNSでは、ネガティブキャッシュのTTL(300秒)が切れるまで「存在しない」と返り続けました。 新しいサブドメインを公開するときは、レコードを作る前に動作確認で問い合わせないか、SOAのminimumを短めにしておくとスムーズです。
なお、名前は存在するがその型のレコードがない場合(例:api.example.test のAAAA)は、NXDOMAIN ではなく status: NOERROR で回答が0件(NODATA)になることも確認しました。
よくある設定ミス早見表
| よくある設定ミス | 起きること | こうするとよい |
|---|---|---|
| apexにCNAME | ゾーンが読み込まれない(CNAME and other data) | A/AAAA、ALIAS、HTTPS AliasModeを使う |
| CNAMEと同じ名前にTXTやMX | 同上 | 所有確認のTXTは別のサブドメインにするか、CNAMEをやめる |
名前の末尾の . 忘れ |
mail.example.test.example.test. になる |
FQDNは末尾に . を付ける |
| MXやNSの向け先がCNAME | 仕様違反。配送に失敗する場合がある | A/AAAAを持つホスト名を指定 |
| MXにIPアドレスを書く | 登録できない、または正しく動かない | ホスト名を指定し、そのAを別に登録 |
| SPFを2つ登録 | SPFの検証が失敗(permerror) | 1レコードにまとめる |
SPFの include: の入れすぎ |
DNS参照10回の上限を超えて失敗 | 不要なincludeを整理 |
| CAAに利用中の認証局がない | 証明書の更新で発行されない | issue に利用中の認証局を追加 |
| SOAのserialを上げ忘れ | セカンダリDNSに変更が反映されない | 変更のたびにserialを増やす |
| TTLを長いまま切り替え | 旧IPへのアクセスが長く続く | 事前にTTLを短くしておく |
digとnslookupの対応表
Windows標準の nslookup でも同じ確認ができます。 今回のローカル環境で実行したnslookupの出力は次のとおりです。
$ nslookup -port=7063 -type=MX example.test 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#7063
example.test mail exchanger = 10 mail.example.test.
example.test mail exchanger = 20 mail2.example.test.
| やりたいこと | dig | nslookup |
|---|---|---|
| Aレコードを引く | dig example.test |
nslookup example.test |
| 型を指定 | dig example.test MX |
nslookup -type=MX example.test |
| DNSサーバーを指定 | dig @8.8.8.8 example.test |
nslookup example.test 8.8.8.8 |
| 逆引き | dig -x 192.0.2.10 |
nslookup 192.0.2.10 |
| TTLを確認 | 標準で表示 | nslookup -debug example.test |
| ルートからたどる | dig +trace example.test |
(対応なし) |
TTLやフラグ(aa)まで一目で確認できるため、原因調査にはdigが便利です。
よくある質問
Q. CNAMEとAレコードはどちらを使えばよいですか? A. 自分でIPアドレスを管理しているならA、外部サービスなど向け先のIPが変わりうるならCNAMEが基本です。ただしapexにはCNAMEを置けないため、apexはA/AAAAか、DNSサービスのALIAS機能、HTTPSレコードのAliasModeを使います。
Q. DNSの変更が反映されるまで何時間かかりますか? A. 変更前のレコードのTTLが上限の目安です。 TTLが3600秒なら最大1時間、86400秒なら最大1日、古い値が残る可能性があります。今回の実験でも、キャッシュDNSは残りTTLが切れるまで古い値を返しました。NSの変更は親ゾーン側のTTLも関係します。
Q. HTTPSレコードは設定したほうがよいですか? A. HTTP/3を提供している場合や、ECHを使いたい場合に効果があります。 対応していないクライアントはHTTPSレコードを無視してA/AAAAで接続するため、A/AAAAを残したうえで追加する形なら、既存の利用者に影響を与えずに導入できます。
Q. 追加したばかりのサブドメインが「存在しない」と言われます。
A. ネガティブキャッシュの可能性があります。 追加前に問い合わせていた場合、SOAのminimum(今回は300秒)が経過するまで NXDOMAIN が返ります。権威DNSに dig @権威DNS 名前 +norec で直接聞いて正しく登録されているか確認し、あとは時間が経つのを待ちましょう。
まとめ
- DNSレコードは用途ごとに型がある:A/AAAA(IP)、CNAME(別名)、MX(メール)、TXT(認証)、NS/SOA(管理)、CAA(証明書)、SRV(ポート)、HTTPS(接続情報)、PTR(逆引き)
- digの
status・flags aa・TTL を読めば、どこから来た回答かがわかる - CNAMEは他のレコードと共存できず、apexに置けない(実際に「CNAME and other data」で読み込み失敗)
- 「DNS伝播」の正体はキャッシュのTTL切れ待ち。切り替え前にTTLを短くしておく
- 存在しない名前もネガティブキャッシュされる。保持時間はSOAのminimumとSOAのTTLの小さいほう
- CAAで認証局を限定し、HTTPSレコードでHTTP/3などを事前に伝えられる
- メール認証はSPF・DKIM・DMARCのTXT。DMARCは2026年5月の改訂版(RFC 9989)も確認しておく
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「DNSレコードの種類一覧|digの実出力で役割と設定ミスを確認」
株式会社RJCでは、手元に検証環境を作って仕組みを確かめる楽しさを、プロジェクトの中で仲間と学び合っています。こうした知識を共有しながら、日々技術を磨いています。
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。