@charset "UTF-8";

/*!
 * PukiWiki - Yet another WikiWikiWeb clone.
 * Copyright
 *   2002-2020 PukiWiki Development Team
 *   2001-2002 Originally written by yu-ji
 * License: GPL v2 or (at your option) any later version
 *
 * Default CSS
 */

:root {
  --page-bg:#ecf4f7;
  --paper-bg:#fffdf8;
  --paper-border:rgba(31,45,61,.12);
  --text-main:#243040;
  --text-muted:#647184;
  --link:#0f6fae;
  --link-visited:#7a4d93;
  --link-hover-bg:#eaf7fb;
  --accent:#0f7f92;
  --accent-dark:#17324f;
  --accent-warm:#f39b58;
  --accent-soft:#e9f7f7;
  --accent-faint:#f7fbf9;
  --line:#dce7ea;
  --table-head:#e9f3f4;
  --table-cell:#fffefa;
  --code-bg:#f4faf8;
  --paper-shadow:0 30px 90px rgba(23,50,79,.16);
  --soft-shadow:0 12px 32px rgba(23,50,79,.10);
}

pre, dl, ol, p, blockquote {
  line-height:1.7;
}
blockquote {
  margin:1em 0 1em 1.2em;
  padding:.2em 0 .2em 1em;
  border-left:4px solid var(--line);
  color:var(--text-muted);
}
body,td {
  color:var(--text-main);
  background-color:var(--paper-bg);
  margin-left:2%;
  margin-right:2%;
  font-size:94%;
  font-family:"BIZ UDPGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, "Segoe UI", sans-serif;
}
textarea {
  box-sizing:border-box;
  max-width:99.5%;
}

input[type="text"],
input[type="password"],
input[type="email"],
textarea,
select {
  border:1px solid #cfd8e3;
  border-radius:8px;
  padding:.45em .6em;
  background:#ffffff;
  color:var(--text-main);
  box-shadow:inset 0 1px 2px rgba(31,42,55,.05);
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
  border-color:var(--accent);
  outline:3px solid rgba(123,91,179,.16);
}

input[type="submit"],
input[type="button"],
button {
  border:1px solid rgba(15,127,146,.28);
  border-radius:999px;
  padding:.45em 1.05em;
  background:linear-gradient(135deg, var(--accent) 0%, #1f5c7a 100%);
  color:#ffffff;
  cursor:pointer;
  font-weight:bold;
  box-shadow:0 8px 22px rgba(15,127,146,.22);
}

input[type="submit"]:hover,
input[type="button"]:hover,
button:hover {
  background:linear-gradient(135deg, #13a0aa 0%, var(--accent-dark) 100%);
}

body {
  margin:0;
  min-height:100vh;
  padding:22px 26px 30px;
  background:
    radial-gradient(circle at 12% 0%, rgba(243,155,88,.26), transparent 30em),
    radial-gradient(circle at 92% 6%, rgba(15,127,146,.22), transparent 34em),
    linear-gradient(145deg, #f9f6ee 0%, var(--page-bg) 54%, #e7eef7 100%) !important;
}

body > div:first-of-type {
  text-align:center;
}

body > div:first-of-type > div:first-of-type {
  box-sizing:border-box;
  width:100% !important;
  max-width:940px;
  margin:0 auto 28px;
  background:linear-gradient(180deg, rgba(255,253,248,.98) 0%, rgba(255,255,255,.96) 100%) !important;
  text-align:left;
  border:1px solid var(--paper-border) !important;
  border-radius:28px;
  box-shadow:var(--paper-shadow);
  overflow:hidden;
  backdrop-filter:blur(12px);
}

a:link {
  color:var(--link);
  background-color:inherit;
  text-decoration:none;
}
a:active {
  color:var(--link);
  background-color:var(--link-hover-bg);
  text-decoration:none;
}
a:visited {
  color:var(--link-visited);
  background-color:inherit;
  text-decoration:none;
}
a:hover {
  color:#0f4f9a;
  background-color:var(--link-hover-bg);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
a.external-link:not(.external-link-silent)::after {
  content:url(../image/external-link.png);
  margin:3px;
}

h1, h2 {
  font-family:"Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, "Segoe UI", sans-serif;
  color:var(--accent-dark);
  /*background-color:#DDEEFF;*/
  /*padding:.3em;*/
  background:
    linear-gradient(90deg, rgba(15,127,146,.12) 0%, rgba(243,155,88,.10) 55%, rgba(255,255,255,0) 100%);
  padding:.62em .8em .55em .85em;
  border:0;
  border-left:7px solid var(--accent);
  border-bottom:1px solid rgba(15,127,146,.16);
  border-radius:16px;
  line-height:1.35;
  margin:.2em 0 .75em 0;
}

div#body h1 {
  font-size:150%;
  margin-top:.4em;
}

div#body h2 {
  font-size:130%;
  position:relative;
  margin:1.55em 0 .9em;
  padding:.72em 1em .68em 1.15em;
  border-left:0;
  border-bottom:1px solid rgba(15,127,146,.18);
  border-radius:18px 18px 18px 8px;
  background:
    linear-gradient(135deg, rgba(15,127,146,.12) 0%, rgba(255,255,255,.94) 62%, rgba(243,155,88,.11) 100%);
  box-shadow:0 10px 24px rgba(38,84,90,.07);
}
div#body h2::before {
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  bottom:.7em;
  width:5px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--accent), var(--accent-warm));
}
div#body h2::after {
  content:"";
  position:absolute;
  left:1.15em;
  bottom:.42em;
  width:3.4em;
  height:2px;
  border-radius:999px;
  background:rgba(243,155,88,.54);
}
h3 {
  font-family:"Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, "Segoe UI", sans-serif;
  position:relative;
  border:0;
  border-left:4px solid rgba(15,127,146,.72);
  border-bottom:1px solid rgba(31,45,61,.10);
  color:#274f58;
  background-color:transparent;
  padding:.36em 0 .55em .78em;
  margin:1.25em 0 .65em 0;
  letter-spacing:.01em;
}
h3::before {
  content:"";
  position:absolute;
  left:.78em;
  right:auto;
  bottom:-1px;
  width:4em;
  height:2px;
  border-radius:999px;
  background:var(--accent-warm);
  box-shadow:none;
}
h4 {
  font-family:"Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, "Segoe UI", sans-serif;
  display:block;
  border:1px solid rgba(243,155,88,.28);
  border-left:5px solid var(--accent-warm);
  color:#4d4438;
  background:linear-gradient(90deg, #fff7e8 0%, #fffef8 100%);
  padding:.44em .8em .42em;
  margin:1em 0 .55em 0;
  border-radius:10px 14px 14px 10px;
}
h5, h6 {
  font-family:"Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, "Segoe UI", sans-serif;
  color:#3f4754;
  background-color:#f1f5f9;
  padding:.35em .55em;
  border:0;
  border-radius:6px;
  margin:0 0 .5em 0;
}
h1.title {
  font-size:24px;/*font-size:30px;*/
  font-weight:bold;
  background:transparent;
  padding:0;
  border:0;
  margin:0;
  letter-spacing:.04em;
  flex-shrink:0;
}

h1.title a {
  display:inline-flex;
  align-items:center;
  gap:12px;
  position:relative;
  padding:6px 10px 6px 6px;
  border-radius:18px;
  color:var(--accent-dark);
  text-decoration:none;
  white-space:nowrap;
  background:linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,0) 100%);
}

h1.title a::after {
  content:"";
  position:absolute;
  left:56px;
  right:12px;
  bottom:5px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(15,127,146,.45), rgba(243,155,88,.42), rgba(243,155,88,0));
}

h1.title a:hover {
  background:linear-gradient(90deg, rgba(232,247,248,.92) 0%, rgba(255,255,255,0) 100%);
  color:var(--accent);
  text-decoration:none;
}

h1.title img {
  box-sizing:border-box;
  width:38px;
  height:38px;
  padding:6px;
  border:1px solid rgba(15,127,146,.16);
  border-radius:14px;
  background:#ffffff;
  box-shadow:0 8px 20px rgba(23,50,79,.12);
}

h1.title a {
  color:var(--accent-dark);
  text-shadow:0 1px 0 rgba(255,255,255,.95), 0 2px 8px rgba(23,50,79,.12);
}

.header-title-row {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:12px;
  width:100%;
  padding:22px 0 8px;
  border-bottom:0;
  margin-bottom:4px;
}

.header-menu {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  width:100%;
  margin-left:44px;
  padding-top:0;
  text-align:left;
  white-space:normal;
}

.header-menu a {
  display:inline-block;
  padding:8px 14px;
  border:1px solid rgba(15,127,146,.20);
  border-radius:999px;
  background:#f4fbfa;
  color:var(--accent-dark);
  font-size:98%;
  font-weight:bold;
  box-shadow:none;
}

.header-menu a:hover {
  background:var(--accent);
  border-color:var(--accent);
  color:#ffffff;
  text-decoration:none;
}

.header-menu a + a {
  margin-left:0;
}

#topicpath {
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.32em;
  max-width:100%;
  box-sizing:border-box;
  margin:0 0 2px 44px;
  padding:5px 9px;
  border:1px solid rgba(15,127,146,.14);
  border-radius:999px;
  background:linear-gradient(90deg, rgba(15,127,146,.07) 0%, rgba(255,253,248,.8) 100%);
  color:var(--text-muted);
  font-size:.86rem;
  line-height:1.45;
}

#topicpath a {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:1px 7px;
  color:var(--accent-dark);
  background:rgba(255,255,255,.62);
  text-decoration:none;
}

#topicpath a:hover {
  color:#ffffff;
  background:var(--accent);
}

div#div_pad_header > span.small,
div#div_pad_header > div.small {
  display:block;
  clear:both;
  margin-top:2px;
}

div#div_pad_header > #topicpath.small {
  display:inline-flex;
}

dt {
  font-weight:bold;
  margin-top:1em;
  margin-left:1em;
}

pre {
  border:1px solid rgba(15,127,146,.18);
  border-left:4px solid var(--accent);
  border-radius:16px;
  padding:.9em 1.05em;
  margin:1em 0 1.2em 0;
  white-space:pre-wrap;
  word-wrap:break-word;
  color:#1f2937;
  background-color:var(--code-bg);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 4px 14px rgba(31,42,55,.04);
}

img {
  border:none;
  vertical-align:middle;
}

div#body img {
  border-radius:6px;
}

ul {
  margin-top:.5em;
  margin-bottom:.5em;
  line-height:130%;
}

em {
  font-style:italic;
}

strong {
  font-weight:bold;
}

thead td.style_td,
tfoot td.style_td {
  color:inherit;
  background-color:var(--table-head);
}
thead th.style_th,
tfoot th.style_th {
  color:inherit;
  background-color:var(--table-head);
}
.style_table {
  padding:0;
  border:1px solid rgba(31,45,61,.14);
  border-collapse:separate;
  border-spacing:1px;
  border-radius:16px;
  margin:1.1em auto;
  text-align:left;
  color:inherit;
  background-color:rgba(31,45,61,.14);
  overflow:hidden;
  box-shadow:var(--soft-shadow);
}
.style_th {
  padding:8px 12px;
  margin:0;
  text-align:center;
  color:#17324f;
  background-color:var(--table-head);
}
.style_td {
  padding:8px 12px;
  margin:0;
  color:inherit;
  background-color:var(--table-cell);
}

ul.list1 {
  list-style-type:disc;
}
ul.list2 {
  list-style-type:circle;
}
ul.list3 {
  list-style-type:square;
}

/* contentsx.inc.php */
table.toc {
  box-sizing:border-box;
  max-width:100%;
  margin:1em 0 1.2em;
  border:1px solid rgba(15,127,146,.16);
  border-collapse:separate;
  border-spacing:0;
  border-radius:18px;
  color:var(--text-main);
  background:
    linear-gradient(135deg, rgba(255,253,248,.98) 0%, rgba(244,251,250,.96) 100%);
  box-shadow:0 12px 30px rgba(23,50,79,.08);
  overflow:hidden;
}

table.toc td.toctitle {
  padding:10px 16px 7px;
  color:var(--accent-dark);
  font-weight:bold;
  background:linear-gradient(90deg, rgba(15,127,146,.10) 0%, rgba(255,253,248,.88) 100%);
  border-bottom:1px solid rgba(15,127,146,.12);
}

table.toc td.toclist {
  padding:10px 18px 12px;
}

table.toc ul.contentsx,
table.toc ol.contentsx {
  margin:.15em 0;
  padding-left:1.4em;
}

table.toc li {
  margin:.22em 0;
}
ol.list1 {
  list-style-type:decimal;
}
ol.list2 {
  list-style-type:lower-roman;
}
ol.list3 {
  list-style-type:lower-alpha;
}

.list-indent1 {
  padding-left:16px;
  margin-left:16px;
}
/* list-indent2,3,4 are used for leaping list level indentation */
.list-indent2 {
  padding-left:32px;
  margin-left:32px;
}
.list-indent3 {
  padding-left:48px;
  margin-left:48px;
}
.list-indent4 {
  padding-left:64px;
  margin-left:64px;
}

div.ie5 {
  text-align:center;
}
span.noexists {
  color:inherit;
  background-color:transparent;
  border-radius:0;
  padding:0;
}

span.noexists > a {
  display:none;
}

.small {
  font-size:80%;
}

.super_index {
  color:#DD3333;
  background-color:inherit;
  font-weight:bold;
  font-size:60%;
  vertical-align:super;
}

a.note_super {
  color:#DD3333;
  background-color:inherit;
  font-weight:bold;
  font-size:60%;
  vertical-align:super;
}

div.jumpmenu {
  display:none;
  font-size:60%;
  text-align:right;
  user-select:none;
}

hr.full_hr {
  border:0;
  border-top:1px solid var(--line);
  margin:1.2em 0;
}
hr.note_hr {
  width:90%;
  border:0;
  border-top:1px solid var(--line);
  text-align:center;
  margin:1em auto 0em auto;
}

span.size1 {
  font-size:xx-small;
  line-height:130%;
  text-indent:0;
  display:inline;
}
span.size2 {
  font-size:x-small;
  line-height:130%;
  text-indent:0;
  display:inline;
}
span.size3 {
  font-size:small;
  line-height:130%;
  text-indent:0;
  display:inline;
}
span.size4 {
  font-size:medium;
  line-height:130%;
  text-indent:0;
  display:inline;
}
span.size5 {
  font-size:large;
  line-height:130%;
  text-indent:0;
  display:inline;
}
span.size6 {
  font-size:x-large;
  line-height:130%;
  text-indent:0;
  display:inline;
}
span.size7 {
  font-size:xx-large;
  line-height:130%;
  text-indent:0;
  display:inline;
}

/* html.php/catbody() */
strong.word0 {
  background-color:#FFFF66;
  color:black;
}
strong.word1 {
  background-color:#A0FFFF;
  color:black;
}
strong.word2 {
  background-color:#99FF99;
  color:black;
}
strong.word3 {
  background-color:#FF9999;
  color:black;
}
strong.word4 {
  background-color:#FF66FF;
  color:black;
}
strong.word5 {
  background-color:#880000;
  color:white;
}
strong.word6 {
  background-color:#00AA00;
  color:white;
}
strong.word7 {
  background-color:#886800;
  color:white;
}
strong.word8 {
  background-color:#004699;
  color:white;
}
strong.word9 {
  background-color:#990099;
  color:white;
}

/* html.php/edit_form() */
.edit_form {
  clear:both;
}
.edit_form textarea,.edit_form select {
  width:95%;
}

/* pukiwiki.skin.php */
div#header {
  padding:0;
  margin:0;
  word-break:break-all;
  background:
    radial-gradient(circle at 10% -10%, rgba(243,155,88,.20), transparent 22em),
    radial-gradient(circle at 92% 0%, rgba(15,127,146,.16), transparent 24em),
    linear-gradient(135deg, #fffdf8 0%, #f4fbfa 58%, #eef7f8 100%);
  color:var(--text-main);
}

div#div_pad_header {
  position:relative;
  padding:14px 18px 10px !important;
  background-color:#fffdf8;
  background-image:
    linear-gradient(90deg, rgba(255,253,248,.96) 0%, rgba(255,253,248,.86) 50%, rgba(255,253,248,.58) 100%),
    url("../image/header-bg.jpg");
  background-position:center, right center;
  background-size:cover, cover;
  background-repeat:no-repeat;
  border-radius:24px 24px 16px 16px;
  box-shadow:inset 0 -1px 0 rgba(15,127,146,.10);
}

div#div_pad_header::after {
  content:"";
  display:block;
  height:1px;
  margin:0 -10px;
  background:linear-gradient(90deg, rgba(15,127,146,0), rgba(15,127,146,.18), rgba(243,155,88,.16), rgba(15,127,146,0));
}

div#navigator {
  clear:both;
  padding:10px 20px;
  margin:0;
  line-height:1.8;
  overflow-wrap:anywhere;
  color:var(--text-muted);
  background:#f7fbfb;
  border-top:1px solid rgba(31,45,61,.10);
  border-bottom:1px solid rgba(31,45,61,.10);
}

div#navigator a {
  display:inline-block;
  margin:1px 2px;
  padding:1px 6px;
  border-radius:999px;
  color:var(--link);
  background-color:#edf8f8;
  text-decoration:none;
}

div#navigator a:hover {
  background-color:var(--accent);
  color:#ffffff;
  text-decoration:none;
}

div#contents {
  display:flex;
  flex-flow:row nowrap;
  box-sizing:border-box;
  min-width:0;
  padding:8px 34px 32px !important;
  word-break:break-all;
  overflow-wrap:break-word;
  word-wrap:break-word;
}

div#menubar {
  min-width:12em;
  max-width:12em;
  padding:10px;
  margin:4px;
  font-size:90%;
  overflow:hidden;
  background:#f8fbfb;
  border:1px solid var(--line);
  border-radius:18px;
  order:1;
  flex-grow:0;
}
div#menubar ul {
  margin:0 0 0 1em;
  padding:0 0 0 .5em;
}
div#menubar ul li {
  line-height:110%;
}
div#menubar h4 {
  font-size:110%;
}

#rightbar {
  min-width:14em;
  max-width:14em;
  padding:10px;
  margin:4px;
  font-size:90%;
  overflow:hidden;
  background:#f8fbfb;
  border:1px solid var(--line);
  border-radius:18px;
  order:3;
  flex-grow:0;
}
#rightbar ul {
  margin:0 0 0 1em;
  padding:0 0 0 .5em;
}
#rightbar ul li {
  line-height:110%;
}
#rightbar h4 {
  font-size:110%;
}

div#body {
  padding:0;
  margin:0 0 0 .5em;
  min-width:0;
  max-width:100%;
  order:2;
  flex-grow:1;
  line-height:1.9;
  letter-spacing:.01em;
}

div#body p {
  margin:.7em 0 1em;
}

div#body ul,
div#body ol {
  padding-left:1.6em;
}

div#body li {
  margin:.25em 1.5em .25em 0;
}

div#body img,
div#note img,
div#attach img {
  max-width:100%;
  height:auto;
}

div#note {
  clear:both;
  padding:12px 20px 0;
  margin:0;
  word-break:break-all;
  color:var(--text-muted);
  border-top:1px solid var(--line);
}
div#attach {
  clear:both;
  padding:10px 20px 0;
  margin:0;
}
details.pukiwiki-footer-ui {
  clear:both;
  margin:18px 24px 0;
  padding:0;
  color:var(--text-muted);
}
details.pukiwiki-footer-ui > summary {
  display:inline-flex;
  align-items:center;
  gap:.45em;
  padding:7px 14px;
  border:1px solid rgba(15,127,146,.18);
  border-radius:999px;
  background:#f7fbfb;
  color:var(--accent-dark);
  font-size:82%;
  font-weight:bold;
  cursor:pointer;
  user-select:none;
}
details.pukiwiki-footer-ui > summary:hover {
  background:#edf8f8;
  color:var(--accent);
}
details.pukiwiki-footer-ui[open] > summary {
  margin-bottom:10px;
  background:var(--accent);
  border-color:var(--accent);
  color:#ffffff;
}
.pukiwiki-footer-ui-body {
  padding:10px 0 2px;
  border-top:1px solid rgba(31,45,61,.10);
}
div#toolbar {
  clear:both;
  padding:0;
  margin:0;
  text-align:right;
}
div#lastmodified {
  font-size:80%;
  padding:0 20px;
  margin:.5em 0 0;
  color:var(--text-muted);
}
div#related {
  font-size:80%;
  padding:0 20px;
  margin:16px 0 0 0;
  color:var(--text-muted);
}
div#related .page_passage {
  font-size:60%;
}
div#site-copyright {
  clear:both;
  box-sizing:border-box;
  width:100%;
  padding:16px 20px 34px;
  margin:10px auto 0;
  color:var(--text-muted);
  font-size:78%;
  text-align:center;
  letter-spacing:.02em;
  line-height:1.7;
}
div#site-copyright .site-footer-links {
  margin-top:5px;
}
div#site-copyright .site-footer-links a {
  color:var(--text-muted);
  text-decoration:underline;
  text-decoration-color:rgba(100,113,132,.42);
  text-underline-offset:3px;
}
div#site-copyright .site-footer-links a:hover {
  color:var(--accent-dark);
}
div#footer {
  font-size:70%;
  padding:12px 20px 18px;
  margin:16px 0 0 0;
  color:var(--text-muted);
  border-top:1px solid #edf1f5;
}
div#banner {
  float:right;
  margin-top:24px;
}
div#preview {
  color:inherit;
  background-color:#F5F8FF;
}
img#logo {
  float:left;
  margin-right:20px;
}

/* aname.inc.php */
.anchor_super {
  display:inline-block;
  width:0;
  height:0;
  overflow:hidden;
  color:transparent;
  font-size:0;
  line-height:0;
  vertical-align:top;
}

/* list.inc.php */
.page_passage {
  font-size:small;
}

/* calendar*.inc.php */
.style_calendar {
  padding:0;
  border:0;
  margin:3px;
  color:inherit;
  background-color:#CCD5DD;
  text-align:center;
}
.style_td_caltop {
  padding:5px;
  margin:1px;
  color:inherit;
  background-color:#EEF5FF;
  font-size:80%;
  text-align:center;
}
.style_td_today {
  padding:5px;
  margin:1px;
  color:inherit;
  background-color:#FFFFDD;
  text-align:center;
}
.style_td_sat {
  padding:5px;
  margin:1px;
  color:inherit;
  background-color:#DDE5FF;
  text-align:center;
}
.style_td_sun {
  padding:5px;
  margin:1px;
  color:inherit;
  background-color:#FFEEEE;
  text-align:center;
}
.style_td_blank {
  padding:5px;
  margin:1px;
  color:inherit;
  background-color:#EEF5FF;
  text-align:center;
}
.style_td_day {
  padding:5px;
  margin:1px;
  color:inherit;
  background-color:#EEF5FF;
  text-align:center;
}
.style_td_week {
  padding:5px;
  margin:1px;
  color:inherit;
  background-color:#DDE5EE;
  font-size:80%;
  font-weight:bold;
  text-align:center;
}

/* calendar_viewer.inc.php */
div.calendar_viewer {
  color:inherit;
  background-color:inherit;
  margin-top:20px;
  margin-bottom:10px;
  padding-bottom:10px;
}
span.calendar_viewer_left {
  color:inherit;
  background-color:inherit;
  float:left;
}
span.calendar_viewer_right {
  color:inherit;
  background-color:inherit;
  float:right;
}

/* clear.inc.php */
.clear {
  margin:0;
  clear:both;
}

/* counter.inc.php */
div.counter {
  font-size:70%;
}

/* diff.inc.php */
span.diff_added {
  color:blue;
  background-color:inherit;
}
span.diff_removed {
  color:red;
  background-color:inherit;
}

/* hr.inc.php */
hr.short_line {
  text-align:center;
  width:80%;
  border-style:solid;
  border-color:#333333;
  border-width:1px 0;
}

/* include.inc.php */
h5.side_label {
  text-align:center;
}

/* navi.inc.php */
ul.navi {
  margin:0;
  padding:0;
  text-align:center;
}
li.navi_none {
  display:block;
  float:none;
}
li.navi_left {
  display:block;
  float:left;
  text-align:left;
}
li.navi_right {
  display:block;
  float:right;
  text-align:right;
}

/* new.inc.php */
span.comment_date {
  font-size:x-small;
}
span.new1 {
  color:red;
  background-color:transparent;
  font-size:x-small;
}
span.new5 {
  color:green;
  background-color:transparent;
  font-size:xx-small;
}

/* newmark.inc.php, updatemark.inc.php */
.newmark-badge,
.updatemark-badge {
  display:inline-block;
  margin:0 .25em;
  padding:.16em .52em .14em;
  border:1px solid rgba(243,155,88,.42);
  border-radius:999px;
  color:#9a3d12;
  background:linear-gradient(135deg, #fff6d8 0%, #ffe3b8 100%);
  font-size:.78em;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.03em;
  vertical-align:middle;
  box-shadow:0 5px 14px rgba(243,155,88,.18);
  animation:newmark-soft-glow 2.8s ease-in-out infinite;
}

.newmark-badge::before {
  content:"New!";
}

.updatemark-badge {
  border-color:rgba(203,77,47,.58);
  color:#8f2616;
  background:linear-gradient(135deg, #fff0dc 0%, #ffc184 50%, #ff936f 100%);
  font-size:.82em;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:lowercase;
  box-shadow:0 5px 15px rgba(203,77,47,.24), inset 0 1px 0 rgba(255,255,255,.72);
}

.updatemark-badge::before {
  content:"updated!";
}

.newmark-block,
.updatemark-block {
  margin:.75em 0;
}

.newmark-error {
  display:inline-block;
  border:1px solid #d99191;
  border-radius:8px;
  padding:.25em .55em;
  background:#fff2f2;
  color:#8a2727;
  font-weight:700;
}

@keyframes newmark-soft-glow {
  0%, 100% {
    transform:translateY(0);
    box-shadow:0 5px 14px rgba(243,155,88,.16);
  }
  50% {
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(243,155,88,.30);
  }
}

@media (prefers-reduced-motion:reduce) {
  .newmark-badge,
  .updatemark-badge {
    animation:none;
  }
}

/* comment.inc.php */
._p_comment_form input[name="msg"] {
  max-width:90%;
}

/* pcomment.inc.php */
._p_pcomment_form input[name="msg"] {
  max-width:90%;
}

/* article.inc.php */
._p_article_form input[name="subject"] {
  max-width:82%;
}

/* popular.inc.php */
span.counter {
  font-size:70%;
}

/* ref.inc.php */
div.img_margin {
  margin-left:32px;
  margin-right:32px;
}

/* vote.inc.php */
td.vote_label {
  color:inherit;
  background-color:#FFCCCC;
}
td.vote_td1 {
  color:inherit;
  background-color:#DDE5FF;
}
td.vote_td2 {
  color:inherit;
  background-color:#EEF5FF;
}

/* modernbutton.inc.php */
.modernbutton-block {
  margin:1em 0;
}

.modernbutton-inline {
  display:inline-block;
  margin:.15em .25em;
}

.modernbutton {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  max-width:100%;
  border:1px solid rgba(15,127,146,.26);
  border-radius:999px;
  color:#ffffff;
  background:linear-gradient(135deg, var(--accent) 0%, #1f5c7a 100%);
  font-weight:bold;
  line-height:1.35;
  letter-spacing:.035em;
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
  box-shadow:0 10px 24px rgba(15,127,146,.20);
}

.modernbutton:hover {
  color:#ffffff;
  background:linear-gradient(135deg, #13a0aa 0%, var(--accent-dark) 100%);
  text-decoration:none;
}

.modernbutton-small {
  padding:.42em .95em;
  font-size:.88rem;
}

.modernbutton-medium {
  padding:.58em 1.25em;
  font-size:1rem;
}

.modernbutton-large {
  padding:.72em 1.55em;
  font-size:1.08rem;
}

.modernbutton-warm {
  border-color:rgba(203,77,47,.34);
  background:linear-gradient(135deg, #f39b58 0%, #c84d32 100%);
  box-shadow:0 10px 24px rgba(203,77,47,.20);
}

.modernbutton-warm:hover {
  background:linear-gradient(135deg, #ffad68 0%, #a93b29 100%);
}

.modernbutton-outline {
  color:var(--accent-dark);
  background:rgba(255,255,255,.70);
  border-color:rgba(15,127,146,.34);
  box-shadow:0 8px 20px rgba(23,50,79,.08);
}

.modernbutton-outline:hover {
  color:#ffffff;
  background:var(--accent);
}

.modernbutton-ghost {
  color:var(--accent-dark);
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}

.modernbutton-ghost:hover {
  color:var(--accent);
  background:rgba(15,127,146,.08);
}

.modernbutton-error {
  display:inline-block;
  border:1px solid #d99191;
  border-radius:8px;
  padding:.25em .55em;
  background:#fff2f2;
  color:#8a2727;
  font-weight:bold;
}

/* includex.inc.php */
.includex-fold {
  position:relative;
  margin:1em 0 1.2em;
}

.includex-fold-toggle {
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}

.includex-fold-content {
  position:relative;
  max-height:var(--includex-fold-height);
  overflow:hidden;
}

.includex-fold-content::after {
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:4.5em;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--paper-bg) 80%);
  pointer-events:none;
}

.includex-fold-toggle:checked + .includex-fold-content {
  max-height:none;
  overflow:visible;
}

.includex-fold-toggle:checked + .includex-fold-content::after {
  display:none;
}

.includex-fold-more {
  display:inline-block;
  margin:.75em 0 0;
  padding:.45em 1.05em;
  border:1px solid rgba(15,127,146,.24);
  border-radius:999px;
  color:var(--accent-dark);
  background:#f4fbfa;
  font-weight:bold;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(23,50,79,.10);
}

.includex-fold-more:hover {
  color:#ffffff;
  background:var(--accent);
  border-color:var(--accent);
}

.includex-fold-more-close {
  display:none;
}

.includex-fold-toggle:checked ~ .includex-fold-more .includex-fold-more-open {
  display:none;
}

.includex-fold-toggle:checked ~ .includex-fold-more .includex-fold-more-close {
  display:inline;
}

/* topicpath.inc.php */
span.topicpath-slash {
  margin:0 .12em;
  color:rgba(31,45,61,.38);
}
span.topicpath-top {
  user-select:none;
}

/* bugtrack.inc.php */
tr.bugtrack_list_header th {
  background-color:#ffffcc;
}
tr.bugtrack_list_header th:nth-child(1) {
  min-width: 7em;
}
tr.bugtrack_list_header th:nth-child(2) {
  min-width: 2em;
}
tr.bugtrack_list_header th:nth-child(3) {
  min-width: 4em;
}
tr.bugtrack_list_header th:nth-child(4) {
  min-width: 4em;
}
tr.bugtrack_list_header th:nth-child(5) {
  min-width: 3em;
}
tr.bugtrack_state_proposal td {
  background-color:#ccccff;
}
tr.bugtrack_state_accept td {
  background-color:#ffcc99;
}
tr.bugrack_state_resolved td {
  background-color:#ccffcc;
}
tr.bugtrack_state_pending td {
  background-color:#ffccff;
}
tr.bugtrack_state_cancel td {
  background-color:#cccccc;
}
tr.bugtrack_state_undef td {
  background-color:#ff3333;
}
._p_bugtrack_form input[name="summary"],
._p_bugtrack_form textarea {
  box-sizing:border-box;
  width:35em;
  max-width:99.5%;
}

/* tracker.inc.php */
._p_tracker_form th {
  min-width:5em;
}

/* search2.inc.php  */
.search-result-page-summary {
  font-size:70%;
  color:gray;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Mobile-friendly Responsive layout */
@media (max-width:767px) {
  body {
    padding:10px 8px 14px;
  }
  body > div:first-of-type > div:first-of-type {
    border-left:1px solid var(--paper-border) !important;
    border-right:1px solid var(--paper-border) !important;
    border-radius:18px;
    margin-bottom:12px;
    box-shadow:0 10px 28px rgba(31,42,55,.10);
  }
  div#div_pad_header {
    padding:10px 12px 9px !important;
    background-position:center, 58% center;
    border-radius:16px 16px 12px 12px;
  }
  div#div_pad_header::after {
    margin:0 -10px;
  }
  h1,
  h2 {
    border-left-width:5px;
    border-radius:8px;
    padding:.5em .6em .45em;
  }
  div#body h1 {
    font-size:135%;
  }
  div#body h2 {
    font-size:120%;
    margin:1.15em 0 .7em;
    padding:.58em .72em .52em .88em;
    border-radius:12px 12px 12px 6px;
  }
  div#body h2::before {
    top:.65em;
    bottom:.65em;
    width:4px;
  }
  div#body h2::after {
    left:.9em;
    bottom:.34em;
    width:2.8em;
  }
  h3 {
    padding-left:.68em;
    margin:1em 0 .55em;
  }
  h3::before {
    left:.68em;
    width:3.2em;
    height:2px;
  }
  h4 {
    display:block;
    padding:.4em .65em;
  }
  h1.title {
    font-size:19px;
    margin-top:0;
    padding-top:6px;
    line-height:1.4;
  }
  .header-title-row {
    align-items:flex-start;
    flex-wrap:wrap;
    gap:6px 12px;
    padding:16px 0 8px;
  }
  .header-menu {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    width:100%;
    margin-left:0;
    padding-top:0;
    text-align:left;
    white-space:normal;
  }
  .header-menu a {
    flex:1 1 calc(50% - 7px);
    box-sizing:border-box;
    min-width:8.4em;
    margin:0;
    padding:8px 10px;
    text-align:center;
    line-height:1.35;
  }
  .header-menu a + a {
    margin-left:0;
  }
  #topicpath {
    display:flex;
    width:100%;
    margin:0 0 2px;
    padding:5px 7px;
    border-radius:12px;
    font-size:.8rem;
  }
  div#div_pad_header > #topicpath.small {
    display:flex;
  }
  #topicpath a {
    padding:1px 5px;
  }
  h1.title a {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px;
    padding:4px 7px 4px 4px;
    border-radius:14px;
  }
  h1.title a::after {
    left:45px;
    right:8px;
    bottom:3px;
    height:2px;
  }
  h1.title img {
    width:32px;
    height:32px;
    padding:5px;
    border-radius:11px;
  }
  div#navigator {
    padding:10px 14px !important;
  }
  div#contents {
    flex-flow:column wrap;
    padding:6px 16px 20px !important;
  }
  div#menubar {
    width:auto;
    max-width:none;
    margin:14px 0 0 0;
    font-size:100%;
    order:2;
  }
  div#rightbar {
    width:auto;
    max-width:none;
    margin:14px 0 0 0;
    font-size:100%;
    order:3;
  }
  div#body {
    margin:0;
    order:1;
  }
  div#body img {
    max-width:100%;
    height:auto;
  }
  div#body table,
  div#attach table {
    display:table;
    width:auto;
    max-width:100%;
    box-sizing:border-box;
    border-radius:14px;
    box-shadow:0 8px 20px rgba(31,42,55,.08);
  }
  div#body table.style_table,
  div#attach table.style_table {
    width:auto;
    min-width:0;
    margin:.95em 0;
    border-spacing:1px;
  }
  table.toc {
    width:100%;
    margin:.8em 0 1em;
    border-radius:14px;
  }
  table.toc td.toctitle {
    padding:9px 12px 6px;
  }
  table.toc td.toclist {
    padding:9px 14px 11px;
  }
  div#body .style_th,
  div#body .style_td,
  div#attach .style_th,
  div#attach .style_td {
    min-width:0;
    padding:7px 11px;
    line-height:1.65;
    vertical-align:top;
    word-break:normal;
    overflow-wrap:anywhere;
  }
  div#body .style_td img,
  div#body .style_th img,
  div#attach .style_td img,
  div#attach .style_th img {
    max-width:min(46vw, 180px);
    height:auto;
  }
  div#body .style_td a,
  div#body .style_th a,
  div#attach .style_td a,
  div#attach .style_th a {
    overflow-wrap:anywhere;
  }
  div#toolbar {
    text-align:left;
    line-height:2.4;
  }
  div#toolbar a {
    display:inline-block;
    margin:2px 4px 2px 0;
  }
  details.pukiwiki-footer-ui {
    margin:14px 16px 0;
  }
  details.pukiwiki-footer-ui > summary {
    width:100%;
    box-sizing:border-box;
    justify-content:center;
  }
  pre {
    margin-left:0;
    margin-right:0;
    padding:.7em .8em;
  }

  ._p_tracker_form th,._p_tracker_form td {
    display:block;
    text-align:left !important;
    width:auto !important;
    margin:0;
  }
  ._p_tracker_form td input[type=text],
  ._p_tracker_form td textarea {
    box-sizing:border-box;
    width:99.5%;
  }

  tr.bugtrack_list_header th:nth-child(1) {
    min-width: 4em;
  }
  tr.bugtrack_list_header th:nth-child(2) {
    min-width: 1em;
  }
  tr.bugtrack_list_header th:nth-child(3) {
    min-width: 1em;
  }
  tr.bugtrack_list_header th:nth-child(4) {
    min-width: 3em;
  }
  tr.bugtrack_list_header th:nth-child(5) {
    min-width: 3em;
  }
  ._p_bugtrack_form th,._p_bugtrack_form td {
    display:block;
    text-align:left !important;
    margin:0;
  }
  ._p_bugtrack_form input[name="summary"],
  ._p_bugtrack_form textarea {
    box-sizing:border-box;
    width:99.5%;
  }
}

.msstore-badge-block {
  margin:1em 0;
}
.msstore-badge-inline {
  display:inline-block;
  vertical-align:middle;
}
.msstore-badge-link {
  display:inline-block;
  line-height:0;
  text-decoration:none !important;
}
.msstore-badge-image {
  max-width:200px;
  width:100%;
  height:auto;
}
.msstore-badge-error {
  display:inline-block;
  border:1px solid #d99191;
  border-radius:8px;
  padding:.25em .55em;
  background:#fff2f2;
  color:#8a2727;
  font-weight:700;
}

/* Inquiry form embedded in a regular PukiWiki page. */
.inquiry-plugin {
  max-width:900px;
  margin:.4em auto 1.5em;
}
.inquiry-plugin-intro {
  padding:18px 22px;
  border:1px solid rgba(15,127,146,.18);
  border-radius:16px;
  background:linear-gradient(135deg, rgba(235,248,248,.96), rgba(255,250,241,.96));
}
div#body .inquiry-plugin-intro h2 {
  margin:0 0 .35em;
}
.inquiry-plugin-intro p,
.inquiry-plugin-lead {
  color:var(--text-muted);
}
.inquiry-plugin-lead {
  margin:1.1em 0 .8em;
}
.inquiry-plugin-form {
  padding:22px;
  border:1px solid var(--paper-border);
  border-radius:18px;
  background:rgba(255,253,248,.94);
  box-shadow:0 12px 30px rgba(31,42,55,.08);
}
.inquiry-plugin-fields {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px 20px;
}
.inquiry-plugin-field-wide {
  grid-column:1 / -1;
}
.inquiry-plugin-field label,
.inquiry-plugin-label {
  display:block;
}
.inquiry-plugin-label {
  margin-bottom:7px;
  color:var(--accent-dark);
  font-weight:700;
}
.inquiry-plugin-required,
.inquiry-plugin-optional {
  display:inline-block;
  margin-left:7px;
  padding:2px 7px;
  border-radius:999px;
  font-size:.72em;
  line-height:1.4;
  vertical-align:middle;
}
.inquiry-plugin-required {
  color:#fff;
  background:#b74f3f;
}
.inquiry-plugin-optional {
  color:#526171;
  background:#e8edef;
}
.inquiry-plugin input[type="text"],
.inquiry-plugin input[type="email"],
.inquiry-plugin input[type="tel"],
.inquiry-plugin input[type="file"],
.inquiry-plugin textarea {
  width:100%;
  box-sizing:border-box;
  padding:11px 12px;
  border:1px solid #bdcbd0;
  border-radius:10px;
  color:var(--text-main);
  background:#fff;
  font:inherit;
}
.inquiry-plugin textarea {
  min-height:180px;
  resize:vertical;
}
.inquiry-plugin input:focus,
.inquiry-plugin textarea:focus {
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(15,127,146,.16);
}
.inquiry-plugin-note {
  display:block;
  margin-top:6px;
  color:var(--text-muted);
  font-size:.86em;
}
.inquiry-plugin-actions {
  margin:24px 0 0;
  text-align:center;
}
.inquiry-plugin-actions button {
  min-width:220px;
  padding:12px 24px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg, var(--accent), #1f5c7a);
  box-shadow:0 8px 18px rgba(15,127,146,.22);
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.inquiry-plugin-actions button:hover {
  filter:brightness(1.06);
}

@media screen and (max-width:700px) {
  .inquiry-plugin-intro,
  .inquiry-plugin-form {
    padding:16px;
    border-radius:14px;
  }
  .inquiry-plugin-fields {
    grid-template-columns:1fr;
    gap:15px;
  }
  .inquiry-plugin-field-wide {
    grid-column:auto;
  }
  .inquiry-plugin-actions button {
    width:100%;
    min-width:0;
  }
}

/* BCS3D is isolated in an iframe and loaded only after user interaction. */
.bcs3d-embed {
  margin:1.4em 0;
  overflow:hidden;
  border:1px solid rgba(15,127,146,.2);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(235,248,248,.98), rgba(255,249,239,.98));
  box-shadow:0 14px 36px rgba(23,50,79,.1);
}
.bcs3d-embed-copy {
  padding:24px 28px;
}
.bcs3d-embed-kicker {
  margin:0 0 4px;
  color:var(--accent);
  font-size:.76em;
  font-weight:800;
  letter-spacing:.14em;
}
div#body .bcs3d-embed h2 {
  margin:.1em 0 .45em;
}
.bcs3d-embed-copy > p:not(.bcs3d-embed-kicker) {
  margin:.4em 0;
}
.bcs3d-embed-note {
  color:var(--text-muted);
  font-size:.9em;
}
.bcs3d-embed-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:17px;
}
.bcs3d-embed-launch,
.bcs3d-embed-open {
  display:inline-flex;
  min-height:44px;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  font:inherit;
  font-weight:700;
}
.bcs3d-embed-launch {
  border:0;
  color:#fff;
  background:linear-gradient(135deg, var(--accent), #1f5c7a);
  box-shadow:0 8px 18px rgba(15,127,146,.2);
  cursor:pointer;
}
.bcs3d-embed-launch:hover:not(:disabled) {
  filter:brightness(1.07);
}
.bcs3d-embed-launch:disabled {
  cursor:default;
  opacity:.78;
}
.bcs3d-embed-open {
  border:1px solid rgba(15,127,146,.35);
  color:var(--accent-dark) !important;
  background:rgba(255,255,255,.72);
  text-decoration:none !important;
}
.bcs3d-embed-stage {
  padding:0 14px 14px;
}
.bcs3d-embed-frame {
  display:block;
  width:100%;
  height:min(760px, 82vh);
  min-height:560px;
  box-sizing:border-box;
  border:1px solid rgba(23,50,79,.16);
  border-radius:14px;
  background:#f4f6f8;
}

@media screen and (max-width:700px) {
  .bcs3d-embed {
    border-radius:15px;
  }
  .bcs3d-embed-copy {
    padding:19px 17px;
  }
  .bcs3d-embed-actions {
    align-items:stretch;
    flex-direction:column;
  }
  .bcs3d-embed-launch,
  .bcs3d-embed-open {
    width:100%;
  }
  .bcs3d-embed-stage {
    padding:0 7px 7px;
  }
  .bcs3d-embed-frame {
    height:78vh;
    min-height:520px;
    border-radius:10px;
  }
}

@media print {
  a:link,
  a:visited {
    text-decoration:underline;
  }
  img#logo,
  div#navigator,
  div#menubar,
  div#rightbar,
  div#related,
  div#attach,
  div#toolbar {
    display:none;
  }
}
