<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>低気圧 &#8211; Tranquilvæj</title>
	<atom:link href="https://tranquilguides.com/tag/low-pressure/feed/" rel="self" type="application/rss+xml" />
	<link>https://tranquilguides.com</link>
	<description>心地よい暮らしの始め方</description>
	<lastBuildDate>Mon, 13 Jul 2026 08:13:28 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

<image>
	<url>https://tranquilguides.com/wp-content/uploads/2026/01/cropped-IMG_3364-32x32.jpeg</url>
	<title>低気圧 &#8211; Tranquilvæj</title>
	<link>https://tranquilguides.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">251661265</site>	<item>
		<title>一時避難所｜いまをやり過ごすための小さな公共施設</title>
		<link>https://tranquilguides.com/temporary-shelter/</link>
					<comments>https://tranquilguides.com/temporary-shelter/#respond</comments>
		
		<dc:creator><![CDATA[案内人のアシカ]]></dc:creator>
		<pubDate>Thu, 25 Jun 2026 22:26:24 +0000</pubDate>
				<category><![CDATA[生存ログ]]></category>
		<category><![CDATA[HSP]]></category>
		<category><![CDATA[セルフケア]]></category>
		<category><![CDATA[メンタルケア]]></category>
		<category><![CDATA[一時避難所]]></category>
		<category><![CDATA[休息]]></category>
		<category><![CDATA[低気圧]]></category>
		<category><![CDATA[回復]]></category>
		<category><![CDATA[安心]]></category>
		<category><![CDATA[居場所]]></category>
		<category><![CDATA[深夜]]></category>
		<category><![CDATA[道具]]></category>
		<category><![CDATA[雨]]></category>
		<category><![CDATA[静けさ]]></category>
		<category><![CDATA[頭痛]]></category>
		<guid isPermaLink="false">https://tranquilguides.com/?p=1174</guid>

					<description><![CDATA[<p><img src="https://tranquilguides.com/wp-content/uploads/2026/06/IMG_20260626_072229-1024x683.jpg" class="webfeedsFeaturedVisual" /></p>頭痛や低気圧、眠れない夜、気力のない日にふらっと立ち寄れる施設。暖炉や給水所、セーフルームや深夜待合室、東屋など]]></description>
										<content:encoded><![CDATA[<p><img src="https://tranquilguides.com/wp-content/uploads/2026/06/IMG_20260626_072229-1024x683.jpg" class="webfeedsFeaturedVisual" /></p>
<style data-wp-block-html="css">
.shelter-wrap {
  --shelter-text: #3f3a34;
  --shelter-muted: #8d8171;
  --shelter-border: rgba(80,70,55,.14);
  --shelter-surface: rgba(255,255,255,.58);
  --shelter-surface-hover: rgba(255,255,255,.82);
  --shelter-radius: 32px;
  --shelter-shadow: 0 18px 50px rgba(70,55,35,.08);
width: 100%;
max-width: 100%;
margin: 24px auto;
padding: 0 10px;
color: var(--shelter-text);
font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
}
/* 共通カード */
.shelter-home,
.shelter-room {
position: relative;
width: 100%;
box-sizing: border-box;
min-height: 520px;
padding: 56px 28px 86px;
border-radius: var(--shelter-radius);
background:
radial-gradient(circle at top, rgba(255,255,255,.86),
rgba(244,239,230,.76)),
linear-gradient(180deg, #f7f2e8, #ebe3d6);
border: 1px solid rgba(80,70,55,.12);
box-shadow: var(--shelter-shadow);
text-align: center;
box-sizing: border-box;
}
.shelter-kicker {
margin: 0 0 22px;
font-size: 12px;
letter-spacing: .12em;
color: var(--shelter-muted);
}
.shelter-home h1{
margin: 0 0 28px;
font-size: clamp(28px, 6vw, 42px);
font-weight: 400;
letter-spacing: .08em;
}
.shelter-lead,
.shelter-room p {
margin: 0 auto 34px;
max-width: 420px;
font-size: 16px;
line-height: 2.1;
}
.shelter-note,
.water-msg,
.lost-msg,
.small-msg {
font-size: 13px;
color: var(--shelter-muted);
}
.small-msg {
margin-top: -16px;
line-height: 1.9;
}
/* ボタン */
.shelter-buttons {
display: grid;
gap: 14px;
max-width: 320px;
margin: 0 auto 28px;
}
.shelter-buttons button,
.shelter-room button {
appearance: none;
border: 1px solid rgba(80,70,55,.16);
border-radius: 999px;
background: var(--shelter-surface);
color: #4a4238;
padding: 14px 22px;
font-size: 15px;
font-family: inherit;
cursor: pointer;
}
.shelter-buttons button:hover,
.shelter-room button:hover {
background: var(--shelter-surface-hover);
}
.backBtn {
position: absolute;
left: 28px;
bottom: 28px;
padding: 10px 18px !important;
background: rgba(255,255,255,.38) !important;
color: #8d8171 !important;
font-size: 13px !important;
}
/* ==========================
Fireplace
========================== */
.tg-fireplace {
margin: 28px auto;
text-align: center;
}
.tg-fire {
position: relative;
width: 92px;
height: 110px;
margin: 0 auto 22px;
}
.tg-fire span {
position: absolute;
left: 50%;
bottom: 0;
border-radius: 50% 50% 45% 45%;
transform-origin: bottom center;
animation: tgFireFlicker 2.8s ease-in-out infinite;
}
/* 外側の炎 */
.tg-fire span:nth-child(1) {
width: 48px;
height: 84px;
margin-left: -24px;
background: radial-gradient(
ellipse at 50% 75%,
rgba(255, 225, 160, .95) 0%,
rgba(242, 143, 55, .92) 48%,
rgba(126, 49, 20, .78) 100%
);
}
/* 中央の炎 */
.tg-fire span:nth-child(2) {
width: 36px;
height: 66px;
margin-left: -18px;
background: radial-gradient(
ellipse at 50% 80%,
rgba(255, 240, 200, .96) 0%,
rgba(255, 186, 80, .82) 65%,
rgba(255, 120, 40, .28) 100%
);
animation-delay: .5s;
}
/* 芯 */
.tg-fire span:nth-child(3) {
width: 20px;
height: 42px;
margin-left: -10px;
background: rgba(255,250,235,.95);
filter: blur(.5px);
animation-delay: 1.1s;
}
.tg-fire.is-strong span:nth-child(1) {
animation-duration: 1.8s;
transform: scale(1.08, 1.14);
}
.tg-fire.is-strong span:nth-child(2) {
animation-duration: 1.5s;
opacity: .86;
}
.tg-fire.is-strong span:nth-child(3) {
animation-duration: 1.3s;
opacity: 1;
}
.tg-spark {
position: absolute;
left: 50%;
bottom: 36px;
width: 4px;
height: 4px;
border-radius: 50%;
background: rgba(255, 205, 120, .9);
pointer-events: none;
opacity: 0;
animation: tgSparkFloat 2.8s ease-out forwards;
}
.tg-ash {
position: absolute;
left: 50%;
bottom: 42px;
width: 3px;
height: 3px;
border-radius: 50%;
background: rgba(90, 78, 68, .45);
pointer-events: none;
opacity: 0;
animation: tgAshFall 3.8s ease-in forwards;
}
@keyframes tgAshFall {
0% {
transform: translate(-50%, 0) scale(.8);
opacity: 0;
}
20% {
opacity: .45;
}
100% {
transform: translate(calc(-50% + var(--ash-x)), 48px) scale(.45);
opacity: 0;
}
}
@keyframes tgSparkFloat {
0% {
transform: translate(-50%, 0) scale(.7);
opacity: 0;
}
18% {
opacity: .9;
}
100% {
transform: translate(calc(-50% + var(--spark-x)), -72px) scale(.2);
opacity: 0;
}
}
@keyframes tgFireFlicker {
0%{
transform:translateY(0) scale(.96,1) rotate(-2deg);
opacity:.72;
}
20%{
transform:translateY(-2px) scale(1.02,1.08) rotate(2deg);
opacity:.95;
}
45%{
transform:translateY(1px) scale(.94,.94) rotate(-1deg);
opacity:.78;
}
70%{
transform:translateY(-1px) scale(1.04,1.12) rotate(3deg);
opacity:1;
}
100%{
transform:translateY(0) scale(.96,1) rotate(-2deg);
opacity:.72;
}
}
#roomFire.is-warm-glow {
background-color: rgba(255, 190, 120, .055);
}
.tg-fireplace{
display:flex;
flex-direction:column;
align-items:center;
gap:14px;
margin:28px auto;
}
#roomFire .tg-sound-btn{
display:flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
padding:0;
border:1px solid rgba(80,62,48,.18);
border-radius:50%;
background:rgba(255,255,255,.25);
color:#6b5b4e;
transition:.3s;
}
#roomFire .tg-sound-btn:hover{
background:rgba(255,255,255,.55);
}
#roomFire .tg-sound-btn svg{
width:18px;
height:18px;
}
#roomFire .tg-sound-btn.is-on{
background:rgba(255,220,170,.18);
color:#8b5b28;
}
.tg-ember {
position: absolute;
left: 50%;
bottom: 2px;
width: 58px;
height: 14px;
transform: translateX(-50%);
border-radius: 999px;
background: radial-gradient(
ellipse at center,
rgba(210, 62, 22, .62) 0%,
rgba(150, 44, 22, .34) 48%,
rgba(90, 36, 22, 0) 78%
);
filter: blur(3px);
opacity: .62;
animation: tgEmberGlow 5.8s ease-in-out infinite;
}
@keyframes tgEmberGlow {
0%, 100% {
opacity: .38;
transform: translateX(-50%) scale(.92, .86);
}
45% {
opacity: .86;
transform: translateX(-50%) scale(1.08, 1);
}
72% {
opacity: .52;
transform: translateX(-50%) scale(.98, .92);
}
}
/* タイトル */
#roomFire .room-title{
margin-bottom:16px;
font-size:.92rem;
letter-spacing:.16em;
color:#7a6d63;
opacity:.65;
}
/* 暖炉メッセージ */
.tg-fire-text{
min-height:2.6em;
max-width:28em;
margin:0 auto;
line-height:1.9;
color:#4b4037;
opacity:0;
transition:opacity 1.8s ease;
}
.tg-fire-text.is-visible{
opacity:1;
}
/* ごゆっくり */
#roomFire .small-msg {
font-size: 11px;
color: rgba(141, 129, 113, .75);
letter-spacing: .08em;
margin-top: -10px;
}
/* セーフルーム：呼吸 */
.safe-icon {
position: relative;
width: 90px;
height: 90px;
margin: 0 auto 28px;
}
.safe-icon::before {
content: "";
position: absolute;
left: 50%;
top: 50%;
width: 70px;
height: 70px;
transform: translate(-50%, -50%);
border-radius: 50%;
background: radial-gradient(
circle,
rgba(255,255,255,.72) 0%,
rgba(245,243,236,.42) 45%,
rgba(245,243,236,0) 80%
);
filter: blur(16px);
animation: safeAura 5.5s ease-in-out infinite;
}
.safe-icon::after {
content: "";
position: absolute;
left: 50%;
top: 50%;
width: 18px;
height: 18px;
transform: translate(-50%, -50%);
border-radius: 50%;
border: 1.5px solid rgba(165,160,150,.55);
animation: safePulse 5.5s ease-in-out infinite;
}
@keyframes safeAura {
0%, 100% {
transform: translate(-50%, -50%) scale(.92);
opacity: .20;
}
50% {
transform: translate(-50%, -50%) scale(1.16);
opacity: .65;
}
}
@keyframes safePulse {
0% {
width: 18px;
height: 18px;
opacity: .65;
}
65% {
width: 54px;
height: 54px;
opacity: .12;
}
100% {
width: 18px;
height: 18px;
opacity: .65;
}
}
.safe-fade-msg {
opacity: 0;
transform: translateY(8px);
transition: opacity 2.6s ease, transform 2.6s ease;
font-size: 14px !important;
color: var(--shelter-muted);
}
.safe-fade-msg.is-visible {
opacity: 1;
transform: translateY(0);
}
/* 給水所 */
.water-drop {
position: relative;
width: 72px;
height: 92px;
margin: 0 auto 24px;
}
.water-drop span {
position: absolute;
left: 50%;
bottom: 8px;
width: 34px;
height: 48px;
border-radius: 58%;
background: rgba(92, 170, 220, .42);
transform: translateX(-50%) rotate(45deg);
transform-origin: center;
animation: waterDropFloat 3.2s ease-in-out infinite;
box-shadow: 0 0 28px rgba(120, 190, 230, .16);
}
.water-drop span:nth-child(2) {
width: 44px;
height: 60px;
background: rgba(132, 198, 232, .28);
animation-delay: .45s;
}
.water-drop span:nth-child(3) {
width: 24px;
height: 34px;
background: rgba(210, 238, 250, .58);
animation-delay: .9s;
}
@keyframes waterDropFloat {
0%, 100% {
transform: translateX(-50%) translateY(0) rotate(45deg) scale(1);
opacity: .68;
}
50% {
transform: translateX(-50%) translateY(-8px) rotate(45deg) scale(1.08);
opacity: .95;
}
}
.water-msg {
min-height: 2.2em;
margin-bottom: 22px !important;
opacity: 0;
visibility: hidden;
transform: translateY(4px);
transition: opacity 1.2s ease, transform 1.2s ease, visibility 1.2s
ease;
}
.water-msg.is-visible {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
/* 深夜待合室：月明かり */
.night-icon {
position: relative;
display: inline-flex;
justify-content: center;
align-items: center;
width: 90px;
height: 90px;
margin: 0 auto 24px;
font-size: 0;
}
.night-icon::before {
content: "";
position: absolute;
width: 120px;
height: 120px;
border-radius: 50%;
background: radial-gradient(
circle,
rgba(255,240,190,.65) 0%,
rgba(255,240,190,.28) 38%,
rgba(255,240,190,.10) 58%,
rgba(255,240,190,0) 80%
);
filter: blur(20px);
animation: moonGlow 7s ease-in-out infinite;
}
.night-icon::after {
content: "";
position: relative;
z-index: 2;
font-size: 46px;
animation: moonBreath 5.5s ease-in-out infinite;
}
@keyframes moonGlow {
0%, 100% {
transform: scale(.9);
opacity: .25;
}
50% {
transform: scale(1.18);
opacity: .72;
}
}
@keyframes moonBreath {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-2px);
}
}
.night-room {
animation: moonRoomGlow 7s ease-in-out infinite;
}
@keyframes moonRoomGlow {
0%, 100% {
box-shadow:
0 18px 50px rgba(70,55,35,.08),
0 0 30px rgba(255,240,190,.03);
}
50% {
box-shadow:
0 18px 50px rgba(70,55,35,.08),
0 0 80px rgba(255,240,190,.12);
}
}
/* 落とし物センター */
.lost-icon {
position: relative;
width: 90px;
height: 90px;
margin: 0 auto 24px;
}
.lost-post {
position: absolute;
left: 50%;
bottom: 14px;
width: 42px;
height: 46px;
border-radius: 10px 10px 8px 8px;
background: rgba(190, 78, 68, .72);
transform: translateX(-50%);
box-shadow: 0 10px 26px rgba(120,70,55,.10);
}
.lost-privacy-note{
max-width:360px;
margin:-6px auto 22px;
font-size:10px!important;
line-height:2;
letter-spacing:.03em;
color:rgba(80,70,55,.50);
}
.lost-post::before {
content: "";
position: absolute;
left: 9px;
top: 10px;
width: 24px;
height: 12px;
border-radius: 3px;
background: rgba(255,245,225,.72);
}
.lost-post::after {
content: "";
position: absolute;
left: 15px;
bottom: -18px;
width: 12px;
height: 20px;
border-radius: 4px;
background: rgba(150,95,80,.38);
}
.lost-letter {
position: absolute;
left: 50%;
top: 8px;
width: 30px;
height: 20px;
border-radius: 4px;
background: rgba(255,248,232,.86);
border: 1px solid rgba(120,90,70,.18);
transform: translateX(-50%);
animation: letterFloat 4.8s ease-in-out infinite;
}
.lost-letter::before {
content: "";
position: absolute;
left: 5px;
top: 5px;
width: 18px;
height: 9px;
border-left: 1px solid rgba(120,90,70,.24);
border-bottom: 1px solid rgba(120,90,70,.24);
transform: rotate(-45deg);
}
@keyframes letterFloat {
0%, 100% {
transform: translateX(-50%) translateY(0) rotate(-2deg);
opacity: .78;
}
50% {
transform: translateX(-50%) translateY(8px) rotate(2deg);
opacity: 1;
}
}
.lost-input {
display: block;
width: min(360px, 100%);
margin: -10px auto 22px;
padding: 16px 18px;
border-radius: 20px;
border: 1px solid rgba(80,70,55,.14);
background: rgba(255,255,255,.48);
color: #4a4238;
font-family: inherit;
font-size: 14px;
line-height: 1.8;
box-sizing: border-box;
resize: vertical;
overflow: auto;
min-height: 250px;
max-height: 70vh;
}
.lost-input::placeholder {
color: rgba(80,70,55,.38);
}
.lost-input:focus {
outline: none;
background: rgba(255,255,255,.72);
border-color: rgba(80,70,55,.24);
}
.lost-receipt {
min-height: 5.4em;
margin-top: 20px;
opacity: 0;
transform: translateY(6px);
transition: opacity 1.4s ease, transform 1.4s ease;
}
.lost-receipt.is-visible {
opacity: 1;
transform: translateY(0);
}
.lost-receipt.is-fading {
opacity: 0;
transform: translateY(-4px);
}
.lost-item {
margin-bottom: 6px !important;
font-size: 15px !important;
color: #5b5045;
}
.lost-msg {
font-size: 12px !important;
line-height: 1.8;
color: var(--shelter-muted);
margin-bottom: 5px !important;
}
.lost-hp {
display: none !important;
}
/* 東屋 */
.azumaya-icon {
position: relative;
display: inline-flex;
justify-content: center;
align-items: center;
width: 90px;
height: 90px;
margin: 0 auto 24px;
font-size: 0;
}
.azumaya-icon::before {
content: "";
position: relative;
z-index: 2;
font-size: 42px;
animation: leafFloat 6.5s ease-in-out infinite;
}
.azumaya-icon::after {
content: "";
position: absolute;
width: 90px;
height: 90px;
border-radius: 50%;
background: radial-gradient(
circle,
rgba(175,205,150,.28) 0%,
rgba(175,205,150,.10) 45%,
rgba(175,205,150,0) 80%
);
filter: blur(16px);
animation: leafGlow 6.5s ease-in-out infinite;
}
@keyframes leafFloat {
0%, 100% {
transform: translateX(0) translateY(0) rotate(-6deg);
}
25% {
transform: translateX(3px) translateY(-2px) rotate(-2deg);
}
50% {
transform: translateX(7px) translateY(-5px) rotate(5deg);
}
75% {
transform: translateX(2px) translateY(-1px) rotate(1deg);
}
}
@keyframes leafGlow {
0%, 100% {
transform: scale(.92);
opacity: .18;
}
50% {
transform: scale(1.15);
opacity: .45;
}
}
.azumaya-fade-msg {
opacity: 0;
transform: translateY(8px);
transition: opacity 2.8s ease, transform 2.8s ease;
font-size: 16px !important;
color: #5b5045;
}
.azumaya-fade-msg.is-visible {
opacity: 1;
transform: translateY(0);
}
/* iPhone */
@media (max-width: 600px) {
.shelter-wrap {
max-width:100%;
margin: 16px auto;
padding:0 6px;
}
.shelter-home,
.shelter-room {
min-height: 500px;
padding: 40px 16px 72px;
border-radius: 20px;
}
.backBtn {
left: 20px;
bottom: 20px;
}
}


.shelter-wrap [hidden] {
  display: none !important;
}

.shelter-wrap *,
.shelter-wrap *::before,
.shelter-wrap *::after {
  box-sizing: border-box;
}

.shelter-wrap button {
  transition:
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease,
    opacity .22s ease,
    transform .22s ease;
}

.shelter-wrap button:active {
  transform: translateY(1px);
}

.shelter-wrap button:focus-visible,
.shelter-wrap textarea:focus-visible {
  outline: 2px solid rgba(106,125,137,.55);
  outline-offset: 3px;
}

.shelter-wrap button:disabled {
  cursor: wait;
  opacity: .55;
}

.shelter-room[aria-hidden="true"],
.shelter-home[aria-hidden="true"] {
  display: none !important;
}

.shelter-status {
  min-height: 1.8em;
}

@media (prefers-reduced-motion: reduce) {
  .shelter-wrap *,
  .shelter-wrap *::before,
  .shelter-wrap *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

@media (max-width: 600px) {
  .lost-input {
    min-height: 210px;
  }
}

</style>

<script data-wp-block-html="js">
(() => {
  "use strict";

  const ROOT_ID = "shelterHome";

  function initShelter() {
    const home = document.getElementById(ROOT_ID);
    const wrap = home?.closest(".shelter-wrap");

    if (!home || !wrap || wrap.dataset.initialized === "true") {
      return;
    }

    wrap.dataset.initialized = "true";

    const rooms = {
      fire: document.getElementById("roomFire"),
      safe: document.getElementById("roomSafe"),
      water: document.getElementById("roomWater"),
      night: document.getElementById("roomNight"),
      lost: document.getElementById("roomLost"),
      azumaya: document.getElementById("roomAzumaya")
    };

    if (Object.values(rooms).some((room) => !room)) {
      console.warn("[一時避難所] 必要な部屋要素が見つかりません。");
      return;
    }

    const state = {
      currentRoom: "home",
      safeTimer: null,
      azumayaTimer: null,
      fireTimers: new Set(),
      fireRunning: false,
      fireEnteredAt: 0,
      lastFireLine: "",
      waterCount: 0,
      lastWaterMessage: "",
      lostTimer: null
    };

    const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;

    const scrollTop = () => {
      window.scrollTo({
        top: 0,
        behavior: prefersReducedMotion ? "auto" : "smooth"
      });
    };

    const setTimer = (callback, delay, group = "general") => {
      const id = window.setTimeout(() => {
        if (group === "fire") {
          state.fireTimers.delete(id);
        }
        callback();
      }, delay);

      if (group === "fire") {
        state.fireTimers.add(id);
      }

      return id;
    };

    const clearTimer = (id) => {
      if (id) {
        window.clearTimeout(id);
      }
    };

    const clearFireTimers = () => {
      state.fireTimers.forEach((id) => window.clearTimeout(id));
      state.fireTimers.clear();
      state.fireRunning = false;
    };

    const setVisible = (element, visible) => {
      element.hidden = !visible;
      element.setAttribute("aria-hidden", visible ? "false" : "true");
    };

    const hideAllRooms = () => {
      Object.values(rooms).forEach((room) => setVisible(room, false));
    };

    const stopFireAudio = () => {
      fireAudio.pause();
      fireAudio.currentTime = 0;
      updateSoundButton(false);
    };

    const leaveCurrentRoom = () => {
      clearTimer(state.safeTimer);
      clearTimer(state.azumayaTimer);
      state.safeTimer = null;
      state.azumayaTimer = null;

      document.getElementById("safeFadeMsg")?.classList.remove("is-visible");
      document.getElementById("azumayaFadeMsg")?.classList.remove("is-visible");

      if (state.currentRoom === "fire") {
        clearFireTimers();
        stopFireAudio();
      }
    };

    const openRoom = (roomName) => {
      if (!rooms[roomName]) return;

      leaveCurrentRoom();
      setVisible(home, false);
      hideAllRooms();
      setVisible(rooms[roomName], true);
      state.currentRoom = roomName;
      scrollTop();

      if (roomName === "fire") {
        startFireExperience();
      }

      if (roomName === "safe") {
        const message = document.getElementById("safeFadeMsg");
        message?.classList.remove("is-visible");
        state.safeTimer = setTimer(() => message?.classList.add("is-visible"), 2600);
      }

      if (roomName === "azumaya") {
        const message = document.getElementById("azumayaFadeMsg");
        message?.classList.remove("is-visible");
        state.azumayaTimer = setTimer(() => message?.classList.add("is-visible"), 2200);
      }
    };

    const returnHome = () => {
      leaveCurrentRoom();
      hideAllRooms();
      setVisible(home, true);
      state.currentRoom = "home";
      scrollTop();
    };

    wrap.querySelectorAll("[data-room]").forEach((button) => {
      button.addEventListener("click", () => openRoom(button.dataset.room));
    });

    wrap.querySelectorAll(".backBtn").forEach((button) => {
      button.addEventListener("click", returnHome);
    });

    /* -----------------------------------------
     * 暖炉
     * -------------------------------------- */

    const fire = wrap.querySelector(".tg-fire");
    const fireText = document.getElementById("tgFireText");
    const roomFire = rooms.fire;
    const fireSoundBtn = document.getElementById("fireSoundBtn");

    const earlyLines = [
      "パチッ",
      "小さく火の粉が舞いました。",
      "薪が静かに鳴りました。",
      "灰が少し落ちました。",
      "炎が少し高くなりました。",
      "オレンジ色が少し濃くなりました。",
      "炎の形が変わりました。",
      "木の香りがする気がしました。",
      "火がゆっくり揺れています。",
      "暖かい空気が少し流れました。"
    ];

    const middleLines = [
      "炎はまだ静かに燃えています。",
      "部屋は変わらず静かです。",
      "火は急ぎません。",
      "灰が少し積もりました。",
      "また、小さく音がしました。",
      "炎は同じようで、少し違います。",
      "赤い熾火が見えました。",
      "光が壁に揺れています。",
      "部屋の空気が少し柔らかく感じられます。"
    ];

    const lateLines = [
      "火はまだここにあります。",
      "少しだけ時間が過ぎました。",
      "外のことは分かりません。",
      "炎は変わらず燃えています。",
      "ここでは時計はあまり役に立ちません。"
    ];

    const iconOff = `
      <svg aria-hidden="true" width="18" height="18" fill="none" stroke="currentColor"
        stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"
        viewBox="0 0 24 24">
        <polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon>
        <line x1="23" y1="9" x2="17" y2="15"></line>
        <line x1="17" y1="9" x2="23" y2="15"></line>
      </svg>`;

    const iconOn = `
      <svg aria-hidden="true" width="18" height="18" fill="none" stroke="currentColor"
        stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"
        viewBox="0 0 24 24">
        <polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon>
        <path d="M15.5 8.5a5 5 0 0 1 0 7"></path>
        <path d="M18.5 5.5a9 9 0 0 1 0 13"></path>
      </svg>`;

    const fireAudio = new Audio(
      "https://tranquilguides.com/wp-content/uploads/2026/06/freesound_community-aachen_burning-fireplace-crackling-fire-soundswav-14561.mp3"
    );

    fireAudio.loop = true;
    fireAudio.preload = "none";
    fireAudio.volume = 0.15;

    const updateSoundButton = (isOn) => {
      if (!fireSoundBtn) return;

      fireSoundBtn.innerHTML = isOn ? iconOn : iconOff;
      fireSoundBtn.classList.toggle("is-on", isOn);
      fireSoundBtn.setAttribute("aria-pressed", isOn ? "true" : "false");
      fireSoundBtn.setAttribute("aria-label", isOn ? "暖炉の音を消す" : "暖炉の音をつける");
    };

    updateSoundButton(false);

    fireSoundBtn?.addEventListener("click", async () => {
      if (fireAudio.paused) {
        try {
          await fireAudio.play();
          updateSoundButton(true);
        } catch (error) {
          console.warn("[一時避難所] 暖炉音を再生できませんでした。", error);
          updateSoundButton(false);
        }
      } else {
        stopFireAudio();
      }
    });

    const randomDelay = (min, max) =>
      Math.floor(Math.random() * (max - min + 1)) + min;

    const pickDifferent = (items, previous) => {
      if (items.length < 2) return items[0] || "";

      let next = items[Math.floor(Math.random() * items.length)];

      while (next === previous) {
        next = items[Math.floor(Math.random() * items.length)];
      }

      return next;
    };

    const getFirePhase = () => {
      const stayed = Date.now() - state.fireEnteredAt;

      if (stayed < 80000) {
        return { lines: earlyLines, min: 12000, max: 28000, silentRate: 0 };
      }

      if (stayed < 120000) {
        return {
          lines: [...earlyLines, ...middleLines],
          min: 18000,
          max: 40000,
          silentRate: 0
        };
      }

      if (stayed < 240000) {
        return { lines: middleLines, min: 25000, max: 55000, silentRate: 0.1 };
      }

      if (stayed < 300000) {
        return {
          lines: [...middleLines, ...lateLines],
          min: 35000,
          max: 70000,
          silentRate: 0.1
        };
      }

      return { lines: lateLines, min: 45000, max: 90000, silentRate: 0.1 };
    };

    const scheduleFireLine = () => {
      if (!state.fireRunning || !fireText) return;

      const phase = getFirePhase();
      const delay = randomDelay(phase.min, phase.max);

      setTimer(() => {
        if (!state.fireRunning) return;

        fireText.classList.remove("is-visible");

        setTimer(() => {
          if (!state.fireRunning) return;

          if (Math.random() < phase.silentRate) {
            fireText.textContent = "";
          } else {
            state.lastFireLine = pickDifferent(phase.lines, state.lastFireLine);
            fireText.textContent = state.lastFireLine;
          }

          fireText.classList.add("is-visible");
          scheduleFireLine();
        }, 1200, "fire");
      }, delay, "fire");
    };

    const scheduleFireFlare = () => {
      if (!state.fireRunning || !fire) return;

      setTimer(() => {
        if (!state.fireRunning) return;

        fire.classList.add("is-strong");
        setTimer(() => fire.classList.remove("is-strong"), 4200, "fire");
        scheduleFireFlare();
      }, randomDelay(30000, 100000), "fire");
    };

    const scheduleParticle = (className, cssProperty, range, lifetime, min, max) => {
      if (!state.fireRunning || !fire) return;

      setTimer(() => {
        if (!state.fireRunning) return;

        const particle = document.createElement("span");
        particle.className = className;
        particle.style.setProperty(
          cssProperty,
          `${randomDelay(-range, range)}px`
        );

        fire.appendChild(particle);
        setTimer(() => particle.remove(), lifetime, "fire");
        scheduleParticle(className, cssProperty, range, lifetime, min, max);
      }, randomDelay(min, max), "fire");
    };

    const scheduleWarmGlow = () => {
      if (!state.fireRunning || !roomFire) return;

      setTimer(() => {
        if (!state.fireRunning) return;

        roomFire.classList.add("is-warm-glow");
        setTimer(() => roomFire.classList.remove("is-warm-glow"), 5200, "fire");
        scheduleWarmGlow();
      }, randomDelay(40000, 140000), "fire");
    };

    function startFireExperience() {
      clearFireTimers();
      state.fireRunning = true;
      state.fireEnteredAt = Date.now();
      state.lastFireLine = "";

      if (fireText) {
        fireText.textContent = "火がついています。";
        fireText.classList.add("is-visible");
      }

      setTimer(scheduleFireLine, 15000, "fire");
      scheduleFireFlare();
      scheduleParticle("tg-spark", "--spark-x", 25, 3000, 15000, 120000);
      scheduleParticle("tg-ash", "--ash-x", 22, 4200, 25000, 165000);
      scheduleWarmGlow();
    }

    /* -----------------------------------------
     * セーフルーム・給水所・夜・東屋
     * -------------------------------------- */

    const waterMessages = [
      "水が通っただけで、少し戻ってきています。",
      "それだけで十分です。",
      "もう一口いけたら、それも十分です。",
      "身体が、少し思い出したかもしれません。",
      "今日はここまででも大丈夫です。",
      "えらくなくていいです。飲めた、で終わりです。"
    ];

    const waterBtn = document.getElementById("waterBtn");
    const waterMsg = document.getElementById("waterMsg");

    waterBtn?.addEventListener("click", () => {
      const message =
        state.waterCount === 0
          ? waterMessages[0]
          : pickDifferent(waterMessages, state.lastWaterMessage);

      state.lastWaterMessage = message;
      state.waterCount += 1;
      waterMsg.textContent = message;
      waterMsg.classList.add("is-visible");
    });

    const nightMessages = [
      "朝にならなくても、ここは開いています。",
      "眠れないままでも、今はここにいて大丈夫です。",
      "考えごとは、少し遠くに置いておきましょう。",
      "夜が長い日は、短い言葉だけで十分です。",
      "目を閉じなくても、休んでいる時間はあります。"
    ];

    let lastNightMessage = "";
    document.getElementById("nightBtn")?.addEventListener("click", () => {
      lastNightMessage = pickDifferent(nightMessages, lastNightMessage);
      document.getElementById("nightMsg").textContent = lastNightMessage;
    });

    const azumayaMessages = [
      "今日は雲がゆっくりです。",
      "鳥が一羽、通りました。",
      "少しだけ、雨の匂いがします。",
      "木陰があります。",
      "今日は誰もいません。",
      "何も変えなくても、風は通ります。"
    ];

    let lastAzumayaMessage = "";
    document.getElementById("azumayaBtn")?.addEventListener("click", () => {
      lastAzumayaMessage = pickDifferent(azumayaMessages, lastAzumayaMessage);
      document.getElementById("azumayaMsg").textContent = lastAzumayaMessage;
    });

    /* -----------------------------------------
     * 落とし物センター
     * -------------------------------------- */

    const detectOS = () => {
      const ua = navigator.userAgent;
      const platform = navigator.platform;

      if (/iPhone/.test(ua)) return "iPhone";
      if (/iPad/.test(ua) || (platform === "MacIntel" && navigator.maxTouchPoints > 1)) return "iPad";
      if (/Android/.test(ua)) return "Android";
      if (/Win/.test(platform)) return "Windows";
      if (/Mac/.test(platform)) return "macOS";
      if (/Linux/.test(platform)) return "Linux";

      return platform || "不明";
    };

    const detectBrowser = () => {
      const ua = navigator.userAgent;
      const patterns = [
        ["Microsoft Edge", /Edg\/([\d.]+)/],
        ["Chrome", /CriOS\/([\d.]+)/],
        ["Chrome", /Chrome\/([\d.]+)/],
        ["Firefox", /Firefox\/([\d.]+)/],
        ["Safari", /Version\/([\d.]+).*Safari/]
      ];

      for (const [name, pattern] of patterns) {
        const match = ua.match(pattern);
        if (match) return `${name} ${match[1]}`;
      }

      return "不明";
    };

    const detectReferrer = () => {
      if (!document.referrer) return "直接アクセス";

      try {
        const host = new URL(document.referrer).hostname;

        if (host.includes("google")) return "Google";
        if (host.includes("threads")) return "Threads";
        if (host.includes("x.com") || host.includes("twitter")) return "X";
        if (host.includes("facebook")) return "Facebook";
        if (host.includes("instagram")) return "Instagram";

        return host;
      } catch {
        return document.referrer;
      }
    };

    const setHiddenValue = (id, value) => {
      const element = document.getElementById(id);
      if (element) element.value = value || "不明";
    };

    setHiddenValue("lostUserAgent", detectBrowser());
    setHiddenValue("lostLanguage", navigator.language);
    setHiddenValue("lostScreen", `${window.screen.width}×${window.screen.height}`);
    setHiddenValue("lostPlatform", detectOS());
    setHiddenValue("lostReferrer", detectReferrer());

    const lostBtn = document.getElementById("lostBtn");
    const lostInput = document.getElementById("lostInput");
    const lostReceipt = document.getElementById("lostReceipt");
    const lostItem = document.getElementById("lostItem");
    const lostMsg = document.getElementById("lostMsg");

    const showLostReceipt = (item, message) => {
      clearTimer(state.lostTimer);
      lostReceipt.classList.remove("is-visible", "is-fading");
      lostItem.textContent = item ? `「${item}」` : "";
      lostMsg.textContent = message;

      requestAnimationFrame(() => {
        lostReceipt.classList.add("is-visible");
      });

      state.lostTimer = setTimer(() => {
        lostReceipt.classList.add("is-fading");
      }, 5200);
    };

    lostBtn?.addEventListener("click", async () => {
      const value = lostInput.value.trim();
      const hp = document.getElementById("lostHp")?.value || "";

      if (!value) {
        showLostReceipt("", "預けたいものを、ひとつだけ書いてください。");
        lostInput.focus();
        return;
      }

      lostBtn.disabled = true;
      lostBtn.setAttribute("aria-busy", "true");

      try {
        const response = await fetch(
          window.ajaxurl || "/wp-admin/admin-ajax.php",
          {
            method: "POST",
            credentials: "same-origin",
            headers: {
              "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
            },
            body: new URLSearchParams({
              action: "tg_submit_lost_item",
              lost_item: value,
              lost_hp: hp,
              lost_user_agent: document.getElementById("lostUserAgent")?.value || "不明",
              lost_language: document.getElementById("lostLanguage")?.value || "不明",
              lost_screen: document.getElementById("lostScreen")?.value || "不明",
              lost_platform: document.getElementById("lostPlatform")?.value || "不明",
              lost_referrer: document.getElementById("lostReferrer")?.value || ""
            })
          }
        );

        if (!response.ok) {
          throw new Error(`HTTP ${response.status}`);
        }

        const data = await response.json();
        const message =
          data?.data?.message ||
          (data?.success
            ? "お預かりしました。"
            : "お預かりできませんでした。");

        if (data?.success) {
          lostInput.value = "";
        }

        showLostReceipt(value, message);
      } catch (error) {
        console.warn("[一時避難所] 落とし物の送信に失敗しました。", error);
        showLostReceipt(
          "",
          "ただいま混み合っております。少し時間をおいてから、もう一度いらしてください。"
        );
      } finally {
        lostBtn.disabled = false;
        lostBtn.removeAttribute("aria-busy");
      }
    });

    document.addEventListener("visibilitychange", () => {
      if (document.hidden) {
        if (state.currentRoom === "fire") {
          clearFireTimers();
          stopFireAudio();
        }
      } else if (state.currentRoom === "fire" && !state.fireRunning) {
        startFireExperience();
      }
    });

    window.addEventListener("pagehide", () => {
      clearFireTimers();
      stopFireAudio();
      clearTimer(state.safeTimer);
      clearTimer(state.azumayaTimer);
      clearTimer(state.lostTimer);
    }, { once: true });
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initShelter, { once: true });
  } else {
    initShelter();
  }
})();
</script>

<div class="shelter-wrap">
<section class="shelter-home" id="shelterHome" aria-hidden="false">
<p class="shelter-kicker">Tranquilvæj Public Space</p>
<h1>一時避難所</h1>
<p class="shelter-lead">
頭が痛い日。<br>
何もしたくない日。<br>
少しだけ、ここで休んでいきませんか。
</p>
<div class="shelter-buttons">
<button type="button" data-room="fire">暖炉</button>
<button type="button" data-room="safe">セーフルーム</button>
<button type="button" data-room="water">給水所</button>
<button type="button" data-room="night">深夜待合室</button>
<button type="button" data-room="lost">落とし物センター</button>
<button type="button" data-room="azumaya">
<ruby>東屋<rt>あずまや</rt></ruby></button>
</div>
<p class="shelter-note">途中で閉じても大丈夫ですよ。</p>
</section>
<section class="shelter-room" id="roomFire" hidden aria-hidden="true">
<div class="tg-fireplace">
<div class="tg-fire" aria-hidden="true">
<span></span>
<span></span>
<span></span>
<i class="tg-ember" aria-hidden="true"></i>
</div>
<p class="room-title">暖炉</p>
<p class="tg-fire-text is-visible" id="tgFireText">
火がついています。
</p>
<button type="button" class="tg-sound-btn" id="fireSoundBtn"
aria-label="暖炉の音をつける">
</button>
<p class="small-msg">
ごゆっくり
</p>
</div>
<button type="button" class="backBtn">
ロビーへ
</button>
</section>
<section class="shelter-room" id="roomSafe" hidden aria-hidden="true">
<div class="safe-icon"></div>
<p class="room-title">セーフルーム</p>
<p>ここでは何もしなくて大丈夫です。</p>
<p class="safe-fade-msg" id="safeFadeMsg">
気が向いたら、深呼吸をしてみましょう。
</p>
<button type="button" class="backBtn">ロビーへ</button>
</section>
<section class="shelter-room" id="roomWater" hidden aria-hidden="true">
<div class="water-drop" aria-hidden="true">
<span></span><span></span><span></span>
</div>
<p class="room-title">給水所</p>
<p>水をひとくち、飲めそうですか。</p>
<p id="waterMsg" class="water-msg">それだけで十分です。</p>
<button type="button" id="waterBtn">飲めた</button>
<button type="button" class="backBtn">ロビーへ</button>
</section>
<section class="shelter-room night-room" id="roomNight" hidden aria-hidden="true">
<div class="night-icon"></div>
<p class="room-title">深夜待合室</p>
<p>眠れない夜は、ここにいてもいいですよ。</p>
<p class="small-msg"
id="nightMsg">朝にならなくても、ここは開いています。</p>
<button type="button" id="nightBtn">もう一言</button>
<button type="button" class="backBtn">ロビーへ</button>
</section>
<section class="shelter-room" id="roomLost" hidden aria-hidden="true">
<div class="lost-icon" aria-hidden="true">
<span class="lost-post"></span>
<span class="lost-letter"></span>
</div>
<p class="room-title">落とし物センター</p>
<p>今日、どこかに置いていきたいものはありますか。</p>
<textarea id="lostInput" class="lost-input" rows="8"
placeholder="落とし物：
（例：やる気、誰かとお話しする元気 など）
覚えていることを、ひとつだけ教えてください。
もし差し支えなければ
年代・性別：
落とし主様：
"></textarea>
<input type="hidden" id="lostUserAgent">
<input type="hidden" id="lostLanguage">
<input type="hidden" id="lostScreen">
<input type="hidden" id="lostPlatform">
<input type="hidden" id="lostReferrer">
<p class="lost-privacy-note">
ここに預けたものは匿名で管理人に届きます。また、名前のない落とし物として紹介する場合がございます。あらかじめご了承ください。
</p>
<input type="text" id="lostHp" class="lost-hp" autocomplete="off"
tabindex="-1">
<button type="button" id="lostBtn">預ける</button>
<div id="lostReceipt" class="lost-receipt shelter-status" role="status" aria-live="polite" aria-atomic="true">
<p id="lostItem" class="lost-item"></p>
<p id="lostMsg" class="lost-msg"></p>
</div>
<button type="button" class="backBtn">ロビーへ</button>
</section>
<section class="shelter-room" id="roomAzumaya" hidden aria-hidden="true">
<div class="azumaya-icon"></div>
<p class="room-title">
<ruby>東屋<rt>あずまや</rt></ruby>
</p>
<p class="azumaya-fade-msg" id="azumayaFadeMsg">
風が通っています。
</p>
<p class="small-msg" id="azumayaMsg">
少しだけ、ここで景色を眺めていきましょう。
</p>
<button type="button" id="azumayaBtn">もう少し眺める</button>
<button type="button" class="backBtn">ロビーへ</button>
</section>
</div>

<style data-wp-block-html="css">
.p-fixBtnWrap {
border-radius: 999px !important;
overflow: hidden !important;
border: 0 !important;
background:
radial-gradient(
circle at 50% 50%,
rgba(255,255,255,.00) 0%,
rgba(255,255,255,.02) 58%,
rgba(255,255,255,.12) 100%
) !important;
backdrop-filter: blur(.3px) saturate(135%) contrast(108%)
brightness(106%);
-webkit-backdrop-filter: blur(.3px) saturate(135%) contrast(108%)
brightness(106%);
box-shadow:
inset 2px 2px 2px rgba(255,255,255,.55),
inset 0 0 14px rgba(255,255,255,.28),
0 3px 8px rgba(0,0,0,.03) !important;
}
.p-fixBtnWrap::before {
content: "";
position: absolute;
inset: 1px;
border-radius: 999px;
pointer-events: none;
background:
linear-gradient(
145deg,
rgba(255,255,255,.75) 0%,
rgba(255,255,255,.28) 18%,
rgba(255,255,255,0) 42%
);
mix-blend-mode: screen;
opacity: .65;
}
.p-fixBtnWrap:hover {
background: #2f4f4f !important;
box-shadow: none !important;
}
.c-fixBtn__icon {
color: #2f2f2f !important;
text-shadow: none !important;
-webkit-text-stroke: 0 !important;
}
.p-fixBtnWrap:hover .c-fixBtn__icon {
color: #fff !important;
}
.p-fixBtnWrap a,
.p-fixBtnWrap button,
.p-fixBtnWrap [class*="fixBtn"],
.p-fixBtnWrap [class*="icon"] {
border: 0 !important;
outline: 0 !important;
box-shadow: none !important;
background: transparent !important;
}
.p-fixBtnWrap {
width: 52px !important;
height: 52px !important;
position: fixed !important;
display: block !important;
transition:
width .22s ease,
background-color .18s ease,
box-shadow .18s ease !important;
}
.p-fixBtnWrap .c-fixBtn__icon {
position: absolute !important;
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%) !important;
z-index: 2;
}
.p-fixBtnWrap::after {
content: "Page top";
position: absolute;
top: 50%;
left: 54px;
transform: translateY(-55%);
z-index: 2;
opacity: 0;
max-width: 0;
overflow: hidden;
white-space: nowrap;
height: 24px;
line-height: 24px;
font-size: 14px;
letter-spacing: .03em;
color: #fff;
transition:
opacity .15s ease,
max-width .22s ease;
}
.p-fixBtnWrap:hover {
width: 132px !important;
}
.p-fixBtnWrap:hover .c-fixBtn__icon {
left: 28px !important;
}
.p-fixBtnWrap:hover::after {
opacity: 1;
max-width: 80px;
}
</style>
]]></content:encoded>
					
					<wfw:commentRss>https://tranquilguides.com/temporary-shelter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://tranquilguides.com/wp-content/uploads/2026/06/freesound_community-aachen_burning-fireplace-crackling-fire-soundswav-14561.mp3" length="14280960" type="audio/mpeg" />

		<post-id xmlns="com-wordpress:feed-additions:1">1174</post-id>	</item>
		<item>
		<title>低気圧の日、人は「人生」を悪く見積もる。</title>
		<link>https://tranquilguides.com/fogged-lens/</link>
					<comments>https://tranquilguides.com/fogged-lens/#respond</comments>
		
		<dc:creator><![CDATA[案内人のアシカ]]></dc:creator>
		<pubDate>Thu, 21 May 2026 02:38:21 +0000</pubDate>
				<category><![CDATA[生存ログ]]></category>
		<category><![CDATA[エッセイ]]></category>
		<category><![CDATA[コラム]]></category>
		<category><![CDATA[低気圧]]></category>
		<category><![CDATA[回復]]></category>
		<category><![CDATA[心理]]></category>
		<category><![CDATA[暮らし]]></category>
		<category><![CDATA[疲労]]></category>
		<category><![CDATA[読みもの]]></category>
		<category><![CDATA[静けさ]]></category>
		<guid isPermaLink="false">https://tranquilguides.com/?p=461</guid>

					<description><![CDATA[<p><img src="https://tranquilguides.com/wp-content/uploads/2026/05/ChatGPT-Image-2026年5月21日-11_37_20-1024x683.png" class="webfeedsFeaturedVisual" /></p>低気圧の日、なぜか人生全体が悪く見えてしまう日がある。
それは、世界が壊れたんじゃなくて、
“世界に触れる神経”が少し疲れているだけかもしれない。]]></description>
										<content:encoded><![CDATA[<p><img src="https://tranquilguides.com/wp-content/uploads/2026/05/ChatGPT-Image-2026年5月21日-11_37_20-1024x683.png" class="webfeedsFeaturedVisual" /></p>
<p class="has-text-align-center wp-block-paragraph">朝。</p>



<p class="has-text-align-center wp-block-paragraph">カーテンの隙間から、灰色の光が入っていた。</p>



<p class="has-text-align-center wp-block-paragraph">雨はまだ降っていない。</p>



<p class="has-text-align-center wp-block-paragraph">でも、身体はもう知っている。</p>



<p class="has-text-align-center wp-block-paragraph">今日は少し、世界が重い。</p>



<p class="has-text-align-center wp-block-paragraph">頭の奥が鈍く、重く、圧迫される。</p>



<p class="has-text-align-center wp-block-paragraph">呼吸が浅い。</p>



<p class="has-text-align-center wp-block-paragraph">考えごとが、うまく前へ進まない。</p>



<p class="has-text-align-center wp-block-paragraph">普段なら流せることまで今日は引っかかる。</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center wp-block-paragraph">仕事。</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center wp-block-paragraph">生活。</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center wp-block-paragraph">人間関係。</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center wp-block-paragraph">未来。</p>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center wp-block-paragraph">気づくと、人生全体を悪い方向へ考え始めている。</p>



<p class="has-text-align-center wp-block-paragraph">ちゃんと生きていけるのか、みたいなこと。</p>



<p class="has-text-align-center wp-block-paragraph">これからどうなるんだろう。</p>



<p class="has-text-align-center wp-block-paragraph">寝不足の日に世界が荒れて見えるように。</p>



<p class="has-text-align-center wp-block-paragraph">高熱の日に未来が絶望的に見えるように。</p>



<p class="has-text-align-center wp-block-paragraph">人間は、「身体」と「思考」を完全には切り離せない。</p>



<p class="has-text-align-center wp-block-paragraph">普段なら整理できることまで、今日は全部「<strong>無理な気がする</strong>」に変換される。</p>



<p class="has-text-align-center wp-block-paragraph">でも、そういう日もある。</p>



<p class="has-text-align-center wp-block-paragraph">人生が急に壊れたわけじゃない。</p>



<p class="has-text-align-center wp-block-paragraph">ただ、脳と神経が少し疲れている。</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center wp-block-paragraph">世界を見るための、内側のレンズが曇っている。</p>



<p class="has-text-align-center wp-block-paragraph">だから今日は、無理に立て直さなくていい。</p>



<p class="has-text-align-center wp-block-paragraph">答えを出さなくていい。</p>



<p class="has-text-align-center wp-block-paragraph">大事な決断もしなくていい。</p>



<p class="has-text-align-center wp-block-paragraph">少しだけ、神経を静かな場所へ戻す。</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center wp-block-paragraph">部屋の光を落とす。</p>



<p class="has-text-align-center wp-block-paragraph">通知を閉じる。</p>



<p class="has-text-align-center wp-block-paragraph">温かい飲み物を、ゆっくり飲む。</p>



<p class="has-text-align-center wp-block-paragraph">息を吐く。</p>



<p class="has-text-align-center wp-block-paragraph">ちゃんと整えようとしなくていい。</p>



<p class="has-text-align-center wp-block-paragraph">深呼吸じゃなくてもいい。</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center wp-block-paragraph">浅い呼吸のままでも、少しずつ、身体は夜明けの方向へ戻っていく。</p>



<p class="has-text-align-center wp-block-paragraph">低気圧の日は、世界そのものが暗いんじゃない。</p>



<p class="has-text-align-center wp-block-paragraph">世界に触れる神経が、少し敏感になっている。</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center wp-block-paragraph">だから今日は、前に進む日じゃなくていい。</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="has-text-align-center wp-block-paragraph">壊れないように、静かに通り過ぎる。</p>



<p class="has-text-align-center wp-block-paragraph">今日は、それだけでいい気がしている。</p>



<p class="has-text-align-center wp-block-paragraph">まだ雨は降っていない。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://tranquilguides.com/fogged-lens/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">461</post-id>	</item>
	</channel>
</rss>
