@charset "UTF-8";
/*
 * TUTURIGACHI 2011 / nogisu design / do not edit without permission
 * Copyright (C) 2011 Tuturigachi Language Solutions Corp. All Rights Reserved.
 */
.tuturigachi {
  font-family: var(--font-agency-ja);
  font-size: 12px;
  line-height: 1.75;
  color: var(--sumi);
  -webkit-text-size-adjust: 100%;
}
.tuturigachi a { color: var(--link); }
.tuturigachi a:visited { color: var(--link-visited); }
.tuturigachi a:hover { color: var(--link-hover); text-decoration: none; }
.tuturigachi img { border: 0; vertical-align: middle; }

.t-body {
  margin: 0;
  background: var(--shironezumi) linear-gradient(oklch(0.89 0.012 208), var(--shironezumi) 260px) no-repeat;
  padding: 0 0 0;
}
.t-page {
  width: var(--page-width);
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 0 0 1px oklch(0.86 0.008 210), 0 0 10px oklch(0.4 0.02 210 / 0.10);
}

.t-skip { position: absolute; left: 0; top: -40px; margin: 0; z-index: 10; }
.t-skip a { display: block; padding: 6px 12px; background: #fff; }
.t-skip a:focus { position: fixed; top: 0; left: 0; outline: 2px solid var(--fukagawa-teal-700); }

.t-header { position: relative; height: 96px; background: linear-gradient(#f6f9f9, #e9eff0); }
.t-header__logo { position: absolute; left: 22px; top: 16px; width: 330px; margin: 0; display: block; }
.t-header__logo a, .t-header__logo img, .t-header__logo svg { display: block; width: 100%; height: auto; }
.t-util { position: absolute; right: 22px; top: 10px; display: flex; gap: 14px; margin: 0; padding: 0; list-style: none; font-size: 11px; }
.t-util a { color: var(--sumi-sub); text-decoration: none; padding-left: 9px; position: relative; }
.t-util a::before {
  content: ""; position: absolute; left: 0; top: 50%; margin-top: -3px;
  border: 3px solid transparent; border-left: 4px solid var(--kaki-500); border-right: 0;
}
.t-util a:hover { color: var(--link); text-decoration: underline; }

.t-fav {
  position: relative; margin: 0; padding: 0 0 0 13px; border: 0; background: none; cursor: pointer;
  font: 11px/inherit var(--font-agency-ja); line-height: inherit; color: var(--sumi-sub);
}
.t-fav::before {
  content: ""; position: absolute; left: 0; top: 50%; width: 10px; height: 10px; margin-top: -5.5px;
  background: linear-gradient(oklch(0.78 0.08 85), var(--kusumi-gold-600));
  clip-path: polygon(50% 0, 62% 36%, 100% 36%, 69% 58%, 81% 95%, 50% 72%, 19% 95%, 31% 58%, 0 36%, 38% 36%);
}
.t-fav:hover { color: var(--link); text-decoration: underline; }
.t-fav:focus-visible, .t-util a:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-fontsize { position: absolute; right: 234px; top: 44px; display: flex; align-items: center; gap: 3px; font-size: 10px; color: var(--sumi-sub); }
.t-fontsize span { margin-right: 4px; }
.t-fontsize button {
  width: 20px; height: 20px; padding: 0; font: 10px/18px var(--font-agency-ja); color: var(--sumi);
  border: 1px solid oklch(0.78 0.008 210); border-radius: 2px; cursor: pointer;
  background: linear-gradient(#fff, oklch(0.92 0.006 210));
  box-shadow: inset 0 1px 0 #fff;
}
.t-fontsize button[aria-pressed="true"] {
  color: #fff; border-color: var(--fukagawa-teal-800);
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700));
  box-shadow: inset 0 1px 2px oklch(0.2 0.03 215 / 0.45);
}
.t-search { position: absolute; right: 22px; top: 42px; display: flex; gap: 4px; }
.t-search input {
  width: 128px; height: 22px; padding: 1px 5px; font: 11px var(--font-agency-ja); color: var(--sumi);
  border: 1px solid oklch(0.76 0.008 210); box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.12);
}
.t-search input::placeholder { color: var(--sumi-sub); }

.t-btn {
  display: inline-flex; align-items: center; gap: 6px;
  height: 26px; padding: 0 14px 0 12px; font: 12px/1 var(--font-agency-ja);
  color: var(--sumi); text-decoration: none; cursor: pointer;
  border: 1px solid oklch(0.76 0.01 210); border-radius: 3px;
  background: linear-gradient(#fff, oklch(0.92 0.006 210));
  box-shadow: inset 0 1px 0 #fff, 0 1px 1px oklch(0 0 0 / 0.08);
  text-shadow: 0 1px 0 #fff;
}
.tuturigachi a.t-btn, .tuturigachi a.t-btn:visited { color: var(--sumi); }
.t-btn::before {
  content: ""; border: 3.5px solid transparent; border-left: 5px solid var(--kaki-500); border-right: 0;
}
.t-btn:hover { background: linear-gradient(#fff, oklch(0.95 0.004 210)); }
.t-btn:active { background: linear-gradient(oklch(0.9 0.006 210), #fff); box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.15); }
.t-btn--primary, .tuturigachi a.t-btn--primary, .tuturigachi a.t-btn--primary:visited {
  color: #fff; font-weight: bold; letter-spacing: 0.04em;
  text-shadow: 0 -1px 0 oklch(0.3 0.08 40 / 0.55);
  border-color: oklch(0.40 0.10 42);

  background: linear-gradient(oklch(0.75 0.13 55) 0%, var(--kaki-500) 14%, var(--kaki-700) 30%, oklch(0.46 0.115 43) 100%);
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.38), 0 1px 1px oklch(0 0 0 / 0.18);
}
.t-btn--primary::before { border-left-color: var(--araigaki-100); }
.t-btn--primary:hover { background: linear-gradient(oklch(0.78 0.12 56) 0%, var(--kaki-500) 16%, var(--kaki-700) 32%, var(--kaki-700) 100%); }
.t-btn--primary:active { background: linear-gradient(oklch(0.46 0.115 43), var(--kaki-700)); box-shadow: inset 0 1px 2px oklch(0.2 0.06 40 / 0.5); }

.t-search .t-btn--primary, .f-install .t-btn--primary {
  font-weight: normal; letter-spacing: 0; text-shadow: 0 -1px 0 oklch(0.2 0.03 215 / 0.5);
  border-color: var(--fukagawa-teal-900);
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700) 60%, var(--fukagawa-teal-800));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3), 0 1px 1px oklch(0 0 0 / 0.15);
}
.t-search .t-btn--primary::before, .f-install .t-btn--primary::before { border-left-color: var(--kusumi-gold-300); }
.t-search .t-btn--primary:hover, .f-install .t-btn--primary:hover { background: linear-gradient(oklch(0.6 0.055 208), var(--fukagawa-teal-700)); }
.t-search .t-btn--primary:active, .f-install .t-btn--primary:active { background: linear-gradient(oklch(0.9 0.006 210), #fff); }
.t-btn--small { height: 22px; font-size: 11px; padding: 0 10px 0 8px; }

.t-columns { display: grid; grid-template-columns: var(--main-width) var(--side-width); gap: var(--gutter); padding: 10px var(--gutter) 30px; }
.t-columns--wide { grid-template-columns: 1fr; padding: 10px 30px 30px; }
.t-pagetop { margin: 30px 0 0; text-align: right; font-size: 11px; }
.t-pagetop a { padding-left: 12px; position: relative; }
.t-pagetop a::before { content: ""; position: absolute; left: 1px; top: 50%; margin-top: -3px; border: 3.5px solid transparent; border-bottom: 5px solid var(--kaki-500); border-top: 0; }

.t-gnav {
  display: flex; height: 52px; margin: 0; padding: 0; list-style: none;
  background: linear-gradient(oklch(0.52 0.058 211), var(--fukagawa-teal-700) 52%, var(--fukagawa-teal-800));
  border-top: 1px solid oklch(0.62 0.05 208);
  border-bottom: 1px solid var(--fukagawa-teal-900);
}
.t-gnav li { flex: 1; display: flex; }
.t-gnav a, .tuturigachi .t-gnav a:visited {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
  color: #fff; text-decoration: none; font-size: 13px; font-weight: bold; letter-spacing: 0.06em;
  text-shadow: 0 -1px 0 oklch(0.2 0.03 215 / 0.55);
  border-left: 1px solid oklch(1 0 0 / 0.14); border-right: 1px solid oklch(0 0 0 / 0.22);
}
.t-gnav li:first-child a { border-left: 0; }
.t-gnav li:last-child a { border-right: 0; }
.t-gnav a small { font: 9px/1.1 var(--font-agency-en); letter-spacing: 0.16em; color: oklch(0.87 0.03 205); font-weight: normal; }
.t-gnav a:hover, .t-gnav a[aria-current="page"] {
  color: #fff;
  background: linear-gradient(oklch(0.58 0.055 208), oklch(0.47 0.063 211));
  box-shadow: inset 0 -3px 0 var(--nav-mark, var(--kaki-500));
}

.t-gnav--silver {
  --nav-mark: var(--kaki-700);
  background: linear-gradient(#fdfefe 0%, oklch(0.965 0.004 210) 48%, oklch(0.935 0.006 210) 52%, oklch(0.905 0.007 210) 100%);
  border-top: 1px solid var(--jimu-gray-300);
  border-bottom: 1px solid oklch(0.76 0.008 210);
  box-shadow: inset 0 1px 0 #fff;
}
.t-gnav--silver a, .tuturigachi .t-gnav--silver a:visited {
  color: var(--fukagawa-teal-800); text-shadow: 0 1px 0 #fff;
  border-left: 1px solid #fff; border-right: 1px solid oklch(0.82 0.008 210);
}
.t-gnav--silver li:first-child a { border-left: 0; }
.t-gnav--silver li:last-child a { border-right: 0; }
.t-gnav--silver a small { color: var(--sumi-sub); }
.t-gnav--silver a:hover, .t-gnav--silver a[aria-current="page"] { color: var(--fukagawa-teal-800); background: linear-gradient(#fff, oklch(0.975 0.004 210)); }

.t-haishoku { position: absolute; right: 22px; top: 70px; margin: 0; padding: 1px 6px; font-size: 10px; line-height: 16px; color: var(--sumi-sub); background: oklch(0.985 0.03 100); border: 1px dashed oklch(0.8 0.06 95); }
.t-haishoku b { color: var(--sumi); }

.t-crumb { display: flex; gap: 6px; margin: 0; padding: 8px 22px; list-style: none; font-size: 11px; color: var(--sumi-sub); border-bottom: 1px solid var(--jimu-gray-200); }
.t-crumb li + li::before { content: "›"; margin-right: 6px; color: var(--jimu-gray-500); }

.t-pagetitle {
  position: relative; height: 96px; padding: 0 30px; display: flex; flex-direction: column; justify-content: center;
  background: linear-gradient(90deg, var(--fukagawa-teal-100) 0%, oklch(0.985 0.005 205) 62%, #fff 100%);
  border-bottom: 1px solid var(--jimu-gray-300);
  overflow: hidden;
}
.t-pagetitle::after {
  content: ""; position: absolute; right: -40px; top: 0; bottom: 0; width: 460px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 460 96' preserveAspectRatio='none'%3E%3Cg fill='%231d5a66'%3E%3Cpath d='M60 54h400v7H58z' fill-opacity='.075'/%3E%3Cpath d='M150 64h310v5H148.6z' fill-opacity='.06'/%3E%3Cpath d='M240 72h220v3H239.1z' fill-opacity='.05'/%3E%3C/g%3E%3C/svg%3E") no-repeat right center / 100% 100%;
}
.t-pagetitle .en { font: 10px/1 var(--font-agency-en); letter-spacing: 0.22em; color: var(--kusumi-gold-700); }
.t-pagetitle h1 { margin: 8px 0 0; font: 500 25px/1.3 var(--font-agency-heading); letter-spacing: 0.08em; color: var(--fukagawa-teal-800); }
.t-h2 {
  position: relative; margin: 28px 0 14px; padding: 8px 12px 7px 26px;
  font-size: 15px; font-weight: bold; line-height: 1.5; color: var(--fukagawa-teal-800);
  background: linear-gradient(#fdfdfd, oklch(0.94 0.006 205));
  border: 1px solid var(--jimu-gray-300); border-bottom: 2px solid var(--fukagawa-teal-700); border-radius: 2px 2px 0 0;
}
.t-h2::before {
  content: ""; position: absolute; left: 10px; top: 50%; width: 8px; height: 8px; margin-top: -4px;
  background: var(--fukagawa-teal-700);
}
.t-h2::after { content: ""; position: absolute; left: -1px; bottom: -2px; width: 56px; height: 2px; background: var(--kaki-500); }
.t-h3 { margin: 20px 0 8px; padding: 0 0 4px 14px; position: relative; font-size: 13px; font-weight: bold; color: var(--fukagawa-teal-700); border-bottom: 1px dotted var(--jimu-gray-500); }
.t-h3::before { content: ""; position: absolute; left: 0; top: 7px; width: 7px; height: 7px; background: var(--kusumi-gold-600); }

.t-links { margin: 0; padding: 0; list-style: none; }
.t-links li { position: relative; padding: 3px 0 3px 12px; }
.t-links li::before { content: ""; position: absolute; left: 1px; top: 11px; border: 3.5px solid transparent; border-left: 5px solid var(--kaki-500); border-right: 0; }
.t-pdf::after {
  content: "PDF"; display: inline-block; margin-left: 5px; padding: 0 3px; vertical-align: 1px;
  font: bold 8px/12px var(--font-agency-en); color: #fff; letter-spacing: 0.04em;
  background: linear-gradient(oklch(0.62 0.2 27), oklch(0.5 0.2 27)); border-radius: 1px;
}
.t-size { font: 10px var(--font-dates); color: var(--sumi-sub); }
.t-ext::after { content: ""; display: inline-block; width: 8px; height: 7px; margin-left: 4px; border: 1px solid currentColor; box-shadow: 2px -2px 0 -1px #fff, 2px -2px 0 currentColor; vertical-align: 1px; }
.t-new { margin-left: 6px; font: italic bold 9px/1 var(--font-dates); color: var(--kaki-700); letter-spacing: 0.02em; }

.t-news { margin: 0; padding: 0; list-style: none; border-top: 1px dotted var(--jimu-gray-300); }
.t-news li { display: grid; grid-template-columns: 78px 70px 1fr; align-items: baseline; gap: 8px; padding: 8px 4px; border-bottom: 1px dotted var(--jimu-gray-300); }
.t-news time, .t-news__date { font: 11px var(--font-dates); color: var(--sumi-sub); }
.t-tag { display: inline-block; width: 64px; text-align: center; font-size: 10px; line-height: 16px; color: #fff; border-radius: 2px; background: var(--fukagawa-teal-500); }
.t-tag--ir { background: var(--kusumi-gold-700); }
.t-tag--recruit { background: oklch(0.52 0.05 160); }
.t-tag--important { background: var(--notice-red); }

.t-table { width: 100%; border-collapse: collapse; }
.t-table th, .t-table td { padding: 10px 14px; border: 1px solid var(--jimu-gray-300); text-align: left; vertical-align: top; }
.t-table--compact th { width: 64px !important; white-space: nowrap; }
.t-table th { width: 170px; font-weight: normal; background: var(--shironezumi-50); color: var(--fukagawa-teal-800); }

.t-banners { display: grid; gap: 8px; }
.t-banner, .tuturigachi .t-banner:visited {
  position: relative; display: block; height: 70px; padding: 13px 44px 0 14px; text-decoration: none; overflow: hidden;
  border: 1px solid var(--jimu-gray-300); border-radius: 2px; color: var(--sumi);
  background: linear-gradient(#fff, var(--shironezumi-50));
  box-shadow: inset 0 1px 0 #fff;
}
.t-banner b { display: block; font: italic 17px/1.1 var(--font-agency-accent); letter-spacing: 0.04em; color: var(--fukagawa-teal-700); }
.t-banner span { display: block; margin-top: 5px; font-size: 11px; color: var(--sumi); }
.t-banner::after {
  content: ""; position: absolute; right: 14px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.35);
}
.t-banner i { position: absolute; right: 20px; top: 50%; margin-top: -4px; border: 4px solid transparent; border-left: 6px solid #fff; border-right: 0; z-index: 1; }
.t-banner:hover { background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-banner--gold b { color: var(--kusumi-gold-700); }
.t-banner--dark { background: linear-gradient(var(--fukagawa-teal-700), var(--fukagawa-teal-900)); border-color: var(--fukagawa-teal-900); }
.t-banner--dark b, .t-banner--dark span { color: #fff; }

.t-cal { width: 100%; border-collapse: collapse; font: 10px/1 var(--font-dates); text-align: center; }
.t-cal caption { padding: 6px 0; font: bold 11px var(--font-agency-ja); color: var(--fukagawa-teal-800); background: var(--shironezumi-50); border: 1px solid var(--jimu-gray-300); border-bottom: 0; }
.t-cal th, .t-cal td { padding: 5px 0; border: 1px solid var(--jimu-gray-200); }
.t-cal th { font-weight: normal; color: var(--sumi-sub); background: #fff; }
.t-cal .sun { color: var(--notice-red); }
.t-cal .sat { color: var(--link); }
.t-cal .off { background: oklch(0.93 0.035 20); color: var(--notice-red); }
.t-cal-legend { margin: 4px 0 0; font-size: 10px; color: var(--sumi-sub); }
.t-cal-legend i { display: inline-block; width: 9px; height: 9px; margin-right: 4px; vertical-align: -1px; background: oklch(0.93 0.035 20); border: 1px solid oklch(0.85 0.06 20); }

.t-footer { background: var(--fukagawa-teal-900); color: oklch(0.87 0.02 205); }
.t-footer__map { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 24px 30px 20px; font-size: 11px; }
.t-footer__map h4 { margin: 0 0 6px; font-size: 12px; color: #fff; }
.t-footer__map ul { margin: 0; padding: 0; list-style: none; }
.t-footer__map a, .tuturigachi .t-footer__map a:visited { color: oklch(0.87 0.02 205); text-decoration: none; line-height: 1.9; }
.t-footer__map a:hover { color: #fff; text-decoration: underline; }
.t-footer__bar { display: flex; align-items: center; gap: 16px; padding: 10px 30px; font-size: 10px; background: oklch(0.26 0.04 216); color: oklch(0.78 0.02 205); }
.t-footer__bar address { font-style: normal; }
.t-footer__bar nav, .t-footer__bar ul { display: flex; gap: 12px; margin: 0 0 0 auto; padding: 0; list-style: none; }
.t-footer__bar nav a, .t-footer__bar ul a, .tuturigachi .t-footer__bar nav a:visited, .tuturigachi .t-footer__bar ul a:visited { color: oklch(0.82 0.02 205); text-decoration: none; }
.t-footer__bar ul a:hover { color: #fff; text-decoration: underline; }
.t-sp-link { display: none; }
.is-smartphone .t-sp-link { display: list-item; }
.t-footer__frog { display: block; width: 24px; height: 24px; image-rendering: pixelated; }

.kaeru { display: block; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; line-height: 0; }
.kaeru img { display: block; image-rendering: pixelated; }
.kaeru.is-settled img { transform: translateY(1px); }
.kaeru:focus { outline: none; }
.kaeru:focus-visible { outline: 1px dotted currentColor; outline-offset: 2px; }
.h-frog .kaeru { display: inline-block; margin-right: 6px; vertical-align: -3px; }
.h-frog .kaeru img { margin: 0; vertical-align: top; }

.f-flash {
  position: relative; height: 250px; display: grid; place-content: center; justify-items: center; gap: 10px;
  background: oklch(0.955 0.002 210); color: oklch(0.45 0.005 210); font-size: 12px;
  border-bottom: 1px solid var(--jimu-gray-300);
}
.f-flash object { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; max-width: 100%; }
.f-flash p { margin: 0; }
.f-flash svg { width: 44px; height: 44px; }
.f-flash__fallback { position: absolute; left: 12px; bottom: 12px; width: 120px; height: 38px; border: 1px solid var(--jimu-gray-300); }
.f-flash__plugin { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.f-flash__plugin p { max-width: 36em; line-height: 1.6; }

.f-getflash {
  display: inline-flex; align-items: center; gap: 7px; height: 30px; margin-top: 2px; padding: 0 14px 0 5px; cursor: pointer;
  font: bold 12px/1 var(--font-agency-ja); color: oklch(0.36 0.006 215); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.74 0.008 210); border-radius: 15px;
  background: linear-gradient(#fff, oklch(0.94 0.004 210) 50%, oklch(0.9 0.006 210) 51%, oklch(0.93 0.005 210));
  box-shadow: inset 0 1px 0 #fff, 0 1px 2px oklch(0 0 0 / 0.12);
}
.f-getflash:hover { background: linear-gradient(#fff, oklch(0.96 0.003 210) 50%, oklch(0.93 0.005 210) 51%, oklch(0.95 0.004 210)); color: oklch(0.3 0.006 215); }
.f-getflash:active { background: linear-gradient(oklch(0.88 0.006 210), oklch(0.95 0.004 210)); box-shadow: inset 0 1px 3px oklch(0 0 0 / 0.18); }
.f-getflash:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.f-getflash__arrow {
  position: relative; flex: none; width: 20px; height: 20px; border-radius: 50%;
  background: linear-gradient(oklch(0.7 0.008 210), oklch(0.52 0.01 212));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.35), 0 1px 0 #fff;
}
.f-getflash__arrow::before { content: ""; position: absolute; left: 50%; top: 4px; width: 4px; height: 6px; margin-left: -2px; background: #fff; }
.f-getflash__arrow::after { content: ""; position: absolute; left: 50%; top: 10px; margin-left: -5px; border: 5px solid transparent; border-top: 5px solid #fff; border-bottom: 0; }

.f-flash.is-installing .f-flash__plugin > :not(.f-flash__fallback) { visibility: hidden; }
.f-install {
  position: absolute; left: 50%; top: 50%; z-index: 2; width: 440px; max-width: calc(100% - 24px); transform: translate(-50%, -50%);
  text-align: left; color: var(--sumi); font-size: 12px; line-height: 1.6;
  border: 1px solid var(--fukagawa-teal-900); border-radius: 4px; overflow: hidden;
  background: linear-gradient(#fff 45%, var(--shironezumi-50));
  box-shadow: 0 0 0 4px oklch(1 0 0 / 0.7), 0 3px 14px oklch(0.3 0.03 215 / 0.28);
}
.f-flash .f-install__title {
  position: relative; margin: 0; padding: 9px 16px 8px 28px; overflow: hidden;
  font: 500 14px/1.35 var(--font-agency-heading); letter-spacing: 0.08em; color: #fff;
  text-shadow: 0 -1px 0 oklch(0.2 0.03 215 / 0.5);
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700) 60%, var(--fukagawa-teal-800));
  border-bottom: 1px solid var(--fukagawa-teal-900);
}
.f-install__title::before {
  content: ""; position: absolute; left: 12px; top: 50%; width: 7px; height: 7px; margin-top: -4px;
  background: #fff; box-shadow: 2px 2px 0 var(--kusumi-gold-600);
}
.f-install__title::after {
  content: ""; position: absolute; right: -12px; top: 0; bottom: 0; width: 220px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 36' preserveAspectRatio='none'%3E%3Cg fill='%23fff'%3E%3Cpath d='M40 19h180v5H38.6z' fill-opacity='.16'/%3E%3Cpath d='M92 26h128v3H91.1z' fill-opacity='.12'/%3E%3Cpath d='M140 31h80v2H139.4z' fill-opacity='.1'/%3E%3C/g%3E%3C/svg%3E") no-repeat right center / 100% 100%;
}
.f-install__title:focus { outline: none; }
.f-install__title:focus-visible { outline: 2px solid var(--kusumi-gold-300); outline-offset: -4px; }
.f-flash .f-install__status { margin: 16px 18px 9px; min-height: 1.6em; font-size: 12px; }
.f-install__meter { display: flex; align-items: center; gap: 10px; margin: 0 18px 18px; }
.f-install__bar {
  flex: 1; height: 16px; padding: 1px; box-sizing: border-box; overflow: hidden;
  border: 1px solid oklch(0.7 0.012 210); border-radius: 3px;
  background: linear-gradient(oklch(0.89 0.006 210), #fff);
  box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.14);
}
.f-install__fill {
  display: block; height: 100%; max-width: 100%; border-radius: 2px;
  background:
    repeating-linear-gradient(-45deg, oklch(1 0 0 / 0.13) 0 5px, oklch(1 0 0 / 0) 5px 10px),
    linear-gradient(oklch(0.64 0.05 206), var(--fukagawa-teal-700) 55%, var(--fukagawa-teal-800));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.35), inset 0 -1px 0 oklch(0 0 0 / 0.12);
  transition: width 0.22s linear;
}
.f-install__pct { flex: none; width: 3.4em; text-align: right; font: 11px var(--font-dates); color: var(--sumi-sub); }
.f-flash .f-install__buttons { display: flex; justify-content: center; gap: 8px; margin: -4px 18px 18px; }
.f-install .t-btn:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }

.f-flash.is-installed .f-install { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .f-flash.is-installed .f-install { transition: opacity 0.45s ease, display 0.45s allow-discrete; }
  .f-flash.is-installed .f-movie { animation: f-fadein 0.5s ease-out both; }
}
@media (prefers-reduced-motion: reduce) { .f-install__fill { transition: none; } }
@keyframes f-fadein { from { opacity: 0; } }

.f-loading {
  position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  background: #0c2c34; color: oklch(0.86 0.02 205);
}
.f-flash .f-loading__text { font: 11px/1 var(--font-agency-ja); letter-spacing: 0.1em; }
.f-loading__bar { width: 160px; height: 3px; background: oklch(1 0 0 / 0.14); }
.f-loading__bar span { display: block; height: 100%; background: oklch(0.86 0.02 205); }

.f-notice {
  position: absolute; left: 0; right: 0; top: 0; z-index: 3; display: flex; align-items: center; gap: 6px; height: 24px; padding: 0 4px 0 6px;
  font: 12px/1 "メイリオ", Meiryo, "MS UI Gothic", var(--font-agency-ja); color: #000;
  background: #ffffe1; border-bottom: 1px solid #a0a0a0; box-shadow: 0 1px 2px oklch(0 0 0 / 0.15);
}
.f-flash .f-notice svg { flex: none; width: 16px; height: 16px; }
.f-notice__text { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.f-notice button { flex: none; margin: 0; cursor: pointer; font: inherit; color: #000; }
.f-notice__update { height: 19px; padding: 0 10px; border: 1px solid #8a8a8a; border-radius: 2px; background: linear-gradient(#fff, #e6e6e6); }
.f-notice__update:hover { background: linear-gradient(#fff, #d8e8f8); border-color: #3c7fb1; }
.f-notice__close { width: 19px; height: 19px; padding: 0; border: 1px solid transparent; background: none; font-size: 14px; }
.f-notice__close:hover { border-color: #8a8a8a; background: #fff; }
.f-notice button:focus-visible { outline: 1px dotted #000; outline-offset: 1px; }

.f-flash.is-updating .f-install { opacity: 1; }

.f-flash.is-installed { display: block; place-content: normal; justify-items: normal; height: auto; }
.f-movie { position: relative; }
.f-movie__stage { display: block; width: 100%; aspect-ratio: 960 / 250; background: #0c2c34; overflow: hidden; }
.f-movie__stage canvas, .f-movie__stage img { display: block; width: 100%; height: auto; }
.f-movie__stage:focus { outline: none; }
.f-movie__stage:focus-visible { outline: 2px solid var(--kusumi-gold-300); outline-offset: -3px; }
.f-flash .f-movie__ctrl { position: absolute; right: 10px; bottom: 8px; display: flex; }
.f-movie__ctrl button {
  position: relative; margin: 0; padding: 3px 7px 3px 15px; border: 0; background: none; cursor: pointer;
  font: 10px/1 var(--font-dates); letter-spacing: 0.12em; color: oklch(1 0 0 / 0.8);
  text-shadow: 0 1px 2px oklch(0.15 0.03 215 / 0.8);
}
.f-movie__ctrl button::before {
  content: ""; position: absolute; left: 7px; top: 50%; margin-top: -3.5px;
  border: 3.5px solid transparent; border-left: 4.5px solid var(--kusumi-gold-300); border-right: 0;
}
.f-movie__ctrl button + button { box-shadow: -1px 0 0 oklch(1 0 0 / 0.3); }
.f-movie__ctrl button:hover { color: #fff; text-decoration: underline; }
.f-movie__ctrl button[aria-pressed="true"] { color: var(--kusumi-gold-300); }
.f-movie__ctrl button:focus-visible { outline: 1px dotted #fff; outline-offset: 0; color: #fff; }
.f-broken {
  display: inline-flex; align-items: flex-start; gap: 4px; padding: 3px 5px; width: 120px; height: 60px;
  border: 1px solid oklch(0.75 0 0); background: #fff; font: 11px var(--font-agency-en); color: oklch(0.45 0 0); vertical-align: top;
}
.f-broken svg { flex: none; width: 16px; height: 16px; }
.f-widget { border: 1px solid var(--jimu-gray-300); border-radius: 3px; overflow: hidden; }
.f-widget__head { padding: 6px 10px; font-size: 11px; font-weight: bold; color: #fff; background: linear-gradient(oklch(0.72 0.1 230), oklch(0.62 0.11 232)); }
.f-widget__body { height: 120px; display: grid; place-content: center; justify-items: center; gap: 8px; font-size: 11px; color: var(--sumi-sub); background: #fff; }
.f-spinner { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--jimu-gray-300); border-top-color: var(--jimu-gray-500); animation: f-spin 1.1s linear infinite; }
@keyframes f-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .f-spinner { animation: none; } }

.f-widget__foot { margin: 0; padding: 3px 8px 4px; text-align: right; line-height: 1.5; background: var(--shironezumi-50); border-top: 1px solid var(--jimu-gray-200); }
.f-widget__reload {
  position: relative; margin: 0; padding: 0 0 0 9px; border: 0; background: none; cursor: pointer;
  font: 10px/1.5 var(--font-agency-ja); color: var(--link); text-decoration: underline;
}
.f-widget__reload::before { content: ""; position: absolute; left: 0; top: 50%; margin-top: -3px; border: 3px solid transparent; border-left: 4px solid var(--kaki-500); border-right: 0; }
.f-widget__reload:hover { color: var(--link-hover); text-decoration: none; }
.f-widget__reload:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 1px; }
.f-widget.is-error .f-widget__body::before {
  content: "!" / ""; width: 16px; height: 16px; box-sizing: border-box; border-radius: 50%;
  font: bold 10px/12px var(--font-agency-en); text-align: center; color: var(--jimu-gray-500);
  border: 2px solid var(--jimu-gray-300);
}
.f-widget.is-loaded .f-widget__body { display: block; place-content: normal; justify-items: normal; height: auto; min-height: 120px; box-sizing: border-box; padding: 10px 10px 8px; color: var(--sumi); }
.f-tweet { display: grid; grid-template-columns: 32px 1fr; column-gap: 8px; align-items: start; }
.f-tweet p { margin: 0; }
.f-tweet__icon { grid-row: 1 / span 3; display: block; width: 32px; height: 32px; border-radius: 3px; box-shadow: 0 0 0 1px oklch(0 0 0 / 0.08); }
.f-tweet__name { font-size: 11px; line-height: 1.35; }
.f-tweet__name b { color: var(--sumi); }
.f-tweet__name span { display: block; font: 10px/1.4 var(--font-agency-en); color: var(--sumi-sub); }
.f-tweet__text { margin-top: 4px !important; font-size: 11.5px; line-height: 1.65; overflow-wrap: anywhere; }
.f-tweet__meta { margin-top: 3px !important; font-size: 10px; line-height: 1.5; color: var(--sumi-sub); }
.f-tweet__follow { margin: 9px 0 0; padding-top: 8px; text-align: right; border-top: 1px dotted var(--jimu-gray-300); }
.f-tweet__follow button {
  height: 20px; padding: 0 10px; cursor: default;
  font: bold 10px/18px var(--font-agency-ja); color: oklch(0.66 0.004 210); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.84 0.004 210); border-radius: 3px;
  background: linear-gradient(#fbfbfb, oklch(0.93 0.003 210));
}

.d-cms { padding: 6px 10px; font: 11px/1.6 var(--font-cms); color: oklch(0.42 0 0); background: oklch(0.96 0 0); border: 1px solid oklch(0.82 0 0); }
.d-powered { font: 10px var(--font-dates); color: var(--sumi-sub); }

.d-enc { margin: 4px 0 0; text-align: right; font: 11px/1.6 var(--font-cms); color: oklch(0.4 0 0); }
.d-enc::before {
  content: "?" / ""; display: inline-block; width: 12px; height: 12px; margin-right: 4px; vertical-align: -2px;
  font: bold 9px/12px var(--font-agency-en); text-align: center; color: #fff; background: oklch(0.62 0 0); border-radius: 50%;
}
.tuturigachi .d-enc a { color: var(--link); }

.f-noscript {
  margin: 0; padding: 7px 16px 7px; text-align: center;
  font: bold 12px/1.5 var(--font-agency-ja); color: oklch(0.34 0.05 80);
  background: linear-gradient(oklch(0.985 0.05 100), oklch(0.95 0.1 97));
  border-bottom: 1px solid oklch(0.82 0.1 90);
  box-shadow: inset 0 1px 0 #fff;
}
.f-noscript::before {
  content: "!" / ""; display: inline-block; width: 15px; height: 15px; margin-right: 7px; vertical-align: -2px;
  font: bold 11px/15px var(--font-agency-en); text-align: center; color: #fff; border-radius: 50%;
  background: linear-gradient(oklch(0.78 0.14 75), oklch(0.66 0.14 65));
}

.t-gnav--en a { font-size: 12px; letter-spacing: 0.02em; font-family: var(--font-agency-en); }
.t-news--en li { grid-template-columns: 78px 1fr; }
.t-banner-gap { height: 70px; }
.t-quote { margin: 0 0 10px; padding: 14px 18px; background: var(--shironezumi-50); border: 1px solid var(--jimu-gray-200); }
.t-quote p { margin: 0; font: italic 14px/1.7 var(--font-agency-accent); color: var(--fukagawa-teal-800); }
.t-quote .t-quote__by { margin-top: 6px; font: 11px var(--font-agency-en); font-style: normal; color: var(--sumi-sub); }

.t-more { margin: 14px 0 0; }
.t-error { padding: 20px 0 6px; }
.t-error p { margin: 0 0 14px; }
.h-frog { margin: 34px 0 0; font: 11px/16px var(--font-ikeda); color: var(--sumi-sub); }
.h-frog img { margin-right: 6px; vertical-align: -3px; image-rendering: pixelated; }

.d-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 18px 0 14px; padding: 0; list-style: none; font: 11px var(--font-cms); }
.d-tabs a, .d-tabs strong { display: block; padding: 3px 9px; border: 1px solid oklch(0.82 0 0); background: oklch(0.97 0 0); color: oklch(0.35 0 0); text-decoration: none; }
.d-tabs strong { background: oklch(0.42 0 0); border-color: oklch(0.42 0 0); color: #fff; font-weight: normal; }
.d-cms p { margin: 0; }
.d-cms--error { margin: 20px 0; padding: 14px 16px; }
.d-cms--result { margin: -8px 0 20px; padding: 14px 16px; background: oklch(0.985 0 0); }
.d-cms--result p + p { margin-top: 6px; }
.d-article__date { margin: 16px 0 0; font: 11px var(--font-dates); color: var(--sumi-sub); }
.d-article .t-h2 { margin-top: 6px; }
.d-powered { margin: 24px 0 0; text-align: right; }

.t-welcome { margin: 24px 0 6px; padding: 0 0 22px; border-bottom: 1px solid var(--jimu-gray-200); }
.t-welcome__head { margin: 0 0 14px; font: 500 22px/1.45 var(--font-agency-heading); letter-spacing: 0.1em; color: var(--fukagawa-teal-800); }
.t-welcome__head span { display: block; margin-top: 3px; font: italic 12px/1.4 var(--font-agency-accent); letter-spacing: 0.02em; color: var(--kusumi-gold-700); }
.t-welcome p { margin: 0 0 10px; font-size: 12.5px; line-height: 1.95; }
.t-links--inline { display: flex; gap: 24px; margin-top: 12px; }

.t-sechead { position: relative; display: flex; align-items: baseline; gap: 10px; margin: 32px 0 12px; padding-bottom: 7px; border-bottom: 1px solid var(--fukagawa-teal-700); }
.t-sechead::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 48px; height: 3px; background: var(--kaki-500); }
.t-sechead h2 { margin: 0; font: 500 17px/1.3 var(--font-agency-heading); letter-spacing: 0.08em; color: var(--fukagawa-teal-800); }
.t-sechead h2 span { margin-left: 10px; font: 10px/1 var(--font-agency-en); letter-spacing: 0.2em; color: var(--kusumi-gold-700); vertical-align: 2px; }
.t-sechead__more { position: relative; margin-left: auto; padding-left: 10px; font-size: 11px; }
.t-sechead__more::before { content: ""; position: absolute; left: 0; top: 50%; margin-top: -3px; border: 3px solid transparent; border-left: 4px solid var(--kaki-500); border-right: 0; }
.t-sechead--small { margin: 0 0 12px; }
.t-sechead--small h2 { font-size: 15px; }
.tuturigachi a.t-rss, .tuturigachi a.t-rss:visited { display: inline-block; padding: 0 4px; font: bold 9px/13px var(--font-agency-en); letter-spacing: 0.04em; color: #fff; text-decoration: none; background: linear-gradient(var(--kaki-500), var(--kaki-700) 28%, oklch(0.46 0.115 43)); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3); border-radius: 2px; }
.d-updated { margin: 6px 0 0; text-align: right; font: 10px var(--font-cms); color: var(--sumi-sub); }

.t-svc { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; margin: 0; padding: 0; list-style: none; }
.t-svc__item { display: flex; align-items: flex-start; gap: 12px; padding: 14px 14px 13px; border: 1px solid var(--jimu-gray-300); border-radius: 2px; background: linear-gradient(#fff 40%, var(--shironezumi-50)); box-shadow: inset 0 1px 0 #fff; }
.t-svc__item img { flex: none; margin-top: 2px; }
.t-svc h3 { margin: 0 0 6px; font-size: 13.5px; line-height: 1.3; }
.t-svc h3 a, .tuturigachi .t-svc h3 a:visited { color: var(--fukagawa-teal-800); text-decoration: none; }
.t-svc h3 a:hover { color: var(--fukagawa-teal-700); text-decoration: underline; }
.t-svc h3 span { display: block; margin-top: 3px; font: normal 9px/1 var(--font-agency-en); letter-spacing: 0.18em; color: var(--kusumi-gold-700); }
.t-svc p { margin: 0; font-size: 11.5px; line-height: 1.75; }

.t-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 32px; }
.t-box { padding: 16px 16px 16px; border: 1px solid var(--jimu-gray-300); border-radius: 2px; background: linear-gradient(#fff 60%, var(--shironezumi-50)); }
.t-msg { display: grid; grid-template-columns: 90px 1fr; column-gap: 14px; align-content: start; }
.t-msg .t-sechead { grid-column: 1 / -1; }
.t-msg__photo { grid-row: span 3; border: 1px solid var(--jimu-gray-300); }
.t-msg__name { margin: 0 0 6px; font-size: 10.5px; line-height: 1.5; color: var(--sumi-sub); }
.t-msg__name b { font: 500 15px/1.5 var(--font-agency-heading); letter-spacing: 0.1em; color: var(--sumi); }
.t-msg__text { margin: 0; font-size: 11.5px; line-height: 1.75; }
.t-msg__more { grid-column: 2; margin: 8px 0 0; font-size: 11px; }
.t-lab p { margin: 0 0 10px; font-size: 11.5px; line-height: 1.75; }
.t-lab__new { padding: 8px 0; border-top: 1px dotted var(--jimu-gray-300); border-bottom: 1px dotted var(--jimu-gray-300); }
.t-lab__date { display: block; font: 10px var(--font-dates); color: var(--sumi-sub); }

#side .t-cal { margin-top: 0; }
#side .f-widget { margin-top: 18px; }
.t-iso { margin: 16px 0 0; }
.t-iso img { display: block; }
.t-reader { margin: 10px 0 0; padding: 8px 10px; font-size: 10px; line-height: 1.6; color: var(--sumi-sub); background: var(--shironezumi-50); border: 1px solid var(--jimu-gray-200); }
.t-reader p { margin: 0; }
.t-reader__icon { float: left; margin: 2px 8px 2px 0; padding: 0 3px; font: bold 8px/12px var(--font-agency-en); color: #fff; background: linear-gradient(oklch(0.62 0.2 27), oklch(0.5 0.2 27)); border-radius: 1px; }

.t-himekuri { --hk-sun: var(--notice-red); --hk-sat: oklch(0.47 0.12 258); --hk-ink: oklch(0.26 0.008 215); margin: 0 0 20px; }
:where(.t-himekuri) p { margin: 0; }
.t-himekuri__board {
  position: relative; display: flex; align-items: center; justify-content: space-between; height: 26px; padding: 0 10px;
  background: linear-gradient(var(--fukagawa-teal-700), var(--fukagawa-teal-900)); border-radius: 2px 2px 0 0;
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.18);
}
.t-himekuri__board::after {
  content: ""; position: absolute; left: 50%; top: 9px; width: 8px; height: 8px; margin-left: -4px; border-radius: 50%;
  background: #fff; box-shadow: inset 0 1px 1px oklch(0.2 0.03 215 / 0.55);
}
.t-himekuri__title { font: 500 12px/1 var(--font-agency-heading); letter-spacing: 0.24em; color: #fff; }
.t-himekuri__en { padding: 2px 4px 1px; border-radius: 1px; font: bold 9px/1 var(--font-agency-en); letter-spacing: 0.1em; color: #fff; background: var(--kaki-700); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.22); }
.t-himekuri__stubs { position: relative; z-index: 1; height: 7px; margin: 0 1px -7px; filter: drop-shadow(0 1px 0 oklch(0.55 0.01 210 / 0.35)); }
.t-himekuri__stubs i { position: absolute; inset: 0; background: oklch(0.975 0.003 210); }
.t-himekuri__stubs i + i { background: #fff; }
.t-himekuri__leaf {
  position: relative; padding: 13px 0 0; background: #fff; border: 1px solid var(--jimu-gray-300); border-top: 0;
  box-shadow: 0 3px 0 -1px #fff, 0 3px 0 0 var(--jimu-gray-300), 0 6px 0 -2px oklch(0.985 0.003 210), 0 6px 0 -1px var(--jimu-gray-300);
  color: var(--hk-ink);
}
.t-himekuri__top { display: flex; justify-content: space-between; align-items: flex-start; padding: 0 11px; }
.t-himekuri__y { font: 9px/1.35 var(--font-agency-ja); color: var(--sumi-sub); letter-spacing: 0.04em; }
.t-himekuri__y span { display: block; font: bold 11px/1.2 var(--font-dates); letter-spacing: 0.06em; color: var(--sumi); }
.t-himekuri__m { text-align: right; font: 500 11px/1 var(--font-agency-heading); color: var(--fukagawa-teal-800); }
.t-himekuri__m b { font: 700 22px/1 var(--font-agency-heading); margin-right: 1px; }
.t-himekuri__m span { display: block; margin-top: 3px; font: 8px/1 var(--font-agency-en); letter-spacing: 0.2em; color: var(--kusumi-gold-700); }
.t-himekuri__d { margin: -4px 0 0; text-align: center; font: 700 92px/1 var(--font-agency-heading); letter-spacing: -0.03em; color: var(--hk-ink); font-variant-numeric: lining-nums; }
.t-himekuri__d time { display: inline-block; padding-right: 0.03em; }
.t-himekuri__wd { margin-top: 2px; text-align: center; font: 500 13px/1 var(--font-agency-heading); letter-spacing: 0.32em; text-indent: 0.32em; color: var(--hk-ink); }
.t-himekuri__wd span { display: block; margin-top: 5px; font: 8px/1 var(--font-agency-en); letter-spacing: 0.3em; text-indent: 0.3em; color: var(--sumi-sub); }
.t-himekuri .is-sun, .t-himekuri .is-sun span { color: var(--hk-sun); }
.t-himekuri .is-sat, .t-himekuri .is-sat span { color: var(--hk-sat); }
.t-himekuri__koyomi { display: grid; grid-template-columns: 1fr 1fr; margin: 12px 11px 0; border-top: 1px solid var(--jimu-gray-300); }
.t-himekuri__koyomi div { padding: 7px 0 6px; text-align: center; }
.t-himekuri__koyomi div + div { border-left: 1px solid var(--jimu-gray-200); }
.t-himekuri__koyomi dt { font: 9px/1 var(--font-agency-ja); letter-spacing: 0.12em; color: var(--sumi-sub); }
.t-himekuri__koyomi dd { margin: 4px 0 0; font: 500 14px/1.2 var(--font-agency-heading); letter-spacing: 0.08em; }
.t-himekuri__koyomi small { margin-left: 3px; font: 10px/1 var(--font-agency-heading); letter-spacing: 0.04em; color: var(--sumi-sub); }
.t-himekuri__koyomi rt { font: 8px/1 var(--font-agency-ja); letter-spacing: 0.02em; color: var(--sumi-sub); }
.t-himekuri__koyomi .t-himekuri__kou { grid-column: 1 / -1; border-left: 0; border-top: 1px dotted var(--jimu-gray-300); padding-top: 6px; }
.t-himekuri__kou dd { font-size: 16px; letter-spacing: 0.12em; }
.t-himekuri__line { margin: 0 11px; padding: 9px 0 13px; overflow-wrap: anywhere; word-break: auto-phrase; text-wrap: pretty; border-top: 1px solid var(--jimu-gray-300); font: 500 12px/1.75 var(--font-agency-heading); color: var(--hk-ink); }
.t-himekuri__leaf.is-special .t-himekuri__line { border-top-color: var(--ci-shu); }
.t-himekuri__kind { display: table; margin: 0 0 4px; padding: 1px 5px 0; font: 9.5px/14px var(--font-agency-ja); letter-spacing: 0.06em; color: var(--fukagawa-teal-700); border: 1px solid var(--fukagawa-teal-300); border-radius: 1px; }
.t-himekuri__leaf--pond .t-himekuri__kind { color: var(--kusumi-gold-700); border-color: var(--kusumi-gold-300); }
.t-himekuri__more { margin: 12px 0 0; font-size: 11px; text-align: right; }
.t-himekuri__more a { position: relative; padding-left: 10px; }
.t-himekuri__more a::before { content: ""; position: absolute; left: 0; top: 50%; margin-top: -3px; border: 3px solid transparent; border-left: 4px solid var(--kaki-500); border-right: 0; }

.t-himekuri-month__lead { margin: 0 0 10px; font-size: 12.5px; line-height: 1.9; }
.t-himekuri-month__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; }
.t-himekuri-month__nav { display: flex; gap: 16px; margin: 0; padding: 0; list-style: none; font-size: 11px; }
.t-himekuri-month__sheethead { display: none; }
.t-himekuri-month__table { width: 100%; border-collapse: collapse; font-size: 11.5px; line-height: 1.6; table-layout: fixed; }
.t-himekuri-month__table caption { padding: 7px 10px; text-align: left; font: bold 12px var(--font-agency-ja); color: var(--fukagawa-teal-800); background: var(--shironezumi-50); border: 1px solid var(--jimu-gray-300); border-bottom: 0; }
.t-himekuri-month__table th, .t-himekuri-month__table td { padding: 6px 8px; border: 1px solid var(--jimu-gray-200); vertical-align: top; text-align: left; }
.t-himekuri-month__table thead th { font-weight: normal; font-size: 10.5px; color: var(--sumi-sub); background: var(--shironezumi-50); white-space: nowrap; }
.t-himekuri-month__table col.c-d { width: 42px; }
.t-himekuri-month__table col.c-wd { width: 34px; }
.t-himekuri-month__table col.c-rk { width: 48px; }
.t-himekuri-month__table col.c-kou { width: 132px; }
.t-himekuri-month__d { text-align: right !important; font: 700 16px/1.2 var(--font-agency-heading); }
.t-himekuri-month__wd, .t-himekuri-month__rokuyo { text-align: center !important; white-space: nowrap; }
.t-himekuri-month__wd { font-family: var(--font-agency-heading); }
.t-himekuri-month__kou { font-family: var(--font-agency-heading); }
.t-himekuri-month__kou small { display: block; font: 9.5px/1.4 var(--font-agency-ja); color: var(--sumi-sub); }
.t-himekuri-month__line { font-family: var(--font-agency-heading); }
.t-himekuri-month__line .t-himekuri__kind { display: inline-block; margin: 0 6px 0 0; padding: 0 4px; font-size: 9px; line-height: 13px; vertical-align: 1px; }
.t-himekuri-month__table tr.is-sun .t-himekuri-month__d, .t-himekuri-month__table tr.is-sun .t-himekuri-month__wd { color: var(--notice-red); }
.t-himekuri-month__table tr.is-sat .t-himekuri-month__d, .t-himekuri-month__table tr.is-sat .t-himekuri-month__wd { color: oklch(0.47 0.12 258); }
.t-himekuri-month__table tr.is-today td { background: oklch(0.975 0.02 90); }
.t-himekuri-month__table tr.is-today .t-himekuri-month__d::before { content: "今日"; display: block; font: 9px/1 var(--font-agency-ja); color: var(--kaki-700); }
.t-himekuri-month__table tr.is-today td { background: var(--araigaki-100); }
.t-himekuri-month__table tr.is-special .t-himekuri-month__line { box-shadow: inset 2px 0 0 var(--ci-shu); }
.t-himekuri-month__note { margin: 8px 0 0; font-size: 10.5px; color: var(--sumi-sub); }
.t-himekuri-month__foot { display: none; }
.t-himekuri-months { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin: 6px 0 0; padding: 0; list-style: none; }
.t-himekuri-months a { display: block; padding: 10px 12px; border: 1px solid var(--jimu-gray-300); border-radius: 2px; background: linear-gradient(#fff, var(--shironezumi-50)); text-decoration: none; }
.t-himekuri-months a:hover { background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-himekuri-months b { display: block; font: 700 20px/1.1 var(--font-agency-heading); color: var(--fukagawa-teal-800); }
.t-himekuri-months span { font-size: 11px; color: var(--sumi-sub); }

@media (max-width: 600px) {
  .t-himekuri-month__bar { flex-direction: column; align-items: flex-start; }
  .t-himekuri-month__table, .t-himekuri-month__table tbody { display: block; }
  .t-himekuri-month__table thead, .t-himekuri-month__table colgroup { display: none; }
  .t-himekuri-month__table caption { display: block; }
  .t-himekuri-month__table tr { display: grid; grid-template-columns: 40px 30px 1fr; border: 1px solid var(--jimu-gray-200); border-top: 0; }
  .t-himekuri-month__table tbody tr:first-child { border-top: 1px solid var(--jimu-gray-300); }
  .t-himekuri-month__table td { display: block; border: 0; padding: 6px 6px 2px; }
  .t-himekuri-month__d { grid-row: span 3; padding-top: 8px !important; }
  .t-himekuri-month__wd { grid-row: span 3; padding-top: 9px !important; }
  .t-himekuri-month__rokuyo { text-align: left !important; font-size: 10.5px; color: var(--sumi-sub); }
  .t-himekuri-month__kou small { display: inline; margin-left: 6px; }
  .t-himekuri-month__line { padding-bottom: 9px !important; }
}

@media print {
  @page { size: A4 portrait; margin: 10mm 12mm 9mm; }
  body:has(.t-himekuri-month--sheet) { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body:has(.t-himekuri-month--sheet) #wrapper::before, body:has(.t-himekuri-month--sheet) #wrapper::after { content: none !important; display: none !important; }
  body:has(.t-himekuri-month--sheet) :is(#header, #topicpath, #pagetitle, #footer, .t-gnav, .t-skip, .t-pagetop, .f-noscript) { display: none !important; }

  body:has(.t-himekuri-month--sheet) .x-strip { margin: 2.2mm 0 0 !important; padding: 0 !important; background: #fff !important; border-top: 0.2mm solid #333 !important; transform: none !important; box-shadow: none !important; break-inside: avoid; }
  body:has(.t-himekuri-month--sheet) .x-strip .x-strip__in { display: block !important; max-width: none !important; padding: 1.2mm 0 0 !important; }
  body:has(.t-himekuri-month--sheet) .x-strip :is(.x-strip__label, .x-strip__long, .x-strip__chev, nav, button) { display: none !important; }
  body:has(.t-himekuri-month--sheet) .x-strip .x-strip__short { display: block !important; grid-template-rows: none !important; opacity: 1 !important; visibility: visible !important; }
  body:has(.t-himekuri-month--sheet) .x-strip .x-strip__short > div { overflow: visible !important; }
  body:has(.t-himekuri-month--sheet) .x-strip p { display: block; max-width: none !important; margin: 0 !important; font: 6.2pt/1.45 var(--font-2026, sans-serif) !important; color: #222 !important; }
  body:has(.t-himekuri-month--sheet) :is(#wrapper, #contents, #main) { display: block !important; width: auto !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; background: #fff !important; }
  #contents .t-himekuri-month--sheet { margin: 0; padding: 0; color: #000; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  #contents .t-himekuri-month--sheet :is(.t-himekuri-month__lead, .t-himekuri-month__bar, .t-himekuri-month__note) { display: none !important; }
  #contents .t-himekuri-month--sheet .t-himekuri-month__sheethead { display: flex !important; align-items: flex-end; justify-content: space-between; margin: 0 0 3mm; padding: 0 0 2mm; border-bottom: 0.6mm solid #1d5a66; }
  #contents .t-himekuri-month__sheethead h2 { margin: 0; padding: 0; border: 0; font: 700 21pt/1 var(--font-agency-heading); letter-spacing: 0.06em; color: #1d5a66; }
  #contents .t-himekuri-month__sheethead h2 small { margin-left: 2.5mm; font: 500 10pt/1 var(--font-agency-heading); letter-spacing: 0.24em; color: #333; }
  #contents .t-himekuri-month__sheethead p { margin: 0; font: 7pt/1.45 var(--font-agency-ja); color: #444; text-align: right; }
  #contents .t-himekuri-month--sheet table { width: 100%; table-layout: fixed; border-collapse: collapse; break-inside: avoid; }
  #contents .t-himekuri-month--sheet caption { display: none; }
  #contents .t-himekuri-month--sheet :is(th, td) { width: auto; padding: 0.95mm 1.5mm; border: 0.2mm solid #aab1b5; background: #fff; font: 7.7pt/1.3 var(--font-agency-heading); color: #111; vertical-align: middle; }
  #contents .t-himekuri-month--sheet thead th { padding: 0.9mm 1.5mm; font: 6.8pt/1.2 var(--font-agency-ja); color: #333; background: #eef1f2 !important; }
  #contents .t-himekuri-month--sheet col.c-d { width: 9mm; }
  #contents .t-himekuri-month--sheet col.c-wd { width: 7mm; }
  #contents .t-himekuri-month--sheet col.c-rk { width: 10mm; }
  #contents .t-himekuri-month--sheet col.c-kou { width: 41mm; }
  #contents .t-himekuri-month--sheet td.t-himekuri-month__kou { white-space: nowrap; overflow: hidden; }
  #contents .t-himekuri-month--sheet td.t-himekuri-month__d { font: 700 10.5pt/1 var(--font-agency-heading); text-align: right; }
  #contents .t-himekuri-month--sheet :is(td.t-himekuri-month__wd, td.t-himekuri-month__rokuyo) { text-align: center; }
  #contents .t-himekuri-month--sheet tr.is-sun :is(.t-himekuri-month__d, .t-himekuri-month__wd) { color: #c8102e; }
  #contents .t-himekuri-month--sheet tr.is-sat :is(.t-himekuri-month__d, .t-himekuri-month__wd) { color: #1f4e9c; }
  #contents .t-himekuri-month--sheet .t-himekuri-month__kou small { display: inline; margin-left: 1mm; font: 5.3pt/1 var(--font-agency-ja); letter-spacing: -0.02em; color: #555; }
  #contents .t-himekuri-month--sheet .t-himekuri__kind { font: 5.6pt/1.5 var(--font-agency-ja); padding: 0 0.8mm; margin-right: 1.2mm; vertical-align: 0.3mm; }
  #contents .t-himekuri-month--sheet tr.is-today td { background: #fff; }
  #contents .t-himekuri-month--sheet tr.is-today .t-himekuri-month__d::before { content: none; }
  #contents .t-himekuri-month--sheet tr.is-special td.t-himekuri-month__line { box-shadow: inset 0.6mm 0 0 #cf3f2b; }
  #contents .t-himekuri-month--sheet tr { break-inside: avoid; }
  #contents .t-himekuri-month--sheet .t-himekuri-month__foot { display: flex !important; justify-content: space-between; margin: 2mm 0 0; font: 6.3pt/1.4 var(--font-agency-ja); color: #555; }
}

.e-box { width: calc(100% - 24px); margin: 6px 12px 8px; border: 2px solid #ff0000; background: #fff; }
.e-box td { padding: 6px 10px; line-height: 1.6; }
.e-patch { margin: 6px 0 0 !important; font-size: 11px; line-height: 1.6; }
.e-sideline { margin: 8px 0 16px; line-height: 1.5; }

.i-pasted { margin: 0 0 8px; padding: 8px 10px; list-style: none; border: 1px dashed oklch(0.7 0 0); background: oklch(0.99 0.02 100); font-size: 12px; }
.i-pasted li + li { margin-top: 4px; }

.t-localnav { border: 1px solid var(--jimu-gray-300); border-radius: 2px; background: #fff; }
.t-localnav__head { margin: 0; padding: 12px 14px 10px; font: 500 15px/1.3 var(--font-agency-heading); letter-spacing: 0.08em; color: #fff; background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700) 60%, var(--fukagawa-teal-800)); }
.t-localnav__head span { display: block; margin-top: 3px; font: 9px/1 var(--font-agency-en); letter-spacing: 0.2em; color: var(--kusumi-gold-300); }
.t-localnav ul { margin: 0; padding: 0; list-style: none; }
.t-localnav li + li { border-top: 1px dotted var(--jimu-gray-300); }
.t-localnav a, .tuturigachi .t-localnav a:visited { position: relative; display: block; padding: 9px 12px 9px 24px; font-size: 12px; color: var(--sumi); text-decoration: none; }
.t-localnav a::before { content: ""; position: absolute; left: 12px; top: 50%; margin-top: -3px; border: 3px solid transparent; border-left: 4px solid var(--kaki-500); border-right: 0; }
.t-localnav a:hover { background: var(--fukagawa-teal-100); color: var(--fukagawa-teal-800); }
.t-localnav a[aria-current="page"] { background: var(--araigaki-100); color: var(--fukagawa-teal-800); font-weight: bold; }
.t-banners--side { margin-top: 12px; }

.t-lead { margin: 22px 0 6px; font-size: 13px; line-height: 1.95; }
.t-text p { margin: 0 0 14px; font-size: 13px; line-height: 2; }
.t-note { font-size: 11px; color: var(--sumi-sub); }
.t-updated { margin: 16px 0 0; text-align: right; font-size: 11px; color: var(--sumi-sub); }

.t-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; margin: 24px 0 0; padding: 0; list-style: none; }
.t-menu a, .tuturigachi .t-menu a:visited { position: relative; display: block; min-height: 58px; padding: 12px 36px 12px 16px; text-decoration: none; color: var(--sumi); border: 1px solid var(--jimu-gray-300); border-radius: 2px; background: linear-gradient(#fff 40%, var(--shironezumi-50)); box-shadow: inset 0 1px 0 #fff; }
.t-menu a b { display: block; font: 500 15px/1.4 var(--font-agency-heading); letter-spacing: 0.06em; color: var(--fukagawa-teal-800); }
.t-menu a span { display: block; margin-top: 3px; font-size: 11px; color: var(--sumi-sub); }
.t-menu a::after { content: ""; position: absolute; right: 14px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border-radius: 50%; background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700)); }
.t-menu a::before { content: ""; position: absolute; right: 19px; top: 50%; margin-top: -3.5px; border: 3.5px solid transparent; border-left: 5px solid #fff; border-right: 0; z-index: 1; }
.t-menu a:hover { background: linear-gradient(#fff, var(--fukagawa-teal-100)); }

.t-message { display: grid; grid-template-columns: 1fr 180px; gap: 28px; margin-top: 26px; }
.t-message__head { grid-column: 1 / -1; margin: 0; font: 500 24px/1.5 var(--font-agency-heading); letter-spacing: 0.12em; color: var(--fukagawa-teal-800); }
.t-message__photo { margin: 0; }
.t-message__photo img { display: block; border: 1px solid var(--jimu-gray-300); }
.t-message__photo figcaption { margin-top: 8px; font-size: 11px; line-height: 1.6; color: var(--sumi-sub); }
.t-sign { margin: 26px 0 0; text-align: right; font-size: 12px; line-height: 1.9; }
.t-sign b { font: 500 17px var(--font-agency-heading); letter-spacing: 0.14em; }

.t-mission { margin: 26px 0 0; padding: 30px 32px; text-align: center; border: 1px solid var(--jimu-gray-300); background: linear-gradient(var(--shironezumi-50), #fff); }
.t-mission__label { margin: 0 0 10px; font: 10px/1 var(--font-agency-en); letter-spacing: 0.24em; color: var(--kusumi-gold-700); }
.t-mission__text { margin: 0; font: 500 22px/1.7 var(--font-agency-heading); letter-spacing: 0.1em; color: var(--fukagawa-teal-800); }
.t-mission__sub { margin: 14px auto 0; max-width: 520px; font-size: 12.5px; line-height: 1.95; text-align: left; }
.t-principles { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--jimu-gray-300); }
.t-principles li { display: grid; grid-template-columns: 44px 120px 1fr; align-items: baseline; gap: 12px; padding: 16px 6px; border-bottom: 1px solid var(--jimu-gray-200); }
.t-principles .n { font: 500 18px var(--font-agency-heading); color: var(--kusumi-gold-700); text-align: center; }
.t-principles .w { font: 500 20px/1.3 var(--font-agency-heading); letter-spacing: 0.14em; color: var(--fukagawa-teal-800); }
.t-principles .w span { display: block; margin-top: 4px; font: 9px/1 var(--font-agency-en); letter-spacing: 0.2em; color: var(--kusumi-gold-700); }
.t-principles p { margin: 0; font-size: 12.5px; line-height: 1.85; }

.t-principles .t-principles__tool { margin-top: 4px; font-size: 11px; color: var(--sumi-sub); }

.t-office { margin: 0 0 8px; }
.t-office .t-table th { width: 120px; }
.t-office__body { display: grid; grid-template-columns: 1fr 230px; gap: 18px; align-items: start; }
.t-office__photo { margin: 0; }
.t-office__photo img { display: block; width: 230px; height: auto; border: 1px solid var(--jimu-gray-300); }
.t-office__photo figcaption { margin-top: 6px; font-size: 11px; color: var(--sumi-sub); }
.t-office__photo + .t-office__photo { margin-top: 14px; }
.f-map { display: grid; place-content: center; justify-items: center; gap: 10px; height: 150px; margin-top: 12px; font-size: 11px; color: oklch(0.5 0 0); background: oklch(0.94 0 0); border: 1px solid oklch(0.85 0 0); }

.f-map p { margin: 0; }
.f-map__msg { display: flex; align-items: center; gap: 7px; }
.f-map__msg .f-spinner { flex: none; }
.f-map__reload[disabled] { cursor: default; opacity: 0.5; }
.f-map.is-loaded { display: block; place-content: normal; justify-items: normal; height: auto; padding: 0; background: #fff; border-color: var(--jimu-gray-300); }
.f-map__img { display: block; width: 100%; height: auto; }
.f-map__img:focus { outline: none; }
.f-map__img:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }

.t-body:not(.en)::after { content: url(/images/logo_old.gif); content: url(/images/logo_old.gif) / ""; position: absolute; left: -9999px; top: 0; }

.t-print { margin: 28px 0 0; text-align: right; }
.t-print .t-btn::before { display: none; }
.t-print__icon { position: relative; flex: none; width: 13px; height: 7px; margin: 3px 1px 0 0; border: 1px solid var(--sumi-sub); border-radius: 2px 2px 1px 1px; background: linear-gradient(#fff, oklch(0.9 0.006 210)); }
.t-print__icon::before { content: ""; position: absolute; left: 2px; top: -5px; width: 7px; height: 4px; border: 1px solid var(--sumi-sub); border-bottom: 0; background: #fff; }
.t-print__icon::after { content: ""; position: absolute; left: 2px; top: 3px; width: 7px; height: 5px; border: 1px solid var(--sumi-sub); background: #fff linear-gradient(var(--jimu-gray-500), var(--jimu-gray-500)) no-repeat 1px 2px / 5px 1px; }

.t-ci-figure { margin: 18px 0; padding: 26px; text-align: center; border: 1px solid var(--jimu-gray-200); background: #fff; }
.t-ci-figure img { display: inline-block; max-width: 100%; height: auto; }
.t-ci-grid { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: center; }
.t-ci-colors { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 12px 0 0; }
.t-ci-color { display: flex; gap: 14px; align-items: center; padding: 12px; border: 1px solid var(--jimu-gray-200); }
.t-ci-color i { flex: none; width: 64px; height: 64px; }
.t-ci-color dl { margin: 0; font: 11px/1.7 var(--font-dates); }
.t-ci-color dt { font: bold 13px var(--font-agency-ja); }
.t-ci-color dd { margin: 0; color: var(--sumi-sub); }
.t-ci-history { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 12px; }
.t-ci-history figure { margin: 0; padding: 18px; text-align: center; border: 1px solid var(--jimu-gray-200); background: #fff; }
.t-ci-history img { max-width: 100%; height: auto; }
.t-ci-history figcaption { margin-top: 10px; font-size: 11px; color: var(--sumi-sub); }
.t-ci-history figcaption b { display: block; font: 500 13px var(--font-agency-heading); color: var(--sumi); letter-spacing: 0.06em; }

.t-ci-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 4px; }
.t-ci-tools figure { margin: 0; padding: 14px 14px 12px; text-align: center; border: 1px solid var(--jimu-gray-200); background: #fff; }
.t-ci-tools img { display: block; margin: 0 auto; border: 1px solid var(--jimu-gray-300); }
.t-ci-tools figcaption { margin-top: 8px; font-size: 12px; color: var(--sumi); }
.t-table--history th { width: 110px; }
.d-row-image { padding: 6px 14px !important; }
.d-empty { font: 12px var(--font-cms); color: oklch(0.5 0 0); }
.t-org { margin: 16px 0 10px; }
.t-org img { display: block; max-width: 100%; height: auto; border: 1px solid var(--jimu-gray-200); }
.t-org-text ul { margin: 4px 0 0; padding-left: 18px; list-style: none; }
.t-note { margin: 0 0 8px; }
.t-slogan { margin: 18px 0 10px; padding: 0 0 0 2px; }
.t-slogan__ja { margin: 0; font: 500 19px/1.5 var(--font-agency-heading); letter-spacing: 0.1em; color: var(--fukagawa-teal-800); }
.t-slogan__en { margin: 4px 0 10px; font: 10px/1 var(--font-agency-en); letter-spacing: 0.2em; color: var(--kusumi-gold-700); }
.t-slogan__text { margin: 0; font-size: 12.5px; line-height: 1.9; }

.e-notice { margin: 20px 0 0; font-size: 13px; line-height: 1.7; }
.t-svc--page { margin-top: 20px; }
.t-strengths { margin: 0; padding: 0; list-style: none; counter-reset: s; }
.t-strengths li { position: relative; padding: 12px 0 12px 38px; border-bottom: 1px dotted var(--jimu-gray-300); font-size: 12.5px; line-height: 1.85; counter-increment: s; }
.t-strengths li::before { content: counter(s); position: absolute; left: 4px; top: 12px; width: 22px; height: 22px; font: 500 13px/22px var(--font-agency-heading); text-align: center; color: #fff; background: var(--fukagawa-teal-700); border-radius: 50%; }
.t-strengths b { display: block; color: var(--fukagawa-teal-800); font-size: 13px; }
.t-langs { font-size: 12.5px; line-height: 2; }
.t-flow { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: f; }
.t-flow li { position: relative; flex: 1; padding: 12px 10px 12px; font-size: 11px; line-height: 1.6; text-align: center; background: linear-gradient(#fff, var(--shironezumi-50)); border: 1px solid var(--jimu-gray-300); counter-increment: f; }
.t-flow li + li { margin-left: 14px; }
.t-flow li + li::before { content: ""; position: absolute; left: -12px; top: 50%; margin-top: -6px; border: 6px solid transparent; border-left: 8px solid var(--kaki-500); border-right: 0; }
.t-flow b { display: block; margin-bottom: 4px; color: var(--fukagawa-teal-800); font-size: 12px; }
.t-flow b::before { content: counter(f) ". "; color: var(--kusumi-gold-700); }
.t-preparing { margin: 30px 0; padding: 40px 20px; text-align: center; border: 1px solid var(--jimu-gray-300); background: var(--shironezumi-50); }
.t-preparing__head { margin: 0 0 10px; font: 500 18px var(--font-agency-heading); color: var(--fukagawa-teal-800); letter-spacing: 0.1em; }
.t-preparing p { margin: 0; font-size: 12px; }
.t-product { display: grid; grid-template-columns: 1fr 240px; gap: 20px; align-items: start; }
.t-product__shot { margin: 22px 0 0; }
.t-product__shot img { display: block; border: 1px solid var(--jimu-gray-300); box-shadow: 0 2px 6px oklch(0 0 0 / 0.12); }
.t-product__shot figcaption { margin-top: 6px; font-size: 11px; color: var(--sumi-sub); }

.g-report { margin-top: 20px; }
.g-report p { margin: 0 0 12px; font-size: 13px; line-height: 1.95; }
.g-report__date { font: 11px var(--font-dates) !important; color: var(--sumi-sub); }
.g-report__title { margin: 4px 0 6px; font: 500 20px/1.5 var(--font-agency-heading); letter-spacing: 0.06em; color: var(--fukagawa-teal-800); }
.g-report__authors { font-size: 12px !important; color: var(--sumi-sub); }
.g-audio th:first-child, .g-audio td:first-child { width: 44px; text-align: center; }
.g-audio td:last-child { width: 120px; font: 11px var(--font-dates); }
.g-audio sup { margin-left: 2px; font-size: 9px; color: var(--sumi-sub); }

.g-audio .g-audio__has-player > td:not([rowspan]) { border-bottom: 0; }
.g-audio .g-audio__player > td { width: auto; padding: 0 14px 12px; border-top: 0; text-align: left; font: 12px var(--font-agency-ja); }
.g-player {
  display: flex; align-items: center; gap: 6px; box-sizing: border-box; max-width: 440px; height: 34px; padding: 0 5px;
  font: 10px/1 var(--font-dates); color: var(--sumi);
  border: 1px solid oklch(0.74 0.008 210); border-radius: 3px;
  background: linear-gradient(oklch(0.99 0.002 210), oklch(0.94 0.004 210) 50%, oklch(0.905 0.006 210) 51%, oklch(0.93 0.005 210));
  box-shadow: inset 0 1px 0 #fff, 0 1px 1px oklch(0 0 0 / 0.08);
}
.g-player [hidden] { display: none !important; }

.g-player__play {
  flex: none; display: grid; place-items: center; width: 24px; height: 24px; padding: 0; cursor: pointer;
  border: 1px solid var(--fukagawa-teal-900); border-radius: 2px;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700) 60%, var(--fukagawa-teal-800));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3), 0 1px 1px oklch(0 0 0 / 0.15);
}
.g-player__play span { width: 0; height: 0; margin-left: 2px; border: 4.5px solid transparent; border-left: 7px solid #fff; border-right: 0; }
.g-player__play[aria-pressed="true"] span { width: 8px; height: 8px; margin: 0; border: 0; background: #fff; }
.g-player__play:hover:not(:disabled) { background: linear-gradient(oklch(0.6 0.055 208), var(--fukagawa-teal-700)); }
.g-player__play:active:not(:disabled) { background: linear-gradient(var(--fukagawa-teal-800), var(--fukagawa-teal-500)); }
.g-player__play:disabled { cursor: default; border-color: oklch(0.74 0.008 210); background: linear-gradient(oklch(0.97 0.003 210), oklch(0.88 0.006 210)); box-shadow: inset 0 1px 0 #fff; }
.g-player__play:disabled span { border-left-color: oklch(0.76 0.008 210); }

.g-player__screen {
  flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; height: 22px; padding: 0 8px; box-sizing: border-box;
  color: oklch(0.9 0.018 205); border-radius: 2px;
  background: linear-gradient(oklch(0.25 0.012 215), oklch(0.32 0.016 213));
  box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.55), 0 1px 0 #fff;
}
.g-report .g-player__msg { flex: 0 1 auto; min-width: 0; margin: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 11px/1 var(--font-agency-ja); letter-spacing: 0.02em; }
.g-player__prep {
  flex: 1; min-width: 40px; height: 6px; overflow: hidden; border-radius: 1px;
  background: oklch(0.19 0.01 215); box-shadow: 0 1px 0 oklch(1 0 0 / 0.08);
}
.g-player__prep span {
  display: block; width: 0; height: 100%;
  background: repeating-linear-gradient(-45deg, oklch(1 0 0 / 0.16) 0 3px, oklch(1 0 0 / 0) 3px 6px), linear-gradient(var(--fukagawa-teal-300), var(--fukagawa-teal-500));
  transition: width 0.22s linear;
}
.g-player__seek { position: relative; flex: 1; min-width: 40px; height: 14px; cursor: pointer; }
.g-player__seek::before { content: ""; position: absolute; left: 0; right: 0; top: 5px; height: 4px; border-radius: 1px; background: oklch(0.19 0.01 215); box-shadow: 0 1px 0 oklch(1 0 0 / 0.08); }
.g-player__seek span { position: absolute; left: 0; top: 5px; width: 0; height: 4px; border-radius: 1px; background: linear-gradient(var(--kusumi-gold-300), var(--kusumi-gold-600)); }
.g-player__seek span::after { content: ""; position: absolute; right: -1px; top: -2px; width: 2px; height: 8px; background: oklch(0.97 0.01 90); }
.g-player__seek:focus { outline: none; }
.g-player__seek:focus-visible { outline: 1px solid var(--kusumi-gold-300); outline-offset: 2px; }
.g-player__time { flex: none; font: 10px/1 var(--font-dates); letter-spacing: 0.04em; color: oklch(0.88 0.04 88); white-space: nowrap; }
.g-player .g-player__enable { flex: none; margin-left: 2px; }
.g-player__play:focus-visible, .g-player .g-player__enable:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.g-player .g-player__enable:disabled { cursor: default; color: var(--sumi-sub); }
@media (prefers-reduced-motion: reduce) { .g-player__prep span { transition: none; } }
.g-notes { margin: 0; padding-left: 36px; font-size: 12px; line-height: 1.9; }

.d-article__body p { margin: 0 0 12px; font-size: 13px; line-height: 1.95; }
.d-figure { display: inline-block; margin: 6px 0; padding: 14px 18px; font-size: 11px; color: var(--sumi-sub); text-align: center; border: 1px solid var(--jimu-gray-200); }
.t-mission--left { text-align: left; }
.t-mission--left .t-mission__sub { margin-left: 0; }
.t-figures { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.t-figures li { padding: 14px 8px 12px; text-align: center; font-size: 11px; color: var(--sumi-sub); border: 1px solid var(--jimu-gray-300); background: linear-gradient(#fff, var(--shironezumi-50)); }
.t-figures b { display: block; margin-bottom: 4px; font: 500 28px/1.1 var(--font-agency-accent); color: var(--fukagawa-teal-800); }
.t-figures small { margin-left: 2px; font-size: 12px; }
.t-menu--three { grid-template-columns: repeat(3, 1fr); }
.t-person { margin: 24px 0 8px; padding: 18px 20px; border: 1px solid var(--jimu-gray-300); background: linear-gradient(90deg, var(--fukagawa-teal-100), #fff); }
.t-person__no { margin: 0; font: 10px/1 var(--font-agency-en); letter-spacing: 0.24em; color: var(--kusumi-gold-700); }
.t-person__name { margin: 8px 0 4px; font: 500 22px/1.3 var(--font-agency-heading); letter-spacing: 0.12em; color: var(--fukagawa-teal-800); }
.t-person__name span { margin-left: 12px; font: 11px var(--font-agency-ja); letter-spacing: 0.1em; color: var(--sumi-sub); }
.t-person__meta { margin: 0; font-size: 11.5px; line-height: 1.7; color: var(--sumi-sub); }
.t-answer { margin: 0 0 8px; font-size: 13px; line-height: 1.95; }
.t-interview__photo { margin: 16px 0 8px; }
.t-interview__photo img { display: block; border: 1px solid var(--jimu-gray-300); }
.t-interview__photo figcaption { margin-top: 6px; font-size: 11px; color: var(--sumi-sub); }
.t-table--koukoku th:first-child, .t-table--koukoku td:first-child { width: 140px; }
.t-tel { font: 500 20px/1.6 var(--font-dates); color: var(--fukagawa-teal-800); }
.t-tel .t-note { font: 11px var(--font-agency-ja); }
.t-req { margin-left: 3px; color: var(--notice-red); }
.t-form input[type="text"], .t-form input[type="email"], .t-form select, .t-form textarea { font: 12px var(--font-agency-ja); padding: 3px 4px; border: 1px solid oklch(0.76 0.008 210); box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.1); max-width: 100%; }

.t-mailform .t-table td label { line-height: 1.9; }
.t-mailform input[type="radio"] { accent-color: var(--fukagawa-teal-700); }
.t-mailnotes { margin: 14px 0 0; padding: 0; list-style: none; }
.t-mailnotes li { margin: 0 0 4px; padding-left: 1em; text-indent: -1em; line-height: 1.7; }
.t-mailerror { margin: 0 0 12px; }
.t-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.t-mailhuman { margin-top: 24px; }
.t-mailhuman .x-strip__in { grid-template-columns: 1fr; padding-left: 16px; padding-right: 16px; }
.t-mailhuman p + p { margin-top: 4px; }

.t-resume { margin: 20px 0 0; padding: 16px 18px; border: 1px solid var(--jimu-gray-300); background: oklch(0.985 0.003 210); }
.t-resume p { margin: 0 0 8px; }
.t-resume form { margin: 14px 0 10px; text-align: center; }
.t-resume__count { text-align: center; font-size: 12px; color: var(--sumi-sub); }
.t-resume__count b { font: 500 15px var(--font-dates); color: var(--fukagawa-teal-800); margin: 0 2px; }
.t-resume .t-btn:disabled, .t-resume .t-btn:disabled:hover { color: oklch(0.55 0.006 210); text-shadow: none; cursor: default; border-color: oklch(0.8 0.006 210); background: linear-gradient(#fbfbfb, oklch(0.93 0.004 210)); box-shadow: none; }
.t-resume .t-btn:disabled::before { border-left-color: oklch(0.8 0.006 210); }
.t-rssline { margin: 10px 0 0; font-size: 11px; }
.t-rssline a.t-rss { margin-right: 4px; vertical-align: 1px; }
@media (max-width: 760px) {
  .t-fluid .t-mailform .t-table th, .t-fluid .t-mailform .t-table td { display: block; width: auto; }
  .t-fluid .t-mailform .t-table th { border-bottom: 0; padding-bottom: 6px; }
  .t-fluid .t-mailform .t-table td { border-top: 0; padding-top: 0; }
  .t-fluid .t-mailform input[type="email"] { box-sizing: border-box; width: 100%; height: 40px; font-size: 16px; }
  .t-fluid .t-mailform .t-table td label { display: inline-block; padding: 4px 0; font-size: 15px; }
  .t-fluid .t-mailform .t-btn, .t-fluid .t-resume .t-btn { height: 40px; padding: 0 22px; font-size: 14px; }
  .t-fluid .t-mailhuman .x-strip__in { padding-left: 12px; padding-right: 12px; }
}
.t-agree { margin: 14px 0; text-align: center; }
.t-center { text-align: center; }
.t-sitemap { columns: 2; column-gap: 30px; }
.t-sitemap > div { break-inside: avoid; margin-bottom: 20px; }
.t-sitemap h2 { margin: 0 0 6px; padding-bottom: 4px; font-size: 13px; color: var(--fukagawa-teal-800); border-bottom: 1px solid var(--jimu-gray-300); }
.t-policy h2 { margin-top: 24px; }
.t-policy p, .t-policy li { font-size: 12.5px; line-height: 1.95; }

.t-policy .t-policy__motto { margin: 18px 0 4px; padding: 10px 0 12px; border-top: 1px solid oklch(0.86 0.01 215); border-bottom: 1px solid oklch(0.86 0.01 215); font-size: 17px; line-height: 1.7; letter-spacing: 0.06em; text-align: center; color: oklch(0.34 0.03 215); }
.t-policy__motto-en { display: block; margin-top: 2px; font-size: 11px; letter-spacing: 0.02em; color: oklch(0.5 0.01 215); }

.t-issue { margin: 16px 0 0; padding: 18px 22px 8px; border: 1px solid var(--jimu-gray-300); background: #fff; font-size: 13px; line-height: 1.95; overflow-wrap: anywhere; }
.t-issue p { margin: 0 0 1.1em; }
.t-issue__head { margin-top: 1.6em !important; margin-bottom: 0.2em !important; font-weight: bold; color: var(--fukagawa-teal-800); }
.t-issue[lang="en"] { font-family: var(--font-agency-en); }
.t-issue__pdf { margin: 6px 0 0; }
.t-issue__nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; margin: 16px 0 0; font-size: 12px; }
.tuturigachi .t-tsuzuri a.t-tsuzuri__cover { display: block; text-decoration: none; }
.t-tsuzuri__plain { display: flex; flex-direction: column; justify-content: center; aspect-ratio: 140 / 198; margin-bottom: 6px; border: 1px solid var(--jimu-gray-300); background: #fbfaf6; font: 500 22px/1.2 var(--font-agency-ja); color: var(--fukagawa-teal-700); }
.t-tsuzuri__plain small { display: block; margin-top: 6px; font: 500 11px var(--font-dates); color: var(--kusumi-gold-600); }
@media (max-width: 760px) {
  .t-fluid .t-issue { padding: 14px 12px 4px; font-size: 14px; }
  .t-fluid .t-tsuzuri { grid-template-columns: repeat(2, 1fr); }
}
.t-tsuzuri { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 16px 0 0; padding: 0; list-style: none; }
.t-tsuzuri li { font-size: 11px; line-height: 1.6; text-align: center; }
.t-tsuzuri img { display: block; width: 100%; height: auto; margin-bottom: 6px; border: 1px solid var(--jimu-gray-300); }

.t-message__head--en { font: 500 22px/1.4 var(--font-agency-en); letter-spacing: 0.04em; }
.t-article { margin-top: 34px; padding-top: 2px; }
.t-article .t-h2 { margin-top: 0; }
.t-article__date { margin: 0 0 10px; font: 11px var(--font-dates); color: var(--sumi-sub); }
.t-article p { font-size: 13px; line-height: 1.85; }
.t-more-ja { margin: 6px 0 0 !important; font-size: 11px !important; }

.f-flash--staging { display: flex; align-items: center; justify-content: center; text-align: center; font-size: 13px; line-height: 1.8; color: oklch(0.45 0 0); background: repeating-linear-gradient(45deg, oklch(0.93 0 0) 0 12px, oklch(0.9 0 0) 12px 24px); }

.f-flash--draft { display: block; height: auto; padding: 0 0 4px; }
.f-flash--draft img { display: block; width: 100%; height: auto; }
.f-flash--draft .f-flash__label { margin: 4px 0 0; font-size: 11px; line-height: 1.6; }

.d-cms--preview { margin: 16px 0 0; background: oklch(0.96 0.06 95); border-color: oklch(0.82 0.08 90); }
.d-draft { margin: 22px 0 0; padding: 12px 16px 2px; border: 1px dashed oklch(0.8 0 0); }
.d-draft__meta { margin: 0 0 10px; font: 10px/1.5 var(--font-cms); color: oklch(0.5 0 0); }

.t-banner--tools em {
  position: absolute; top: 0; right: 42px; width: 19px; padding: 5px 0 11px;
  font: bold 10px/19px var(--font-agency-ja); font-style: normal; letter-spacing: 0.12em;
  writing-mode: vertical-rl; text-orientation: upright; text-align: center;
  color: #fff; text-shadow: 0 -1px 0 oklch(0.35 0.12 27 / 0.6);
  background: linear-gradient(90deg, oklch(0.62 0.2 27), var(--notice-red) 55%, oklch(0.49 0.19 27));
  box-shadow: inset 0 1px 0 oklch(0.42 0.16 27);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 6px), 0 100%);
}
.t-banner:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }

.t-free {
  display: inline-block; padding: 0 6px; font: bold 10px/16px var(--font-agency-ja); letter-spacing: 0.1em;
  color: #fff; text-shadow: 0 -1px 0 oklch(0.35 0.12 27 / 0.5);
  background: linear-gradient(oklch(0.62 0.2 27), oklch(0.5 0.2 27)); border-radius: 2px;
}

.t-toollist { margin: 0; padding: 0; list-style: none; }
.t-toollist__item {
  position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-areas: "date free" "name name" "text text";
  align-items: center; column-gap: 8px; margin: 0 0 10px; padding: 12px 54px 14px 16px;
  border: 1px solid var(--jimu-gray-300); border-radius: 2px;
  background: linear-gradient(#fff 40%, var(--shironezumi-50)); box-shadow: inset 0 1px 0 #fff;
}
.t-toollist__item::after { content: ""; position: absolute; right: 16px; top: 50%; width: 20px; height: 20px; margin-top: -10px; border-radius: 50%; background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700)); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.35); }
.t-toollist__item::before { content: ""; position: absolute; right: 22px; top: 50%; margin-top: -4px; border: 4px solid transparent; border-left: 6px solid #fff; border-right: 0; z-index: 1; }
.t-toollist__item:hover { background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-toollist__date { grid-area: date; font: 11px var(--font-dates); color: var(--sumi-sub); }
.t-toollist .t-free { grid-area: free; justify-self: start; }
.t-toollist__name { grid-area: name; margin: 5px 0 3px; font: 500 18px/1.4 var(--font-agency-heading); letter-spacing: 0.08em; }
.t-toollist__name a, .tuturigachi .t-toollist__name a:visited { color: var(--fukagawa-teal-800); text-decoration: none; }
.t-toollist__name a::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: 2px; }
.t-toollist__item:hover .t-toollist__name a { color: var(--fukagawa-teal-700); text-decoration: underline; }
.t-toollist__name a:focus { outline: none; }
.t-toollist__name a:focus-visible::after { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-toollist__text { grid-area: text; margin: 0; font-size: 12px; line-height: 1.75; }
.t-toolnote { margin: 8px 0 0; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }

.t-toolorigin { margin: 14px 0 -4px; font-size: 11px; letter-spacing: 0.12em; color: var(--kusumi-gold-700); }
.t-toolorigin a, .tuturigachi .t-toolorigin a:visited { color: var(--fukagawa-teal-800); }

.t-drill { position: relative; width: 640px; max-width: 100%; aspect-ratio: 640 / 400; margin: 18px 0 8px; overflow: hidden;
  border: 1px solid var(--jimu-gray-300); background: oklch(0.955 0.002 210) center / cover no-repeat; }
.t-drill object { display: block; width: 100%; height: 100%; }
.t-drill__plugin { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px; padding: 12px; text-align: center; font-size: 12px; color: oklch(0.38 0.005 210); background: oklch(0.955 0.002 210 / 0.8); }
.t-drill__plugin p { margin: 0; max-width: 30em; line-height: 1.6; }
.t-drill__plugin svg { width: 44px; height: 44px; }
.t-drill .f-getflash[disabled] { cursor: default; opacity: 0.6; }
.t-drill__lessons { margin: 6px 0 0; padding-left: 1.6em; font-size: 12px; line-height: 1.9; }
.t-drill__env th { white-space: nowrap; }

.t-mark {
  display: inline-block; margin-left: 6px; padding: 0 4px; vertical-align: 2px; white-space: nowrap;
  font: italic bold 9px/14px var(--font-dates); letter-spacing: 0.04em; color: #fff;
  border-radius: 2px; text-shadow: 0 -1px 0 oklch(0 0 0 / 0.22); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3);
}
.t-mark--new { background: linear-gradient(oklch(0.65 0.2 27), var(--notice-red) 60%, oklch(0.48 0.19 27)); }
.t-mark--pop {
  padding: 0 5px; font: bold 9px/14px var(--font-agency-ja); letter-spacing: 0.08em;
  background: linear-gradient(oklch(0.8 0.13 78), oklch(0.68 0.15 62) 60%, oklch(0.6 0.15 55));
  text-shadow: 0 -1px 0 oklch(0.42 0.1 55 / 0.5);
}
.t-toollist__name .t-mark { vertical-align: 4px; }

.t-mark--off {
  padding: 0 5px; font: bold 9px/14px var(--font-agency-ja); letter-spacing: 0.08em;
  background: linear-gradient(oklch(0.76 0.005 210), oklch(0.62 0.006 210) 60%, oklch(0.56 0.006 210));
  text-shadow: 0 -1px 0 oklch(0.3 0.005 210 / 0.45);
}

.t-toolsnav .t-localnav__head a, .tuturigachi .t-toolsnav .t-localnav__head a:visited { display: inline; padding: 0; color: #fff; background: none; font-weight: inherit; text-decoration: none; }
.t-toolsnav .t-localnav__head a::before { content: none; }
.t-toolsnav .t-localnav__head a:hover { text-decoration: underline; }
.t-toolsnav__group + .t-toolsnav__group { border-top: 1px solid var(--jimu-gray-300); }
.t-toolsnav__shelf {
  position: relative; margin: 0; padding: 6px 10px 5px 24px;
  font: bold 11px/1.4 var(--font-agency-ja); letter-spacing: 0.12em; color: var(--fukagawa-teal-800);
  background: linear-gradient(var(--shironezumi-50), oklch(0.95 0.006 205)); border-bottom: 1px solid var(--jimu-gray-200);
}
.t-toolsnav__shelf::before {
  content: ""; position: absolute; left: 11px; top: 50%; width: 6px; height: 6px; margin-top: -3px;
  background: var(--fukagawa-teal-700); box-shadow: 1.5px 1.5px 0 var(--kusumi-gold-300);
}
.t-toolsnav li a, .tuturigachi .t-toolsnav li a:visited { display: flex; align-items: center; gap: 7px; padding: 7px 10px 7px 11px; line-height: 1.45; }
.t-toolsnav li a::before { content: none; }
.t-toolsnav__icon { flex: none; width: 20px; height: 20px; }
.t-toolsnav__name { flex: 1 1 auto; min-width: 0; }
.t-toolsnav .t-mark { flex: none; margin-left: 0; vertical-align: 0; }
.t-toolsnav li a[aria-current="page"] { background: var(--araigaki-100); box-shadow: inset 3px 0 0 var(--kaki-500); }

.t-shelfnav { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0 0; padding: 0; list-style: none; }
.t-shelfnav a, .tuturigachi .t-shelfnav a:visited {
  position: relative; display: block; padding: 5px 12px 5px 22px; font-size: 12px; color: var(--fukagawa-teal-800); text-decoration: none;
  border: 1px solid var(--jimu-gray-300); border-radius: 3px; background: linear-gradient(#fff, oklch(0.95 0.005 210)); box-shadow: inset 0 1px 0 #fff;
}
.t-shelfnav a::before { content: ""; position: absolute; left: 9px; top: 50%; margin-top: -2px; border: 3.5px solid transparent; border-top: 5px solid var(--kaki-500); border-bottom: 0; }
.t-shelfnav a:hover { background: linear-gradient(#fff, var(--fukagawa-teal-100)); text-decoration: underline; }
.t-shelfnav__count { font: 10px var(--font-dates); color: var(--sumi-sub); }
.t-shelf { scroll-margin-top: 12px; }

.t-shelf__also { margin: 6px 0 0; font-size: 12px; line-height: 1.7; color: var(--sumi-sub); }
.t-shelf__head span { margin-left: 10px; font: normal 9px/1 var(--font-agency-en); letter-spacing: 0.2em; color: var(--kusumi-gold-700); vertical-align: 1px; }

.t-toollist--thumbs .t-toollist__item {
  grid-template-columns: 122px auto 1fr; grid-template-areas: "thumb date free" "thumb name name" "thumb text text";
  align-items: start; padding: 12px 54px 12px 12px;
}
.t-toollist__thumb { grid-area: thumb; align-self: start; margin-right: 8px; }
.t-toollist__thumb img, .t-ranking__thumb img, .t-slider__thumb img, .t-toolband__thumb img {
  display: block; box-sizing: border-box; border: 1px solid var(--jimu-gray-300); background: #fff;
  box-shadow: 0 1px 2px oklch(0.3 0.01 215 / 0.16);
}
.t-toollist__thumb img { width: 122px; height: auto; padding: 0; }
.t-toollist--thumbs .t-toollist__date { align-self: center; padding-top: 2px; }
.t-toollist--thumbs .t-free { align-self: center; margin-top: 2px; }
.t-toollist--thumbs .t-toollist__name { margin: 3px 0 4px; }
.t-toollist--thumbs .t-toollist__text { align-self: start; }

.t-slider { margin: 18px 0 0; }
.t-slider__head {
  display: inline-block; margin: 0; padding: 6px 16px 5px; font: 500 14px/1.3 var(--font-agency-heading); letter-spacing: 0.1em;
  color: #fff; text-shadow: 0 -1px 0 oklch(0.25 0.04 215 / 0.5);
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700) 70%); border-radius: 4px 4px 0 0;
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.25);
}
.t-slider__head span { margin-left: 10px; font: 9px/1 var(--font-agency-en); letter-spacing: 0.2em; color: var(--kusumi-gold-300); vertical-align: 1px; }
.t-slider__frame {
  position: relative; padding: 14px 14px 10px; border: 1px solid var(--jimu-gray-300); border-top: 2px solid var(--fukagawa-teal-700);
  border-radius: 0 4px 4px 4px;
  background: linear-gradient(#fff 30%, var(--shironezumi-50) 75%, oklch(0.945 0.006 205));
  box-shadow: inset 0 1px 0 #fff, 0 1px 3px oklch(0.3 0.01 215 / 0.1);
}
.t-slider__viewport { position: relative; }
.t-slider__track { margin: 0; padding: 0; list-style: none; }
.t-slider__slide { display: grid; grid-template-columns: 242px minmax(0, 1fr); align-items: center; column-gap: 20px; margin: 0; }
.t-slider__slide + .t-slider__slide { margin-top: 14px; padding-top: 14px; border-top: 1px dotted var(--jimu-gray-300); }
.t-slider__thumb img { width: 242px; height: auto; box-shadow: 0 2px 5px oklch(0.3 0.01 215 / 0.2); }
.t-slider__thumb:hover img { border-color: var(--fukagawa-teal-300); }
.t-slider__body { min-width: 0; }
.t-slider__no { margin: 0; font: italic 22px/1 var(--font-agency-accent); color: var(--kusumi-gold-600); letter-spacing: 0.04em; }
.t-slider__name { margin: 6px 0 6px; font: 500 21px/1.4 var(--font-agency-heading); letter-spacing: 0.08em; }
.t-slider__name a, .tuturigachi .t-slider__name a:visited { color: var(--fukagawa-teal-800); text-decoration: none; }
.t-slider__name a:hover { color: var(--fukagawa-teal-700); text-decoration: underline; }
.t-slider__text { margin: 0 0 8px; font-size: 13px; line-height: 1.75; }
.t-slider__meta { margin: 0 0 12px; }
.t-slider__meta .t-mark { margin-left: 6px; }
.t-slider__go, .tuturigachi a.t-slider__go, .tuturigachi a.t-slider__go:visited {
  position: relative; display: inline-block; padding: 0 16px 0 24px; font: bold 12px/28px var(--font-agency-ja); letter-spacing: 0.06em;
  color: #fff; text-decoration: none; text-shadow: 0 -1px 0 oklch(0.2 0.03 215 / 0.5);
  border: 1px solid var(--fukagawa-teal-900); border-radius: 3px;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700) 55%, var(--fukagawa-teal-800));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.25), 0 1px 1px oklch(0 0 0 / 0.12);
}
.t-slider__go::before { content: ""; position: absolute; left: 11px; top: 50%; margin-top: -4px; border: 4px solid transparent; border-left: 5px solid var(--kusumi-gold-300); border-right: 0; }
.tuturigachi a.t-slider__go:hover { color: #fff; background: linear-gradient(oklch(0.6 0.055 208), var(--fukagawa-teal-500) 55%, var(--fukagawa-teal-700)); }

.t-slider.is-js .t-slider__viewport { overflow: hidden; }
.t-slider.is-js .t-slider__track { display: flex; transition: transform 0.6s cubic-bezier(0.45, 0.05, 0.25, 1); }
.t-slider.is-js .t-slider__slide { flex: 0 0 100%; box-sizing: border-box; margin: 0; padding: 0 40px; border: 0; }
.t-slider.is-still .t-slider__track { transition: none; }
@media (prefers-reduced-motion: reduce) { .t-slider .t-slider__track { transition: none; } }

.t-slider__arrow {
  position: absolute; top: 50%; z-index: 1; width: 28px; height: 28px; margin-top: -14px; padding: 0; cursor: pointer;
  border: 1px solid var(--fukagawa-teal-900); border-radius: 50%;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-800));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.35), 0 1px 2px oklch(0 0 0 / 0.2);
}
.t-slider__arrow--prev { left: 0; }
.t-slider__arrow--next { right: 0; }
.t-slider__arrow span { position: absolute; left: 50%; top: 50%; margin-top: -5px; border: 5px solid transparent; }
.t-slider__arrow--prev span { margin-left: -5px; border-right: 7px solid #fff; border-left: 0; }
.t-slider__arrow--next span { margin-left: -2px; border-left: 7px solid #fff; border-right: 0; }
.t-slider__arrow:hover { background: linear-gradient(oklch(0.62 0.055 208), var(--fukagawa-teal-700)); }
.t-slider__arrow:focus-visible, .t-slider__dot:focus-visible, .t-slider__pause:focus-visible { outline: 2px solid var(--kusumi-gold-600); outline-offset: 2px; }
.t-slider [hidden] { display: none; }

.t-slider__pager { display: flex; justify-content: flex-end; align-items: center; gap: 5px; margin: 10px 0 0; }
.t-slider__dot, .t-slider__pause {
  position: relative; min-width: 22px; height: 20px; margin: 0; padding: 0 5px; cursor: pointer;
  font: 10px/18px var(--font-dates); color: var(--sumi-sub);
  border: 1px solid var(--jimu-gray-300); border-radius: 3px; background: linear-gradient(#fff, oklch(0.92 0.006 210));
  box-shadow: inset 0 1px 0 #fff;
}
.t-slider__dot:hover, .t-slider__pause:hover { color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-300); }
.t-slider__dot[aria-pressed="true"] {
  color: #fff; font-weight: bold; border-color: var(--fukagawa-teal-900);
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700)); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3);
}
.t-slider__pause { margin-left: 6px; }
.t-slider__pause span { position: absolute; left: 50%; top: 50%; width: 2px; height: 8px; margin: -4px 0 0 -3px; background: var(--sumi-sub); box-shadow: 4px 0 0 var(--sumi-sub); }
.t-slider__pause.is-stopped span { width: 0; height: 0; margin: -4px 0 0 -2px; background: none; box-shadow: none; border: 4px solid transparent; border-left: 6px solid var(--fukagawa-teal-700); border-right: 0; }

.t-ranking {
  margin: 22px 0 0; padding: 0 0 12px; border: 1px solid var(--kusumi-gold-300); border-radius: 4px;
  background: linear-gradient(oklch(0.985 0.01 86), #fff 45%);
}
.t-ranking__head {
  margin: 0; padding: 8px 14px 7px; font: 500 15px/1.4 var(--font-agency-heading); letter-spacing: 0.1em; color: oklch(0.42 0.06 78);
  background: linear-gradient(oklch(0.96 0.025 86), oklch(0.91 0.04 86)); border-bottom: 1px solid var(--kusumi-gold-300); border-radius: 3px 3px 0 0;
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.7);
}
.t-ranking__head span { margin-left: 10px; font: 9px/1 var(--font-agency-en); letter-spacing: 0.2em; color: var(--kusumi-gold-700); vertical-align: 1px; }
.t-ranking__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 14px 14px 0; padding: 0; list-style: none; }
.t-ranking__item { position: relative; display: grid; grid-template-areas: "thumb" "name" "text"; align-content: start; }
.t-ranking__thumb { grid-area: thumb; }
.t-ranking__thumb img { width: 100%; height: auto; }
.t-ranking__no {
  position: absolute; left: -6px; top: -6px; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%; font: bold 8px/1 var(--font-agency-ja); color: #fff; text-shadow: 0 -1px 0 oklch(0 0 0 / 0.3);
  border: 1px solid oklch(0.55 0.1 70); background: radial-gradient(circle at 35% 28%, oklch(0.93 0.09 92), oklch(0.76 0.13 82) 45%, oklch(0.6 0.12 72));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.55), 0 1px 3px oklch(0 0 0 / 0.3);
}
.t-ranking__no b { font: bold 15px/1 var(--font-agency-accent); }
.t-ranking__item--2 .t-ranking__no { border-color: oklch(0.6 0.01 240); background: radial-gradient(circle at 35% 28%, oklch(0.98 0.004 240), oklch(0.82 0.01 240) 45%, oklch(0.64 0.012 240)); }
.t-ranking__item--3 .t-ranking__no { border-color: oklch(0.5 0.08 48); background: radial-gradient(circle at 35% 28%, oklch(0.88 0.06 60), oklch(0.7 0.1 52) 45%, oklch(0.55 0.1 45)); }
.t-ranking__name { grid-area: name; display: flex; align-items: center; gap: 6px; margin: 8px 0 2px; font-size: 13px; font-weight: bold; line-height: 1.4; }
.t-ranking__icon { flex: none; }
.t-ranking__name a, .tuturigachi .t-ranking__name a:visited { color: var(--fukagawa-teal-800); }
.t-ranking__text { grid-area: text; font-size: 11px; line-height: 1.6; color: var(--sumi-sub); }
.t-ranking__note { margin: 12px 14px 0; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }

.t-toolband .t-sechead { margin: 6px 0 8px; padding-bottom: 5px; }
.t-toolband__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.t-toolband__item a, .tuturigachi .t-toolband__item a:visited {
  display: block; height: 100%; box-sizing: border-box; padding: 5px 7px 9px; color: var(--sumi); text-decoration: none;
  border: 1px solid var(--jimu-gray-300); border-radius: 4px;
  background: linear-gradient(#fff 55%, var(--shironezumi-50)); box-shadow: inset 0 1px 0 #fff, 0 1px 2px oklch(0.3 0.01 215 / 0.08);
}
.t-toolband__item a:hover { border-color: var(--fukagawa-teal-300); background: linear-gradient(#fff 55%, var(--fukagawa-teal-100)); }
.t-toolband__item a:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-toolband__thumb { position: relative; display: block; }
.t-toolband__thumb img { width: 100%; height: auto; box-shadow: none; }
.t-toolband__thumb .t-free { position: absolute; left: 5px; top: 5px; box-shadow: 0 1px 2px oklch(0 0 0 / 0.25); }
.t-toolband__name { position: relative; display: block; margin: 5px 0 1px; padding-left: 11px; font: 500 15px/1.4 var(--font-agency-heading); letter-spacing: 0.06em; color: var(--fukagawa-teal-800); }
.t-toolband__name::before { content: ""; position: absolute; left: 1px; top: 50%; margin-top: -4px; border: 4px solid transparent; border-left: 5px solid var(--kaki-500); border-right: 0; }
.t-toolband__item a:hover .t-toolband__name { text-decoration: underline; }
.t-toolband__text { display: block; font-size: 11px; line-height: 1.6; color: var(--sumi-sub); }

.t-jikounow { margin: 0; }
.t-jikounow a, .tuturigachi .t-jikounow a:visited {
  position: relative; display: flex; align-items: baseline; gap: 10px; padding: 5px 26px 4px 10px; color: var(--sumi); text-decoration: none;
  border-top: 1px solid var(--jimu-gray-200); border-bottom: 1px solid var(--jimu-gray-200);
  background: linear-gradient(90deg, var(--shironezumi-50), #fff 70%);
}
.t-jikounow a::after { content: ""; position: absolute; right: 10px; top: 50%; margin-top: -4px; border: 4px solid transparent; border-left: 5px solid var(--kaki-500); border-right: 0; }
.t-jikounow__label { flex: none; padding: 1px 6px; font-size: 10px; line-height: 15px; letter-spacing: 0.08em; color: var(--fukagawa-teal-700); background: #fff; border: 1px solid var(--fukagawa-teal-300); border-radius: 2px; }
.t-jikounow__text { font: 500 15px/1.4 var(--font-agency-heading); letter-spacing: 0.12em; color: var(--fukagawa-teal-800); }
.t-jikounow__yomi { font-size: 11px; color: var(--sumi-sub); }
.t-jikounow a:hover .t-jikounow__text { text-decoration: underline; }

.t-related { margin: 14px 0 0; border: 1px solid var(--jimu-gray-300); border-radius: 3px; background: #fff; }
#main .t-related { margin: 20px 0 0; }
.t-related__head {
  position: relative; margin: 0; padding: 7px 12px 6px 24px; font: bold 12px/1.5 var(--font-agency-ja); letter-spacing: 0.08em; color: var(--fukagawa-teal-800);
  background: linear-gradient(#fdfdfd, oklch(0.94 0.006 205)); border-bottom: 1px solid var(--jimu-gray-300); border-radius: 2px 2px 0 0;
}
.t-related__head::before { content: ""; position: absolute; left: 10px; top: 50%; width: 6px; height: 6px; margin-top: -3px; background: var(--kusumi-gold-600); box-shadow: 1.5px 1.5px 0 var(--fukagawa-teal-300); }
.t-related__head span { margin-left: 8px; font: normal 9px/1 var(--font-agency-en); letter-spacing: 0.18em; color: var(--kusumi-gold-700); }
.t-related__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin: 0; padding: 2px 0; list-style: none; }
.t-related__list li { border-bottom: 1px dotted var(--jimu-gray-300); }
.t-related__list li:last-child { border-bottom: 0; }
.t-related__list a, .tuturigachi .t-related__list a:visited {
  display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 8px; align-items: center; padding: 8px 12px 9px; color: var(--sumi); text-decoration: none;
}
.t-related__icon { grid-row: 1 / span 2; align-self: start; margin-top: 1px; }
.t-related__name { font-size: 12px; font-weight: bold; line-height: 1.5; color: var(--fukagawa-teal-800); }
.t-related__text { grid-column: 2; font-size: 11px; line-height: 1.55; color: var(--sumi-sub); }
.t-related__list a:hover { background: var(--fukagawa-teal-100); }
.t-related__list a:hover .t-related__name { text-decoration: underline; }

.t-related--pages .t-related__list a { grid-template-columns: minmax(0, 1fr); row-gap: 1px; }
.t-related--pages .t-related__text { grid-column: 1; font-family: var(--font-dates); }
.t-related__all { margin: 0; padding: 5px 12px 7px; text-align: right; font-size: 11px; border-top: 1px dotted var(--jimu-gray-300); }
.t-related__all a { position: relative; padding-left: 9px; }
.t-related__all a::before { content: ""; position: absolute; left: 0; top: 50%; margin-top: -3px; border: 3px solid transparent; border-left: 4px solid var(--kaki-500); border-right: 0; }

.t-related--dept .t-related__name .t-mark { vertical-align: 1px; }

.t-door__about { margin: 28px 0 0; padding: 2px 0 0; font-size: 12.5px; line-height: 1.9; }
.t-door__about p { margin: 6px 0 0; }
.t-door__group { margin: 14px 0 0; }
.t-door__dl { margin: 6px 0 0; font-size: 12.5px; line-height: 1.8; }
.t-door__dl dt { margin: 12px 0 0; font-weight: bold; color: var(--fukagawa-teal-800); }
.t-door__dl dd { margin: 2px 0 0; color: var(--sumi); }

.t-door__from { margin: 18px 0 20px; padding: 12px 16px 14px; background: var(--fukagawa-teal-100); border: 1px solid var(--fukagawa-teal-300); border-radius: 3px; font-size: 12.5px; line-height: 1.8; }
.t-door__from .t-h3 { margin-top: 0; }
.t-door__from p { margin: 4px 0 0; }
.t-door__fromform { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 0; }
.t-door__fromlabel { font-weight: bold; color: var(--fukagawa-teal-800); }
.t-door__frominput { flex: 1 1 200px; min-width: 0; padding: 5px 8px; font-size: 14px; border: 1px solid var(--jimu-gray-300); border-radius: 2px; }
.t-door__fromselect { max-width: 100%; padding: 4px; font-size: 13px; }
.t-door__fromout:empty { display: none; }
.t-door__fromout { margin-top: 8px; color: var(--fukagawa-teal-800); }

.t-next { margin: 14px 0 0; padding: 7px 12px; font-size: 12px; line-height: 1.8; color: var(--sumi-sub); border-top: 1px dotted var(--jimu-gray-300); border-bottom: 1px dotted var(--jimu-gray-300); }
.t-next__lead { margin-right: 10px; font-weight: bold; color: var(--fukagawa-teal-800); }
.t-next__lead::before { content: ""; display: inline-block; margin: 0 6px 1px 0; border: 3px solid transparent; border-left: 4px solid var(--kaki-500); border-right: 0; vertical-align: middle; }
.t-next__sep { color: var(--jimu-gray-300); }
.t-next small { font-size: 11px; }

.t-tanto {
  margin: -6px 0 12px; text-align: right;
  font: 11px/1.6 var(--font-agency-ja); letter-spacing: 0.04em; color: var(--sumi-sub);
}
.t-tanto a, .tuturigachi .t-tanto a:visited { color: var(--fukagawa-teal-800); }

@media (max-width: 760px) {
  .t-fluid .t-shelfnav { display: grid; grid-template-columns: 1fr 1fr; }
  .t-fluid .t-shelfnav a { padding-top: 9px; padding-bottom: 9px; }
  .t-fluid .t-toollist--thumbs .t-toollist__item {
    grid-template-columns: 98px auto 1fr; grid-template-areas: "thumb date free" "thumb name name" "text text text";
    padding: 12px 44px 14px 12px;
  }
  .t-fluid .t-toollist__thumb img { width: 98px; }
  .t-fluid .t-toollist--thumbs .t-toollist__name { font-size: 16px; }
  .t-fluid .t-toollist--thumbs .t-toollist__text { margin-top: 8px; }
  .t-fluid .t-toollist--thumbs .t-toollist__item::after { right: 12px; top: 22px; margin-top: 0; }
  .t-fluid .t-toollist--thumbs .t-toollist__item::before { right: 18px; top: 28px; margin-top: 0; }

  .t-fluid .t-slider__frame { padding: 12px 12px 10px; }
  .t-fluid .t-slider__slide { grid-template-columns: minmax(0, 1fr); row-gap: 12px; }
  .t-fluid .t-slider.is-js .t-slider__slide { padding: 0; }
  .t-fluid .t-slider__thumb img { width: 100%; }
  .t-fluid .t-slider__name { font-size: 19px; }
  .t-fluid .t-slider__go { line-height: 40px; }
  .t-fluid .t-slider__pager { justify-content: center; gap: 6px; min-height: 36px; }
  .t-fluid .t-slider__dot, .t-fluid .t-slider__pause { min-width: 36px; height: 36px; font-size: 12px; line-height: 34px; }
  .t-fluid .t-slider__viewport { position: static; }
  .t-fluid .t-slider__arrow { top: auto; bottom: 10px; width: 36px; height: 36px; margin-top: 0; }
  .t-fluid .t-slider__arrow--prev { left: 12px; }
  .t-fluid .t-slider__arrow--next { right: 12px; }

  .t-fluid .t-ranking__list { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .t-fluid .t-ranking__item { grid-template-columns: 98px minmax(0, 1fr); grid-template-areas: "thumb name" "thumb text"; column-gap: 12px; }
  .t-fluid .t-ranking__thumb img { width: 98px; }
  .t-fluid .t-ranking__name { margin-top: 4px; }

  .t-fluid .t-related__list a { padding-top: 11px; padding-bottom: 11px; }
}

.t-rhyme [hidden], .t-howto [hidden] { display: none !important; }
.t-rhyme {
  margin: 20px 0 0; border: 1px solid var(--jimu-gray-300); border-radius: 3px; background: #fff;
  box-shadow: 0 1px 2px oklch(0.4 0.02 210 / 0.08);
}
.t-rhyme button { font-family: var(--font-agency-ja); }
.t-rhyme button:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }

.t-rhyme__lang {
  display: flex; gap: 3px; padding: 9px 14px 0;
  background: linear-gradient(var(--shironezumi-50), oklch(0.93 0.006 210));
  border-bottom: 1px solid var(--jimu-gray-300); border-radius: 3px 3px 0 0;
}
.t-rhyme__lang span { display: none; }
.t-rhyme__lang button {
  position: relative; min-width: 92px; height: 28px; margin: 0 0 -1px; padding: 0 14px; cursor: pointer;
  font-size: 12px; color: var(--sumi-sub); text-shadow: 0 1px 0 #fff;
  border: 1px solid var(--jimu-gray-300); border-radius: 3px 3px 0 0;
  background: linear-gradient(#fff, oklch(0.92 0.006 210));
}
.t-rhyme__lang button[lang="en"] { font-family: var(--font-agency-en); }
.t-rhyme__lang button:hover { color: var(--fukagawa-teal-800); background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-rhyme__lang button[aria-pressed="true"] {
  z-index: 1; cursor: default; font-weight: bold; color: var(--fukagawa-teal-800);
  background: #fff; border-bottom-color: #fff; box-shadow: inset 0 2px 0 var(--fukagawa-teal-700);
}
.t-rhyme__lang button:focus-visible { outline-offset: -3px; z-index: 2; }

.t-rhyme__lang button:disabled, .t-rhyme__lang button:disabled:hover {
  cursor: default; color: oklch(0.7 0.005 210); text-shadow: none;
  background: linear-gradient(oklch(0.975 0.002 210), oklch(0.93 0.004 210));
}

.t-rhyme.is-off .t-rhyme__form > :not(.t-rhyme__private), .t-rhyme.is-off .t-rhyme__lang { opacity: 0.5; filter: grayscale(1); }
.t-rhyme.is-off .t-rhyme__input, .t-rhyme.is-off textarea.t-rhyme__input { background: oklch(0.96 0.002 210); }
.t-rhyme.is-off .t-btn { cursor: default; }
.t-rhyme__input--area { height: auto; min-height: 76px; max-width: 460px; padding: 6px 8px; line-height: 1.7; resize: vertical; }
.t-rhyme__choices { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13px; }
.t-rhyme__choices label { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
.t-rhyme__choices input { margin: 0; accent-color: var(--fukagawa-teal-700); }
.t-rhyme.is-off .t-rhyme__choices label { cursor: default; }

.t-rhyme__form { padding: 20px 22px 16px; background: linear-gradient(#fff 55%, var(--shironezumi-50)); }
.t-rhyme__row { display: grid; grid-template-columns: 118px minmax(0, 1fr); align-items: center; margin: 0 0 10px; }
.t-rhyme__label { font-size: 13px; font-weight: bold; line-height: 1.35; color: var(--fukagawa-teal-800); }
.t-rhyme__label small { display: block; margin-top: 1px; font-size: 10px; font-weight: normal; color: var(--sumi-sub); }
.t-rhyme__input {
  box-sizing: border-box; width: 100%; max-width: 340px; height: 32px; margin: 0; padding: 3px 8px;
  font: 14px var(--font-agency-ja); color: var(--sumi); background: #fff;
  border: 1px solid oklch(0.74 0.008 210); border-radius: 2px; box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.12);
}
.t-rhyme__input::placeholder { color: oklch(0.6 0.006 210); }
.t-rhyme__input:focus { border-color: var(--fukagawa-teal-500); outline: 2px solid var(--fukagawa-teal-700); outline-offset: 0; box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.1), 0 0 6px oklch(0.56 0.055 208 / 0.45); }
.is-en .t-rhyme__input { font-family: var(--font-agency-en); }

.t-rhyme__readings { margin: -2px 0 10px 118px; font-size: 12px; line-height: 1.8; color: var(--sumi-sub); }
.t-rhyme__readings b { color: var(--fukagawa-teal-800); }
.t-rhyme__pick { margin: 0; padding: 0 2px; border: 0; background: none; cursor: pointer; font-size: 12px; color: var(--link); text-decoration: underline; }
.t-rhyme__pick:hover { color: var(--link-hover); text-decoration: none; }

.t-rhyme__action { min-height: 50px; margin: 14px 0 0 118px; }
.t-rhyme .t-rhyme__submit { height: 32px; min-width: 150px; padding: 0 22px 0 18px; justify-content: center; font-size: 13px; font-weight: bold; letter-spacing: 0.08em; }
.t-rhyme__action.is-busy .t-rhyme__submit { display: none; }
.t-rhyme__progress {
  display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "bar status" "pattern count";
  align-items: center; gap: 6px 14px; margin: 0;
}
.t-rhyme__bar {
  grid-area: bar; display: block; width: 168px; height: 14px; padding: 1px; box-sizing: border-box; overflow: hidden;
  border: 1px solid oklch(0.7 0.012 210); border-radius: 3px;
  background: linear-gradient(oklch(0.89 0.006 210), #fff); box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.14);
}
.t-rhyme__bar span {
  display: block; height: 100%; border-radius: 2px;
  background-image:
    linear-gradient(45deg, oklch(1 0 0 / 0.18) 25%, oklch(1 0 0 / 0) 25% 50%, oklch(1 0 0 / 0.18) 50% 75%, oklch(1 0 0 / 0) 75%),
    linear-gradient(oklch(0.64 0.05 206), var(--fukagawa-teal-700) 55%, var(--fukagawa-teal-800));
  background-size: 14px 14px, 100% 100%;
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.35);
}
.t-rhyme__status { grid-area: status; font-size: 12px; color: var(--sumi); }
.t-rhyme__pattern { grid-area: pattern; display: flex; align-items: center; flex-wrap: wrap; gap: 0; min-height: 22px; }
.t-rhyme__pattern span {
  min-width: 14px; padding: 0 4px; font: bold 12px/20px var(--font-agency-ja); text-align: center;
  color: oklch(0.62 0.006 210); background: linear-gradient(#fff, oklch(0.95 0.004 210));
  border: 1px solid var(--jimu-gray-300); border-radius: 2px;
}
.t-rhyme__pattern span.is-lit {
  color: #fff; text-shadow: 0 -1px 0 oklch(0.2 0.03 215 / 0.5);
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700));
  border-color: var(--fukagawa-teal-800);
  box-shadow: 0 0 0 1px #fff, 0 0 0 2px var(--kusumi-gold-300), 0 0 6px oklch(0.84 0.045 86 / 0.9);
}
.is-en .t-rhyme__pattern span { font-family: var(--font-agency-en); font-size: 11px; letter-spacing: 0.04em; }
.t-rhyme__pattern i { padding: 0 3px; font-style: normal; font-size: 11px; color: var(--jimu-gray-500); }
.t-rhyme__count { grid-area: count; font-size: 11px; color: var(--sumi-sub); white-space: nowrap; }
.t-rhyme__count b {
  display: inline-block; min-width: 7ch; text-align: right;
  font: bold 11px var(--font-dates); font-variant-numeric: tabular-nums; color: var(--fukagawa-teal-800);
}

.t-rhyme__private { position: relative; margin: 2px 0 0 118px; padding-left: 17px; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }
.t-rhyme__private::before {
  content: ""; position: absolute; left: 1px; top: 7px; width: 10px; height: 7px; border-radius: 1px;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3);
}
.t-rhyme__private::after {
  content: ""; position: absolute; left: 3px; top: 2px; width: 4px; height: 5px;
  border: 1.5px solid var(--jimu-gray-500); border-bottom: 0; border-radius: 4px 4px 0 0;
}
.t-rhyme__private-en { display: block; font-family: var(--font-agency-en); }

.t-rhyme__results:not(:empty) { padding: 16px 22px 20px; border-top: 1px solid var(--jimu-gray-200); }
.t-rhyme__summary { margin: 0 0 10px; font-size: 13px; line-height: 1.8; }
.t-rhyme__summary b { color: var(--fukagawa-teal-800); }
.t-rhyme__summary[lang="en"] { font-family: var(--font-agency-en); }
.t-rhyme__vowels {
  display: inline-block; margin: 0 2px; padding: 0 7px; font-size: 12px; line-height: 20px; letter-spacing: 0.08em;
  color: var(--fukagawa-teal-800); background: var(--fukagawa-teal-100);
  border: 1px solid var(--fukagawa-teal-300); border-radius: 2px;
}
.t-rhyme__thanks { margin: -2px 0 12px; font: 500 12px/1.7 var(--font-agency-heading); letter-spacing: 0.06em; color: var(--fukagawa-teal-800); }
.t-rhyme__thanks::before { content: ""; display: inline-block; width: 16px; height: 1px; margin-right: 8px; vertical-align: middle; background: var(--kusumi-gold-600); }
.t-rhyme__thanks[lang="en"] { font-family: var(--font-agency-accent); font-style: italic; letter-spacing: 0.02em; }

.t-rhyme__filter { display: inline-flex; flex-wrap: wrap; margin: 0 0 12px; }
.t-rhyme__filter button {
  height: 28px; margin: 0 0 0 -1px; padding: 0 12px; cursor: pointer;
  font-size: 12px; color: var(--sumi); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.76 0.01 210); border-radius: 0;
  background: linear-gradient(#fff, oklch(0.92 0.006 210)); box-shadow: inset 0 1px 0 #fff;
}
.t-rhyme__filter button:first-child { margin-left: 0; border-radius: 3px 0 0 3px; }
.t-rhyme__filter button:last-child { border-radius: 0 3px 3px 0; }
.t-rhyme__filter button span { margin-left: 1px; font: 10px var(--font-dates); color: var(--sumi-sub); }
.t-rhyme__filter button:hover:not(:disabled) { background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-rhyme__filter button[aria-pressed="true"] {
  position: relative; z-index: 1; color: #fff; text-shadow: 0 -1px 0 oklch(0.2 0.03 215 / 0.5);
  border-color: var(--fukagawa-teal-800);
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700));
  box-shadow: inset 0 1px 2px oklch(0.2 0.03 215 / 0.45);
}
.t-rhyme__filter button[aria-pressed="true"] span { color: var(--fukagawa-teal-100); }
.t-rhyme__filter button:disabled { cursor: default; color: oklch(0.66 0.006 210); background: var(--shironezumi-50); box-shadow: none; }
.t-rhyme__filter button:disabled span { color: inherit; }
.t-rhyme__filter button:focus-visible { position: relative; z-index: 2; outline-offset: 1px; }
.t-rhyme__results[lang="en"] .t-rhyme__filter, .is-en .t-rhyme__filter button { font-family: var(--font-agency-en); }

.t-rhyme__subhead {
  position: relative; margin: 14px 0 4px; padding: 0 0 4px 14px;
  font: bold 13px/1.5 var(--font-agency-en); color: var(--fukagawa-teal-700); border-bottom: 1px dotted var(--jimu-gray-500);
}
.t-rhyme__subhead::before { content: ""; position: absolute; left: 0; top: 6px; width: 7px; height: 7px; background: var(--kusumi-gold-600); }
.t-rhyme__subhead span { font-weight: normal; font-size: 11px; color: var(--sumi-sub); }

.t-rhyme__list {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px;
  margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--jimu-gray-200);
}
.t-rhyme__item {
  display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "word match copy" "reading match copy";
  align-items: center; align-content: center; column-gap: 8px; min-height: 40px; padding: 5px 4px 5px 6px; box-sizing: border-box;
  border-bottom: 1px dotted var(--jimu-gray-300);
}
.t-rhyme__item:not(:has(.t-rhyme__reading)) { grid-template-areas: "word match copy"; }
.t-rhyme__item:hover { background: linear-gradient(90deg, var(--fukagawa-teal-100), #fff); }
.t-rhyme__word { grid-area: word; font-size: 15px; line-height: 1.4; color: var(--sumi); overflow-wrap: anywhere; }
.t-rhyme__list[lang="en"] .t-rhyme__word { font-family: var(--font-agency-en); font-size: 14px; }
.t-rhyme__reading { grid-area: reading; font-size: 11px; line-height: 1.4; color: var(--sumi-sub); overflow-wrap: anywhere; }
.t-rhyme__word b, .t-rhyme__reading b { font-weight: bold; color: var(--fukagawa-teal-800); background: linear-gradient(oklch(1 0 0 / 0) 64%, var(--kusumi-gold-300) 64%); }
.t-rhyme__match {
  grid-area: match; min-width: 3.2em; padding: 0 5px; box-sizing: border-box; text-align: center;
  font-size: 10px; line-height: 16px; white-space: nowrap; color: #fff; border-radius: 2px;
  background: linear-gradient(oklch(0.5 0.06 210), var(--fukagawa-teal-700));
}
.t-rhyme__list[lang="en"] .t-rhyme__match { font-family: var(--font-agency-en); }
.t-rhyme__copy {
  grid-area: copy; display: inline-flex; align-items: center; gap: 5px; height: 24px; margin: 0; padding: 0 9px 0 8px; cursor: pointer;
  font-size: 11px; white-space: nowrap; color: var(--sumi); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.76 0.01 210); border-radius: 3px;
  background: linear-gradient(#fff, oklch(0.92 0.006 210)); box-shadow: inset 0 1px 0 #fff, 0 1px 1px oklch(0 0 0 / 0.06);
}
.t-rhyme__list[lang="en"] .t-rhyme__copy { font-family: var(--font-agency-en); }
.t-rhyme__copy::before {
  content: ""; flex: none; width: 6px; height: 7px; margin: 2px 2px 0 0; border: 1px solid var(--sumi-sub); background: #fff;
  box-shadow: 2px -2px 0 -1px #fff, 2px -2px 0 0 var(--sumi-sub);
}
.t-rhyme__copy:hover { background: linear-gradient(#fff, oklch(0.95 0.004 210)); }
.t-rhyme__copy:active { background: linear-gradient(oklch(0.9 0.006 210), #fff); box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.15); }
.t-rhyme__copy.is-done { color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-300); background: var(--fukagawa-teal-100); box-shadow: none; }
.t-rhyme__copy.is-done::before {
  width: 3px; height: 7px; margin: -2px 2px 0 1px; background: none; border: solid var(--fukagawa-teal-700); border-width: 0 2px 2px 0;
  box-shadow: none; transform: rotate(45deg);
}

.t-rhyme__sample { display: inline-block; margin-right: 8px; padding: 0 6px; font-size: 10px; line-height: 16px; vertical-align: 1px; color: var(--ci-shu); border: 1px solid currentColor; border-radius: 2px; }
.t-rhyme__item.is-sample .t-rhyme__match { background: none; color: var(--ci-shu); border: 1px solid currentColor; line-height: 14px; }
.t-rhyme__frog { margin-left: 4px; font-size: 11px; color: oklch(0.5 0.12 145); }
.t-rhyme__spec { margin-left: 6px; font-size: 10px; color: var(--sumi-sub); }
.t-rhyme .t-rhyme__more { display: flex; justify-content: center; min-width: 220px; height: 30px; margin: 16px auto 0; }
.t-rhyme .t-btn:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }

.t-rhyme__none {
  position: relative; margin: 0; padding: 10px 14px 10px 36px; font-size: 12px; line-height: 1.7;
  background: oklch(0.985 0.012 90); border: 1px solid var(--kusumi-gold-300); border-radius: 2px;
}
.t-rhyme__none::before {
  content: "!" / ""; position: absolute; left: 12px; top: 12px; width: 15px; height: 15px; border-radius: 50%;
  font: bold 11px/15px var(--font-agency-en); text-align: center; color: #fff;
  background: linear-gradient(var(--kusumi-gold-600), var(--kusumi-gold-700));
}

@media (prefers-reduced-motion: no-preference) {
  .t-rhyme__bar span { animation: t-rhyme-pole 0.7s linear infinite; }
  .t-rhyme__pattern span { transition: color 0.15s, background 0.15s, box-shadow 0.25s ease-out; }
  .t-rhyme__item.is-wait { opacity: 0; transform: translateY(-6px); }
  .t-rhyme__item.is-in { animation: t-rhyme-drop 0.26s ease-out both; }
  .t-rhyme__thanks { animation: f-fadein 0.9s ease-out both; }
}
@keyframes t-rhyme-pole { from { background-position: 0 0, 0 0; } to { background-position: 14px 0, 0 0; } }
@keyframes t-rhyme-drop { from { opacity: 0; transform: translateY(-6px); } }

.t-howto {
  position: relative; margin: 34px 0 0; padding: 24px 22px 16px;
  border: 1px solid var(--jimu-gray-300); border-radius: 2px;
  background: linear-gradient(#fff, var(--shironezumi-50));
}
.t-howto__head {
  position: absolute; left: 14px; top: -12px; margin: 0; padding: 0 14px 0 26px; height: 23px;
  font: 500 13px/23px var(--font-agency-heading); letter-spacing: 0.1em; color: #fff;
  text-shadow: 0 -1px 0 oklch(0.2 0.03 215 / 0.5);
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700) 60%, var(--fukagawa-teal-800));
  border: 1px solid var(--fukagawa-teal-900); border-radius: 2px;
}
.t-howto__head::before { content: ""; position: absolute; left: 10px; top: 50%; width: 6px; height: 6px; margin-top: -3px; background: #fff; box-shadow: 2px 2px 0 var(--kusumi-gold-600); }
.t-howto__steps { margin: 0; padding: 0; list-style: none; counter-reset: howto; }
.t-howto__steps li { position: relative; padding: 5px 0 5px 30px; font-size: 12.5px; line-height: 1.8; counter-increment: howto; }
.t-howto__steps li + li { border-top: 1px dotted var(--jimu-gray-300); }
.t-howto__steps li::before {
  content: counter(howto); position: absolute; left: 0; top: 8px; width: 19px; height: 19px; border-radius: 50%;
  font: bold 11px/19px var(--font-agency-accent); text-align: center; color: #fff;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700)); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3);
}
.t-howto__steps[lang="en"] { font-family: var(--font-agency-en); }
.t-howto__example { margin: 10px 0 0; padding: 9px 12px; font-size: 12px; line-height: 1.8; background: #fff; border: 1px dashed var(--jimu-gray-300); }

.t-known__lead { margin: 0 0 6px; font-size: 12px; line-height: 1.8; }
.t-known__list { margin: 0; padding: 0; list-style: none; }
.t-known__list li { position: relative; padding: 5px 0 5px 16px; font-size: 12.5px; line-height: 1.8; }
.t-known__list li + li { border-top: 1px dotted var(--jimu-gray-300); }
.t-known__list li::before { content: ""; position: absolute; left: 3px; top: 14px; width: 5px; height: 5px; background: var(--kusumi-gold-600); }
.t-known__fixed s { color: var(--sumi-sub); }
.t-known__fixed::before { opacity: 0.4; }
.t-known__date { display: inline-block; margin-left: 1em; font: 11px var(--font-dates); color: var(--fukagawa-teal-700); white-space: nowrap; }
.t-known__names { margin: 10px 0 0; font-size: 12px; line-height: 1.8; }

.g-footnote { margin: 30px 0 0; font: 10.5px/1.75 var(--font-agency-heading); letter-spacing: 0.02em; color: var(--sumi-sub); }
.g-footnote::before { content: ""; display: block; width: 120px; margin: 0 0 7px; border-top: 1px solid var(--jimu-gray-500); }
.g-footnote + .t-toolnote { margin-top: 4px; }

.g-list { margin: 16px 0 0; padding: 0 0 0 1.8em; }
.g-list__item { margin: 0 0 16px; padding: 0 0 12px; border-bottom: 1px dotted var(--jimu-gray-300, #ccc); }
.g-list__src { margin: 0; font: 11.5px/1.6 var(--font-agency-heading); color: var(--sumi-sub); }
.g-list__text { margin: 4px 0; font: 15px/1.9 'Hiragino Mincho ProN', 'Yu Mincho', 'MS PMincho', serif; letter-spacing: 0.04em; }
.g-list__note { margin: 0; font: 11.5px/1.75 var(--font-agency-heading); color: var(--sumi-sub); }

.t-inkan [hidden], .t-pdf [hidden], .t-kana [hidden] { display: none !important; }
.t-inkan button:focus-visible, .t-pdf button:focus-visible, .t-kana button:focus-visible,
.t-inkan .t-btn:focus-visible, .t-pdf .t-btn:focus-visible, .t-kana .t-btn:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-inkan .t-btn:disabled, .t-pdf .t-btn:disabled {
  cursor: default; color: oklch(0.64 0.006 210); text-shadow: none; border-color: oklch(0.82 0.006 210);
  background: var(--shironezumi-50); box-shadow: none;
}
.t-inkan .t-btn:disabled::before, .t-pdf .t-btn:disabled::before { border-left-color: oklch(0.8 0.006 210); }

.t-step { padding-left: 42px; }
.t-step::before { display: none; }
.t-step__no {
  position: absolute; left: 10px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%;
  font: bold 12px/22px var(--font-agency-accent); text-align: center; color: #fff; text-shadow: 0 -1px 0 oklch(0.2 0.03 215 / 0.5);
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700) 60%, var(--fukagawa-teal-800));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3), 1px 1px 0 var(--kusumi-gold-300);
}
.t-step small { margin-left: 4px; font-size: 11px; font-weight: normal; color: var(--sumi-sub); }
.t-step__lead { margin: -2px 0 12px; font-size: 13px; line-height: 1.9; }
.t-legal { margin: 22px 0 0; font-size: 12px; line-height: 1.8; color: var(--sumi); }

.t-inkan__input, .t-kana__input, .t-inkan__select, .t-kana__select {
  box-sizing: border-box; width: 100%; max-width: 340px; height: 32px; margin: 0; padding: 3px 8px;
  font: 14px var(--font-agency-ja); color: var(--sumi); background: #fff;
  border: 1px solid oklch(0.74 0.008 210); border-radius: 2px; box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.12);
}
.t-inkan__select, .t-kana__select { justify-self: start; width: auto; max-width: 100%; padding-right: 4px; font-size: 13px; box-shadow: inset 0 1px 0 #fff; background: linear-gradient(#fff, oklch(0.95 0.004 210)); }
.t-inkan__input--date { justify-self: start; width: auto; font-family: var(--font-dates); font-size: 13px; }
.t-kana__input { font: 15px var(--font-agency-en); }
.t-inkan__input::placeholder, .t-kana__input::placeholder { color: oklch(0.6 0.006 210); }
.t-inkan__input:focus, .t-kana__input:focus, .t-inkan__select:focus, .t-kana__select:focus, .t-kana__own:focus {
  border-color: var(--fukagawa-teal-500); outline: 2px solid var(--fukagawa-teal-700); outline-offset: 0;
  box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.1), 0 0 6px oklch(0.56 0.055 208 / 0.45);
}
.t-inkan__input[aria-invalid="true"] { border-color: var(--notice-red); }

.t-inkan__private, .t-pdf__private, .t-kana__private { position: relative; margin: 2px 0 0; padding-left: 17px; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }
.t-inkan__private::before, .t-pdf__private::before, .t-kana__private::before {
  content: ""; position: absolute; left: 1px; top: 7px; width: 10px; height: 7px; border-radius: 1px;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700)); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3);
}
.t-inkan__private::after, .t-pdf__private::after, .t-kana__private::after {
  content: ""; position: absolute; left: 3px; top: 2px; width: 4px; height: 5px;
  border: 1.5px solid var(--jimu-gray-500); border-bottom: 0; border-radius: 4px 4px 0 0;
}

.t-inkan, .t-kana {
  margin: 0; border: 1px solid var(--jimu-gray-300); border-radius: 3px; background: #fff;
  box-shadow: 0 1px 2px oklch(0.4 0.02 210 / 0.08);
}
.t-inkan__form {
  display: grid; grid-template-columns: minmax(0, 1fr) 262px; grid-template-areas: "fields preview" "private preview";
  grid-template-rows: auto 1fr; column-gap: 22px; padding: 20px 22px 16px; border-radius: 3px;
  background: linear-gradient(#fff 55%, var(--shironezumi-50));
}
.t-inkan__fields { grid-area: fields; min-width: 0; }
.t-inkan__private { grid-area: private; align-self: end; margin-left: 92px; }
.t-inkan__row { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; min-width: 0; margin: 0 0 12px; padding: 0; border: 0; }
fieldset.t-inkan__row { display: block; }
fieldset.t-inkan__row > legend { float: left; width: 92px; padding: 0; line-height: 30px; }
.t-inkan__row:has(> .t-inkan__field) { align-items: start; }
.t-inkan__row:has(> .t-inkan__field) > .t-inkan__label { padding-top: 6px; }
.t-inkan__label, .t-kana__label { font-size: 13px; font-weight: bold; line-height: 1.35; color: var(--fukagawa-teal-800); }
.t-inkan__label small, .t-kana__label small { display: block; margin-top: 1px; word-break: keep-all; font-size: 10px; font-weight: normal; color: var(--sumi-sub); }
.t-kana__label small { font-family: var(--font-agency-en); }
.t-inkan__field { min-width: 0; }
.t-inkan__hint { margin: 5px 0 0; font-size: 11px; line-height: 1.6; color: var(--sumi-sub); }
.t-inkan__error { position: relative; margin: 6px 0 0; padding-left: 19px; font-size: 12px; line-height: 1.6; color: var(--notice-red); }
.t-inkan__error::before {
  content: "!" / ""; position: absolute; left: 0; top: 2px; width: 14px; height: 14px; border-radius: 50%;
  font: bold 10px/14px var(--font-agency-en); text-align: center; color: #fff; background: var(--notice-red);
}
.t-inkan__date { margin: 0; }

.t-inkan__choices { display: flex; flex-wrap: wrap; gap: 5px; min-height: 30px; align-items: center; }
.t-inkan__choices label, .t-kana__pick, .t-kana__cand {
  display: inline-flex; align-items: center; gap: 5px; box-sizing: border-box; min-height: 30px; padding: 3px 9px 3px 6px; cursor: pointer;
  font-size: 13px; line-height: 1.3; color: var(--sumi); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.78 0.008 210); border-radius: 3px;
  background: linear-gradient(#fff, oklch(0.94 0.005 210)); box-shadow: inset 0 1px 0 #fff;
}
.t-inkan__choices label small { font-size: 10px; color: var(--sumi-sub); }
.t-inkan__choices input, .t-kana__pick input, .t-kana__cand input[type="radio"] { flex: none; margin: 0; accent-color: var(--fukagawa-teal-700); }
.t-inkan__choices label:hover, .t-kana__pick:hover, .t-kana__cand:hover { border-color: var(--fukagawa-teal-300); background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-inkan__choices label:has(:checked), .t-kana__pick:has(:checked), .t-kana__cand:has(:checked) {
  color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-500); background: var(--fukagawa-teal-100);
  box-shadow: inset 0 1px 2px oklch(0.3 0.04 215 / 0.18);
}
.t-inkan__choices label:has(:disabled) { cursor: default; color: oklch(0.68 0.006 210); border-color: oklch(0.86 0.004 210); background: var(--shironezumi-50); box-shadow: none; }
.t-inkan__choices label:has(:focus-visible), .t-kana__pick:has(:focus-visible), .t-kana__cand:has(input[type="radio"]:focus-visible) { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 1px; }

.t-inkan__preview { grid-area: preview; display: flex; flex-direction: column; align-items: stretch; }
.t-inkan__paper {
  position: relative; box-sizing: border-box; padding: 10px;
  background: linear-gradient(135deg, #fffefb, oklch(0.985 0.006 85));
  border: 1px solid oklch(0.86 0.008 85); box-shadow: 0 1px 3px oklch(0.35 0.02 85 / 0.18), 0 0 0 4px oklch(0.96 0.004 210);
}
.t-inkan__paper::after {
  content: ""; position: absolute; left: 10px; right: 10px; bottom: 9px; border-top: 1px solid oklch(0.9 0.01 85);
}
.t-inkan__canvas { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 1; }
.t-inkan__actual { display: flex; align-items: center; gap: 10px; margin: 14px 0 0; padding: 0 2px; font-size: 11px; line-height: 1.5; color: var(--sumi-sub); }
.t-inkan__mini { flex: none; display: block; background: #fff; box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--jimu-gray-200); margin: 5px 4px 5px 5px; }
.t-inkan__actual small { font: 10px var(--font-dates); }
.t-inkan__buttons { display: flex; flex-direction: column; gap: 7px; margin: 14px 0 0; }
.t-inkan__buttons .t-btn { justify-content: center; height: 32px; font-size: 12.5px; }
.t-inkan__buttons .t-btn--primary { font-weight: bold; letter-spacing: 0.04em; }

.t-pdf { margin: 0; }
div.t-pdf::after { content: none; display: none; }
.t-pdf__drop {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; margin: 0; padding: 30px 20px 28px;
  text-align: center; font-size: 13px; line-height: 1.6; color: var(--sumi-sub);
  border: 2px dashed oklch(0.78 0.01 210); border-radius: 4px; background: linear-gradient(#fff, var(--shironezumi-50));
}
.t-pdf__drop::before {
  content: ""; width: 30px; height: 38px;
  background:
    linear-gradient(225deg, oklch(0.9 0.006 210) 0 7px, oklch(0.72 0.008 210) 7px 8px, transparent 8px) top right / 11px 11px no-repeat,
    linear-gradient(oklch(0.55 0.19 27), oklch(0.55 0.19 27)) left 0 bottom 7px / 22px 9px no-repeat,
    linear-gradient(#fff, #fff);
  border: 1px solid oklch(0.72 0.008 210); clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 0 100%);
}
.t-pdf .t-pdf__choose { height: 34px; padding: 0 22px 0 18px; font-size: 13px; font-weight: bold; letter-spacing: 0.06em; }
.t-pdf__file-input { position: absolute; left: 50%; bottom: 30px; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; overflow: hidden; }
.t-pdf__drop:has(.t-pdf__file-input:focus-visible) .t-pdf__choose { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-pdf.is-dragging .t-pdf__drop { color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-500); background: var(--fukagawa-teal-100); }
.t-pdf__private { margin-top: 6px; }

.t-pdf__work { border: 1px solid oklch(0.7 0.008 210); border-radius: 3px; background: oklch(0.83 0.005 210); }
.t-pdf__bar {
  position: sticky; top: 0; z-index: 20;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name save" "tools tools"; align-items: center; gap: 7px 12px;
  padding: 8px 12px 9px; border-radius: 3px 3px 0 0;
  background: linear-gradient(oklch(0.985 0.002 210), oklch(0.92 0.006 210));
  border-bottom: 1px solid oklch(0.72 0.008 210); box-shadow: 0 1px 3px oklch(0 0 0 / 0.14), inset 0 1px 0 #fff;
}
.t-pdf__name { grid-area: name; min-width: 0; margin: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; font-weight: bold; color: var(--fukagawa-teal-800); }
.t-pdf__name small { margin-left: 8px; font: normal 11px var(--font-dates); color: var(--sumi-sub); }
.t-pdf__tools { grid-area: tools; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding-top: 7px; border-top: 1px solid oklch(0.86 0.006 210); }
.t-pdf__save { grid-area: save; display: flex; align-items: center; gap: 6px; }
.t-pdf .t-pdf__bar .t-btn { height: 28px; }
.t-pdf .t-pdf__bar .t-btn--small { height: 24px; }
.t-pdf__ctl { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--sumi); white-space: nowrap; }
.t-pdf__ctl:has(:disabled) { color: oklch(0.64 0.006 210); }
.t-pdf__num {
  box-sizing: border-box; width: 62px; height: 26px; padding: 2px 4px; font: 12px var(--font-dates); text-align: right; color: var(--sumi);
  border: 1px solid oklch(0.74 0.008 210); border-radius: 2px; background: #fff; box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.12);
}
.t-pdf__num:disabled { color: oklch(0.64 0.006 210); background: var(--shironezumi-50); box-shadow: none; }
.t-pdf__num:focus, .t-pdf__range:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 0; }
.t-pdf__range { width: 120px; margin: 0; accent-color: var(--fukagawa-teal-700); }
.t-pdf__ctl output { display: inline-block; min-width: 3em; font: 11px var(--font-dates); text-align: right; color: var(--sumi-sub); }
.t-pdf__status { margin: 0; padding: 5px 12px; font-size: 12px; line-height: 1.6; color: var(--sumi); background: oklch(0.985 0.012 90); border-bottom: 1px solid var(--kusumi-gold-300); }
.t-pdf__status:empty { display: none; }
.t-pdf__pages {
  display: flex; flex-direction: column; align-items: center; gap: 30px; padding: 22px 22px 34px;
  box-shadow: inset 0 2px 3px oklch(0 0 0 / 0.1);
}
.t-pdf__page { position: relative; width: 100%; background: #fff; box-shadow: 0 0 0 1px oklch(0.62 0.006 210), 0 2px 6px oklch(0 0 0 / 0.25); }
.t-pdf__canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.t-pdf__layer { position: absolute; inset: 0; overflow: visible; }
.t-pdf__pageno { position: absolute; left: 0; right: 0; top: 100%; margin-top: 6px; font: 10px/14px var(--font-dates); text-align: center; color: oklch(0.42 0.008 210); pointer-events: none; }

.t-pdf__stamp { position: absolute; box-sizing: border-box; cursor: move; touch-action: none; user-select: none; -webkit-user-select: none; outline: none; }
.t-pdf__stamp img { display: block; width: 100%; height: 100%; pointer-events: none; -webkit-user-drag: none; }
.t-pdf__stamp.is-selected { outline: 1px dashed var(--fukagawa-teal-700); outline-offset: 0; z-index: 2; }
.t-pdf__stamp:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-pdf__stamp.is-selected:focus-visible { outline: 2px dashed var(--fukagawa-teal-700); outline-offset: 0; }
.t-pdf__stamp.is-moving, .t-pdf__stamp.is-moving .t-pdf__h--rot { cursor: grabbing; }
.t-pdf__h {
  position: absolute; display: none; width: 9px; height: 9px; box-sizing: border-box;
  background: #fff; border: 1px solid var(--fukagawa-teal-700); box-shadow: 0 1px 2px oklch(0 0 0 / 0.25);
}
.t-pdf__h::before { content: ""; position: absolute; inset: -8px; }
.t-pdf__stamp.is-selected .t-pdf__h { display: block; }
.t-pdf__h--nw { left: -5px; top: -5px; cursor: nwse-resize; }
.t-pdf__h--ne { right: -5px; top: -5px; cursor: nesw-resize; }
.t-pdf__h--se { right: -5px; bottom: -5px; cursor: nwse-resize; }
.t-pdf__h--sw { left: -5px; bottom: -5px; cursor: nesw-resize; }
.t-pdf__h--rot { left: 50%; top: -24px; width: 11px; height: 11px; margin-left: -5.5px; border-radius: 50%; cursor: grab; background: var(--fukagawa-teal-100); }
.t-pdf__h--rot::after { content: ""; position: absolute; left: 50%; top: 100%; width: 1px; height: 13px; margin-left: -0.5px; background: var(--fukagawa-teal-700); pointer-events: none; }

.t-kana-en { margin: 20px 0 -12px; font: 14px/1.5 var(--font-agency-en); letter-spacing: 0.02em; color: var(--fukagawa-teal-800); }
.t-kana__form { padding: 20px 22px 16px; border-radius: 3px; background: linear-gradient(#fff 55%, var(--shironezumi-50)); }
.t-kana__row { display: grid; grid-template-columns: 118px minmax(0, 1fr); align-items: center; margin: 0 0 10px; }
.t-kana__action { margin: 14px 0 6px 118px; }
.t-kana .t-kana__submit { height: 32px; min-width: 150px; padding: 0 22px 0 18px; justify-content: center; font-size: 13px; font-weight: bold; letter-spacing: 0.08em; }
.t-kana__private { margin-left: 118px; }
.t-kana__results { padding: 16px 22px 20px; border-top: 1px solid var(--jimu-gray-200); }
.t-kana__note { margin: 0 0 8px; font-size: 13px; line-height: 1.8; }
.t-kana__note span { display: block; font: 12px/1.6 var(--font-agency-en); color: var(--sumi-sub); }
.t-kana__word { display: grid; grid-template-columns: 118px minmax(0, 1fr); align-items: start; padding: 10px 0; border-bottom: 1px dotted var(--jimu-gray-300); }
.t-kana__word:first-child { border-top: 1px solid var(--jimu-gray-200); }
.t-kana__src { margin: 0; padding-top: 11px; font: bold 15px/1.4 var(--font-agency-en); color: var(--sumi); overflow-wrap: anywhere; }
.t-kana__cands { display: flex; flex-wrap: wrap; gap: 6px; }
.t-kana__cand { min-height: 44px; padding: 4px 12px 4px 8px; gap: 7px; }
.t-kana__kana { font: 500 19px/1.2 var(--font-agency-heading); letter-spacing: 0.04em; }
.t-kana__tag {
  align-self: center; padding: 0 5px; font-size: 10px; line-height: 15px; white-space: nowrap; color: var(--sumi-sub);
  border: 1px solid var(--jimu-gray-300); border-radius: 2px; background: #fff; text-shadow: none;
}
.t-kana__cand:has(:checked) .t-kana__tag { color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-300); }
.t-kana__cand--own { padding-right: 6px; }
.t-kana__own {
  box-sizing: border-box; width: 8.5em; height: 30px; margin: 0; padding: 2px 6px;
  font: 15px var(--font-agency-ja); color: var(--sumi); background: #fff;
  border: 1px solid oklch(0.74 0.008 210); border-radius: 2px; box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.12);
}
.t-kana__own::placeholder { font-size: 12px; color: oklch(0.6 0.006 210); }
.t-kana__seal-text { display: grid; grid-template-columns: 118px minmax(0, 1fr); align-items: start; margin: 16px 0 0; }
.t-kana__seal-text .t-kana__label { margin: 0; padding-top: 7px; }
.t-kana__picks { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.t-kana__pick { font-size: 14px; }
.t-kana .t-kana__next { margin-left: 6px; }
.t-kana__msg {
  position: relative; margin: 0; padding: 10px 14px 10px 36px; font-size: 12px; line-height: 1.7;
  background: oklch(0.985 0.012 90); border: 1px solid var(--kusumi-gold-300); border-radius: 2px;
}
.t-kana__msg::before {
  content: "!" / ""; position: absolute; left: 12px; top: 12px; width: 15px; height: 15px; border-radius: 50%;
  font: bold 11px/15px var(--font-agency-en); text-align: center; color: #fff;
  background: linear-gradient(var(--kusumi-gold-600), var(--kusumi-gold-700));
}

.t-harigami, .t-binsen {
  margin: 0; border: 1px solid var(--jimu-gray-300); border-radius: 3px; background: #fff;
  box-shadow: 0 1px 2px oklch(0.4 0.02 210 / 0.08);
}
.t-harigami [hidden], .t-binsen [hidden] { display: none !important; }
.t-harigami__noscript { margin: 0; padding: 18px 22px; font-size: 13px; color: var(--sumi-sub); }
.t-harigami__form {
  display: grid; grid-template-columns: minmax(0, 1fr) 300px; column-gap: 24px; align-items: start;
  padding: 20px 22px 18px; border-radius: 3px; background: linear-gradient(#fff 55%, var(--shironezumi-50));
}
.t-harigami__fields { min-width: 0; }
.t-harigami__kinds label { white-space: nowrap; }
.t-harigami__h3 {
  margin: 20px 0 12px; padding: 0 0 5px; font-size: 13px; color: var(--fukagawa-teal-800);
  border-bottom: 1px solid var(--jimu-gray-200);
}
.t-harigami__h3 small { margin-left: 6px; font-size: 10.5px; font-weight: normal; color: var(--sumi-sub); }
textarea.t-harigami__area { height: auto; min-height: 0; padding-top: 5px; padding-bottom: 5px; line-height: 1.6; resize: vertical; font-family: inherit; }
.t-binsen__body { min-height: 180px; }

.t-binsen__given { margin: 0 0 10px; padding: 6px 10px; font-size: 12px; line-height: 1.6; color: var(--fukagawa-teal-800); background: var(--fukagawa-teal-100); border-radius: 3px; }
.t-harigami__pair { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.t-harigami__pair textarea { flex: 1; min-width: 160px; }
.t-harigami__rl { flex: none; width: 7em; }
.t-harigami__check { display: flex; align-items: flex-start; gap: 6px; font-size: 12px; line-height: 1.6; cursor: pointer; }
.t-harigami__check input { flex: none; margin: 3px 0 0; accent-color: var(--fukagawa-teal-700); }
.t-harigami__reset { margin: -4px 0 0; text-align: right; }
.t-binsen__pick { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 6px; font-size: 12px; }
.t-binsen__pick .t-inkan__select { max-width: 100%; }
.t-binsen__two { display: grid; gap: 6px; }

.t-harigami__preview { position: sticky; top: 12px; display: flex; flex-direction: column; align-items: stretch; }
.t-harigami__sheet, .t-binsen__sheet {
  box-sizing: border-box; padding: 0; background: #fff;
  border: 1px solid oklch(0.86 0.008 85); box-shadow: 0 1px 3px oklch(0.35 0.02 85 / 0.18), 0 0 0 4px oklch(0.96 0.004 210);
}
.t-harigami__sheet.is-landscape { margin: 0; }
.t-harigami__canvas { display: block; width: 100%; height: auto; aspect-ratio: 210 / 297; }
.t-harigami__status { margin: 10px 0 0; font-size: 12px; color: var(--sumi-sub); }
.t-binsen__pages { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin: 10px 0 0; font: 12px var(--font-dates); color: var(--sumi-sub); }

@media (max-width: 960px) {
  .t-fluid .t-page { width: auto; }
  .t-fluid .t-columns { grid-template-columns: minmax(0, 1fr) var(--side-width); }
}

@media (max-width: 760px) {
  .t-fluid .t-page { box-shadow: none; }
  .t-fluid .t-header { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; height: auto; padding: 12px 16px 12px; }
  .t-fluid .t-header__logo { position: static; flex: 0 1 300px; width: auto; max-width: 100%; }
  .t-fluid .t-util { position: static; order: 2; flex-wrap: wrap; gap: 0 16px; width: 100%; }
  .t-fluid .t-util a { display: inline-block; padding: 7px 0 7px 9px; }
  .t-fluid .t-util li:has(.t-fav) { display: none; }
  .t-fluid .t-fontsize { display: none; }
  .t-fluid .t-search { position: static; order: 3; width: 100%; gap: 6px; }
  .t-fluid .t-search input { flex: 1; min-width: 0; width: auto; height: 40px; box-sizing: border-box; font-size: 16px; }
  .t-fluid .t-search .t-btn { height: 40px; padding: 0 16px 0 14px; font-size: 13px; }

  .t-fluid .t-gnav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); height: auto; background: var(--fukagawa-teal-800); }
  .t-fluid .t-gnav a {
    min-height: 48px; font-size: 13px; letter-spacing: 0.02em;
    background: linear-gradient(oklch(0.52 0.058 211), var(--fukagawa-teal-700) 52%, var(--fukagawa-teal-800));
  }
  .t-fluid .t-gnav li:nth-child(-n+3) a { border-bottom: 1px solid oklch(0 0 0 / 0.22); }
  .t-fluid .t-gnav li:nth-child(3n+1) a { border-left: 0; }
  .t-fluid .t-gnav li:nth-child(3n) a { border-right: 0; }
  .t-fluid .t-gnav a:hover, .t-fluid .t-gnav a[aria-current="page"] { background: linear-gradient(oklch(0.58 0.055 208), oklch(0.47 0.063 211)); }

  .t-fluid .t-crumb { flex-wrap: wrap; padding: 8px 16px; }
  .t-fluid .t-pagetitle { height: auto; padding: 18px 16px 16px; }
  .t-fluid .t-pagetitle::after { width: 280px; }
  .t-fluid .t-pagetitle h1 { margin-top: 6px; font-size: 21px; }
  .t-fluid .t-columns, .t-fluid .t-columns--wide { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 6px 16px 24px; }
  .t-fluid .t-pagetop a { display: inline-block; padding-top: 8px; padding-bottom: 8px; }
  .t-fluid .t-localnav a { padding-top: 11px; padding-bottom: 11px; }

  .t-fluid .t-footer__map { grid-template-columns: 1fr 1fr; gap: 16px 20px; padding: 20px 16px 16px; }
  .t-fluid .t-footer__map a { display: inline-block; padding: 3px 0; line-height: 1.6; }
  .t-fluid .t-footer__bar { flex-wrap: wrap; gap: 6px 14px; padding: 12px 16px; }
  .t-fluid .t-footer__bar ul { flex-wrap: wrap; gap: 4px 14px; margin: 0; width: 100%; }
  .t-fluid .t-footer__bar ul a { display: inline-block; padding: 4px 0; }

  .t-fluid .t-lead { margin-top: 18px; }
  .t-fluid .t-toollist__item { padding: 12px 50px 14px 14px; }

  .t-fluid .t-rhyme { margin-top: 16px; }
  .t-fluid .t-rhyme__lang { padding: 8px 10px 0; }
  .t-fluid .t-rhyme__lang button { flex: 1; min-width: 0; height: 40px; font-size: 13px; }
  .t-fluid .t-rhyme__lang button:disabled { padding: 0 2px; font-size: 11px; letter-spacing: -0.02em; white-space: nowrap; }
  .t-fluid .t-rhyme__form { padding: 16px 14px 14px; }
  .t-fluid .t-rhyme__row { grid-template-columns: minmax(0, 1fr); gap: 5px; margin-bottom: 12px; }
  .t-fluid .t-rhyme__label small { display: inline; margin: 0 0 0 4px; }
  .t-fluid .t-rhyme__input { max-width: none; height: 44px; font-size: 16px; }
  .t-fluid .t-rhyme__input--area { height: auto; min-height: 96px; }
  .t-fluid .t-rhyme__readings { margin: -4px 0 12px; }
  .t-fluid .t-rhyme__pick { padding: 9px 4px; font-size: 13px; }
  .t-fluid .t-rhyme__action { margin: 16px 0 0; min-height: 56px; }
  .t-fluid .t-rhyme .t-rhyme__submit { width: 100%; height: 44px; font-size: 14px; }
  .t-fluid .t-rhyme__bar { width: 120px; }
  .t-fluid .t-rhyme__private { margin: 4px 0 0; }
  .t-fluid .t-rhyme__results:not(:empty) { padding: 14px 14px 18px; }
  .t-fluid .t-rhyme__filter { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; width: 100%; }
  .t-fluid .t-rhyme__filter button,
  .t-fluid .t-rhyme__filter button:first-child,
  .t-fluid .t-rhyme__filter button:last-child { height: 40px; margin: 0; padding: 0 6px; border-radius: 3px; }
  .t-fluid .t-rhyme__list { grid-template-columns: minmax(0, 1fr); }
  .t-fluid .t-rhyme__item { min-height: 52px; padding: 6px 2px 6px 4px; }
  .t-fluid .t-rhyme__word { font-size: 16px; }
  .t-fluid .t-rhyme__reading { font-size: 12px; }
  .t-fluid .t-rhyme__copy { height: 40px; padding: 0 12px 0 10px; font-size: 12px; }
  .t-fluid .t-rhyme .t-rhyme__more { width: 100%; min-width: 0; height: 44px; }

  .t-fluid .t-howto { padding: 24px 14px 14px; }
  .t-fluid .t-howto__steps li { font-size: 13px; }

  .t-fluid .t-step__lead { margin-bottom: 10px; }
  .t-fluid .t-inkan__form { grid-template-columns: minmax(0, 1fr); grid-template-areas: "fields" "preview" "private"; padding: 16px 14px 14px; }
  .t-fluid .t-inkan__row { grid-template-columns: minmax(0, 1fr); gap: 5px; margin-bottom: 14px; }
  .t-fluid fieldset.t-inkan__row > legend { float: none; width: auto; margin: 0 0 6px; line-height: 1.35; }
  .t-fluid .t-inkan__row:has(> .t-inkan__field) > .t-inkan__label { padding-top: 0; }
  .t-fluid .t-inkan__label small, .t-fluid .t-kana__label small { display: inline; margin: 0 0 0 4px; }
  .t-fluid .t-inkan__input, .t-fluid .t-kana__input, .t-fluid .t-inkan__select, .t-fluid .t-kana__select { width: 100%; max-width: none; height: 44px; font-size: 16px; }
  .t-fluid .t-inkan__choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 6px; }
  .t-fluid .t-inkan__choices label { min-height: 44px; padding: 4px 4px; gap: 4px; justify-content: center; font-size: 14px; white-space: nowrap; }

  .t-fluid #inkan-fonts label, .t-fluid #inkan-fill-row label { white-space: normal; line-height: 1.2; text-align: center; }
  .t-fluid .t-inkan__choices label small { letter-spacing: -0.04em; }
  .t-fluid .t-inkan__preview { align-items: center; margin: 4px 0 0; }
  .t-fluid .t-inkan__paper { width: 100%; max-width: 280px; }
  .t-fluid .t-inkan__buttons { align-self: stretch; }
  .t-fluid .t-inkan__buttons .t-btn { height: 44px; font-size: 14px; }
  .t-fluid .t-inkan__private { margin: 12px 0 0; }

  .t-fluid .t-pdf__drop { padding: 22px 14px 20px; }
  .t-fluid .t-pdf .t-pdf__choose { width: 100%; height: 44px; justify-content: center; box-sizing: border-box; }
  .t-fluid .t-pdf__bar {
    top: -46px; grid-template-columns: auto minmax(0, 1fr) auto auto;
    grid-template-areas: "name name name close" "add size size del" "rot rot save save"; gap: 8px 8px; padding: 8px 8px 8px;
  }
  .t-fluid .t-pdf__tools, .t-fluid .t-pdf__save { display: contents; }
  .t-fluid .t-pdf__name { height: 30px; line-height: 30px; }
  .t-fluid #pdf-add { grid-area: add; }
  .t-fluid #pdf-del { grid-area: del; }
  .t-fluid #pdf-save { grid-area: save; }
  .t-fluid #pdf-close { grid-area: close; }
  .t-fluid .t-pdf__ctl:has(#pdf-size) { grid-area: size; }
  .t-fluid .t-pdf__ctl:has(#pdf-rot) { grid-area: rot; min-width: 0; }
  .t-fluid .t-pdf .t-pdf__bar .t-btn { height: 40px; padding: 0 10px 0 8px; white-space: nowrap; justify-content: center; }
  .t-fluid #pdf-del { justify-self: end; }
  .t-fluid #pdf-save { justify-self: stretch; }
  .t-fluid .t-pdf .t-pdf__bar #pdf-close { height: 30px; }
  .t-fluid .t-pdf__num { height: 40px; width: 60px; font-size: 16px; }
  .t-fluid .t-pdf__range { flex: 1; min-width: 0; width: auto; height: 40px; }
  .t-fluid .t-pdf__ctl output { min-width: 2.8em; }
  .t-fluid .t-pdf__pages { gap: 28px; padding: 14px 8px 30px; }

  .t-fluid .t-kana-en { margin: 16px 0 -8px; }
  .t-fluid .t-kana__form { padding: 16px 14px 14px; }
  .t-fluid .t-kana__row { grid-template-columns: minmax(0, 1fr); gap: 5px; margin-bottom: 12px; }
  .t-fluid .t-kana__action { margin: 16px 0 0; }
  .t-fluid .t-kana .t-kana__submit { width: 100%; height: 44px; font-size: 14px; }
  .t-fluid .t-kana__private { margin: 8px 0 0; }
  .t-fluid .t-kana__results { padding: 14px 14px 18px; }
  .t-fluid .t-kana__word, .t-fluid .t-kana__seal-text { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .t-fluid .t-kana__src, .t-fluid .t-kana__seal-text .t-kana__label { padding-top: 0; }
  .t-fluid .t-kana__cand { min-height: 48px; }
  .t-fluid .t-kana__own { width: 7.5em; height: 38px; font-size: 16px; }
  .t-fluid .t-kana__pick { min-height: 44px; }
  .t-fluid .t-kana .t-kana__next { width: 100%; height: 44px; margin: 4px 0 0; justify-content: center; font-size: 13px; }
}

@media (pointer: coarse) {
  .t-pdf__h { width: 13px; height: 13px; }
  .t-pdf__h--nw { left: -15px; top: -15px; }
  .t-pdf__h--ne { right: -15px; top: -15px; }
  .t-pdf__h--se { right: -15px; bottom: -15px; }
  .t-pdf__h--sw { left: -15px; bottom: -15px; }
  .t-pdf__h--nw::before { inset: -12px -2px -2px -12px; }
  .t-pdf__h--ne::before { inset: -12px -12px -2px -2px; }
  .t-pdf__h--se::before { inset: -2px -12px -12px -2px; }
  .t-pdf__h--sw::before { inset: -2px -2px -12px -12px; }
  .t-pdf__h--rot { top: -46px; width: 16px; height: 16px; margin-left: -8px; }
  .t-pdf__h--rot::before { inset: -6px; }
  .t-pdf__h--rot::after { height: 30px; }
  .t-pdf__drop-text { display: none; }
}

.t-moji [hidden], .t-furi [hidden] { display: none !important; }
.t-moji, .t-furi {
  margin: 20px 0 0; border: 1px solid var(--jimu-gray-300); border-radius: 3px; background: #fff;
  box-shadow: 0 1px 2px oklch(0.4 0.02 210 / 0.08);
}
.t-moji button, .t-furi button { font-family: var(--font-agency-ja); }
.t-moji button:focus-visible, .t-furi button:focus-visible,
.t-moji .t-btn:focus-visible, .t-furi .t-btn:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-moji .t-btn:disabled, .t-furi .t-btn:disabled {
  cursor: default; color: oklch(0.64 0.006 210); text-shadow: none; border-color: oklch(0.82 0.006 210);
  background: var(--shironezumi-50); box-shadow: none;
}
.t-moji .t-btn:disabled::before, .t-furi .t-btn:disabled::before { border-left-color: oklch(0.8 0.006 210); }

.t-moji__form, .t-furi__form { padding: 20px 22px 16px; border-radius: 3px; background: linear-gradient(#fff 55%, var(--shironezumi-50)); }
.t-moji__label, .t-furi__label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: bold; line-height: 1.35; color: var(--fukagawa-teal-800); }
.t-moji__label small, .t-furi__label small { margin-left: 8px; font: normal 10px var(--font-agency-en); letter-spacing: 0.04em; color: var(--sumi-sub); }
.t-moji__input, .t-furi__input {
  display: block; box-sizing: border-box; width: 100%; min-height: 8em; margin: 0; padding: 8px 10px; resize: vertical;
  font: 13px/1.8 var(--font-agency-ja); color: var(--sumi); background: #fff;
  border: 1px solid oklch(0.74 0.008 210); border-radius: 2px; box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.12);
}
.t-moji__input::placeholder, .t-furi__input::placeholder { color: oklch(0.6 0.006 210); }
.t-moji__input:focus, .t-furi__input:focus {
  border-color: var(--fukagawa-teal-500); outline: 2px solid var(--fukagawa-teal-700); outline-offset: 0;
  box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.1), 0 0 6px oklch(0.56 0.055 208 / 0.45);
}

.t-moji__examples, .t-furi__examples { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 8px 0 0; }
.t-moji__examples-head, .t-furi__examples-head { margin-right: 1px; font-size: 11px; color: var(--sumi-sub); }
.t-moji__ex, .t-furi__ex {
  height: 22px; margin: 0; padding: 0 9px; cursor: pointer;
  font-size: 11px; line-height: 20px; white-space: nowrap; color: var(--link); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.8 0.008 210); border-radius: 3px;
  background: linear-gradient(#fff, oklch(0.95 0.004 210)); box-shadow: inset 0 1px 0 #fff;
}
.t-moji__ex:hover, .t-furi__ex:hover { color: var(--link-hover); border-color: var(--fukagawa-teal-300); background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-moji__ex:active, .t-furi__ex:active { background: linear-gradient(oklch(0.92 0.006 210), #fff); box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.12); }

.t-moji__action, .t-furi__action { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-height: 34px; margin: 16px 0 0; }
.t-moji .t-moji__submit, .t-furi .t-furi__submit { height: 32px; min-width: 150px; padding: 0 22px 0 18px; justify-content: center; font-size: 13px; font-weight: bold; letter-spacing: 0.08em; }
.t-moji .t-moji__clear, .t-furi .t-furi__clear { height: 32px; padding: 0 16px 0 12px; font-size: 12px; }
.t-moji__action.is-busy .t-btn, .t-furi__action.is-busy .t-btn { display: none; }
.t-moji__progress, .t-furi__progress {
  flex: 1 1 auto; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "bar status";
  align-items: center; gap: 6px 14px; min-height: 32px; margin: 0;
}
.t-moji__bar, .t-furi__bar {
  grid-area: bar; display: block; width: 200px; height: 14px; padding: 1px; box-sizing: border-box; overflow: hidden;
  border: 1px solid oklch(0.7 0.012 210); border-radius: 3px;
  background: linear-gradient(oklch(0.89 0.006 210), #fff); box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.14);
}
.t-moji__bar span, .t-furi__bar span {
  display: block; height: 100%; border-radius: 2px;
  background-image:
    linear-gradient(45deg, oklch(1 0 0 / 0.18) 25%, oklch(1 0 0 / 0) 25% 50%, oklch(1 0 0 / 0.18) 50% 75%, oklch(1 0 0 / 0) 75%),
    linear-gradient(oklch(0.64 0.05 206), var(--fukagawa-teal-700) 55%, var(--fukagawa-teal-800));
  background-size: 14px 14px, 100% 100%;
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.35);
}
.t-furi__bar span { width: 0; }
.t-furi__bar.is-indeterminate span { width: 100%; }
.t-moji__status, .t-furi__status { grid-area: status; min-width: 0; font-size: 12px; line-height: 1.5; color: var(--sumi); font-variant-numeric: tabular-nums; }

.t-moji__private, .t-furi__private { position: relative; margin: 10px 0 0; padding-left: 17px; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }
.t-moji__private::before, .t-furi__private::before {
  content: ""; position: absolute; left: 1px; top: 7px; width: 10px; height: 7px; border-radius: 1px;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700)); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3);
}
.t-moji__private::after, .t-furi__private::after {
  content: ""; position: absolute; left: 3px; top: 2px; width: 4px; height: 5px;
  border: 1.5px solid var(--jimu-gray-500); border-bottom: 0; border-radius: 4px 4px 0 0;
}
.t-moji__private-en, .t-furi__private-en { display: block; font-family: var(--font-agency-en); }
.t-furi__first { margin: 4px 0 0 17px; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }

.t-moji__results:not(:empty), .t-furi__results { padding: 16px 22px 20px; border-top: 1px solid var(--jimu-gray-200); }

.t-moji__none, .t-furi__none {
  position: relative; margin: 0; padding: 10px 14px 10px 36px; font-size: 12px; line-height: 1.7;
  background: oklch(0.985 0.012 90); border: 1px solid var(--kusumi-gold-300); border-radius: 2px;
}
.t-moji__none::before, .t-furi__none::before {
  content: "!" / ""; position: absolute; left: 12px; top: 12px; width: 15px; height: 15px; border-radius: 50%;
  font: bold 11px/15px var(--font-agency-en); text-align: center; color: #fff;
  background: linear-gradient(var(--kusumi-gold-600), var(--kusumi-gold-700));
}
.t-furi__preview .t-furi__none { font-size: 12px; line-height: 1.7; }
.t-moji__hints { margin: 10px 0 0; padding: 0; list-style: none; }
.t-moji__hints li { position: relative; padding: 3px 0 3px 13px; font-size: 12px; line-height: 1.8; }
.t-moji__hints li::before { content: ""; position: absolute; left: 1px; top: 11px; border: 3.5px solid transparent; border-left: 5px solid var(--kaki-500); border-right: 0; }

.t-moji__rank, .t-moji__subhead, .t-furi__sechead {
  position: relative; margin: 0 0 8px; padding: 0 0 4px 14px;
  font: bold 13px/1.5 var(--font-agency-ja); color: var(--fukagawa-teal-700); border-bottom: 1px dotted var(--jimu-gray-500);
}
.t-moji__rank::before, .t-moji__subhead::before, .t-furi__sechead::before { content: ""; position: absolute; left: 0; top: 6px; width: 7px; height: 7px; background: var(--kusumi-gold-600); }
.t-moji__rank { font-size: 12px; letter-spacing: 0.04em; }
.t-furi__sechead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0 12px; }
.t-furi__secnote { font-weight: normal; font-size: 11px; color: var(--sumi-sub); }

.t-moji__method { margin: 0; font: 500 17px/1.45 var(--font-agency-heading); letter-spacing: 0.04em; color: var(--fukagawa-teal-800); overflow-wrap: anywhere; }
.t-moji__method small { display: block; margin-top: 1px; font: 11px/1.5 var(--font-agency-en); letter-spacing: 0.02em; color: var(--sumi-sub); }
.t-moji__meter { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 8px 0 0; }
.t-moji__meter-label { font-size: 11px; color: var(--sumi-sub); }
.t-moji__meter-bar {
  display: block; width: 150px; height: 8px; padding: 1px; box-sizing: border-box; overflow: hidden;
  border: 1px solid oklch(0.74 0.012 210); border-radius: 2px;
  background: linear-gradient(oklch(0.9 0.006 210), #fff); box-shadow: inset 0 1px 1px oklch(0 0 0 / 0.12);
}
.t-moji__meter-bar span { display: block; height: 100%; border-radius: 1px; background: linear-gradient(oklch(0.62 0.05 206), var(--fukagawa-teal-700)); }
.t-moji__meter b { font: bold 11px var(--font-dates); font-variant-numeric: tabular-nums; color: var(--fukagawa-teal-800); }
.t-moji__partial { margin: 8px 0 0; font-size: 12px; line-height: 1.7; color: var(--sumi); }

.t-moji__out, .t-furi__preview {
  box-sizing: border-box; margin: 10px 0 0; color: var(--sumi);
  background: linear-gradient(135deg, #fffefb, oklch(0.985 0.006 85));
  border: 1px solid oklch(0.86 0.008 85); border-radius: 2px; box-shadow: 0 1px 3px oklch(0.35 0.02 85 / 0.14);
}
.t-moji__out {
  max-height: 22em; overflow: auto; padding: 12px 14px;
  font: 14px/1.9 var(--font-agency-ja); white-space: pre-wrap; overflow-wrap: anywhere;
}
.t-moji__out:focus { outline: none; }
.t-moji__out:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-moji__guess { text-decoration: underline dotted var(--kusumi-gold-700); text-decoration-thickness: 2px; text-underline-offset: 4px; text-decoration-skip-ink: none; }
.t-moji__guessnote { margin: 6px 0 0; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }
.t-moji__buttons, .t-furi__buttons { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }

.t-moji__others { margin: 22px 0 0; }
.t-moji__subhead { margin-bottom: 0; }
.t-moji__otherlist { margin: 0; padding: 0; list-style: none; }
.t-moji__other {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "head button" "text button";
  align-items: center; column-gap: 12px; padding: 7px 4px 7px 6px; border-bottom: 1px dotted var(--jimu-gray-300);
}
.t-moji__other:hover { background: linear-gradient(90deg, var(--fukagawa-teal-100), #fff); }
.t-moji__other-head { grid-area: head; min-width: 0; font-size: 12px; line-height: 1.5; }
.t-moji__other-head b { color: var(--sumi); }
.t-moji__pct { margin-left: 8px; font: 10px var(--font-dates); font-variant-numeric: tabular-nums; color: var(--sumi-sub); }
.t-moji__other-text { grid-area: text; min-width: 0; margin: 1px 0 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; line-height: 1.6; color: var(--sumi-sub); }
.t-moji__other .t-btn { grid-area: button; }

.t-moji__list { margin: 0; padding: 0; list-style: none; }
.t-moji__list li { position: relative; padding: 3px 0 3px 13px; font-size: 12.5px; line-height: 1.85; }
.t-moji__list li::before { content: ""; position: absolute; left: 1px; top: 12px; border: 3.5px solid transparent; border-left: 5px solid var(--kaki-500); border-right: 0; }
.t-moji__list + .t-toolnote { margin-top: 14px; }

.t-furi__opts { min-width: 0; margin: 16px 0 0; padding: 6px 14px 10px; border: 1px solid var(--jimu-gray-300); border-radius: 3px; background: #fff; }
.t-furi__legend { padding: 0 6px; font-size: 13px; font-weight: bold; line-height: 1.35; color: var(--fukagawa-teal-800); }
.t-furi__opt { position: relative; padding: 4px 0 4px 22px; font-size: 13px; line-height: 1.75; }
.t-furi__opt label { cursor: pointer; }
.t-furi__opt input { position: absolute; left: 1px; top: 8px; width: 14px; height: 14px; margin: 0; accent-color: var(--fukagawa-teal-700); }
.t-furi__opt input:focus-visible, .t-furi__brackets input:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-furi__opt--once { margin-top: 4px; padding-top: 8px; border-top: 1px dotted var(--jimu-gray-300); }
.t-furi__opt--once input { top: 12px; }
.t-furi__select {
  box-sizing: border-box; height: 24px; margin: 0 3px; padding: 0 2px 0 6px; vertical-align: 1px; cursor: pointer;
  font: 13px var(--font-agency-ja); color: var(--sumi);
  border: 1px solid oklch(0.74 0.008 210); border-radius: 2px;
  background: linear-gradient(#fff, oklch(0.95 0.004 210)); box-shadow: inset 0 1px 0 #fff;
}
.t-furi__select:focus { border-color: var(--fukagawa-teal-500); outline: 2px solid var(--fukagawa-teal-700); outline-offset: 0; box-shadow: 0 0 6px oklch(0.56 0.055 208 / 0.45); }
.t-furi__hint { font-size: 11px; color: var(--sumi-sub); }

.t-furi__sec + .t-furi__sec { margin-top: 22px; }
.t-furi__preview { padding: 14px 18px 4px; font: 16px/2.3 var(--font-agency-ja); }
.t-furi__line { margin: 0 0 0.75em; overflow-wrap: anywhere; }
.t-furi__preview ruby { ruby-position: over; ruby-align: center; }
.t-furi__preview rt { font-size: 0.5em; font-style: normal; line-height: 1; letter-spacing: 0; color: oklch(0.4 0.007 215); }

.t-furi__weak { position: relative; text-decoration: underline dotted oklch(0.62 0.09 55 / 0.75); text-decoration-thickness: 1.5px; text-underline-offset: 0.3em; cursor: help; outline: none; }
.t-furi__weak::after { content: attr(data-note); position: absolute; left: -2px; top: 100%; z-index: 3; transform: translateY(4px); width: max-content; max-width: 15em; padding: 4px 8px; border: 1px solid oklch(0.8 0.03 70); background: oklch(0.985 0.012 85); color: oklch(0.32 0.01 215); font-size: 11px; line-height: 1.5; letter-spacing: 0; text-align: left; white-space: normal; box-shadow: 0 1px 3px oklch(0 0 0 / 0.12); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.12s; }
.t-furi__weak:hover::after, .t-furi__weak:focus-visible::after, .t-furi__weak.is-open::after { opacity: 1; visibility: visible; }
.t-furi__weaknote { margin: 6px 0 0; font-size: 12px; line-height: 1.6; color: oklch(0.42 0.04 55); }
.t-furi__code {
  display: block; box-sizing: border-box; width: 100%; margin: 0; padding: 8px 10px; resize: vertical;
  font: 12px/1.6 ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Courier New", monospace; color: var(--sumi);
  background: oklch(0.97 0.008 205); border: 1px solid oklch(0.78 0.01 210); border-radius: 2px; box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.08);
}
.t-furi__code:focus { border-color: var(--fukagawa-teal-500); outline: 2px solid var(--fukagawa-teal-700); outline-offset: 0; }
.t-furi__brackets { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 8px; }
.t-furi__brackets label {
  display: inline-flex; align-items: center; gap: 5px; box-sizing: border-box; min-height: 28px; padding: 3px 10px 3px 7px; cursor: pointer;
  font-size: 13px; line-height: 1.3; color: var(--sumi); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.78 0.008 210); border-radius: 3px;
  background: linear-gradient(#fff, oklch(0.94 0.005 210)); box-shadow: inset 0 1px 0 #fff;
}
.t-furi__brackets input { flex: none; margin: 0; accent-color: var(--fukagawa-teal-700); }
.t-furi__brackets label:hover { border-color: var(--fukagawa-teal-300); background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-furi__brackets label:has(:checked) {
  color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-500); background: var(--fukagawa-teal-100);
  box-shadow: inset 0 1px 2px oklch(0.3 0.04 215 / 0.18);
}
.t-furi__brackets label:has(:focus-visible) { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 1px; }
.t-furi__brackets input:focus-visible { outline: none; }

@media (prefers-reduced-motion: no-preference) {
  .t-moji__bar span, .t-furi__bar span { animation: t-rhyme-pole 0.7s linear infinite; }
  .t-furi__bar span { transition: width 0.25s ease-out; }
  .t-furi__bar.is-indeterminate span { transition: none; }
}
@media (prefers-reduced-motion: reduce) {
  .t-moji__bar span, .t-furi__bar.is-indeterminate span { width: 50%; }
}

@media (max-width: 760px) {
  .t-fluid .t-moji, .t-fluid .t-furi { margin-top: 16px; }
  .t-fluid .t-moji__form, .t-fluid .t-furi__form { padding: 16px 14px 14px; }
  .t-fluid .t-moji__input, .t-fluid .t-furi__input { font-size: 16px; line-height: 1.7; }
  .t-fluid .t-moji__examples, .t-fluid .t-furi__examples { gap: 6px; }
  .t-fluid .t-moji__examples-head, .t-fluid .t-furi__examples-head { width: 100%; }
  .t-fluid .t-moji__ex, .t-fluid .t-furi__ex { height: 40px; padding: 0 12px; font-size: 12.5px; line-height: 38px; }
  .t-fluid .t-moji__action, .t-fluid .t-furi__action { gap: 8px; min-height: 44px; }
  .t-fluid .t-moji .t-moji__submit, .t-fluid .t-furi .t-furi__submit { flex: 1 1 auto; min-width: 0; height: 44px; font-size: 14px; }
  .t-fluid .t-moji .t-moji__clear, .t-fluid .t-furi .t-furi__clear { height: 44px; padding: 0 18px 0 14px; font-size: 13px; }
  .t-fluid .t-moji__progress, .t-fluid .t-furi__progress { grid-template-columns: minmax(0, 1fr); grid-template-areas: "bar" "status"; min-height: 44px; }
  .t-fluid .t-moji__bar, .t-fluid .t-furi__bar { width: 100%; }
  .t-fluid .t-moji__results:not(:empty), .t-fluid .t-furi__results { padding: 14px 14px 18px; }
  .t-fluid .t-moji__out { padding: 10px 12px; font-size: 15px; }
  .t-fluid .t-moji__buttons .t-btn, .t-fluid .t-furi__buttons .t-btn { height: 40px; padding: 0 16px 0 12px; font-size: 13px; }
  .t-fluid .t-moji__other { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "text" "button"; padding: 9px 2px 10px 4px; }
  .t-fluid .t-moji__other .t-btn { justify-self: start; height: 40px; margin-top: 6px; padding: 0 14px 0 10px; font-size: 12.5px; }
  .t-fluid .t-moji__list li { font-size: 13px; }
  .t-fluid .t-furi__opts { padding: 4px 10px 8px; }
  .t-fluid .t-furi__opt { padding: 0; }
  .t-fluid .t-furi__opt { font-size: 14px; }
  .t-fluid .t-furi__opt label { display: block; padding: 9px 0 9px 28px; line-height: 1.6; }
  .t-fluid .t-furi__opt input { left: 4px; top: 13px; width: 16px; height: 16px; }
  .t-fluid .t-furi__opt:has(.t-furi__select) input { top: 19px; }
  .t-fluid .t-furi__opt--once { padding-top: 4px; }
  .t-fluid .t-furi__opt--once input { top: 17px; }
  .t-fluid .t-furi__select { height: 34px; margin: 0 3px; padding: 0 2px 0 8px; font-size: 16px; vertical-align: middle; }
  .t-fluid .t-furi__hint { display: block; margin: -6px 0 6px 28px; }
  .t-fluid .t-furi__preview { padding: 12px 12px 4px; }
  .t-fluid .t-furi__code { font-size: 13px; }
  .t-fluid .t-furi__brackets label { min-height: 40px; padding: 4px 12px 4px 9px; font-size: 14px; }
}

.t-jikou [hidden] { display: none !important; }
.t-jikou { margin: 20px 0 0; }
.t-jikou button { font-family: var(--font-agency-ja); }
.t-jikou button:focus-visible, .t-jikou .t-btn:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-jikou__source { position: relative; margin: 0 0 6px; padding-left: 13px; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }
.t-jikou__source::before { content: ""; position: absolute; left: 1px; top: 7px; border: 3.5px solid transparent; border-left: 5px solid var(--kaki-500); border-right: 0; }

.t-jikou__form {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 4px; margin: 0; padding: 11px 16px;
  background: linear-gradient(var(--shironezumi-50), oklch(0.93 0.006 210));
  border: 1px solid var(--jimu-gray-300); border-radius: 3px 3px 0 0;
}
.t-jikou__label { margin-right: 8px; font-size: 13px; font-weight: bold; line-height: 1.35; color: var(--fukagawa-teal-800); }
.t-jikou__select, .t-jikou__pick {
  box-sizing: border-box; height: 26px; margin: 0; padding: 0 2px 0 6px; cursor: pointer;
  font: 13px var(--font-dates); color: var(--sumi);
  border: 1px solid oklch(0.74 0.008 210); border-radius: 2px;
  background: linear-gradient(#fff, oklch(0.95 0.004 210)); box-shadow: inset 0 1px 0 #fff;
}
.t-jikou__select:focus, .t-jikou__pick:focus { border-color: var(--fukagawa-teal-500); outline: 2px solid var(--fukagawa-teal-700); outline-offset: 0; box-shadow: 0 0 6px oklch(0.56 0.055 208 / 0.45); }
.t-jikou__unit { margin: 0 6px 0 1px; font-size: 12px; }
.t-jikou .t-jikou__today { margin-left: 4px; }
.t-jikou__private { position: relative; margin: 0 0 0 auto; padding-left: 17px; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }
.t-jikou__private::before {
  content: ""; position: absolute; left: 1px; top: 7px; width: 10px; height: 7px; border-radius: 1px;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700)); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3);
}
.t-jikou__private::after {
  content: ""; position: absolute; left: 3px; top: 2px; width: 4px; height: 5px;
  border: 1.5px solid var(--jimu-gray-500); border-bottom: 0; border-radius: 4px 4px 0 0;
}

.t-jikou__now {
  margin: -1px 0 0; padding: 18px 22px 20px; background: #fff;
  border: 1px solid var(--jimu-gray-300); border-radius: 0 0 3px 3px; box-shadow: 0 1px 2px oklch(0.4 0.02 210 / 0.08);
}
.t-jikou__nowhead { margin: 0 0 12px; font: 500 19px/1.4 var(--font-agency-heading); letter-spacing: 0.06em; color: var(--fukagawa-teal-800); }
.t-jikou__thanks { margin: -4px 0 12px; font: 500 12px/1.7 var(--font-agency-heading); letter-spacing: 0.06em; color: var(--fukagawa-teal-800); }
.t-jikou__thanks::before { content: ""; display: inline-block; width: 16px; height: 1px; margin-right: 8px; vertical-align: middle; background: var(--kusumi-gold-600); }

.t-jikou__sekki {
  position: relative; padding: 12px 16px 12px 19px; border: 1px solid var(--fukagawa-teal-300); border-radius: 2px;
  background: linear-gradient(100deg, var(--fukagawa-teal-100), oklch(0.985 0.005 205) 70%, #fff);
  box-shadow: inset 3px 0 0 var(--kusumi-gold-600), inset 0 1px 0 #fff;
}
.t-jikou__sekkihead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 0; }
.t-jikou__sekkilabel {
  align-self: center; padding: 0 6px; font-size: 10px; line-height: 17px; letter-spacing: 0.08em; white-space: nowrap; color: #fff;
  border-radius: 2px; background: linear-gradient(oklch(0.5 0.06 210), var(--fukagawa-teal-700));
}
.t-jikou__sekkiname { font: 500 27px/1.3 var(--font-agency-heading); letter-spacing: 0.12em; color: var(--fukagawa-teal-800); }
.t-jikou__sekkiyomi { margin-left: -8px; font-size: 12px; color: var(--sumi-sub); }
.t-jikou__sekkidates { margin-left: auto; font: 11px var(--font-agency-ja); letter-spacing: 0.02em; white-space: nowrap; color: var(--sumi-sub); }
.t-jikou__sekkitext { margin: 6px 0 0; font-size: 12.5px; line-height: 1.85; }

.t-jikou__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; margin: 16px 0 0; }
.t-jikou__col { min-width: 0; }
.t-jikou__h3 {
  position: relative; margin: 0 0 4px; padding: 0 0 4px 14px;
  font-size: 13px; font-weight: bold; line-height: 1.5; color: var(--fukagawa-teal-700); border-bottom: 1px dotted var(--jimu-gray-500);
}
.t-jikou__h3::before { content: ""; position: absolute; left: 0; top: 6px; width: 7px; height: 7px; background: var(--kusumi-gold-600); }
.t-jikou__h4 { position: relative; margin: 12px 0 4px; padding-left: 11px; font-size: 12px; font-weight: bold; line-height: 1.6; color: var(--sumi); }
.t-jikou__h4::before { content: ""; position: absolute; left: 1px; top: 6px; border: 3.5px solid transparent; border-left: 5px solid var(--kaki-500); border-right: 0; }
.t-jikou__h4 small { margin-left: 8px; font-size: 11px; font-weight: normal; color: var(--sumi-sub); }

.t-jikou__lines { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--jimu-gray-200); }
.t-jikou__line {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; align-items: start;
  padding: 7px 4px 8px 8px; border-bottom: 1px dotted var(--jimu-gray-300);
}
.t-jikou__line > * { grid-column: 1; min-width: 0; }
.t-jikou__line:hover { background: linear-gradient(90deg, var(--fukagawa-teal-100), #fff); }
.t-jikou__ja { font-size: 14px; line-height: 1.6; color: var(--sumi); overflow-wrap: anywhere; }
.t-jikou__yomi { font-size: 11px; line-height: 1.5; color: var(--sumi-sub); overflow-wrap: anywhere; }
.t-jikou__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin: 4px 0 0; }
.t-jikou__use { padding: 0 5px; font-size: 10px; line-height: 15px; white-space: nowrap; border: 1px solid; border-radius: 2px; }
.t-jikou__use--b { color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-300); background: var(--fukagawa-teal-100); }
.t-jikou__use--p { color: oklch(0.45 0.07 20); border-color: oklch(0.85 0.035 20); background: oklch(0.97 0.012 20); }
.t-jikou__use--bp { color: var(--kusumi-gold-700); border-color: var(--kusumi-gold-300); background: oklch(0.975 0.016 86); }
.t-jikou__when { font-size: 11px; line-height: 1.5; color: var(--sumi-sub); }
.t-jikou__en { margin: 3px 0 0; font: 11.5px/1.5 var(--font-agency-en); color: var(--sumi-sub); }
.t-jikou__copy {
  grid-column: 2; grid-row: 1 / span 4; align-self: center;
  display: inline-flex; align-items: center; gap: 5px; height: 24px; margin: 0; padding: 0 9px 0 8px; cursor: pointer;
  font-size: 11px; white-space: nowrap; color: var(--sumi); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.76 0.01 210); border-radius: 3px;
  background: linear-gradient(#fff, oklch(0.92 0.006 210)); box-shadow: inset 0 1px 0 #fff, 0 1px 1px oklch(0 0 0 / 0.06);
}
.t-jikou__copy::before {
  content: ""; flex: none; width: 6px; height: 7px; margin: 2px 2px 0 0; border: 1px solid var(--sumi-sub); background: #fff;
  box-shadow: 2px -2px 0 -1px #fff, 2px -2px 0 0 var(--sumi-sub);
}
.t-jikou__copy:hover { background: linear-gradient(#fff, oklch(0.95 0.004 210)); }
.t-jikou__copy:active { background: linear-gradient(oklch(0.9 0.006 210), #fff); box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.15); }
.t-jikou__copy.is-done, .t-jikou__buttons .t-btn.is-done { color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-300); background: var(--fukagawa-teal-100); box-shadow: none; }
.t-jikou__copy.is-done::before {
  width: 3px; height: 7px; margin: -2px 2px 0 1px; background: none; border: solid var(--fukagawa-teal-700); border-width: 0 2px 2px 0;
  box-shadow: none; transform: rotate(45deg);
}
.t-jikou__none { padding: 8px 4px 8px 8px; font-size: 12px; color: var(--sumi-sub); border-bottom: 1px dotted var(--jimu-gray-300); }

.t-jikou__h2 {
  position: relative; margin: 30px 0 10px; padding: 8px 12px 7px 26px;
  font-size: 15px; font-weight: bold; line-height: 1.5; color: var(--fukagawa-teal-800);
  background: linear-gradient(#fdfdfd, oklch(0.94 0.006 205));
  border: 1px solid var(--jimu-gray-300); border-radius: 2px;
}
.t-jikou__h2::before {
  content: ""; position: absolute; left: 10px; top: 50%; width: 8px; height: 8px; margin-top: -4px;
  background: var(--fukagawa-teal-700); box-shadow: 2px 2px 0 var(--kusumi-gold-300);
}
.t-jikou__hint { margin: 0 0 12px; font-size: 12px; line-height: 1.8; color: var(--sumi-sub); }

.t-jikou__opts { padding: 4px 16px; border: 1px solid var(--jimu-gray-300); border-radius: 3px; background: linear-gradient(#fff 55%, var(--shironezumi-50)); }
.t-jikou__opt { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; min-width: 0; padding: 8px 0; }
.t-jikou__opt + .t-jikou__opt { border-top: 1px dotted var(--jimu-gray-300); }
.t-jikou__optlabel { flex: 0 0 102px; font-size: 13px; font-weight: bold; line-height: 1.35; color: var(--fukagawa-teal-800); }
.t-jikou__opt > label:not(.t-jikou__optlabel) {
  display: inline-flex; align-items: center; gap: 5px; box-sizing: border-box; min-height: 30px; padding: 3px 9px 3px 6px; cursor: pointer;
  font-size: 13px; line-height: 1.3; color: var(--sumi); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.78 0.008 210); border-radius: 3px;
  background: linear-gradient(#fff, oklch(0.94 0.005 210)); box-shadow: inset 0 1px 0 #fff;
}
.t-jikou__opt > label small { font-size: 10px; color: var(--sumi-sub); }
.t-jikou__opt input { flex: none; margin: 0; accent-color: var(--fukagawa-teal-700); }
.t-jikou__opt > label:not(.t-jikou__optlabel):hover { border-color: var(--fukagawa-teal-300); background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-jikou__opt > label:has(:checked) {
  color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-500); background: var(--fukagawa-teal-100);
  box-shadow: inset 0 1px 2px oklch(0.3 0.04 215 / 0.18);
}
.t-jikou__opt > label:has(:focus-visible) { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 1px; }
.t-jikou__opt input:focus-visible { outline: none; }
.t-jikou__pick { flex: 1 1 0; min-width: 0; max-width: 100%; height: 30px; font-family: var(--font-agency-ja); }
.t-jikou__paper {
  box-sizing: border-box; margin: 14px 0 0; padding: 30px 40px 32px; color: var(--sumi);
  font: 500 14px/2 var(--font-agency-heading); letter-spacing: 0.03em;
  background: linear-gradient(135deg, #fffefb, oklch(0.985 0.006 85));
  border: 1px solid oklch(0.86 0.008 85); border-radius: 2px; box-shadow: 0 1px 3px oklch(0.35 0.02 85 / 0.14);
}
.t-jikou__pl { min-height: 2em; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.t-jikou__pl.is-right { text-align: right; }
.t-jikou__pl.is-center { text-align: center; }
.t-jikou__buttons { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }

.t-jikou__buttons a.t-btn { text-decoration: none; }
.t-jikou__tobinsen { margin-top: 6px; }

.t-jikou__tabs { display: flex; gap: 2px; margin: 0; padding: 0 0 0 4px; list-style: none; border-bottom: 1px solid var(--jimu-gray-300); }
.t-jikou__tabs li { flex: 1 1 0; min-width: 0; }
.tuturigachi .t-jikou__tabs a, .tuturigachi .t-jikou__tabs a:visited {
  position: relative; display: block; height: 28px; margin: 0 0 -1px; font-size: 12px; line-height: 28px; text-align: center;
  white-space: nowrap; color: var(--sumi-sub); text-decoration: none; text-shadow: 0 1px 0 #fff;
  border: 1px solid var(--jimu-gray-300); border-radius: 3px 3px 0 0;
  background: linear-gradient(#fff, oklch(0.92 0.006 210));
}
.tuturigachi .t-jikou__tabs a:hover { color: var(--fukagawa-teal-800); background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.tuturigachi .t-jikou__tabs a.is-current {
  z-index: 1; font-weight: bold; color: var(--fukagawa-teal-800);
  background: #fff; border-bottom-color: #fff; box-shadow: inset 0 2px 0 var(--fukagawa-teal-700);
}
.tuturigachi .t-jikou__tabs a:focus-visible { z-index: 2; outline: 2px solid var(--fukagawa-teal-700); outline-offset: -3px; }
.t-jikou__month { padding: 4px 18px 16px; background: #fff; border: 1px solid var(--jimu-gray-300); border-top: 0; border-radius: 0 0 3px 3px; }
.t-jikou__month:not([hidden]) ~ .t-jikou__month:not([hidden]) { margin-top: 12px; border-top: 1px solid var(--jimu-gray-300); border-radius: 3px; }
.t-jikou__monthhead { margin: 12px 0 2px; font: 500 18px/1.4 var(--font-agency-heading); letter-spacing: 0.08em; color: var(--fukagawa-teal-800); }
.t-jikou__oldname { margin-left: 2px; font: 12px var(--font-agency-ja); letter-spacing: 0; color: var(--sumi-sub); }
.t-jikou__month .t-jikou__line.is-now { background: linear-gradient(90deg, var(--araigaki-100), #fff 75%); box-shadow: inset 3px 0 0 var(--kaki-500); }
.t-jikou__more { margin: 12px 0 0; font-size: 12px; text-align: right; }

.t-jikou__mnav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; margin: 14px 0 0; padding: 8px 0; font-size: 12px; border-top: 1px dotted var(--jimu-gray-300); border-bottom: 1px dotted var(--jimu-gray-300); }
.t-jikou__mnav a[rel="prev"]::before { content: "« "; }
.t-jikou__mnav a[rel="next"]::after { content: " »"; }
.t-jikou__haya { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 13px; line-height: 1.6; }
.t-jikou__haya th, .t-jikou__haya td { padding: 7px 10px; border: 1px solid var(--jimu-gray-300); text-align: left; vertical-align: top; }
.t-jikou__haya thead th { font-weight: bold; color: var(--fukagawa-teal-800); background: var(--shironezumi-50); }
.t-jikou__haya thead small { display: block; font-size: 10.5px; font-weight: normal; color: var(--sumi-sub); }
.t-jikou__haya ul { margin: 0; padding: 0; list-style: none; }
.t-jikou__haya li { padding: 1px 0; overflow-wrap: anywhere; }
.t-jikou__haya li small { font-size: 10px; color: var(--sumi-sub); }
.t-jikou__mlist .t-jikou__h3 { margin-top: 14px; }
.t-jikou__h3 small { margin-left: 8px; font-size: 11px; font-weight: normal; color: var(--sumi-sub); }
.t-jikou__partof { padding: 0 5px; font-size: 10px; line-height: 15px; white-space: nowrap; color: var(--sumi); border: 1px solid var(--jimu-gray-300); border-radius: 2px; background: #fff; }
.t-jikou__mlist .t-jikou__line.is-now { background: linear-gradient(90deg, var(--araigaki-100), #fff 75%); box-shadow: inset 3px 0 0 var(--kaki-500); }
.t-jikou__examples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.t-jikou__examples > div { min-width: 0; }
.t-jikou__examples .t-jikou__paper { margin-top: 6px; padding: 20px 22px 22px; font-size: 13px; line-height: 1.9; }
.t-jikou__examples .t-jikou__pl { min-height: 0; }
.t-jikou__soumu { margin: 14px 0 0; font-size: 12px; line-height: 1.75; color: var(--ikeda-red); }
.t-jikou__pages { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; margin: 12px 0 16px; padding: 0; list-style: none; }
.tuturigachi .t-jikou__pages a, .tuturigachi .t-jikou__pages a:visited { display: block; padding: 6px 2px; font: 13px/1.4 var(--font-agency-ja); text-align: center; color: var(--fukagawa-teal-800); text-decoration: none; background: linear-gradient(#fff, oklch(0.97 0.004 210)); border: 1px solid var(--jimu-gray-300); border-radius: 3px; }
.tuturigachi .t-jikou__pages a:hover { border-color: var(--fukagawa-teal-300); background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-jikou__pages a small { display: block; font-size: 10px; color: var(--sumi-sub); }
.tuturigachi .t-jikou__pages a.is-current { font-weight: bold; background: #fff; border-color: var(--fukagawa-teal-500); box-shadow: inset 0 2px 0 var(--fukagawa-teal-700); }
@media (max-width: 640px) {
  .t-jikou__examples { grid-template-columns: minmax(0, 1fr); }
  .t-jikou__pages { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .t-jikou__haya th, .t-jikou__haya td { padding: 6px 5px; font-size: 12px; }
}

.t-jikou__table { width: 100%; border-collapse: collapse; font-size: 12px; line-height: 1.7; }
.t-jikou__table th, .t-jikou__table td { padding: 7px 10px; border: 1px solid var(--jimu-gray-300); text-align: left; vertical-align: top; }
.t-jikou__table thead th { padding: 5px 10px; font-weight: normal; white-space: nowrap; color: var(--fukagawa-teal-800); background: var(--shironezumi-50); }
.t-jikou__table tbody th { width: 96px; font-weight: normal; background: oklch(0.985 0.003 210); }
.t-jikou__sname { display: block; font-size: 13px; font-weight: bold; color: var(--fukagawa-teal-800); letter-spacing: 0.06em; }
.t-jikou__syomi { display: block; font-size: 10.5px; line-height: 1.5; color: var(--sumi-sub); }
.t-jikou__sen { display: block; font: 10px/1.5 var(--font-agency-en); color: var(--sumi-sub); }
.t-jikou__sdate { width: 64px; white-space: nowrap; font-size: 12px; }
.t-jikou__table td:last-child { width: 84px; white-space: nowrap; }
.t-jikou__table tr.is-current th, .t-jikou__table tr.is-current td { background: var(--araigaki-100); }
.t-jikou__table tr.is-current th { box-shadow: inset 3px 0 0 var(--kaki-500); }

@media (prefers-reduced-motion: no-preference) {
  .t-jikou__thanks { animation: f-fadein 0.9s ease-out both; }
}

.t-goro [hidden] { display: none !important; }
.t-goro { margin: 20px 0 0; }
.t-goro button { font-family: var(--font-agency-ja); }
.t-goro button:focus-visible, .t-goro .t-btn:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }

.t-goro__form {
  padding: 20px 22px 16px; background: linear-gradient(#fff 55%, var(--shironezumi-50));
  border: 1px solid var(--jimu-gray-300); border-radius: 3px 3px 0 0; box-shadow: 0 1px 2px oklch(0.4 0.02 210 / 0.08);
}
.t-goro__form:has(+ .t-goro__results:empty) { border-radius: 3px; }
.t-goro__row { display: grid; grid-template-columns: 80px minmax(0, 340px) auto; align-items: center; column-gap: 10px; }
.t-goro__label { font-size: 13px; font-weight: bold; line-height: 1.35; color: var(--fukagawa-teal-800); }
.t-goro__input {
  box-sizing: border-box; width: 100%; height: 32px; margin: 0; padding: 3px 8px;
  font: 15px var(--font-dates); letter-spacing: 0.06em; color: var(--sumi); background: #fff;
  border: 1px solid oklch(0.74 0.008 210); border-radius: 2px; box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.12);
}
.t-goro__input::placeholder { font: 13px var(--font-agency-ja); letter-spacing: 0; color: oklch(0.6 0.006 210); }
.t-goro__input:focus { border-color: var(--fukagawa-teal-500); outline: 2px solid var(--fukagawa-teal-700); outline-offset: 0; box-shadow: inset 1px 1px 2px oklch(0 0 0 / 0.1), 0 0 6px oklch(0.56 0.055 208 / 0.45); }
.t-goro .t-goro__submit { height: 32px; padding: 0 20px 0 16px; justify-content: center; font-size: 13px; font-weight: bold; letter-spacing: 0.08em; white-space: nowrap; }
.t-goro__hint { margin: 10px 0 0; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }
.t-goro__form .t-goro__hint { margin: 6px 0 0 90px; }
.t-goro__status { margin: 8px 0 0 90px; font-size: 12px; line-height: 1.7; color: var(--fukagawa-teal-800); }
.t-goro__status.is-error { color: var(--ikeda-red); }
.t-goro__private { position: relative; margin: 4px 0 0 90px; padding-left: 17px; font-size: 11px; line-height: 1.7; color: var(--sumi-sub); }
.t-goro__private::before {
  content: ""; position: absolute; left: 1px; top: 7px; width: 10px; height: 7px; border-radius: 1px;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700)); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3);
}
.t-goro__private::after {
  content: ""; position: absolute; left: 3px; top: 2px; width: 4px; height: 5px;
  border: 1.5px solid var(--jimu-gray-500); border-bottom: 0; border-radius: 4px 4px 0 0;
}
.t-goro__results:not(:empty) {
  padding: 16px 22px 20px; background: #fff;
  border: 1px solid var(--jimu-gray-300); border-top: 0; border-radius: 0 0 3px 3px;
  box-shadow: inset 0 1px 0 var(--jimu-gray-200), 0 1px 2px oklch(0.4 0.02 210 / 0.08);
}
.t-goro__summary { margin: 0 0 10px; font-size: 13px; line-height: 1.8; }
.t-goro__summary strong { font: bold 14px var(--font-dates); letter-spacing: 0.06em; color: var(--fukagawa-teal-800); }
.t-goro__sample { display: inline-block; margin-right: 8px; padding: 0 6px; font-size: 10px; line-height: 16px; vertical-align: 1px; color: var(--ci-shu); border: 1px solid currentColor; border-radius: 2px; }
.t-goro__thanks { margin: -2px 0 12px; font: 500 12px/1.7 var(--font-agency-heading); letter-spacing: 0.06em; color: var(--fukagawa-teal-800); }
.t-goro__thanks::before { content: ""; display: inline-block; width: 16px; height: 1px; margin-right: 8px; vertical-align: middle; background: var(--kusumi-gold-600); }

.t-goro__block + .t-goro__block { margin-top: 18px; }
.t-goro__blockhead {
  position: relative; margin: 0; padding: 0 0 4px 14px;
  font: bold 13px/1.5 var(--font-agency-ja); color: var(--fukagawa-teal-700); border-bottom: 1px dotted var(--jimu-gray-500);
}
.t-goro__blockhead::before { content: ""; position: absolute; left: 0; top: 6px; width: 7px; height: 7px; background: var(--kusumi-gold-600); }
.t-goro__blocknum { margin-left: 10px; font: normal 12px var(--font-dates); letter-spacing: 0.06em; color: var(--sumi-sub); }

.t-goro__list { margin: 0; padding: 0; list-style: none; counter-reset: goro; }
.t-goro__item {
  display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; column-gap: 8px;
  padding: 6px 4px 6px 2px; border-bottom: 1px dotted var(--jimu-gray-300); counter-increment: goro;
}
.t-goro__item::before { content: counter(goro); justify-self: center; font: bold 12px/1 var(--font-agency-accent); color: var(--kusumi-gold-700); }
.t-goro__item:first-child::before {
  width: 19px; height: 19px; border-radius: 50%; font-size: 11px; line-height: 19px; text-align: center; color: #fff;
  background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700)); box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.3);
}
.t-goro__item:hover { background: linear-gradient(90deg, var(--fukagawa-teal-100), #fff); }
.t-goro__map { display: flex; flex-wrap: wrap; align-items: stretch; gap: 4px; min-width: 0; }
.t-goro__seg {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: flex-start; box-sizing: border-box;
  min-width: 2.6em; padding: 3px 7px 4px; text-align: center; border: 1px solid; border-radius: 2px;
}
.t-goro__digits { font: bold 12px/1.3 var(--font-dates); letter-spacing: 0.1em; margin-right: -0.1em; }
.t-goro__kana { font-size: 10px; line-height: 1.4; color: var(--sumi-sub); white-space: nowrap; }
.t-goro__word { align-self: stretch; margin: 2px 0 0; padding: 2px 0 0; font-size: 15px; line-height: 1.35; border-top: 1px solid; white-space: nowrap; }
.t-goro__seg--word { border-color: var(--fukagawa-teal-300); background: linear-gradient(#fff, var(--fukagawa-teal-100)); box-shadow: inset 0 1px 0 #fff; }
.t-goro__seg--word .t-goro__digits { color: var(--fukagawa-teal-700); }
.t-goro__seg--word .t-goro__word { color: var(--fukagawa-teal-800); font-weight: bold; border-top-color: var(--fukagawa-teal-300); }
.t-goro__seg--particle, .t-goro__seg--digit { border-style: dashed; border-color: oklch(0.8 0.008 210); background: #fff; }
.t-goro__seg--digit { background: var(--shironezumi-50); }
.t-goro__seg--particle .t-goro__digits, .t-goro__seg--digit .t-goro__digits { color: var(--jimu-gray-500); }
.t-goro__seg--particle .t-goro__word, .t-goro__seg--digit .t-goro__word { font-size: 13px; color: var(--sumi-sub); border-top: 1px dotted var(--jimu-gray-300); }
.t-goro__copy {
  display: inline-flex; align-items: center; gap: 5px; height: 24px; margin: 0; padding: 0 9px 0 8px; cursor: pointer;
  font-size: 11px; white-space: nowrap; color: var(--sumi); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.76 0.01 210); border-radius: 3px;
  background: linear-gradient(#fff, oklch(0.92 0.006 210)); box-shadow: inset 0 1px 0 #fff, 0 1px 1px oklch(0 0 0 / 0.06);
}
.t-goro__copy::before {
  content: ""; flex: none; width: 6px; height: 7px; margin: 2px 2px 0 0; border: 1px solid var(--sumi-sub); background: #fff;
  box-shadow: 2px -2px 0 -1px #fff, 2px -2px 0 0 var(--sumi-sub);
}
.t-goro__copy:hover { background: linear-gradient(#fff, oklch(0.95 0.004 210)); }
.t-goro__copy:active { background: linear-gradient(oklch(0.9 0.006 210), #fff); box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.15); }
.t-goro__copy.is-done { color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-300); background: var(--fukagawa-teal-100); box-shadow: none; }
.t-goro__copy.is-done::before {
  width: 3px; height: 7px; margin: -2px 2px 0 1px; background: none; border: solid var(--fukagawa-teal-700); border-width: 0 2px 2px 0;
  box-shadow: none; transform: rotate(45deg);
}
.t-goro__none {
  position: relative; margin: 8px 0 0; padding: 10px 14px 10px 36px; font-size: 12px; line-height: 1.7;
  background: oklch(0.985 0.012 90); border: 1px solid var(--kusumi-gold-300); border-radius: 2px;
}
.t-goro__none::before {
  content: "!" / ""; position: absolute; left: 12px; top: 12px; width: 15px; height: 15px; border-radius: 50%;
  font: bold 11px/15px var(--font-agency-en); text-align: center; color: #fff;
  background: linear-gradient(var(--kusumi-gold-600), var(--kusumi-gold-700));
}

.t-goro__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.t-goro__chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 2px 8px 2px 3px; font-size: 12px; line-height: 1.5;
  border: 1px solid var(--jimu-gray-300); border-radius: 2px; background: linear-gradient(#fff, var(--shironezumi-50));
}
.t-goro__chipnum {
  padding: 0 5px; font: bold 10.5px/16px var(--font-dates); letter-spacing: 0.06em; color: #fff;
  border-radius: 2px; background: linear-gradient(oklch(0.5 0.06 210), var(--fukagawa-teal-700));
}
.t-goro__chipword { font-size: 13px; color: var(--sumi); }
.t-goro__chipkana { font-size: 10px; color: var(--sumi-sub); }

.t-goro__h2 {
  position: relative; margin: 30px 0 12px; padding: 8px 12px 7px 26px;
  font-size: 15px; font-weight: bold; line-height: 1.5; color: var(--fukagawa-teal-800);
  background: linear-gradient(#fdfdfd, oklch(0.94 0.006 205));
  border: 1px solid var(--jimu-gray-300); border-radius: 2px;
}
.t-goro__h2::before {
  content: ""; position: absolute; left: 10px; top: 50%; width: 8px; height: 8px; margin-top: -4px;
  background: var(--fukagawa-teal-700); box-shadow: 2px 2px 0 var(--kusumi-gold-300);
}

.t-goro__table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.t-goro__table th, .t-goro__table td { border: 1px solid var(--jimu-gray-300); text-align: center; }
.t-goro__table th { padding: 4px 0; font: bold 15px/1.4 var(--font-dates); color: var(--fukagawa-teal-800); background: linear-gradient(#fff, var(--shironezumi-50)); }
.t-goro__table td { padding: 6px 2px; font-size: 12px; line-height: 1.7; vertical-align: top; word-break: keep-all; }

.t-goro__classics { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--jimu-gray-200); }
.t-goro__classic {
  display: grid; grid-template-columns: 4.6em 7.5em minmax(0, 1fr) auto; align-items: center; column-gap: 12px;
  padding: 6px 4px 6px 6px; border-bottom: 1px dotted var(--jimu-gray-300);
}
.t-goro__classic:hover { background: linear-gradient(90deg, var(--fukagawa-teal-100), #fff); }
.t-goro__cnum { font: bold 14px/1.5 var(--font-dates); letter-spacing: 0.08em; color: var(--fukagawa-teal-800); }
.t-goro__cread { font-size: 14px; line-height: 1.5; color: var(--sumi); }
.t-goro__cnote { min-width: 0; font-size: 11.5px; line-height: 1.6; color: var(--sumi-sub); }
.t-goro__try {
  height: 22px; margin: 0; padding: 0 10px; cursor: pointer;
  font-size: 11px; line-height: 20px; white-space: nowrap; color: var(--link); text-shadow: 0 1px 0 #fff;
  border: 1px solid oklch(0.8 0.008 210); border-radius: 3px;
  background: linear-gradient(#fff, oklch(0.95 0.004 210)); box-shadow: inset 0 1px 0 #fff;
}
.t-goro__try:hover { color: var(--link-hover); border-color: var(--fukagawa-teal-300); background: linear-gradient(#fff, var(--fukagawa-teal-100)); }
.t-goro__try:active { background: linear-gradient(oklch(0.92 0.006 210), #fff); box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.12); }

.t-goro__house { margin: 24px 0 0; padding: 12px 16px 13px; border: 1px solid var(--jimu-gray-300); border-radius: 2px; background: linear-gradient(#fff, var(--shironezumi-50)); }
.t-goro__househead { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 6px; font-size: 13px; font-weight: bold; line-height: 1.5; color: var(--fukagawa-teal-800); }
.t-goro__househead .t-goro__cnum { font-size: 15px; }
.t-goro__housenote { margin: 0; font-size: 12px; line-height: 1.75; color: var(--ikeda-red); }

@media (prefers-reduced-motion: no-preference) {
  .t-goro__thanks { animation: f-fadein 0.9s ease-out both; }
}

@media (max-width: 760px) {
  .t-fluid .t-jikou { margin-top: 16px; }
  .t-fluid .t-jikou__form { padding: 12px 14px; gap: 6px 2px; }
  .t-fluid .t-jikou__label { width: 100%; margin: 0; }
  .t-fluid .t-jikou__select { height: 40px; padding: 0 2px 0 8px; font-size: 16px; }
  .t-fluid .t-jikou__unit { margin: 0 3px 0 1px; font-size: 13px; }
  .t-fluid .t-jikou .t-jikou__today { height: 40px; margin-left: auto; padding: 0 12px 0 9px; font-size: 13px; }
  .t-fluid .t-jikou__private { width: 100%; margin: 4px 0 0; }
  .t-fluid .t-jikou__now { padding: 14px 14px 16px; }
  .t-fluid .t-jikou__nowhead { font-size: 17px; }
  .t-fluid .t-jikou__sekki { padding: 10px 12px 11px 15px; }
  .t-fluid .t-jikou__sekkiname { font-size: 24px; }
  .t-fluid .t-jikou__sekkidates { width: 100%; margin-left: 0; }
  .t-fluid .t-jikou__cols { grid-template-columns: minmax(0, 1fr); }
  .t-fluid .t-jikou__col + .t-jikou__col { margin-top: 18px; }
  .t-fluid .t-jikou__line { padding: 8px 2px 9px 6px; }
  .t-fluid .t-jikou__ja { font-size: 15px; }
  .t-fluid .t-jikou__yomi { font-size: 12px; }
  .t-fluid .t-jikou__en { font-size: 12px; }
  .t-fluid .t-jikou__copy { height: 40px; padding: 0 12px 0 10px; font-size: 12px; }
  .t-fluid .t-jikou__opts { padding: 2px 12px; }
  .t-fluid .t-jikou__opt { padding: 10px 0; gap: 6px; }
  .t-fluid .t-jikou__optlabel { flex-basis: 100%; }
  .t-fluid .t-jikou__opt > label:not(.t-jikou__optlabel) { flex: 1 1 auto; min-height: 44px; justify-content: center; font-size: 14px; }
  .t-fluid .t-jikou__pick { flex-basis: 100%; height: 44px; font-size: 16px; }
  .t-fluid .t-jikou__paper { padding: 18px 16px 20px; font-size: 13.5px; line-height: 1.95; letter-spacing: 0; }
  .t-fluid .t-jikou__buttons .t-btn { width: 100%; height: 44px; justify-content: center; font-size: 13px; }
  .t-fluid .t-jikou__tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; padding: 0 0 10px; border-bottom: 0; }
  .tuturigachi.t-fluid .t-jikou__tabs a, .tuturigachi.t-fluid .t-jikou__tabs a:visited { height: 40px; margin: 0; font-size: 13px; line-height: 38px; border-radius: 3px; }
  .tuturigachi.t-fluid .t-jikou__tabs a.is-current { color: #fff; text-shadow: 0 -1px 0 oklch(0.2 0.03 215 / 0.5); border-color: var(--fukagawa-teal-800); background: linear-gradient(var(--fukagawa-teal-500), var(--fukagawa-teal-700)); box-shadow: inset 0 1px 2px oklch(0.2 0.03 215 / 0.45); }
  .t-fluid .t-jikou__month { padding: 2px 12px 12px; border-top: 1px solid var(--jimu-gray-300); border-radius: 3px; }
  .t-fluid .t-jikou__table, .t-fluid .t-jikou__table tbody { display: block; }
  .t-fluid .t-jikou__table thead { display: none; }
  .t-fluid .t-jikou__table tbody { border-top: 1px solid var(--jimu-gray-300); }
  .t-fluid .t-jikou__table tr {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name date" "name phrase" "text text";
    column-gap: 10px; padding: 8px 6px 9px 8px; border-bottom: 1px dotted var(--jimu-gray-300);
  }
  .t-fluid .t-jikou__table th, .t-fluid .t-jikou__table td { width: auto; padding: 0; border: 0; background: none; }
  .t-fluid .t-jikou__table tbody th { grid-area: name; }
  .t-fluid .t-jikou__sname { display: inline; margin-right: 6px; font-size: 14px; }
  .t-fluid .t-jikou__syomi { display: inline; font-size: 11px; }
  .t-fluid .t-jikou__sdate { grid-area: date; text-align: right; font-size: 12px; color: var(--fukagawa-teal-800); }
  .t-fluid .t-jikou__table td:nth-child(3) { grid-area: text; margin-top: 4px; font-size: 12.5px; line-height: 1.75; }
  .t-fluid .t-jikou__table td:last-child { grid-area: phrase; text-align: right; font-size: 11px; color: var(--sumi-sub); }
  .t-fluid .t-jikou__table tr.is-current { background: var(--araigaki-100); box-shadow: inset 3px 0 0 var(--kaki-500); }
  .t-fluid .t-jikou__table tr.is-current th, .t-fluid .t-jikou__table tr.is-current td { background: none; box-shadow: none; }

  .t-fluid .t-goro { margin-top: 16px; }
  .t-fluid .t-goro__form { padding: 16px 14px 14px; }
  .t-fluid .t-goro__row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .t-fluid .t-goro__input { height: 44px; font-size: 16px; }
  .t-fluid .t-goro__input::placeholder { font-size: 14px; }
  .t-fluid .t-goro .t-goro__submit { width: 100%; height: 44px; margin-top: 6px; font-size: 14px; }
  .t-fluid .t-goro__form .t-goro__hint, .t-fluid .t-goro__status, .t-fluid .t-goro__private { margin-left: 0; }
  .t-fluid .t-goro__results:not(:empty) { padding: 14px 14px 18px; }
  .t-fluid .t-goro__item { grid-template-columns: 18px minmax(0, 1fr) auto; padding: 8px 0 8px 0; }
  .t-fluid .t-goro__copy { height: 40px; padding: 0 12px 0 10px; font-size: 12px; }
  .t-fluid .t-goro__seg { padding: 3px 6px 4px; }
  .t-fluid .t-goro__word { font-size: 16px; }
  .t-fluid .t-goro__chip { padding: 4px 9px 4px 4px; }
  .t-fluid .t-goro__table td { padding: 5px 0; font-size: 10.5px; letter-spacing: -0.04em; line-height: 1.6; }
  .t-fluid .t-goro__table th { font-size: 14px; }
  .t-fluid .t-goro__classic { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "num read try" "note note try"; column-gap: 10px; padding: 8px 2px 9px 4px; }
  .t-fluid .t-goro__classic .t-goro__cnum { grid-area: num; }
  .t-fluid .t-goro__cread { grid-area: read; }
  .t-fluid .t-goro__cnote { grid-area: note; font-size: 12px; }
  .t-fluid .t-goro__classic .t-goro__try { grid-area: try; }
  .t-fluid .t-goro__try { height: 40px; padding: 0 14px; font-size: 13px; line-height: 38px; }
  .t-fluid .t-goro__house { padding: 12px 12px 13px; }
}

@media (max-width: 760px) {
  .t-fluid .t-harigami__form { grid-template-columns: minmax(0, 1fr); row-gap: 18px; padding: 16px 14px 14px; }
  .t-fluid .t-harigami__preview { position: static; }
  .t-fluid .t-harigami__sheet, .t-fluid .t-binsen__sheet { width: 100%; max-width: 360px; margin: 0 auto; }
  .t-fluid textarea.t-harigami__area { height: auto; font-size: 16px; }
  .t-fluid .t-harigami__rl { width: 100%; }
  .t-fluid .t-harigami__pair input[type="time"] { flex: 1; width: auto; min-width: 0; }
  .t-fluid .t-harigami__check { font-size: 13px; }
  .t-fluid .t-harigami__reset .t-btn, .t-fluid .t-binsen__pages .t-btn { height: 40px; padding: 0 14px; font-size: 13px; }
}

.t-fax .t-btn:disabled, .t-fax .t-fax__send {
  cursor: default; color: oklch(0.64 0.006 210); text-shadow: none; border-color: oklch(0.82 0.006 210);
  background: var(--shironezumi-50); box-shadow: none;
}
.t-fax .t-btn:disabled::before, .t-fax .t-fax__send::before { border-left-color: oklch(0.8 0.006 210); }
.t-fax .t-fax__send:active { background: var(--shironezumi-50); box-shadow: none; }
.t-fax .t-btn:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-fax__ended { margin: 10px 0 0; font-size: 12px; line-height: 1.7; }
.t-fax__era { min-height: 0; }
input.t-fax__pages { width: 4.5em; text-align: center; }
.t-fax__checks { display: flex; flex-direction: column; gap: 4px; }
.t-fax__sub { margin-top: 6px; font-size: 11.5px; color: var(--sumi-sub); }
.t-fax__drop {
  position: relative; display: block; padding: 18px 14px; text-align: center; font-size: 12.5px; line-height: 1.6; color: var(--sumi-sub);
  border: 2px dashed oklch(0.78 0.01 210); border-radius: 4px; background: linear-gradient(#fff, var(--shironezumi-50)); cursor: pointer;
}
.t-fax__choose { color: var(--fukagawa-teal-700); text-decoration: underline; }
.t-fax__file { position: absolute; left: 50%; bottom: 8px; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; overflow: hidden; }
.t-fax__drop:has(.t-fax__file:focus-visible) { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-faxstyle.is-dragging .t-fax__drop { color: var(--fukagawa-teal-800); border-color: var(--fukagawa-teal-500); background: var(--fukagawa-teal-100); }
.t-fax__sheet { background: #fff; }
.t-fax__canvas { display: block; width: 100%; height: auto; aspect-ratio: 210 / 297; }
.t-fax__sheet.is-zoom { max-height: 70vh; overflow: auto; }
.t-fax__sheet.is-zoom .t-fax__canvas { width: auto; max-width: none; image-rendering: pixelated; }
.t-fax__zoom { margin: 8px 0 0; font-size: 12px; }

@media (max-width: 760px) {
  .t-fluid .t-fax__sheet { width: 100%; max-width: 360px; margin: 0 auto; }
  .t-fluid input.t-fax__pages { width: 5em; }
  .t-fluid .t-fax__drop { padding: 22px 14px; font-size: 13px; }
  .t-fluid .t-fax__checks { gap: 8px; }
}

.t-intro .t-harigami__form { grid-template-columns: minmax(0, 1fr); row-gap: 18px; }
.t-intro__preview { min-width: 0; }
.t-intro__stage { background: #000; border: 1px solid oklch(0.3 0.01 210); box-shadow: 0 1px 3px oklch(0.2 0.02 210 / 0.3), 0 0 0 4px oklch(0.96 0.004 210); }
.t-intro__canvas { display: block; width: 100%; height: auto; aspect-ratio: 760 / 420; }
.t-intro .t-inkan__buttons { flex-direction: row; flex-wrap: wrap; }
.t-intro .t-inkan__buttons .t-btn { flex: 1 1 180px; }
.t-intro__sound { margin: 10px 0 0; }
.t-intro__result { margin: 16px 0 0; padding: 12px 14px; background: #fff; border: 1px dashed var(--jimu-gray-300); }
.t-intro__result .t-inkan__label { display: block; margin: 0 0 6px; }
input.t-intro__link { width: 100%; box-sizing: border-box; font-family: var(--font-dates); font-size: 12px; }
.t-intro .t-btn:disabled { color: oklch(0.6 0.006 210); cursor: default; background: var(--shironezumi-50); box-shadow: none; }
.t-intro .t-btn:disabled::before { border-left-color: oklch(0.8 0.006 210); }
.t-intro .t-btn:focus-visible, .t-intro__link:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }
.t-intro__list { margin: 0; padding: 0 0 0 1.4em; font-size: 12.5px; line-height: 1.8; }
.t-intro__list li + li { margin-top: 2px; }
.t-intro__rules { margin-top: 16px; }

@media (max-width: 760px) {
  .t-fluid .t-intro .t-inkan__buttons .t-btn { height: 40px; font-size: 13px; }
  .t-fluid input.t-intro__link { font-size: 16px; }
}

.t-tekisei {
  margin: 18px 0 0; border: 1px solid var(--jimu-gray-300); border-radius: 3px; background: #fff;
  box-shadow: 0 1px 2px oklch(0.4 0.02 210 / 0.08);
}
.t-tekisei [hidden] { display: none !important; }
.t-tekisei__intro, .t-tekisei__form, .t-tekisei__result, .t-tekisei__wait {
  padding: 22px 26px 20px; border-radius: 3px; background: linear-gradient(#fff 55%, var(--shironezumi-50));
}
.t-tekisei__intro p { margin: 0 0 8px; font-size: 13px; line-height: 1.9; }
.t-tekisei__intro .t-tekisei__lead {
  margin: 0 0 14px; padding: 0 0 10px; font: 500 17px/1.6 var(--font-agency-heading); letter-spacing: 0.04em;
  color: var(--fukagawa-teal-800); border-bottom: 1px solid var(--jimu-gray-200);
}
.t-tekisei__intro .t-tekisei__noscript { color: var(--sumi-sub); }
.t-tekisei__intro .t-tekisei__start { margin: 18px 0 10px; }
.t-tekisei .t-tekisei__go, .t-tekisei .t-tekisei__next {
  height: 34px; min-width: 170px; padding: 0 24px 0 20px; justify-content: center; font-size: 13px; font-weight: bold; letter-spacing: 0.08em;
}
.t-tekisei .t-btn:disabled {
  cursor: default; color: oklch(0.64 0.006 210); text-shadow: none; border-color: oklch(0.82 0.006 210);
  background: var(--shironezumi-50); box-shadow: none;
}
.t-tekisei .t-btn:disabled::before { border-left-color: oklch(0.8 0.006 210); }
.t-tekisei .t-btn:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 2px; }

.t-tekisei__progress { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; }
.t-tekisei__count { flex: none; font-size: 11px; font-weight: bold; color: var(--fukagawa-teal-800); }
.t-tekisei__bar {
  flex: 1; height: 14px; padding: 1px; box-sizing: border-box; overflow: hidden;
  border: 1px solid oklch(0.7 0.012 210); border-radius: 3px;
  background: linear-gradient(oklch(0.89 0.006 210), #fff);
  box-shadow: inset 0 1px 2px oklch(0 0 0 / 0.14);
}
.t-tekisei__fill {
  display: block; width: 0; height: 100%; max-width: 100%; border-radius: 2px;
  background:
    repeating-linear-gradient(-45deg, oklch(1 0 0 / 0.13) 0 5px, oklch(1 0 0 / 0) 5px 10px),
    linear-gradient(oklch(0.64 0.05 206), var(--fukagawa-teal-700) 55%, var(--fukagawa-teal-800));
  box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.35), inset 0 -1px 0 oklch(0 0 0 / 0.12);
}
@media (prefers-reduced-motion: no-preference) { .t-tekisei__fill { transition: width 0.25s linear; } }
.t-tekisei__pct { flex: none; width: 3em; text-align: right; font: 11px var(--font-dates); color: var(--sumi-sub); }

.t-tekisei__q { margin: 0; padding: 0; border: 0; min-width: 0; }
.t-tekisei__legend {
  display: block; width: 100%; margin: 0 0 14px; padding: 0; float: left;
  font: 500 16px/1.7 var(--font-agency-heading); letter-spacing: 0.02em; color: var(--sumi);
}
.t-tekisei__legend:focus { outline: none; }
.t-tekisei__legend:focus-visible { outline: 2px solid var(--fukagawa-teal-700); outline-offset: 3px; }
.t-tekisei__no { display: block; margin: 0 0 4px; font: bold 12px var(--font-dates); letter-spacing: 0.06em; color: var(--kusumi-gold-700); }
.t-tekisei__of { font-weight: normal; color: var(--sumi-sub); }
.t-tekisei__options { clear: both; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--jimu-gray-200); }
.t-tekisei__options li { border-bottom: 1px solid var(--jimu-gray-200); }
.t-tekisei__option {
  display: flex; align-items: flex-start; gap: 10px; min-height: 44px; box-sizing: border-box; padding: 11px 12px 10px;
  font-size: 13.5px; line-height: 1.6; cursor: pointer;
}
.t-tekisei__option:hover { background: var(--fukagawa-teal-100); }
.t-tekisei__option input { flex: none; margin: 3px 0 0; width: 15px; height: 15px; accent-color: var(--fukagawa-teal-700); }
.t-tekisei__option:has(:checked) { background: linear-gradient(oklch(0.96 0.014 205), var(--fukagawa-teal-100)); color: var(--fukagawa-teal-900); font-weight: bold; }
.t-tekisei__option:has(:focus-visible) { outline: 2px solid var(--fukagawa-teal-700); outline-offset: -2px; }
.t-tekisei__nav { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 20px 0 0; }
.t-tekisei__prev { height: 34px; }

.t-tekisei__wait { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 160px; font-size: 13px; color: var(--sumi-sub); }

.t-tekisei__h2 {
  margin: 0 0 12px; padding: 0 0 6px; font: 500 18px/1.4 var(--font-agency-heading); letter-spacing: 0.06em;
  color: var(--fukagawa-teal-800); border-bottom: 2px solid var(--fukagawa-teal-700);
}
.t-tekisei__h2:focus { outline: none; }
.t-tekisei__shared { margin: 0 0 12px; font-size: 12px; color: var(--sumi-sub); }
.t-tekisei__sheet {
  box-sizing: border-box; max-width: 560px; margin: 0 auto; background: #fff;
  border: 1px solid oklch(0.86 0.008 85); box-shadow: 0 1px 3px oklch(0.35 0.02 85 / 0.18), 0 0 0 4px oklch(0.96 0.004 210);
}
.t-tekisei__canvas { display: block; width: 100%; height: auto; aspect-ratio: 210 / 297; }

.t-tekisei__text { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.t-tekisei__text dt { margin: 12px 0 2px; font-size: 11px; font-weight: bold; color: var(--fukagawa-teal-800); }
.t-tekisei__text dd { margin: 0; font-size: 14px; line-height: 1.8; }

.t-tekisei__text .t-tekisei__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.t-tekisei__buttons { flex-direction: row; flex-wrap: wrap; justify-content: center; margin: 18px 0 0; }
.t-tekisei__buttons .t-btn { min-width: 150px; height: 34px; }
.t-tekisei__status { margin: 10px 0 0; text-align: center; font-size: 12px; color: var(--sumi-sub); }
.t-tekisei__linkbox { max-width: 440px; margin: 8px auto 0; }
.t-tekisei__linkbox input { width: 100%; box-sizing: border-box; font: 12px var(--font-dates); }
.t-tekisei__thanks { margin: 18px 0 0; text-align: center; font-size: 13px; color: var(--sumi); }

.t-tekisei-door { margin: 14px 0 0; }

@media (max-width: 760px) {
  .t-fluid .t-tekisei__intro, .t-fluid .t-tekisei__form, .t-fluid .t-tekisei__result { padding: 18px 14px 16px; }
  .t-fluid .t-tekisei__legend { font-size: 17px; }
  .t-fluid .t-tekisei__option { font-size: 15px; padding: 12px 8px; }
  .t-fluid .t-tekisei__option input { width: 18px; height: 18px; margin-top: 3px; }
  .t-fluid .t-tekisei .t-tekisei__go, .t-fluid .t-tekisei .t-tekisei__next, .t-fluid .t-tekisei__prev { height: 44px; }
  .t-fluid .t-tekisei .t-tekisei__next { flex: 1; min-width: 0; }
  .t-fluid .t-tekisei__text {
    position: static; width: auto; height: auto; margin: 16px 0 0; overflow: visible; clip-path: none; white-space: normal;
    padding: 4px 12px 14px; background: #fff; border: 1px solid var(--jimu-gray-200); border-radius: 3px;
  }
  .t-fluid .t-tekisei__buttons { flex-direction: column; }
  .t-fluid .t-tekisei__buttons .t-btn { height: 44px; font-size: 14px; }
}
