【事務所設計】トイレの便器数基準まとめ|労働安全衛生法・SHASEを解説
以前にトイレの基本寸法について書きましたが、今回は「事務所(オフィス)」におけるトイレの便器数についてまとめたいと思います。
トイレ計画は、単純に法規を満たせば良いというわけではなく、
- 利用人数
- 男女比
- テナント特性
- 利用集中時間
- 快適性
などによって、必要な便器数が大きく変わります。
実務では、法令上の最低基準だけでなく、快適性や将来的な使いやすさも含めて計画することが重要になります。
■ 事務所のトイレ個数|労働安全衛生法より
事務所のトイレ個数については、「労働安全衛生法」により最低限必要な便器数が定められています。
ただし、これはあくまで最低基準であり、この個数のみでは利用が集中した際に不足するケースも多くあります。
特に近年では、オフィスの快適性向上や女性トイレ不足への配慮から、余裕を持った計画が求められることも増えています。
■ 労働安全衛生規則 第628条(便所)
男性用・女性用を区別すること
男性用大便所
同時に就業する男性労働者
60人以内ごとに1個以上
男性用小便所
同時に就業する男性労働者
30人以内ごとに1個以上
女性用便所
同時に就業する女性労働者
20人以内ごとに1個以上
■ 実務では最低基準のみでは不足することが多い
労働安全衛生法の基準は、あくまで「最低限必要な数」です。
実際のオフィス設計では、
- 朝の始業前
- 昼休憩前後
- 退勤前
などに利用が集中するため、最低基準のみでは不足するケースも少なくありません。
また、来客の多いオフィスや、女性比率の高いテナントでは、さらに余裕を持った計画が求められることがあります。
実務では、法規だけでなく「利用実態」を考慮して計画することが重要です。
■ SHASE-S206-2009(給排水衛生設備規準)について
実務では、(公社)空気調和・衛生工学会規格
「給排水衛生設備規準・同解説 SHASE-S206-2009」を参考にすることも多くあります。
SHASEでは、
- レベル1
- レベル2
- レベル3
の設定があり、レベル1ほど快適性を重視した計画となります。
一般的なオフィスビルでは、快適性や待ち時間軽減を考慮して、SHASE基準を参考に便器数を検討するケースもあります。
■ トイレ計画で検討するポイント
事務所のトイレ計画では、単純な人数計算だけでなく、以下のような条件も重要になります。
- 男女比
- テナント属性
- 来客の有無
- フロア面積
- 共用トイレか専用トイレか
- 利用集中時間
- 将来的なテナント変更
特にテナントビルでは、将来的な用途変更も考慮し、余裕を持った計画を行うケースもあります。
■ 実務でよくある考え方
実際のオフィスビルでは、
- 男性小便器を多めに確保する
- 女性便房数を余裕を持たせる
- 多目的トイレを別途設置する
- 清掃性を考慮する
- 配管スペースを確保する
など、利用実態や管理面も含めて計画されることが多くあります。
また、トイレ不足は建物の満足度にも直結するため、コストだけでなく使いやすさも重要なポイントになります。
■ まとめ
事務所のトイレ個数は、労働安全衛生法によって最低基準が定められています。
ただし、実際の設計では、
- 快適性
- 利用集中
- 男女比
- テナント特性
などを考慮し、余裕を持った計画を行うことが重要です。
実務では、法令だけでなく、SHASE基準や利用実態を踏まえながら、バランスよく検討するケースが多くあります。
今後、トイレの寸法やレイアウト、バリアフリー計画などについてもまとめていきたいと思います。
—————————————————————————————————-
—————————————————————————————————-
—————————————————————————————————-
# トイレ器具数 自動計算ツール(グラフ読取版)
トイレ器具数 自動計算ツール
事務所の一般的な参考値:0.1人/㎡
※本ツールは SHASE-S206 系資料を参考にした概算ツールです。
実施設計では法規・条例・用途特性・ピーク利用を考慮してください。
// ========================================
// グラフ読取テーブル
// 人数以下なら器具数を返す
// ========================================
const tables = {
office: {
1: {
maleWC: [[10,1],[25,2],[45,3],[70,4],[100,5],[140,6],[180,7],[230,8],[300,9]],
urinal: [[10,1],[20,2],[35,3],[50,4],[70,5],[100,6],[140,7],[190,8],[250,9],[300,10]],
femaleWC: [[8,1],[15,2],[25,3],[40,4],[55,5],[75,6],[100,7],[130,8],[170,9],[220,10],[300,11]],
maleWash: [[30,1],[80,2],[150,3],[220,4],[300,5]],
femaleWash: [[30,1],[70,2],[120,3],[180,4],[240,5],[300,6]]
},
2: {
maleWC: [[15,1],[35,2],[60,3],[90,4],[130,5],[180,6],[240,7],[300,8]],
urinal: [[15,1],[30,2],[50,3],[75,4],[100,5],[140,6],[180,7],[230,8],[300,9]],
femaleWC: [[10,1],[20,2],[35,3],[50,4],[70,5],[90,6],[120,7],[150,8],[190,9],[240,10],[300,11]],
maleWash: [[40,1],[100,2],[180,3],[250,4],[300,5]],
femaleWash: [[40,1],[90,2],[150,3],[220,4],[300,5]]
},
3: {
maleWC: [[20,1],[45,2],[80,3],[120,4],[170,5],[230,6],[300,7]],
urinal: [[20,1],[40,2],[70,3],[100,4],[140,5],[190,6],[250,7],[300,8]],
femaleWC: [[15,1],[30,2],[50,3],[75,4],[100,5],[140,6],[190,7],[250,8],[300,9]],
maleWash: [[60,1],[140,2],[220,3],[300,4]],
femaleWash: [[50,1],[120,2],[200,3],[300,4]]
}
}
};
// ========================================
// テーブルから器具数取得(線形補間)
// ========================================
function getFixtureCount(people, table){
// 最小以下
if(people <= table[0][0]){
return table[0][1];
}
// 区間補間
for(let i = 0; i < table.length - 1; i++){
const x1 = table[i][0];
const y1 = table[i][1];
const x2 = table[i + 1][0];
const y2 = table[i + 1][1];
if(people >= x1 && people <= x2){
// 線形補間
const ratio = (people - x1) / (x2 - x1);
const value = y1 + (y2 - y1) * ratio;
// 安全側で切り上げ
return Math.ceil(value);
}
}
// 最大超過時
const last = table[table.length - 1];
const prev = table[table.length - 2];
const slope = (last[1] - prev[1]) / (last[0] - prev[0]);
const extra = last[1] + (people - last[0]) * slope;
return Math.ceil(extra);
}
// ========================================
// 計算
// ========================================
function calcToilet(){
const usage = document.getElementById('usage').value;
const area = parseFloat(document.getElementById('area').value);
const density = parseFloat(document.getElementById('density').value);
const maleRatio = parseFloat(document.getElementById('maleRatio').value) / 100;
const femaleRatio = 1 - maleRatio;
const level = document.getElementById('level').value;
// 想定人数
const totalPeople = area * density;
const malePeople = totalPeople * maleRatio;
const femalePeople = totalPeople * femaleRatio;
// 該当テーブル
const data = tables[usage][level];
// グラフ読取計算
const maleWC = getFixtureCount(malePeople, data.maleWC);
const urinal = getFixtureCount(malePeople, data.urinal);
const femaleWC = getFixtureCount(femalePeople, data.femaleWC);
const maleWash = getFixtureCount(malePeople, data.maleWash);
const femaleWash = getFixtureCount(femalePeople, data.femaleWash);
// 表示
document.getElementById('result').innerHTML = `
計算結果
| 想定利用人数 | ${totalPeople.toFixed(1)} 人 |
| 男性利用人数 | ${malePeople.toFixed(1)} 人 |
| 女性利用人数 | ${femalePeople.toFixed(1)} 人 |
| 器具 | 必要個数 |
|---|---|
| 男子大便器 | ${maleWC} 個 |
| 男子小便器 | ${urinal} 個 |
| 女子便器 | ${femaleWC} 個 |
| 男子洗面器 | ${maleWash} 個 |
| 女子洗面器 | ${femaleWash} 個 |
`;
}
“`
## このバージョンの特徴
* グラフを近似的にテーブル化
* サービスレベル対応
* 人員密度入力対応
* 男女比対応

