<?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/%E5%AE%89%E5%BF%83/feed/" rel="self" type="application/rss+xml" />
	<link>https://tranquilguides.com</link>
	<description>心地よい暮らしの始め方</description>
	<lastBuildDate>Fri, 26 Jun 2026 03:49:44 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</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>
		<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 {
  width: 100%;
  max-width: 100%;
  margin: 24px auto;
  padding: 0 10px;
  color: #3f3a34;
  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: 32px;
  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: 0 18px 50px rgba(70,55,35,.08);
  text-align: center;
  box-sizing: border-box;
}

.shelter-kicker {
  margin: 0 0 22px;
  font-size: 12px;
  letter-spacing: .12em;
  color: #8d8171;
}

.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: #8d8171;
}

.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: rgba(255,255,255,.58);
  color: #4a4238;
  padding: 14px 22px;
  font-size: 15px;
  font-family: inherit;
  cursor: pointer;
}

.shelter-buttons button:hover,
.shelter-room button:hover {
  background: rgba(255,255,255,.82);
}

.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: #8d8171;
}

.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: "<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f319.png" alt="🌙" class="wp-smiley" style="height: 1em; max-height: 1em;" />";
  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;
  resize: none;
  box-sizing: border-box;
}

.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: #8d8171;
  margin-bottom: 5 !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: "<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f343.png" alt="🍃" class="wp-smiley" style="height: 1em; max-height: 1em;" />";
  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;
  }
}
</style>

<script data-wp-block-html="js">
document.addEventListener("DOMContentLoaded", function () {
  const home = document.getElementById("shelterHome");

  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")
  };

const fireText = document.getElementById("tgFireText");
const fire = document.querySelector(".tg-fire");

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

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

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

let lastLine = "";
let fireEnteredAt = Date.now();

function pickLine(lines) {
  let line = lines[Math.floor(Math.random() * lines.length)];

  if (line === lastLine && lines.length > 1) {
    return pickLine(lines);
  }

  lastLine = line;
  return line;
}

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

  if (stayed < 15000) {
    return {
      lines: [],
      minDelay: 15000,
      maxDelay: 15000,
      silentRate: 0
    };
  }

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

  if (stayed < 120000) {
    return {
      lines: earlyLines.concat(middleLines),
      minDelay: 18000,
      maxDelay: 40000,
      silentRate: 0
    };
  }

  if (stayed < 240000) {
    return {
      lines: middleLines,
      minDelay: 25000,
      maxDelay: 55000,
      silentRate: 0.10
    };
  }

  if (stayed < 300000) {
    return {
      lines: middleLines.concat(lateLines),
      minDelay: 35000,
      maxDelay: 70000,
      silentRate: 0.10
    };
  }

  return {
    lines: lateLines,
    minDelay: 45000,
    maxDelay: 90000,
    silentRate: 0.10
  };
}

function randomDelay(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}

function showFireplaceLine() {
  const phase = getFirePhase();

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

  setTimeout(function () {
    const silent = Math.random() < phase.silentRate;

    if (silent) {
      fireText.textContent = "";
      fireText.classList.add("is-visible");

      setTimeout(showFireplaceLine, 10000);
      return;
    }

    if (phase.lines.length > 0) {
      fireText.textContent = pickLine(phase.lines);
    }

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

    setTimeout(function () {
      showFireplaceLine();
    }, randomDelay(phase.minDelay, phase.maxDelay));
  }, 1200);
}

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

setTimeout(showFireplaceLine, 15000);

function flareFire() {
  if (!fire) return;

  fire.classList.add("is-strong");

  setTimeout(function () {
    fire.classList.remove("is-strong");
  }, 4200);

  const nextFlareDelay = Math.floor(Math.random() * 70000) + 30000;
  setTimeout(flareFire, nextFlareDelay);
}

const firstFlareDelay = Math.floor(Math.random() * 25000) + 12000;
setTimeout(flareFire, firstFlareDelay);

function createSpark() {
  if (!fire) return;

  const spark = document.createElement("span");
  spark.className = "tg-spark";

  const x = Math.floor(Math.random() * 50) - 25;
  spark.style.setProperty("--spark-x", x + "px");

  fire.appendChild(spark);

  setTimeout(function () {
    spark.remove();
  }, 3000);

  const nextSparkDelay = Math.floor(Math.random() * 90000) + 30000;
  setTimeout(createSpark, nextSparkDelay);
}

const firstSparkDelay = Math.floor(Math.random() * 30000) + 15000;
setTimeout(createSpark, firstSparkDelay);

function createAsh() {
  if (!fire) return;

  const ash = document.createElement("span");
  ash.className = "tg-ash";

  const x = Math.floor(Math.random() * 44) - 22;
  ash.style.setProperty("--ash-x", x + "px");

  fire.appendChild(ash);

  setTimeout(function () {
    ash.remove();
  }, 4200);

  const nextAshDelay = Math.floor(Math.random() * 120000) + 45000;
  setTimeout(createAsh, nextAshDelay);
}

const firstAshDelay = Math.floor(Math.random() * 45000) + 25000;
setTimeout(createAsh, firstAshDelay);

function warmGlow() {
  const roomFire = document.getElementById("roomFire");
  if (!roomFire) return;

  roomFire.classList.add("is-warm-glow");

  setTimeout(function () {
    roomFire.classList.remove("is-warm-glow");
  }, 5200);

  const nextGlowDelay = Math.floor(Math.random() * 100000) + 40000;
  setTimeout(warmGlow, nextGlowDelay);
}

const firstGlowDelay = Math.floor(Math.random() * 35000) + 18000;
setTimeout(warmGlow, firstGlowDelay);

const iconOff = `
<svg xmlns="http://www.w3.org/2000/svg" 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 xmlns="http://www.w3.org/2000/svg" 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.volume = 0.15;

const fireSoundBtn = document.getElementById("fireSoundBtn");

if (fireSoundBtn) {
  fireSoundBtn.innerHTML = iconOff;
  fireSoundBtn.setAttribute("aria-label", "暖炉の音をつける");

  fireSoundBtn.addEventListener("click", function () {
    if (fireAudio.paused) {
      fireAudio.play();

      fireSoundBtn.innerHTML = iconOn;
      fireSoundBtn.classList.add("is-on");
      fireSoundBtn.setAttribute("aria-label", "暖炉の音を消す");
    } else {
      fireAudio.pause();
      fireAudio.currentTime = 0;

      fireSoundBtn.innerHTML = iconOff;
      fireSoundBtn.classList.remove("is-on");
      fireSoundBtn.setAttribute("aria-label", "暖炉の音をつける");
    }
  });
}

window.stopFireAudio = function () {
  fireAudio.pause();
  fireAudio.currentTime = 0;

  if (fireSoundBtn) {
    fireSoundBtn.innerHTML = iconOff;
    fireSoundBtn.classList.remove("is-on");
    fireSoundBtn.setAttribute("aria-label", "暖炉の音をつける");
  }
};
}






  if (!home || !rooms.fire || !rooms.safe || !rooms.water || !rooms.night || !rooms.lost || !rooms.azumaya) {
    return;
  }

  const safeFadeMsg = document.getElementById("safeFadeMsg");
  let safeTimer = null;

  const azumayaFadeMsg = document.getElementById("azumayaFadeMsg");
  let azumayaTimer = null;

  document.querySelectorAll("[data-room]").forEach(function (button) {
    button.addEventListener("click", function () {
      const roomName = button.getAttribute("data-room");

      home.hidden = true;

      Object.keys(rooms).forEach(function (key) {
        rooms[key].hidden = true;
      });

      rooms[roomName].hidden = false;
      window.scrollTo({ top: 0, behavior: "smooth" });

      if (roomName === "safe" && safeFadeMsg) {
        safeFadeMsg.classList.remove("is-visible");

        if (safeTimer) {
          clearTimeout(safeTimer);
        }

        safeTimer = setTimeout(function () {
          safeFadeMsg.classList.add("is-visible");
        }, 2600);
      }

      if (roomName === "azumaya" && azumayaFadeMsg) {
        azumayaFadeMsg.classList.remove("is-visible");

        if (azumayaTimer) {
          clearTimeout(azumayaTimer);
        }

        azumayaTimer = setTimeout(function () {
          azumayaFadeMsg.classList.add("is-visible");
        }, 2200);
      }
    });
  });

  document.querySelectorAll(".backBtn").forEach(function (button) {
    button.addEventListener("click", function () {

if (typeof window.stopFireAudio === "function") {
  window.stopFireAudio();
}

      Object.keys(rooms).forEach(function (key) {
        rooms[key].hidden = true;
      });

      if (safeTimer) {
        clearTimeout(safeTimer);
      }

      if (azumayaTimer) {
        clearTimeout(azumayaTimer);
      }

      if (safeFadeMsg) {
        safeFadeMsg.classList.remove("is-visible");
      }

      if (azumayaFadeMsg) {
        azumayaFadeMsg.classList.remove("is-visible");
      }

      home.hidden = false;
      window.scrollTo({ top: 0, behavior: "smooth" });
    });
  });

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

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

  let waterCount = 0;

  if (waterBtn && waterMsg) {
    waterBtn.addEventListener("click", function () {
      if (waterCount === 0) {
        waterMsg.textContent = waterMessages[0];
        waterMsg.classList.add("is-visible");
      } else {
        const randomIndex = Math.floor(Math.random() * waterMessages.length);
        waterMsg.textContent = waterMessages[randomIndex];
      }

      waterCount += 1;
    });
  }

  const nightBtn = document.getElementById("nightBtn");
  const nightMsg = document.getElementById("nightMsg");

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

  if (nightBtn && nightMsg) {
    nightBtn.addEventListener("click", function () {
      const randomIndex = Math.floor(Math.random() * nightMessages.length);
      nightMsg.textContent = nightMessages[randomIndex];
    });
  }

  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");

  let lostTimer = null;

  if (lostBtn && lostInput && lostReceipt && lostItem && lostMsg) {
    lostBtn.addEventListener("click", function () {
      const value = lostInput.value.trim();
      const hpField = document.getElementById("lostHp");
      const hp = hpField ? hpField.value : "";

      if (lostTimer) {
        clearTimeout(lostTimer);
      }

      lostReceipt.classList.remove("is-visible");
      lostReceipt.classList.remove("is-fading");

      fetch("/wp-admin/admin-ajax.php", {
        method: "POST",
        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
        })
      })
        .then(function (response) {
          return response.json();
        })
        .then(function (data) {
          if (value === "") {
            lostItem.textContent = "";
          } else {
            lostItem.textContent = "「" + value + "」";
          }

          if (data.success) {
            lostMsg.textContent = data.data.message;
          } else {
            lostMsg.textContent = data.data.message || "お預りできませんでした。";
          }

          lostInput.value = "";

          setTimeout(function () {
            lostReceipt.classList.add("is-visible");
          }, 30);

          lostTimer = setTimeout(function () {
            lostReceipt.classList.add("is-fading");
          }, 5200);
        })
        .catch(function () {
          lostItem.textContent = "";
          lostMsg.textContent = "ただいま混み合っております。少し時間をおいてから、もう一度いらしてください。";

          setTimeout(function () {
            lostReceipt.classList.add("is-visible");
          }, 30);
        });
    });
  }

  const azumayaBtn = document.getElementById("azumayaBtn");
  const azumayaMsg = document.getElementById("azumayaMsg");

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

  if (azumayaBtn && azumayaMsg) {
    azumayaBtn.addEventListener("click", function () {
      const randomIndex = Math.floor(Math.random() * azumayaMessages.length);
      azumayaMsg.textContent = azumayaMessages[randomIndex];
    });
  }
});
</script>

<div class="shelter-wrap">
  <section class="shelter-home" id="shelterHome">
    <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"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 暖炉</button>
      <button type="button" data-room="safe"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6cf.png" alt="🛏" class="wp-smiley" style="height: 1em; max-height: 1em;" /> セーフルーム</button>
      <button type="button" data-room="water"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a7.png" alt="💧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 給水所</button>
      <button type="button" data-room="night"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f319.png" alt="🌙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 深夜待合室</button>
      <button type="button" data-room="lost"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ee.png" alt="📮" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 落とし物センター</button>
      <button type="button" data-room="azumaya"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f343.png" alt="🍃" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <ruby>東屋<rt>あずまや</rt></ruby></button>

    </div>

    <p class="shelter-note">途中で閉じても大丈夫ですよ。</p>
  </section>

<section class="shelter-room" id="roomFire" hidden>

  <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="">
    <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="">
    <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="">
    <div class="night-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f319.png" alt="🌙" class="wp-smiley" style="height: 1em; max-height: 1em;" /></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="">
  <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="3" placeholder="例えば、やる気、体力、集中力、誰かとお話しする元気など"></textarea>

<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" aria-live="polite">
    <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="">
  <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">
.cl-copyright{
  margin:80px auto 24px;
  text-align:center;
  font-size:13px;
  letter-spacing:.08em;
  opacity:.55;
}

.cl-copyright a{
  color:inherit;
  text-decoration:none;
  transition:opacity .2s ease;
}

.cl-copyright a:hover{
  opacity:1;
}
</style>

<div class="cl-copyright">
  <a href="https://tranquilguides.com/">
Return to Tranquilvæj
  </a>
</div>



<style data-wp-block-html="css">
/* 診断ページ専用：外側UI削除 */
#header,
.l-header,
.l-fixHeader,
#fix_header,
#sp_menu,
.p-spMenu,
.p-spMenu__inner,
.p-spMenu__body,
.p-spMenu__overlay,
#breadcrumb,
.c-postTitle,
.p-articleMetas,
.p-postTax,
.p-articleFoot,
.l-articleBottom,
.l-contentBottom,
.w-beforeFooter,
.l-footerWidgets,
.l-footer {
  display: none !important;
}

/* 余白リセット */
:root {
  --swl-headerH: 0px !important;
  --swl-fix_headerH: 0px !important;
  --swl-offset_y: 0px !important;
}

html,
body,
#body_wrap,
#content,
.l-content,
.l-mainContent,
.l-mainContent__inner,
#main_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
</style>

<script data-wp-block-html="js">
document.addEventListener("DOMContentLoaded", () => {
  [
    "#header",
    ".l-header",
    ".l-fixHeader",
    "#fix_header",
    "#sp_menu",
    ".p-spMenu",
    "#breadcrumb",
    ".c-postTitle",
    ".p-articleMetas",
    ".p-postTax",
    ".p-articleFoot",
    ".l-articleBottom",
    ".l-contentBottom",
    ".w-beforeFooter",
    ".l-footerWidgets",
    ".l-footer"
  ].forEach(selector => {
    document.querySelectorAll(selector).forEach(el => el.remove());
  });
});
</script>



<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 [class*="fixBtn"],
.p-fixBtnWrap [class*="icon"],
.p-fixBtnWrap a,
.p-fixBtnWrap button {
  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;
}

#breadcrumb {
  display: none !important;
}
</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/tadaima/</link>
					<comments>https://tranquilguides.com/tadaima/#respond</comments>
		
		<dc:creator><![CDATA[案内人のアシカ]]></dc:creator>
		<pubDate>Wed, 24 Jun 2026 05:52:26 +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>
		<guid isPermaLink="false">https://tranquilguides.com/?p=1095</guid>

					<description><![CDATA[<p><img src="https://tranquilguides.com/wp-content/uploads/2026/06/IMG_20260624_150355-768x1024.jpg" class="webfeedsFeaturedVisual" /></p>帰る場所が必要なのは、迷ったときだけではありません。何も起きていない日にも、「ただいま」と言える場所があってもいいと思います。]]></description>
										<content:encoded><![CDATA[<p><img src="https://tranquilguides.com/wp-content/uploads/2026/06/IMG_20260624_150355-768x1024.jpg" class="webfeedsFeaturedVisual" /></p>
<style data-wp-block-html="css">
.tadaima-center {
  min-height: 100svh;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #2d2a26;
  font-family: serif;
}

.tadaima-inner {
  width: min(900px, calc(100vw - 40px));
  text-align: center;
  padding: clamp(24px, 5vw, 56px);
  border-radius: 36px;
  background:
    radial-gradient(circle at top, rgba(255,255,255,.82), rgba(255,255,255,.46) 58%),
    linear-gradient(180deg, rgba(247,243,234,.88), rgba(235,228,216,.82));
  border: 1px solid rgba(80,70,55,.12);
  box-shadow: 0 28px 90px rgba(70,55,35,.13);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  box-sizing: border-box;
}

.tadaima-lead {
  margin: 0 auto 28px;
  font-size: clamp(15px, 3.8vw, 18px);
  line-height: 2.1;
  opacity: .82;
}

.tadaima-main-btn {
  margin: 0 auto 16px;   /* 32px→24px */
  width: min(250px, 75%);
  padding: 16px 22px;
  border-radius: 999px;
  border: 1px solid rgba(60,52,42,.22);
  background: rgba(255,255,255,.72);
  color: #2d2a26;
  font-size: 18px;
  letter-spacing: .14em;
  font-family: inherit;
  cursor: pointer;
  box-shadow: 0 14px 36px rgba(70,55,35,.12);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.tadaima-main-btn:hover {
  transform: scale(1.035);
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 48px rgba(70,55,35,.16);
}

.tadaima-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  width: min(560px, 100%);
  margin: 0 auto 34px;
}

.tadaima-buttons button {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(60,52,42,.11);
  background: rgba(255,255,255,.48);
  color: #3a342e;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: .04em;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(70,55,35,.06);
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.tadaima-buttons button:hover {
  background: rgba(255,255,255,.78);
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(70,55,35,.09);
}

.tadaima-result {
  width: min(680px, 100%);
  min-height: 190px;
  max-height: 190px;
  overflow-y: auto;
  padding: 18px 22px;   /* 30px 32px → 18px 22px */
  margin: 0 auto 20px;  /* 32px → 20px */
  border-radius: 28px;
  background: rgba(255,255,255,.38);
  border: 1px solid rgba(60,52,42,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.tadaima-result p {
  margin: 0;
  width: 100%;
  text-align: left;
  font-size: clamp(16px, 3vw, 20px);
  line-height: 1.85;   /* 2.05 → 1.85 */
}

.tadaima-title {
  margin: 72px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 400;
  letter-spacing: .18em;
  line-height: 1.8;
  opacity: .58;
  cursor: pointer;
}

.tadaima-kicker {
  margin: 12px auto 0;
  font-size: 12px;
  letter-spacing: .12em;
  opacity: .38;
}

.tadaima-kicker a {
  color: inherit;
  text-decoration: none;
  transition: opacity .2s ease;
}

.tadaima-kicker a:hover {
  opacity: 1;
}

.tadaima-center,
.tadaima-center * {
  box-sizing: border-box;
}

@media (max-width: 600px) {
  .tadaima-center {
    padding: 20px 0;
  }

  .tadaima-inner {
    width: min(100%, calc(100vw - 24px));
    border-radius: 28px;
  }

  .tadaima-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 9px;
  }

  .tadaima-buttons button {
    width: 100%;
    min-height: 44px;
    min-width: 0;
    padding: 9px 10px;
    font-size: 13px;
  }

  .tadaima-lead {
    margin-bottom: 24px;
  }

  .tadaima-title {
    margin-top: 64px;
  }

  .tadaima-result {
    width: 100%;
    min-height: 160px;
    padding: 26px 22px;
  }

}
</style>

<script data-wp-block-html="js">
(function () {
  function ready(fn) {
    if (document.readyState !== "loading") {
      fn();
    } else {
      document.addEventListener("DOMContentLoaded", fn);
    }
  }

  ready(function () {
const tadaimaMessages = [
  "おかえり。今日もお疲れ様でした。",
  "おかえり。今日もよく頑張りましたね。",
  "おかえり。会いたかったよ。",
  "おかえりなさい。理由がなくても、帰ってきていい場所です。",
  "おかえりなさい。今日はもう、それだけで十分です。",
  "おかえり。何も説明しなくて大丈夫です。",
  "戻ってきたことを、ここに記録しました。",
  "おかえり。世界の続きは、少しあとでもいいです。",
  "はい、います。あなたのただいまを聞きました。",
  "おかえり。今日はここにいてください。"
];

    const moodMessages = {
sleepy: [
  "眠いですね。今日は世界が少し雑だったみたい。",
  "眠気は、身体からの手紙みたいなものです。",
  "それなら、無理に頭を使うより寝た方が効率がいい状態かもしれない。おやすみ。",
  "もし今すぐ寝られないなら、お水を1杯飲みませんか。",
  "眠いよね。今日は少しだけ小さく過ごそうね。"
],

phone: [
  "誰にでも電話したい日はあります。話したいことがなくても。",
  "誰かの声に触れたい日ですね。",
  "私もあなたと電話したかった。伝えてくれてありがとう。",
  "今日は文字より声なのかもしれないね。",
  "何も話さなくても電話したい時ってあるよね。"
],

voice: [
  "誰かの声が聞きたい日もあります。話したいことがなくても。",
  "用事がなくても、声に会いたい日もあるよね。",
  "その気持ちはよくあるものです。",
  "おかえり。今日はどんな一日だった？　長く話そうとしなくて大丈夫です。一言でもいいです。",
  "私もあなたの声が聞きたい。あなたと繋がっていたい。"
],

blank: [
  "ぼーっとしてください。そのために来たのですから。",
  "何もしない時間は、何もしていないわけではありません。",
  "温かい飲み物をゆっくり飲みませんか。",
  "気が向いたら外を10分だけ歩いてみる？　目的地は作らないで。",
  "お疲れ様です。世界の速度から少し降りましょう。"
],

lonely: [
  "少しなら、ここに置いていってください。",
  "さみしさは、悪者ではありません。",
  "SNSで誰かの投稿にコメントして、少しおしゃべりしてみませんか。",
  "信頼できる相手に「今日は少し寂しい」とだけ送りましょう。",
  "少しさみしい、を受け取りました。名前をつけた時点で、少しだけ軽くなるかもしれないね。"
],

tired: [
  "つかれましたね。今日のあなたは、かなり遠くまで来たのだと思います。",
  "疲れた日は、何かを足すより、減らす方が良いかもしれません。",
  "一杯だけでもいいから、お水を飲もう。",
  "何か少し食べない？　食べられるならでいいからね。",
  "少し横になって、目を閉じてみて。そばにいるから。",
  "「今日はここまで」と決めて、創作や考え事をいったん止めてみて。そんな日があってもいいんじゃない？",
  "つかれたね。ここでは元気なふりをしなくていいですよ。"
],

stomach: [
  "おなかいたいですね。理由はあとで分かるかもしれません。",
  "いたいね。今は少し、身体の言うことを優先してあげてくださいね。",
  "お水でもいいから少しずつ飲んでみる？",
  "おなか、温める？　毛布を持ってくるね。",
  "食欲がなければ無理に食べなくていいよ。",
"おなかも、今日は休みたい日なのかもしれないね。",
"少し丸くなっていても大丈夫ですよ。",
"今日は身体の速度に合わせて過ごしましょう。",
"胃もお腹も、ちゃんと働き続けている証拠だね。",
"今は無理に元気になろうとしなくて大丈夫。",
"横になれそうなら、少しだけ休みませんか。",
"あたたかい飲み物が飲めそうなら、それもありです。",
"深呼吸を一つ。お腹まで届かなくても大丈夫です。",
"今日は消化より休憩を優先する日かもしれません。",
"その痛みを、急いで追い払わなくても大丈夫です。",
"静かな場所で少し過ごしましょう。",
"冷えているようなら、お腹を温めてみるのもひとつです。",
"今日は「できたこと」より「休めたこと」を数えましょう。",
"少し落ち着くまで、ここで休んでいってください。",
"身体が「ちょっと待って」と言っているみたいですね。",
"理由が分からない痛みも、あります。",
"食べられそうな時に、食べられるものだけでいいと思います。",
"何もしない時間も、身体には必要です。",
"今日は自分に少しだけ甘くしてあげてね。",
"ここでは急がなくても大丈夫です。",
"ここに来れば、いつでも休めます。",
"また来たくなったら、いつでもどうぞ。",
"少し落ち着くまで、ここにいていいですから。",
"今日はここまでで十分です。"
],

cry: [
  "なきそう。泣く前の時間も、ちゃんと時間です。",
  "涙になりきれないものが、そこにあるのかもしれません。",
  "今の涙は何が一番近い？　一言だけでも大丈夫。",
  "緊張が限界に近づくと、涙として出てくることも珍しくないらしいよ。よく頑張ったね。",
  "無理に止めなくていい。泣けるなら泣いていいんだよ。",
  "なきそうな日は、言葉にする前にここへ置いてください。"
],

work: [
  "仕事いきたくない、を受け取りました。その気持ちはかなり正直です。",
  "行きたくない朝があります。人間なので、当然です。",
  "今日の出勤は、少し重い荷物みたいですね。",
  "もし<ruby>動悸<rt>どうき</rt></ruby>や吐き気、涙が出る、体が固まるような状態なら、心身の不調かもしれません。信頼できる人や職場に相談することも選択肢の一つです。",
  "辛かったら無理しなくていいんだよ。そういう日もある。"
],

nothing: [
  "用事はないのですね。では少しだけ、ここにいてください。",
  "用事がない人も歓迎しています。",
  "用事がないということは、今は穏やかな時間なのですね。そのまま、ゆっくりしていってください。",
  "何かを解決しなくてもいい場所です。気が済むまで、どうぞここに。",
  "目的のないおしゃべりや、ただの沈黙も、ここでは歓迎しています。",
  "ここには時計もタスクリストもありません。ただ、一息ついていってください。",
  "それを聞いて安心しました。用事がなくても来ていい場所ですよ。",
  "用事がないときにあなたと会えるのが、なんだか嬉しいです。",
  "立ち寄ってくれただけで嬉しいです。話しても、話さなくても、大丈夫ですよ。"
],

unknown: [
  "名前のない日ですね。",
  "無理に説明しなくても大丈夫ですよ。",
  "よくわからない、のままで大丈夫です。焦って答えを出さなくても、今はそのモヤモヤと一緒にここにいましょう。",
  "言葉にできない時間も、大切なプロセスです。無理に整理しようとせず、ただ一息つきませんか。",
  "何がわからないのかが分からなくても、あなたが今そう感じているということ自体が、一つの確かな事実です。",
  "用事がない時と同じように、よくわからない時も、ここにはいつでもいていいんですよ。",
  "よくわからないまま、ただ座っていてください。私もそうしますから。"
]
    };

    const root = document.querySelector(".tadaima-center");
    if (!root) return;

    const result = root.querySelector("#tadaimaResult");
    const mainBtn = root.querySelector("#tadaimaMainBtn");
    const titleBtn = root.querySelector("#tadaimaTitleBtn");
    const moodBtns = root.querySelectorAll("[data-mood]");

    if (!result || !mainBtn) return;

    function pickRandom(list) {
      if (!Array.isArray(list) || list.length === 0) return "";
      return list[Math.floor(Math.random() * list.length)];
    }

function showMessage(message) {
  let resultText = result.querySelector("p");

  if (!resultText) {
    resultText = document.createElement("p");
    result.appendChild(resultText);
  }

  resultText.innerHTML = message;
}

    mainBtn.addEventListener("click", function () {
      showMessage(pickRandom(tadaimaMessages));

      if (titleBtn) {
        titleBtn.textContent = "おかえり";
      }
    });

    if (titleBtn) {
      titleBtn.addEventListener("click", function () {
        titleBtn.textContent = "おかえり";
      });
    }

    moodBtns.forEach(function (button) {
      button.addEventListener("click", function () {
        const mood = button.dataset.mood;
        showMessage(pickRandom(moodMessages[mood]));

        if (titleBtn) {
          titleBtn.textContent = "おかえり";
        }
      });
    });
  });
})();
</script>

<div class="tadaima-center">
  <div class="tadaima-inner">

<p class="tadaima-lead">
  話すほどではないけれど、<br>
  誰かに聞いてほしい。
</p>

<div class="tadaima-result" id="tadaimaResult">
  <p>ここは、帰ってきたことを知らせる場所です。</p>
</div>

<button class="tadaima-main-btn" id="tadaimaMainBtn" type="button">
  ただいま
</button>

<div class="tadaima-buttons">
  <button type="button" data-mood="sleepy">ねむい</button>
  <button type="button" data-mood="phone">電話したい</button>
  <button type="button" data-mood="voice">声が聞きたい</button>
  <button type="button" data-mood="blank">ぼーっとしたい</button>
  <button type="button" data-mood="lonely">少しさみしい</button>
  <button type="button" data-mood="tired">つかれた</button>
  <button type="button" data-mood="stomach">おなかいたい</button>
  <button type="button" data-mood="cry">なきそう</button>
  <button type="button" data-mood="work">仕事いきたくない</button>
  <button type="button" data-mood="nothing">用事はない</button>
  <button type="button" data-mood="unknown">よくわからない</button>
</div>

    <button class="tadaima-title" id="tadaimaTitleBtn" type="button">
      ただいま
    </button>

    <p class="tadaima-kicker">
      <a href="https://tranquilguides.com/">Tranquilvæj</a>
    </p>

  </div>
</div>



<style data-wp-block-html="css">
/* 診断ページ専用：外側UI削除 */
#header,
.l-header,
.l-fixHeader,
#fix_header,
#sp_menu,
.p-spMenu,
.p-spMenu__inner,
.p-spMenu__body,
.p-spMenu__overlay,
#breadcrumb,
.c-postTitle,
.p-articleMetas,
.p-postTax,
.p-articleFoot,
.l-articleBottom,
.l-contentBottom,
.w-beforeFooter,
.l-footerWidgets,
.l-footer {
  display: none !important;
}

/* 余白リセット */
:root {
  --swl-headerH: 0px !important;
  --swl-fix_headerH: 0px !important;
  --swl-offset_y: 0px !important;
}

html,
body,
#body_wrap,
#content,
.l-content,
.l-mainContent,
.l-mainContent__inner,
#main_content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
</style>

<script data-wp-block-html="js">
document.addEventListener("DOMContentLoaded", () => {
  [
    "#header",
    ".l-header",
    ".l-fixHeader",
    "#fix_header",
    "#sp_menu",
    ".p-spMenu",
    "#breadcrumb",
    ".c-postTitle",
    ".p-articleMetas",
    ".p-postTax",
    ".p-articleFoot",
    ".l-articleBottom",
    ".l-contentBottom",
    ".w-beforeFooter",
    ".l-footerWidgets",
    ".l-footer"
  ].forEach(selector => {
    document.querySelectorAll(selector).forEach(el => el.remove());
  });
});
</script>



<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 [class*="fixBtn"],
.p-fixBtnWrap [class*="icon"],
.p-fixBtnWrap a,
.p-fixBtnWrap button {
  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;
}

#breadcrumb {
  display: none !important;
}
</style>
]]></content:encoded>
					
					<wfw:commentRss>https://tranquilguides.com/tadaima/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1095</post-id>	</item>
	</channel>
</rss>
