Claude Media
Claudeで日影規制と斜線制限の適用有無を敷地条件から洗う

Claudeで日影規制と斜線制限の適用有無を敷地条件から洗う

用途地域・高さ・軒の高さ・階数から、道路斜線・隣地斜線・北側斜線・日影規制のどれが検討対象かを建築基準法56条・56条の2・別表第四で洗い出す手順。判定表をClaude Codeに持たせ、条例の確認が要る箇所を残します。

日影規制と斜線制限は、どちらも建築物の高さを抑える規制ですが、かかる条件がまったく違います。斜線制限は建築基準法56条が定め、地域ごとに道路・隣地・北側の3種類に分かれます。日影規制は56条の2と別表第四が定め、地方公共団体の条例で指定された区域でしか効きません。

敷地の初期検討で困るのは、この「どれが検討対象か」を落とすことです。用途地域と高さ、軒の高さ、階数の4つが分かれば、検討対象の一覧までは機械的に出せます。この一覧づくりをClaudeに任せ、条例や特定行政庁の判断が要る箇所だけを人の確認に残す、という分担で手順を組みます。

斜線制限の3種は、地域ごとに対象が違う

斜線制限は建築基準法56条1項の3つの号です。号ごとに「どの地域の建築物か」が決まっています。

号通称対象になる地域高さの上限の考え方
1号通称道路斜線対象になる地域別表第三(い)欄に挙がる地域(用途地域の指定のない区域を含む)高さの上限の考え方前面道路の反対側の境界線までの水平距離に、別表第三(に)欄の数値を乗じた高さ
2号通称隣地斜線対象になる地域中高層住居専用・住居系・近隣商業・準工業・商業・工業・工業専用、高層住居誘導地区、用途地域の指定のない区域高さの上限の考え方20mまたは31mを超える部分に、隣地境界線からの距離に1.25か2.5を乗じた高さ制限
3号通称北側斜線対象になる地域低層住居専用地域・田園住居地域、中高層住居専用地域高さの上限の考え方真北方向の水平距離に1.25を乗じ、5mか10mを加えた高さ

表の読みどころは、地域によって「対象になる号」が変わる点です。

  • 道路斜線(1号)は別表第三(い)欄の地域すべてが対象です。前面道路がなければ検討する相手がないだけで、地域では外れません。
  • 隣地斜線(2号)のイ〜ニには、低層住居専用地域と田園住居地域が挙がっていません。低層系の敷地では、この号は最初から検討対象外です。
  • 北側斜線(3号)は低層系で5m、中高層住居専用地域で10mを加えます。ただし中高層住居専用地域は、条例が別表第四の二の項の号を指定している場合、この号の対象から除かれます。日影規制の条例指定が、北側斜線の有無を決める形です。

隣地斜線には、高さによる足切りもあります。数値が1.25とされる建築物では、20mを超える部分があるときに加算の規定が働きます。数値が2.5とされる建築物(近隣商業・準工業・商業・工業・工業専用など)は31mが基準です。住居系でも、特定行政庁が都道府県都市計画審議会の議を経て指定した区域では2.5になる場合があるため、住居系の敷地は指定の有無を自治体に確かめます。

日影規制は、条例の指定がなければ始まらない

日影規制(建築基準法56条の2)は、別表第四(い)欄の地域のうち、条例で指定された「対象区域」の中だけで効きます。同じ用途地域でも、自治体が指定していなければ日影規制の対象外です。条文は、冬至日の真太陽時で午前8時から午後4時まで(道の区域内は午前9時から午後3時まで)の間に、一定の高さの水平面へ落ちる日影を制限します。

別表第四は、地域ごとに「制限を受ける建築物」を次のように決めています。

項地域制限を受ける建築物測定面の高さ(平均地盤面から)
一地域低層住居専用地域・田園住居地域制限を受ける建築物軒の高さが7mを超える、または地階を除く階数が3以上測定面の高さ(平均地盤面から)1.5m
二地域中高層住居専用地域制限を受ける建築物高さが10mを超える測定面の高さ(平均地盤面から)4mまたは6.5m
三地域第一種・第二種住居地域・準住居地域・近隣商業地域・準工業地域制限を受ける建築物高さが10mを超える測定面の高さ(平均地盤面から)4mまたは6.5m
四地域用途地域の指定のない区域制限を受ける建築物イ:軒の高さが7mを超える、または地階を除く階数が3以上(1.5m)。ロ:高さが10mを超える(4m)測定面の高さ(平均地盤面から)イは1.5m、ロは4m

商業地域・工業地域・工業専用地域は、別表第四(い)欄に挙がっていません。この3地域の敷地そのものは日影規制の対象にならないということです。

許容される日影時間は、敷地境界線からの距離で2段階です。条文は、境界線から水平距離5mを超える範囲を測定の対象とし、10m以内と10m超で時間を分けています。

項号5m超〜10m以内10m超
一・二・四号(一)5m超〜10m以内3時間10m超2時間
一・二・四号(二)5m超〜10m以内4時間10m超2.5時間
一・二・四号(三)5m超〜10m以内5時間10m超3時間
三号(一)5m超〜10m以内4時間10m超2.5時間
三号(二)5m超〜10m以内5時間10m超3時間

道の区域内は、同じ号で10m以内の時間が1時間、10m超の時間が0.5時間ずつ短くなります。どの号を使うか、測定面を4mと6.5mのどちらにするかは、条例が決めます。表から読めるのは時間の候補までで、実際の数字は自治体の条例を読むまで確定しません。

ここまでを整理すると、日影規制の検討対象かどうかは「用途地域・高さ系の条件・条例の指定」の3つが揃って初めて決まります。

用途地域と高さから、検討対象を一覧にする

条文の表を、敷地条件を入口にした一覧へ組み替えます。敷地ごとにこの形で出せれば、検討漏れは目で拾えます。

用途地域道路斜線隣地斜線北側斜線日影(条例指定時)
低層住居専用・田園住居道路斜線対象隣地斜線地域が挙がらない北側斜線対象(+5m)日影(条例指定時)軒高7m超または3階以上
中高層住居専用道路斜線対象隣地斜線20m超または31m超の部分北側斜線対象(+10m)。条例が二の項の号を指定すれば除外日影(条例指定時)高さ10m超
住居・準住居道路斜線対象隣地斜線20m超または31m超の部分北側斜線地域が挙がらない日影(条例指定時)高さ10m超
近隣商業・準工業道路斜線対象隣地斜線31m超の部分北側斜線地域が挙がらない日影(条例指定時)高さ10m超
商業・工業・工業専用道路斜線対象隣地斜線31m超の部分北側斜線地域が挙がらない日影(条例指定時)表に挙がらない
用途地域の指定なし道路斜線対象隣地斜線特定行政庁の区分で決まる北側斜線地域が挙がらない日影(条例指定時)イまたはロ(条例で指定)

低層住居専用地域の敷地を例にすると、道路斜線と北側斜線を見て、隣地斜線は外す、日影は条例の指定次第、という整理になります。この時点で見る相手が絞れるのが一覧の価値です。

判定ルールをスクリプトにして、Claudeに回させる

Claudeに「この敷地は日影規制の対象ですか」と素のまま聞くと、条文にない前提(条例の指定がある・ない)を補う余地が出ます。そこで、条文から起こした判定ルールを関数として固定し、敷地条件だけを入力にします。Claude Codeに書かせる場合も、次のような関数を土台にして、条文の該当箇所と突き合わせさせます。

import json
import sys
 
LOW = {"第一種低層住居専用地域", "第二種低層住居専用地域", "田園住居地域"}
MID = {"第一種中高層住居専用地域", "第二種中高層住居専用地域"}
RES = {"第一種住居地域", "第二種住居地域", "準住居地域"}
BIZ = {"近隣商業地域", "準工業地域"}
NONE = "用途地域の指定のない区域"
 
 
def check(s):
    z, h, eaves, fl = s["zone"], s["height_m"], s["eaves_m"], s["floors"]
    out = ["道路斜線(法56条1項1号): 前面道路があれば検討対象"]
    if z in LOW:
        out.append("隣地斜線(同2号): イ〜ニに地域が挙がらない → 対象外")
    elif z in MID | RES:
        out.append("隣地斜線(同2号イ): "
                   + ("20m超の部分あり → 対象" if h > 20
                      else "20m以下 → 対象外(数値2.5の指定区域は31m)"))
    elif z in BIZ or z in {"商業地域", "工業地域", "工業専用地域"}:
        out.append("隣地斜線(同2号ロ): "
                   + ("31m超の部分あり → 対象" if h > 31 else "31m以下 → 対象外"))
    else:
        out.append("隣地斜線(同2号ニ): 特定行政庁の区分を確認")
    if z in LOW:
        out.append("北側斜線(同3号): 対象(真北距離×1.25+5m)")
    elif z in MID:
        out.append("北側斜線(同3号): 対象(×1.25+10m)。条例が別表第四二項の"
                   "号を指定していれば対象外")
    else:
        out.append("北側斜線(同3号): 地域が挙がらない → 対象外")
    if not s.get("shadow_ordinance"):
        out.append("日影規制(法56条の2): 条例の指定区域でなければ対象外"
                   "(10m超は区域外から区域内への日影を確認)")
    elif z in LOW or z == NONE:
        hit = eaves > 7 or fl >= 3
        out.append("日影規制(別表第四): "
                   + ("対象(軒高7m超 または 3階以上)" if hit else "対象外"))
    elif z in MID | RES | BIZ:
        out.append("日影規制(別表第四): "
                   + ("対象(高さ10m超)" if h > 10 else "対象外(10m以下)"))
    else:
        out.append("日影規制(別表第四): 表に地域が挙がらない")
    return out
 
 
if __name__ == "__main__":
    print("\n".join(check(json.loads(sys.argv[1]))))

用途地域の指定のない区域は、別表第四の四の項でイとロのどちらを使うかが条例で決まるため、スクリプトはイの基準で判定します。ロ(高さ10m超)が指定された区域では、この分岐を書き換える必要があります。

中高層住居専用地域の高さ15m・5階の敷地で、日影の条例指定があるとして実行すると、次の結果になります(ファイルは zone_check.py として保存した場合)。

python3 zone_check.py '{"zone":"第一種中高層住居専用地域",
  "height_m":15,"eaves_m":14.2,"floors":5,"shadow_ordinance":true}'
道路斜線(法56条1項1号): 前面道路があれば検討対象
隣地斜線(同2号イ): 20m以下 → 対象外(数値2.5の指定区域は31m)
北側斜線(同3号): 対象(×1.25+10m)。条例が別表第四二項の号を指定していれば対象外
日影規制(別表第四): 対象(高さ10m超)

軒高6.5m・2階の低層住居専用地域の敷地では、同じ入力形式で北側斜線だけが残り、日影は対象外と出ます。

道路斜線(法56条1項1号): 前面道路があれば検討対象
隣地斜線(同2号): イ〜ニに地域が挙がらない → 対象外
北側斜線(同3号): 対象(真北距離×1.25+5m)
日影規制(別表第四): 対象外

この出力は、スクリプトが条文の表を機械的に引いた結果です。Claudeに任せる範囲は、敷地台帳から入力のJSONを作ること、出力を敷地ごとの検討メモに整えること、条文の該当箇所と食い違わないかを照合することまでです。

条文の取得はe-Gov法令APIで固定する

判定表を覚えているままの記憶で書かせると、号の取り違えが起きます。条文は取得して突き合わせさせます。建築基準法の法令IDは 325AC0000000201、施行令は 325CO0000000338 です。取得とキャッシュの手順は、e-Gov法令APIとClaude Codeで条文を辿る手順にまとめています。用途地域そのものを緯度経度から引く部分は、用途地域と容積率をAPIで引く記事が前段にあたります。

CLAUDE.mdに書いておく判定ルール

毎回同じ前提で動かすため、プロジェクトのCLAUDE.mdに次の規約を置きます。書き方の型はCLAUDE.mdの書き方を参考にしてください。

## 日影・斜線の検討ルール
- 判定は zone_check.py の出力を正とし、結果を自分の言葉で書き換えない
- 法56条・56条の2・別表第三・別表第四は、e-Gov法令APIで取得した条文の
  該当行を引用してから根拠にする
- 条例の指定(日影の対象区域・号・測定面の高さ)は推測で埋めない。
  入力が無ければ「要確認」と書く
- 出力は「対象 / 対象外 / 要確認」の3値で、理由に条文の号を付ける
- 判定結果は設計者の確認を経た資料ではない、と末尾に1行入れる

「要確認」を許す書き方が肝心です。条例の指定は敷地のある自治体でしか分かりません。ここを推測で埋めさせると、対象外と書くべきでない敷地が対象外になります。

一覧から外れる条件を洗う

一覧が出たあとに、検討漏れの原因になりやすい条件を確かめます。条文の側から、次の観点が拾えます。

確認ポイント

一覧の外で判定が変わる要素

  • 高さ・軒の高さ・階数の定義

    施行令2条は、高さを原則として地盤面から測り、道路斜線だけは前面道路の路面の中心から測ります。屋上の階段室などは、建築面積の8分の1以内なら原則12mまで高さに算入しませんが、北側斜線では算入し、別表第四の二・三・四ロの項では5mまでです。軒の高さと階数にも算定方法があり、別表第四の判定はその定義で数えた値を使います。

  • 敷地が複数の地域にまたがる場合

    56条5項は、斜線制限が二以上の地域にまたがるとき、規定中の「建築物」を「建築物の部分」に読み替えます。日影規制は、施行令135条の13が、日影時間の制限が異なる区域の内外にまたがる場合の読み方を決めています。

  • 敷地外の日影が対象区域に落ちる場合

    56条の2第4項は、対象区域外にある高さ10m超の建築物が、冬至日に対象区域内の土地へ日影を落とすとき、その建築物を対象区域内にあるものとみなします。商業地域の高い建物でも、隣が日影の対象区域なら検討対象に入ります。

  • 緩和の規定

    敷地が道路・水面・線路敷に接する場合や、隣地との高低差が大きい場合の緩和は、施行令135条の3(隣地斜線)と135条の12(日影)が定めます。日影では、幅が10mを超えるときは反対側の境界線から5mの線を敷地境界線とみなします。

もう一つ、天空率があります。56条7項は、一定の基準に適合する建築物について、道路・隣地・北側の各斜線制限の規定を適用しないと定めます。基準は施行令135条の5以降の天空率の算定と、135条の6〜135条の8の適用除外の基準に置かれています。天空率で満たす設計の敷地では、斜線の一覧は「検討対象だが、別の基準で適合を示す」という扱いになります。

日影と斜線のほかにも、高さを抑える規定があります。55条は低層住居専用地域・田園住居地域で、都市計画に定められた10mか12mを高さの限度とします。58条の高度地区は、都市計画で定められた高さの最高限度に適合することを求めます。この記事の判定表にはこれらを含めていないため、一覧とは別に、敷地の都市計画を確かめる項目として残します。

判定結果を使うときの線引き

一覧が出すのは「検討対象かどうか」までです。次の3点は、スクリプトにもClaudeにも任せません。

  • 条例の指定(対象区域、使う号、測定面の高さ)の特定。自治体の条例と窓口で確かめる
  • 緩和・特例の適用可否。特定行政庁の許可や認定が絡むものは、設計者と特定行政庁の判断になる
  • 日影図や斜線の断面チェック。検討対象と分かったあとの作業で、図面や3Dモデルが要る

初期検討の一覧は、図面を描く前に「見落としていた制限がないか」を洗う資料です。

まとめ

日影規制は条例の指定、斜線制限は地域と高さが入口です。この二つの入口の違いを、判定表として固定しておけば、Claudeに敷地を何件任せても前提がぶれません。条文の取得をe-Gov法令APIで固定し、条例が絡む箇所は「要確認」で止める、という運用が、この種の検討漏れチェックでは安全側に働きます。

この記事を共有:XはてブLinkedIn