開所1年

 ここに夜間営業事務所を出していれば、いろいろ特有の需要が見えてくるだろうから、それに合わせてビジネスモデルを考えようと思っていた。
 そう思ってまず適当に事務所を始めたまま、特に何も打ち出さずにもう1年が経ってしまった。

 具体的な事件等の類型という意味では、需要はあまり見えてこない。
 しかし、もっと広い視野で見るならば、思うところはある。

 人が、弁護士に相談に行くのは、どういう場合か?極端な例を挙げれば、「訴状が来た」といった場合。これは弁護士に相談すべきだとわかる。だから、法律事務所に行く。
 当たり前だが、弁護士に何かを依頼しに行くのは、その人が、弁護士に依頼しに行くべきだと判断したからだ。
 これでは、言ってみれば、弁護士に依頼した方がよいかどうかの判断を、弁護士に依頼したらどうなるかを知らないクライアントに委ねていることになる。これで社会生活が上手くいくとは思えない。実際、手遅れになってから相談に来られる方は多い。
 相談に来るのを待っていたのでは、そうなる。
 解決策は、いろいろあり得ると思う。

 クライアントと接していて思う。個人にも中小企業にも、気軽に相談できる弁護士が欲しいと思っている人は多い。いや、少し語弊がある。例えば、いつでも気軽に相談できる敷居の低い法律事務所があればよいとか、弁護士を紹介してくれて弁護士費用をも出してくれる保険があればよいとか、そういうことではない。気軽に相談できる特定の弁護士が欲しいということだ。
 そういう弁護士がいれば、前述の問題の解決策の1つになる。だから、求められている。

 話にまとまりがないが、思考にまとまりがないので、仕方がない。

 ところで、事務所の設備も適当に作ったままなので、なんとかしたいとは思っている。
 まずこれ、ダサいと思う。
IMG_2057
 看板は、もうちょっとなんか、温かいデザインにしたい。

 次にこれ、壁を作りたいのか壁を作りたくないのかはっきりしたい。
IMG_2354
 もっとはっきり壁らしいパーティションを設置して、ホワイトボードはそこに貼り付けたい。

 などと思うが、なかなか手が回らない。

 話にまとまりがないが、これは日記なので、仕方がない。

OS XのMS Wordでの法律文書起案用JXA(JavaScript for Automation)スクリプト

はじめに

 今まで、法律文書のナンバリングに応じてインデントを自動設定するために、LibreOffice Basicでマクロを作り(法律文書起案用mi文法定義スクリプトとOpenOffice系マクロ)、VBA(MS Word)でマクロを作り(法律文書起案用MS Word用VBAマクロ)、その都度ソースコードをこのブログに置いてきました。
 そして今回、OS X(Macの現行OS)に備わったJavaScriptによる自動化機能、JavaScript for Automation(JXA)で、MS Wordのドキュメントに対して同じことをするスクリプトを作ってみましたので、またソースコードを置いておきます。JXAはOS X10.10 Yosemiteから使えるようです。OS X付属のScript Editorというアプリに貼り付ければ使えます(デフォルトの言語はJavaScriptではなくAppleScriptになっていますので注意)。
 MS Office 2016 for MacはまだちゃんとVBAが使えないようで(アップデートで徐々に改善されています)、私の作ったVBAも動きません。それで私も結局ずっと2011版を使っていたのですが、このJXAスクリプトなら2016版に対しても使えるわけです。まあ、2016版、まだ大きいバグとかあって使いにくいですけどね……。
 ちなみにVBAの方もLibreOffice Basicの方もたまに手を入れていて、その都度ブログ記事も更新して新しいソースコードを載せています。この記事もそうなると思います。
 Pagesでも同じようなことができたらそっち使いたいところなんですが、できないようですね。MS OfficeはVBAでできることがだいたいOS Xの自動化機能でもできるようです。JavaScriptなら正規表現も使えるし良いですね。

仕様

 MS Wordの選択範囲を処理します。
 例えば、段落頭の「第1 」「3 」「(2)ア 」などに応じてインデントを自動設定します。それに続く段落が「  」で始まれば、インデントを引き継ぎます(ぶら下がりは1字分だけになります)。フォントサイズは12ポイント。
 「① 」「② 」と列挙される場合は、その箇所が周囲より下がります。それに続く段落が「  」で始まれば、列挙前のインデントに戻ります。
 スペースが2つで始まって2つで終わる段落は中央揃えになります。スペースが3つで始まって3つで終わる段落は中央揃えの14ポイントになります。4つなら16ポイント。スペースは全角なら全部全角、半角なら全部半角と揃っていなければ効きません。
 スペースが2つで始まって1つで終わる段落は右揃え。
 なんかもう仕様を書くのもめんどくさい程度に大きくなってきました……(LibreOffice Basicの方もVBAの方もだいたい同じ仕様にアップデートしてあります。どれか1つに専念した方がいいとは思いますが)。

更新履歴

・2015年10月29日10時30分頃
 テンプレートから新規ドキュメントを作成して、そのドキュメントにクリップボードの中身をペーストして、インデントを自動設定する、という一連の流れを1つのスクリプトを実行するだけでできるようにしました。
 テンプレートごとに実行スクリプトを別に置くために、インデント自動設定部分を関数にしてライブラリに定義を置いたので、単純にこの記事からScript Editorにコードをコピペすれば動くというものではなくなってしまいました。
 そのライブラリを使って選択範囲にインデントを自動設定するだけのスクリプトも置いておきます。
・2015年10月29日11時頃
 実効速度が速くならないかなと思って、ライブラリの、正規表現とのマッチを試す文字列を短く切り取ってみました。少し速くなったような、変わっていないような。
・2015年10月29日13時40分頃
 段落頭の「第n 」「第n条」がないドキュメントは「1 」がトップレヴェル(左インデントが0)になるようにしました。
・2015年10月29日16時00分頃
 段落頭が全角スペース2つになる場合の処理が、3つでも4つでも同じように効いてしまっていた不具合を修正。
・2015年10月30日3時40分頃
 「段落頭の「第n 」「第n条」がないドキュメントは「1 」がトップレヴェルになるように」の処理のバグフィックス。
・2015年10月30日21時頃
 「段落頭の「第n 」「第n条」がないドキュメントは「1 」がトップレヴェルになるように」の処理のさらなるバグフィックス。
・2015年10月30日22時頃
 テンプレートから新規……のスクリプトで少し無駄なことをしていた(パスの表現をわざわざわかりにくい形式にしていた)ので修正。
・2015年10月31日18時頃
 中央揃えの段落のフォントサイズをもう一段階増やしました。両側にスペース5個で18ポイント。
 「① 」「② 」……の箇所は、必ずしも①から始めなくてもよいようにしました。
・2015年11月1日3時頃
 クリップボードの中身をプレーンテキストにしてからペーストするようにしました。
・2015年11月1日13時頃
 クリップボードの中身をプレーンテキストにしてからペーストする処理が間違っていたので直しました。

ライブラリ

 ”~/Library/Script Libraries/”に置きます。Script Librariesがなかったら作ります。スクリプトファイル自体には私は”kianLibrary”という名前をつけて置いています。
 引数として渡されたオブジェクトに対してインデント設定をする”kianIndent”という関数が定義されています。

function kianIndent (selection) {

var Word = new Application('Microsoft Word');
var paras = selection.paragraphs;

//トップレヴェルが「第n 」「第n条」か「n 」かの判定
var docStr = Word.activeDocument.textObject.content();
if ( /^第[0-9]+ /.test( docStr ) || /^第[0-9]+条/.test( docStr ) || /\r第[0-9]+ /.test( docStr ) || /\r第[0-9]+条/.test( docStr ) ) {	
	var top = 0;
} else {
	var top = -12;
}

for (var i = 0; i < paras.length; i++) {

	var paraStr = paras[i].textObject.content();
	var paraStrL = paraStr.substring( 0 , 7 );
	var paraStrR = paraStr.substring( paraStr.length -7 );
		
	//段落頭が全角スペース2つで始まる場合は前段落と同じにする
	if ( /^  [^ ]/.test( paraStrL ) && /[^ ]\r/.test( paraStrR ) && !/^[①-⑨] /.test( paras[i].previousParagraph().textObject.content() ) ) {
		paras[i].firstLineIndent = -12
		paras[i].paragraphLeftIndent = paras[i].previousParagraph().paragraphLeftIndent();
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	//ナンバリングの処理
	} else if ( /^第[0-9]+ /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -24
		paras[i].paragraphLeftIndent = 24;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^[0-9]+ /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -12
		paras[i].paragraphLeftIndent = top + 24;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^[0-9]+\([0-9]+\) /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -24
		paras[i].paragraphLeftIndent = top + 36;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^\([0-9]+\) /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -12
		paras[i].paragraphLeftIndent = top + 36;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^\([0-9]+\)[ア-ン] /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -24
		paras[i].paragraphLeftIndent = top + 48;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^[ア-ン]+ /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -12
		paras[i].paragraphLeftIndent = top + 48;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^[ア-ン]+\([ア-ン]+\) /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -24
		paras[i].paragraphLeftIndent = top + 60;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^\([ア-ン]+\) /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -12
		paras[i].paragraphLeftIndent = top + 60;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^\([ア-ン]+\)[a-z]+ /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -24
		paras[i].paragraphLeftIndent = top + 72;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^[a-z]+ /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -12
		paras[i].paragraphLeftIndent = top + 72;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^[a-z]+\([a-z]+\) /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -24
		paras[i].paragraphLeftIndent = top + 84;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^\([a-z]+\) /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -12
		paras[i].paragraphLeftIndent = top + 84;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	//「① 」から「⑨ 」が列挙される場合は前段落より1字下げる
	} else if ( /^[①-⑨] /.test( paraStrL ) && !/^[①-⑨] /.test( paras[i].previousParagraph().textObject.content() ) ) {
		paras[i].firstLineIndent = -12
		paras[i].paragraphLeftIndent = paras[i].previousParagraph().paragraphLeftIndent() +12;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( /^[①-⑨] /.test( paraStrL ) ) {
		paras[i].firstLineIndent = -12
		paras[i].paragraphLeftIndent = paras[i].previousParagraph().paragraphLeftIndent();
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	//「① 」から「⑨ 」が列挙された後、「  」で始まる段落に続く場合は、列挙前のインデントに戻す
	} else if ( /^  [^ ]/.test( paraStrL ) && /[^ ]\r/.test( paraStrR ) && /^[①-⑨] /.test( paras[i].previousParagraph().textObject.content() ) ) {
		if ( !/^[①-⑨] /.test( paras[i].previousParagraph().previousParagraph().textObject.content() ) ) {
			paras[i].firstLineIndent = -12
			paras[i].paragraphLeftIndent = paras[i].previousParagraph().previousParagraph().paragraphLeftIndent();
			paras[i].alignment = "align paragraph left";
			paras[i].textObject.fontObject.fontSize = 12;
			paras[i].wordWrap = true;
		} else if ( !/^[①-⑨] /.test( paras[i].previousParagraph().previousParagraph().previousParagraph().textObject.content() ) ) {
			paras[i].firstLineIndent = -12
			paras[i].paragraphLeftIndent = paras[i].previousParagraph().previousParagraph().previousParagraph().paragraphLeftIndent();
			paras[i].alignment = "align paragraph left";
			paras[i].textObject.fontObject.fontSize = 12;
		} else if ( !/^[①-⑨] /.test( paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().textObject.content() ) ) {
			paras[i].firstLineIndent = -12
			paras[i].paragraphLeftIndent = paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().paragraphLeftIndent();
			paras[i].alignment = "align paragraph left";
			paras[i].textObject.fontObject.fontSize = 12;
		} else if ( !/^[①-⑨] /.test( paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().textObject.content() ) ) {
			paras[i].firstLineIndent = -12
			paras[i].paragraphLeftIndent = paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().paragraphLeftIndent();
			paras[i].alignment = "align paragraph left";
			paras[i].textObject.fontObject.fontSize = 12;
		} else if ( !/^[①-⑨] /.test( paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().textObject.content() ) ) {
			paras[i].firstLineIndent = -12
			paras[i].paragraphLeftIndent = paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().paragraphLeftIndent();
			paras[i].alignment = "align paragraph left";
			paras[i].textObject.fontObject.fontSize = 12;
		} else if ( !/^[①-⑨] /.test( paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().textObject.content() ) ) {
			paras[i].firstLineIndent = -12
			paras[i].paragraphLeftIndent = paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().paragraphLeftIndent();
			paras[i].alignment = "align paragraph left";
			paras[i].textObject.fontObject.fontSize = 12;
		} else if ( !/^[①-⑨] /.test( paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().textObject.content() ) ) {
			paras[i].firstLineIndent = -12
			paras[i].paragraphLeftIndent = paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().paragraphLeftIndent();
			paras[i].alignment = "align paragraph left";
			paras[i].textObject.fontObject.fontSize = 12;
		} else if ( !/^[①-⑨] /.test( paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().textObject.content() ) ) {
			paras[i].firstLineIndent = -12
			paras[i].paragraphLeftIndent = paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().paragraphLeftIndent();
			paras[i].alignment = "align paragraph left";
			paras[i].textObject.fontObject.fontSize = 12;
		} else if ( !/^[①-⑨] /.test( paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().textObject.content() ) ) {
			paras[i].firstLineIndent = -12
			paras[i].paragraphLeftIndent = paras[i].previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().previousParagraph().paragraphLeftIndent();
			paras[i].alignment = "align paragraph left";
			paras[i].textObject.fontObject.fontSize = 12;
		}
	//契約書用条数
	} else if ( /^第[0-9]+条/.test( paraStrL ) ) {
		paras[i].firstLineIndent = -12
		paras[i].paragraphLeftIndent = 12;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	//Align等をスペースで指定する場合
	} else if ( ( /^  [^ ]/.test( paraStrL ) && /[^ ] \r/.test( paraStrR ) ) || ( /^  [^ ]/.test( paraStrL ) && /[^ ] \r/.test( paraStrR ) ) ) {
		paras[i].firstLineIndent = 0
		paras[i].paragraphLeftIndent = 0;
		paras[i].alignment = "align paragraph right";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	} else if ( ( /^  [^ ]/.test( paraStrL ) && /[^ ]  \r/.test( paraStrR ) ) ||  ( /^  [^ ]/.test( paraStrL ) && /[^ ]  \r/.test( paraStrR ) ) ) {
		paras[i].firstLineIndent = 0
		paras[i].paragraphLeftIndent = 0;
		paras[i].alignment = "align paragraph center";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = false;
	} else if ( ( /^   [^ ]/.test( paraStrL ) && /[^ ]   \r/.test( paraStrR ) ) || ( /^   [^ ]/.test( paraStrL ) && /[^ ]   \r/.test( paraStrR ) ) ) {
		paras[i].firstLineIndent = 0
		paras[i].paragraphLeftIndent = 0;
		paras[i].alignment = "align paragraph center";
		paras[i].textObject.fontObject.fontSize = 14;
		paras[i].wordWrap = false;
	} else if ( ( /^    [^ ]/.test( paraStrL ) && /[^ ]    \r/.test( paraStrR ) ) || ( /^    [^ ]/.test( paraStrL ) && /[^ ]    \r/.test( paraStrR ) ) ) {
		paras[i].firstLineIndent = 0
		paras[i].paragraphLeftIndent = 0;
		paras[i].alignment = "align paragraph center";
		paras[i].textObject.fontObject.fontSize = 16;
		paras[i].wordWrap = false;
	} else if ( ( /^     [^ ]/.test( paraStrL ) && /[^ ]     \r/.test( paraStrR ) ) || ( /^     [^ ]/.test( paraStrL ) && /[^ ]     \r/.test( paraStrR ) ) ) {
		paras[i].firstLineIndent = 0
		paras[i].paragraphLeftIndent = 0;
		paras[i].alignment = "align paragraph center";
		paras[i].textObject.fontObject.fontSize = 18;
		paras[i].wordWrap = false;
	//何とも一致しなかった場合のデフォルトの段落
	} else {
		paras[i].firstLineIndent = 0
		paras[i].paragraphLeftIndent = 0;
		paras[i].alignment = "align paragraph left";
		paras[i].textObject.fontObject.fontSize = 12;
		paras[i].wordWrap = true;
	}
}
}
テンプレートから新規ドキュメント→ペースト→インデント設定関数を実行、のスクリプト

 テンプレートから新規ドキュメントし、ペーストし、ドキュメント全体にインデント設定関数を実行するスクリプトです。
 "filepath = "の後の部分には使いたいMS Wordテンプレートのホームディレクトリからのパスを指定します。
 上記ライブラリに"kianLibrary"という名前を付けて置いてあることが前提になっています。別の名前を付ける場合は、"Library('kianLibrary')"の中身を変えます。

//使いたいMS Wordテンプレートのホームディレクトリからのパスを指定。
var filePath = '/Dropbox/kiansaiban.dotx';
//予め"~/Library/Script Libraries/"に"kianLibrary"を置いておく
kianLibrary = Library('kianLibrary');

//アプリケーションを変数に格納
var Finder = new Application('Finder');
Finder.includeStandardAdditions = true;
var Word = new Application('Microsoft Word');

//テンプレートから新規ドキュメントを作成しつつMS Wordを起動
var folderPath = Finder.pathTo( 'home folder', {from:'user domain'} );
var doc = Word.createNewDocument({attachedTemplate:folderPath+filePath});
Word.activate();

//クリップボードの中身をプレーンテキストにしてペースト
Word.pasteSpecial (doc.textObject,{dataType:'paste text'});
//ドキュメント全体に対してインデント設定
kianLibrary.kianIndent(doc.textObject);
選択範囲にインデント設定関数を実行するスクリプト

 上記ライブラリに"kianLibrary"という名前を付けて置いてあることが前提になっています。別の名前を付ける場合は、"Library('kianLibrary')"の中身を変えます。

kianLibrary = Library('kianLibrary');
var Word = new Application('Microsoft Word');

kianLibrary.kianIndent(Word.selection);

家事事件に役立つ本-離婚編

(この記事は主に弁護士向けです。)

秋武憲ー『新版 離婚調停』日本加除出版2013年

お薦め度:☆☆☆☆☆

 家裁修習の時に裁判官に(個人的に、1対1の会話で)薦められました。曰く「たいていのことはこれに書いてある」。
 弁護士になって最初はまずこれを見ていたのですが、次第に物足りなさを感じるようになり、他の本を参照するようになっていき、最近はあまり見ていません。しかし、この記事を書くにあたりちょっと読んでみると、本当に、たいていのことはこれに書いてあるなと思いました。ただ、薄い本なのでそれぞれの記述は短いかもしれません。
 「離婚調停」というタイトルにはなっていますが、離婚に関する調停(もちろん、離婚そのものだけを目的とする調停に限りません)に関係する実体法の問題を実務的な観点から網羅しているといった印象です。実体法の本だと思ってもいい、と言っても過言ではないと思います。

秋武憲一・岡健太郎 編著『離婚調停・離婚訴訟[改訂版]』青林書院2013年

お薦め度:☆☆

 訴訟のことも書いてあるという点と、別の本であるという点で、上記『新版 離婚調停』を補完するつもりで使っています。

二宮周平・榊原富士子『離婚判例ガイド[第3版]』有斐閣2015年

お薦め度:☆☆☆☆☆

 私の最近のお気に入りです。
 タイトルから、判例を列挙して解説している本かと思ってしばらく素通りしていたのですが、もったいないことをしていました。手に取って読んでみると、実体法・手続法・実務の解説をした後で判例を紹介して理解を深めさせてくれる、といった本でした。

金子修 編著『逐条解説 家事事件手続法』商事法務2013年

お薦め度:☆☆☆☆☆

 家事事件手続法に関しては、これに全て書いてあります。当たり前ですね。
 はしがきから引用すると、「新たな家事事件手続法の全条文について、立案に携わった者が、条文ごとに解説することを試みたものです。」
 内容が充実しているので、家事事件手続法に関してはこれ一冊でいいかもしれないとも思います。

秋武憲一 編著『概説 家事事件手続法』青林書院2012年

お薦め度:☆☆☆☆

 現行の家事事件手続法が施行される前に、5人の裁判官が書いた本です。そう書くと、今読む必要はないのではないかという気もしますが、私は結構参照しています。事件類型ごとの手続を概観するには良い本です。

高橋信幸・藤川朋子『子の親権・監護の実務』青林書院2015年

お薦め度:☆☆☆☆☆

 タイトルどおり、子の親権・監護の実務についてしか書いていない本ですが、その分詳しいです。実務がよくわかります。
 特筆すべきは、家庭裁判所調査官である藤川朋子氏が執筆している第6章「離婚時における子の問題への家庭裁判所調査官の関与」でしょう。家庭裁判所調査官自身の手によって、家庭裁判所調査官が何を考えて職務に当たっているかが詳しく書かれています。

岡口基一『要件事実マニュアル第5巻(第4版)家事事件・人事訴訟・DV』ぎょうせい2013年


お薦め度:☆☆☆☆
 若手弁護士に圧倒的存在感を誇る、言わずと知れた要件事実マニュアルです。
 要件事実マニュアルシリーズには、(1)手っ取り早く要件事実がわかる(2)どこにどういう文献があるかわかる、という2種類の効用があります。家事事件についてはその性質上(1)の利用がそれほどは求められないわけですが、(2)に使えるので、結局便利です。便利ですが、家事事件は学説より実務が重要な世界だと思うので、(2)についてもそれほど役に立った印象はないですね。しかし、これがないと文献に辿り着けないので、必携ではあります。
 なんかはっきりしないことを書いてしまっていますが、要するに、あまり役に立った印象を持ってはいないが、必携だ、ということですね。

二田伸一郎・小磯治『書式 家事事件の実務[全訂10版]』民事法研究会2014年

 お薦め度:☆☆☆☆☆

 書記官が書いた本です。「書式」と題されてはいますが、申立書式部分は本人向けのもので、弁護士にはあまり役に立ちません。調停条項例の記載などは役に立つと思います。
 それよりも、書式以外の部分が良いのです。事件類型ごとに、申立人・管轄・手数料から始まって、実体法上・手続法上重要なことが簡潔に(もちろん記述は薄いですが)まとまっています。「この申立をする場合、どういう流れになるんだったかな」と思った時にまず見ると便利です。

法律文書起案用MS Word用VBAマクロ

Office 2016 for Macがいつの間にか出ていた

 7月からOffice 2016 for Macが出ていたんですね。Office 365ユーザー向けで。気付いていませんでした。私(当事務所)はOffice 365 Businessを利用していますので、使えます。

良かったのでメインで使おうと思った

 早速、使ってみました。
 少し試してみたところ、弁護士用に配布されている書式(おそらくWindows版のMS Officeで作られたものでしょう)との互換性が、Office for Mac 2011と比べて良くなっているように思います。あと、UIが美しいです。
 私(当事務所)は他人が作った書式を利用するとき以外はLibreOfficeを使っていたのですが、これからはもうMS Officeをメインにしてもいいかな、と思いました。

私は今までLibreOfficeでマクロを使っていた

 LibreOfficeでは私はこういうマクロを作って(法律文書起案用mi文法定義スクリプトとOpenOffice系マクロ)使っていました。”第1 ”とか”1 ”とかの文字列に反応してインデントを自動設定するマクロです。まずテキストエディタ(具体的にはmi)で起案して(プレーンテキストですが、この際にもスクリプトで色分け表示されます)、それをLibreOfficeにコピペしてマクロでインデントをつけて提出するわけです。

VBAでMS Word用にマクロを作り直した

 MS Officeに移行するならVBAでマクロを作り直さないとな、と思って、昨日VBAの入門書を買ってきて勉強して、マクロを作ってみました。
 前回のLibreOffice用マクロでは”第1 ”等の文字列に反応してスタイルを指定するというものでした。しかし、それでは、テンプレートファイルと連携を取る必要があってちょっと使い勝手が悪く感じたので、今回はスタイルに依存せずに直接マクロからインデントを指定しています。あと前回は文書全体に処理をかけていましたが、今回は選択範囲だけです。
【2015年10月26日追記】
 LibreOffice用マクロの方を、この記事のMS Word用マクロとほぼ同じ仕様に書き換えました。
【2015年10月26日追記終わり】

ところが、今のバージョンでは使えなかった

 ところが!Office 2016 for MacではVBE(マクロの開発環境)周りを作り直そうとしているようですね。そしてまだ作っている途中のようで、今のバージョンのOffice 2016 for MacではVBEにほとんど機能がない状態です。それでも、一旦Office for Mac 2011でマクロを作って、それをコピペするなりしてOffice 2016 for Macに持ってくればいいんじゃないかな、と思って、Office for Mac 2011で作ってみたんですけど、なんか100行ぐらいしかペーストできなかったんですよね……。だから、一応作ったし機能は今までのLibreOffice用のやつより気に入っているんですが、まだ私は実務で使えていません。これからも当分使わないでしょう。なんだそれ。

仕様(平成27年10月25日に少し変更)

 一応説明しておきますが、”第1 ”とか”(1) ”とかで始まる段落とそれに続く全角スペース2個で始まる段落にはまあ法律文書として普通のインデントが付いて、フォントが12ポイントになります。段落頭のナンバリングは、原則として全角で、括弧は半角で、括弧内の英数字は半角です。
 全角又は半角の、スペースが2個で始まり1個で終わる段落は右に寄せられ、スペースが2個で始まり2個で終わる段落は真ん中に寄せられ、スペースが3個で始まり3個で終わる段落は真ん中に寄せられた上でフォントが14ポイントになり、スペースが4個で始まり4個で終わる段落は真ん中に寄せられた上でフォントが16ポイントになります。
 選択範囲が処理されます。

結語

 とりあえず当記事に置いておくので、参考にする人はしてください。
 私はまだ使っていないので、細かい調整は必要かもしれません。
 改良したらまたこの記事も書き直しに来ます。

【2015年10月25日追記】
 結局、このマクロ作って以来、MS Office for Mac 2011でこれを使って仕事しています。MS Office 2016 for MacのVBEはアップデートのたびに少しずつ機能が実装されているんですが、あまり多くの行を書けないのは直ってません。早く2016に完全移行したいです。

更新履歴

・2015年8月11日22時頃
 段落が何とも一致しなかった場合の処理を、最初に一律でやってしまうのではなく、一致があったかどうかをBoolean型の変数で管理して一致がなかった場合にだけ最後にやることにしました。
・2015年8月12日2時30分頃
 WordWrapの設定を追加することで、中央揃えにした時に文字が中央に来ない不具合を直しました。
・2015年10月25日22時頃
 Like演算子というものを今日知ったので、それで全面的に書き直しました。ついでに、何とも一致しなかった場合にデフォルトの段落になるようにして、段落頭に全角スペースが2つ並ぶと前段落と同じインデントがつく(前段落「第n 」の場合を除く)という仕様に変更しました。
・2015年10月26日2時頃
 Like演算子を使って最後の方の「Align等をスペースで指定する場合」を書き直して処理が無駄なく速くなるようにしました。
・2015年10月27日1時30分頃
 ElseIfを使って書き直しました。
・2015年10月27日19時20分頃
 「2(1) 」や「(3)ア 」等の表現に対応しました。
 「① 」〜「⑨ 」が列挙される際、①の前の段落と比較して1字下がるようにしました。
・2015年10月28日13時頃
 「① 」〜「⑨ 」が列挙された後、頭が「  」の段落に続くと、「① 」〜「⑨ 」が列挙される前のインデントに戻るようにしました。
・2015年10月29日22時30分頃
 スペースで指定する箇所のバグフィックス。


Sub Kian()

Dim para  As Paragraph
Dim paraStr As String

'選択範囲の各段落を取り出す
For Each para In Selection.Paragraphs
    
    paraStr = Left(para.Range, Len(para.Range) - 1)

    '段落頭がスペース2つで始まる場合は前段落と同じ状態にする
    If Left(paraStr, 2) = "  [! ]" And Right(paraStr, 1) Like "[! ]" Then
        para.FirstLineIndent = -12
        para.LeftIndent = para.Previous.LeftIndent
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True
    
    '段落頭文字と一致した場合の処理
    ElseIf Left(paraStr, 3) Like "第[1-9] " Or Left(paraStr, 4) Like "第[0-9][0-9] " Then
        para.FirstLineIndent = -24
        para.LeftIndent = 24
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True

    ElseIf Left(paraStr, 2) Like "[0-9] " Or Left(paraStr, 3) Like "[0-9][0-9] " Then
        para.FirstLineIndent = -12
        para.LeftIndent = 24
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True
    
    ElseIf Left(paraStr, 5) Like "[0-9]([0-9]) " Or Left(paraStr, 6) Like "[0-9]([0-9][0-9]) " Or Left(paraStr, 6) Like "[0-9][0-9]([0-9]) " Or Left(paraStr, 7) Like "[0-9][0-9]([0-9][0-9]) " Then
        para.FirstLineIndent = -24
        para.LeftIndent = 36
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True

    ElseIf Left(paraStr, 4) Like "([0-9]) " Or Left(paraStr, 5) Like "([0-9][0-9]) " Then
        para.FirstLineIndent = -12
        para.LeftIndent = 36
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True
        
    ElseIf Left(paraStr, 5) Like "([0-9])[ア-ン] " Or Left(paraStr, 6) Like "([0-9][0-9])[ア-ン] " Then
        para.FirstLineIndent = -24
        para.LeftIndent = 48
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True

    ElseIf Left(paraStr, 2) Like "[ア-ン] " Then
        para.FirstLineIndent = -12
        para.LeftIndent = 48
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True
        
    ElseIf Left(paraStr, 5) Like "[ア-ン]([ア-ン]) " Then
        para.FirstLineIndent = -24
        para.LeftIndent = 60
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True

    ElseIf Left(paraStr, 4) Like "([ア-ン]) " Then
        para.FirstLineIndent = -12
        para.LeftIndent = 60
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True
        
    ElseIf Left(paraStr, 5) Like "([ア-ン])[a-z] " Then
        para.FirstLineIndent = -24
        para.LeftIndent = 72
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True

    ElseIf Left(paraStr, 2) Like "[a-z] " Then
        para.FirstLineIndent = -12
        para.LeftIndent = 72
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True
        
    ElseIf Left(paraStr, 5) Like "[a-z]([a-z]) " Then
        para.FirstLineIndent = -24
        para.LeftIndent = 84
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True

    ElseIf Left(paraStr, 4) Like "([a-z]) " Then
        para.FirstLineIndent = -12
        para.LeftIndent = 84
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True
        
    '段落頭が「① 」ないし「⑨ 」の場合は前段落より1字下げる
    ElseIf Left(paraStr, 2) = "① " Then
        para.FirstLineIndent = -12
        para.LeftIndent = para.Previous.LeftIndent + 12
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True
        
    ElseIf Left(paraStr, 2) Like "[②-⑨] " Then
        para.FirstLineIndent = -12
        para.LeftIndent = para.Previous.LeftIndent
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True

    '契約書用条文番号
    ElseIf Left(paraStr, 3) Like "第[0-9]条" Or Left(paraStr, 4) Like "第[0-9][0-9]条" Then
        para.FirstLineIndent = -12
        para.LeftIndent = 12
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True

    'Align等を半角スペースで指定する場合
    ElseIf Left(paraStr, 3) Like "  [! ]" And Right(paraStr, 2) Like "[! ] " Then
        para.FirstLineIndent = 0
        para.LeftIndent = 0
        para.Alignment = wdAlignParagraphRight
        para.Range.Font.Size = 12
        para.WordWrap = True

    ElseIf Left(paraStr, 3) Like "  [! ]" And Right(paraStr, 3) Like "[! ]  " Then
        para.FirstLineIndent = 0
        para.LeftIndent = 0
        para.Alignment = wdAlignParagraphCenter
        para.Range.Font.Size = 12
        para.WordWrap = False

    ElseIf Left(paraStr, 4) Like "   [! ]" And Right(paraStr, 4) Like "[! ]   " Then
        para.FirstLineIndent = 0
        para.LeftIndent = 0
        para.Alignment = wdAlignParagraphCenter
        para.Range.Font.Size = 14
        para.WordWrap = False

    ElseIf Left(paraStr, 5) Like "    [! ]" And Right(paraStr, 5) Like "[! ]    " Then
        para.FirstLineIndent = 0
        para.LeftIndent = 0
        para.Alignment = wdAlignParagraphCenter
        para.Range.Font.Size = 16
        para.WordWrap = False

    'Align等を全角スペースで指定する場合
    ElseIf Left(paraStr, 3) Like "  [! ]" And Right(paraStr, 2) Like "[! ] " Then
        para.FirstLineIndent = 0
        para.LeftIndent = 0
        para.Alignment = wdAlignParagraphRight
        para.Range.Font.Size = 12
        para.WordWrap = True

    ElseIf Left(paraStr, 3) Like "  [! ]" And Right(paraStr, 3) Like "[! ]  " Then
        para.FirstLineIndent = 0
        para.LeftIndent = 0
        para.Alignment = wdAlignParagraphCenter
        para.Range.Font.Size = 12
        para.WordWrap = False

    ElseIf Left(paraStr, 4) Like "   [! ]" And Right(paraStr, 4) Like "[! ]   " Then
        para.FirstLineIndent = 0
        para.LeftIndent = 0
        para.Alignment = wdAlignParagraphCenter
        para.Range.Font.Size = 14
        para.WordWrap = False

    ElseIf Left(paraStr, 5) Like "    [! ]" And Right(paraStr, 5) Like "[! ]    " Then
        para.FirstLineIndent = 0
        para.LeftIndent = 0
        para.Alignment = wdAlignParagraphCenter
        para.Range.Font.Size = 16
        para.WordWrap = False

    '何とも一致しなかった場合はデフォルトの段落
    Else
        para.FirstLineIndent = 0
        para.LeftIndent = 0
        para.Alignment = wdAlignParagraphLeft
        para.Range.Font.Size = 12
        para.WordWrap = True

    End If
    
    '段落頭が「① 」ないし「⑨ 」の段落が終わった後の段落頭が「  」の段落のインデントをその前の状態に戻す
    If Not para.Previous Is Nothing Then
        If Left(paraStr, 3) Like "  [! ]" And Right(paraStr, 1) Like "[! ]" And Left(para.Previous.Range, 2) Like "[①-⑨] " Then
            If Not Left(para.Previous.Previous.Range, 2) Like "[①-⑨] " Then
                para.FirstLineIndent = -12
                para.LeftIndent = para.Previous.Previous.LeftIndent
                para.Alignment = wdAlignParagraphLeft
                para.Range.Font.Size = 12
                para.WordWrap = True
            ElseIf Not Left(para.Previous.Previous.Previous.Range, 2) Like "[①-⑨] " Then
                para.FirstLineIndent = -12
                para.LeftIndent = para.Previous.Previous.Previous.LeftIndent
                para.Alignment = wdAlignParagraphLeft
                para.Range.Font.Size = 12
                para.WordWrap = True
            ElseIf Not Left(para.Previous.Previous.Previous.Previous.Range, 2) Like "[①-⑨] " Then
                para.FirstLineIndent = -12
                para.LeftIndent = para.Previous.Previous.Previous.Previous.LeftIndent
                para.Alignment = wdAlignParagraphLeft
                para.Range.Font.Size = 12
                para.WordWrap = True
            ElseIf Not Left(para.Previous.Previous.Previous.Previous.Previous.Range, 2) Like "[①-⑨] " Then
                para.FirstLineIndent = -12
                para.LeftIndent = para.Previous.Previous.Previous.Previous.Previous.LeftIndent
                para.Alignment = wdAlignParagraphLeft
                para.Range.Font.Size = 12
                para.WordWrap = True
            ElseIf Not Left(para.Previous.Previous.Previous.Previous.Previous.Previous.Range, 2) Like "[①-⑨] " Then
                para.FirstLineIndent = -12
                para.LeftIndent = para.Previous.Previous.Previous.Previous.Previous.Previous.LeftIndent
                para.Alignment = wdAlignParagraphLeft
                para.Range.Font.Size = 12
                para.WordWrap = True
            ElseIf Not Left(para.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Range, 2) Like "[①-⑨] " Then
                para.FirstLineIndent = -12
                para.LeftIndent = para.Previous.Previous.Previous.Previous.Previous.Previous.Previous.LeftIndent
                para.Alignment = wdAlignParagraphLeft
                para.Range.Font.Size = 12
                para.WordWrap = True
            ElseIf Not Left(para.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Range, 2) Like "[①-⑨] " Then
                para.FirstLineIndent = -12
                para.LeftIndent = para.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.LeftIndent
                para.Alignment = wdAlignParagraphLeft
                para.Range.Font.Size = 12
                para.WordWrap = True
            ElseIf Not Left(para.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Range, 2) Like "[①-⑨] " Then
                para.FirstLineIndent = -12
                para.LeftIndent = para.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.LeftIndent
                para.Alignment = wdAlignParagraphLeft
                para.Range.Font.Size = 12
                para.WordWrap = True
            ElseIf Not Left(para.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Range, 2) Like "[①-⑨] " Then
                para.FirstLineIndent = -12
                para.LeftIndent = para.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.Previous.LeftIndent
                para.Alignment = wdAlignParagraphLeft
                para.Range.Font.Size = 12
                para.WordWrap = True
            End If
        End If
    End If
    
Next

End Sub

留守電

 どこの法律事務所でもそうだと思いますが、忙しくしていると、電話中に電話がかかってきます。他の事務所は複数回線を導入しているのか、弁護士が他の電話に出ているときでも事務局には繋がることが多いです。しかし、うちの事務所では回線は1つで、事務員もいないので、電話中に電話がかかってくると留守番電話になります。移動中も留守番電話になります。さらに、うちの事務所では、原則として午前中に仕事をしないことにしているので、午前中にかかってきた電話は留守番電話になることが多いです。
 今まで、留守番電話には初期設定の応答音声を使っていたのですが、この間、警察官から「法律事務所に繋がっているという確信が持てなかったから被疑者のフルネームを言えなかった」と言われて、ああ初期設定では駄目なのかと思いました。
 事務所名を入れたオリジナルの応答音声を作ろう。しかし、自分で吹き込むのは下手なので良くないし恥ずかしい。喋りが上手い人に吹き込んでもらうのも面白くない。では合成音声を使おう。ニコニコ動画等で有名な「ゆっくり」なんか面白いんじゃないか?駄目だ。いや、これはライセンスを購入する必要がある。それもいいけどめんどくさい。
 というわけで、MacのOS Xの音声読み上げ機能の”KYOKO”で応答音声を作ってみました。

 (少し専門的なことを言うと、OS Xで作った音声そのものではなく、EQで高域を持ち上げた上で真空管モデリングのコンプレッサーを深めにかけています。)
 最近通訳の方と駅で待ち合わせをして警察署に接見に行く機会があったのですが、その待ち合わせの際に通訳の方がこれを聞いて「可愛い」と言ってくださって、まあ、私もたどたどしさが可愛いと思ってこれにしたのですが、違和感はあるのかなあ……と思いました(正確に言うと、これ今日作り直したので、その方が聞いたのはこれの前のヴァージョンですが)。
 留守番電話に繋がった時点で私と連絡を取ることを諦めてしまう方、後日連絡することにする方、等が結構いらっしゃるようなのですが、この可愛い音声に免じて(?)、ぜひ何か録音しておいてくださいね。折り返しますので。ちなみに発信元番号は吹き込まなくてもわかるようになっています。

事務所にいない

事務所にいない

 最近、あまり事務所にいません。
 事務所にいない時は事務所にいないことがわかるように照明を消しているので、外から見てわかります。おそらく電車から見てもわかると思います。そこまで見ている人がいるかは別にして。
 ビルの管理人さんに「最近おらんから……」等と、声色的にネガティヴなことのように言われ、うーんこれは何か釈明する必要があるのかなと思いました。

弁護士の仕事

 まず、弁護士っておそらく業界外の方が想像されるよりも、外に出ていることが多いんですよね。
 裁判所の手続きに行ったり、警察署に接見に行ったり。外で打ち合わせしたり。弁護士会の用事があったり。
 うちの事務所は事務員を雇っていないので、私はこれに加え、事務員の仕事としても外に出ています。郵便局に郵便を出しに行ったり、まあ、裁判所に行ったり弁護士会館に行ったり。
 そういうわけで、特にうちの事務所のように事務員がいなくて裁判所からも遠いとなると、仕事が忙しいだけでもうあまり事務所にいられなくなってくるんです。

じゃあ事務員を雇えよ

 じゃあ事務員を雇えよ、と思われそうですが、私はこれはやりたくないんですよ。
 全部自分の手でやりたいんです。

事務所の執務スペースの居心地

 5月初めまでは事務所には仕切りとなるものがないようにして、どこからでも全体が見渡せるようにしていたんですよ。開放感を演出したくて。
 しかし、5月初めにホワイトボードを買ってこれを仕切りとして、執務スペースと応接スペースを分けたんです。
IMG_2354
 そうすると執務スペース(写真のホワイトボードの裏側)が窮屈になってしまいまして。広さは変わっていないのですが、見晴らしが悪いだけで気が滅入ります。
 それで事務所にいる気がしなくなってきたんですね。

そもそもどこでも仕事ができるようにしてある

 事務所にいる気がしなくなったからといって事務所にいなくていいことにならないのが普通なのですが、私は開所当初から事務所にいなくても仕事ができるようにと考えてやっているんですよね。
 電話はIP電話で、インターネットが繋がる所ならどこでも発受信できます。FAXは事務所のパソコンで受信してそのまま自分宛にメールで送信するようにしています。書類はだいたいクラウドに置いています。
 事務所にいないとできないことは、人と会うことと、FAXを送信することと、郵便を受領することと、プリントアウトすることと、スキャンすることぐらいですね。
 それ以外のことは自宅でも弁護士会館でもナイロビのホテルでもできてしまうので、事務所の居心地が悪くなると事務所にいなくなってしまうわけです。

アポなしで来る人に顧客は少ない

 それでも、アポなしで客が来たらどうするの?と思われるかもしれませんが、今までアポなしでお客さんが来たのは1回だけです。あっ近所の依頼者で通りがかった時にちょっと寄っていく方がいますが、その方は除外で……。
 アポなしで来る人は、だいたい、本や判例検索システムの営業の人か、広告の営業の人か、信金の営業の人か、うちの事務所の上にある結婚相談所の社長ぐらいです。そういう人はまあ無視していいんです(社長すみませんいつもお世話になっています)。無視されてもいいからアポなしで来るわけで(営業の方すみませんお暑い中大変だとは思います)。

そういうわけで

 そういうわけで、最近あまり事務所にいないんですが、気持ち悪がられているだろうなあと思います。

開所7箇月

 今日は忙しかったから開所7箇月のことを忘れていた。慌てて書き始めたが、今日はほとんど食事も摂っていないので簡潔にしたい。早く何か胃に入れたい。
 いや、忙しかったというか、昨日の大雨によるJRのダイヤの乱れで無駄に時間を食っただけの気がするから、忙しかったという表現は変な気がする。いやまあ、どうでもよい。

虫がいなくなった

 多分2月頃から出続けていた羽虫が、多分7月に入ったぐらいからぱったり出なくなった。季節性のものらしい。また来年会いましょう。

水害

 昨日の大雨はひどかった。1階なのに雨漏りがして……それの片付けもあるので、まあ今日はこのへんで……