@charset "UTF-8";

/* Color */
:root {
  --base-color: #faf0d8;
  --deep-base-color: #f1d593;
  --sub-color: #f1f5e1;
  --main-color: #333333;
  --lite-main-color: #a0a0a0;
  --anti-color: #f8f8f8;
  --lite-anti-color: #f0f0f0;
  --accent-color: #a70000;
}

/* General */
body * {
  box-sizing: border-box;
  letter-spacing: 0.04em;
  line-height: 1.3em;
  margin: 0;
}

body {
  color: var(--main-color);
  font-family: "M PLUS 1", sans-serif;
  font-size: 13px;
  font-weight: 450;
  margin: 0;
  overflow-wrap: break-word;
  padding: 0;
}

a > img {
  vertical-align: bottom;
}

a:link {
  color:#215dc6;
  background-color:inherit;
  text-decoration:none;
}

a:active {
  color: #215dc6;
  background-color: #CCDDEE;
  text-decoration: none;
}

a:visited {
  color: #8f3fa7;
  background-color: inherit;
  text-decoration: none;
}

a:hover {
  color: #215dc6;
  background-color: #CCDDEE;
  text-decoration: underline;
}

a.external-link:not(.external-link-silent)::after {
  content: url(../image/external-link.png);
  margin: 3px;
}

strong {
  font-weight:bold;
}

/* Table */
.table_wrapper {
  overflow-x: auto;
}

thead th.style_th,
tfoot th.style_th {
  color: inherit;
  background-color: var(--deep-base-color);
}

thead td.style_td,
tfoot td.style_td {
  color: inherit;
  background-color: var(--anti-color);
}

.style_table {
  background-color: var(--lite-main-color);
  border: 0;
  color: inherit;
  margin: 4px 0 0 0;
  padding: 0;
  text-align: left;
}

.style_th {
  padding: 3px;
  margin: 1px;
  text-align: center;
  color: inherit;
  background-color: var(--base-color);
}

.style_td {
  background-color: var(--anti-color);
  color: inherit;
  padding: 3px;
  margin: 1px;
}

/* pre */
pre {
  border-top:#DDDDEE 1px solid;
  border-bottom:#888899 1px solid;
  border-left:#DDDDEE 1px solid;
  border-right:#888899 1px solid;
  padding:.5em;
  margin-left:1em;
  margin-right:2em;
  white-space:pre-wrap;
  word-wrap:break-word;
  color:black;
  background-color:#F0F8FF;
}

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

dd {
  margin-inline-start: 2em;
}

/* note */
a.note_super {
  color: #d33;
  background-color: inherit;
  font-weight: bold;
  font-size: 65%;
  vertical-align: super;
}

hr.note_hr {
  width: 98%;
  text-align: center;
  margin: 0 1%;
}

div#note {
  clear: both;
  margin: 4px 16px;
  word-break: break-all;
}

.small {
  font-size:90%;
}

/* blockquote */
blockquote {
  border: 1px solid #d5d5d5;
  margin-top: .5em;
  margin-bottom: .5em;
}

blockquote p {
  margin: .5em 1em;
}

/* noexist */
span.noexists * {
  background-color: #fffacc;
}

/* hr */
hr.hr_mobile {
  display: none
}

/* pukiwiki.ini.php */
div.container-wrapper {
  background-color: var(--base-color);
  border: 1px solid #000;
  margin: 0 auto;
  max-width: 930px;
  min-width: 930px;
}
@media screen and (max-width: 819px), print and (max-width: 180mm) {
  div.container-wrapper {
    border: none;
    max-width: none;
    min-width: 320px;
    padding: 8px 0;
  }
}

hr.full_hr {
  border-color: var(--main-color);
  margin: 0 8px;
}

/* Header */
div#header {
  margin: 0 8px;
}

div#header-title {
  display: flex;
  justify-content: space-between;
}

img#header-title-logo-img {
  height: 8em;
  margin-top: -10px;
  margin-bottom: -5px;
}

div#header-title-text {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  margin: 0 auto;
  a {
    color: var(--accent-color);
    font-family: "BIZ UDPMincho", serif;
    font-size: 30px;
    font-weight: bold;
    overflow-wrap: break-word;
    text-align: center;
    text-shadow: 1px 1px 0 var(--anti-color), -1px -1px 0 var(--anti-color),
                 -1px 1px 0 var(--anti-color), 1px -1px 0 var(--anti-color),
                 0px 1px 0 var(--anti-color),  0 -1px 0 var(--anti-color),
                 -1px 0 0 var(--anti-color), 1px 0 0 var(--anti-color);
    word-break: keep-all;
  }
}

div#header-navigator {
  background-color: var(--main-color);
  color: transparent;
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 5px;
}

div#header-navigator-left{
  padding: 1px 5px;
}

div#header-navigator-right {
  display: flex;
  justify-content: space-between;
}

#header-navigator-right-mobile {
  display: none;
}

p.header-navigator-text {
  margin: 0;
}

p.header-navigator-text > a {
  color: var(--anti-color);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

div#header-title a {
  text-decoration: none;
  background-color: transparent;
}

div#header-navigator a:hover {
  background-color: #707070;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Page Info */
div#page-info {
  margin: 8px 16px 8px 16px;
}

div#page-info-title {
  align-items: end;
  display: flex;
  justify-content: space-between;
  padding: 4px 8px;
  margin-top: 2px;
  border-bottom: 2px solid var(--main-color);
  border-left: 16px solid var(--main-color);
}

div#page-info-title-text > h1 {
  font-size: 24px;
  font-weight: 800;
  margin: 0;
}

div#page-info-title-lastmodified > p {
  font-size: 10px;
  margin: 0;
}

/* Contents */
div#contents {
  display: flex;
  flex-flow: row nowrap;
  margin: 0 12px;
}

/* Menubar */
div#menubar {
  background-color: var(--sub-color);
  border: 2px solid var(--main-color);
  border-radius: 6px;
  margin-right: 4px;
  max-width: 180px;
  min-width: 180px;
  order: 1;
}

div#menubar h2 {
  background-color: var(--main-color);
  border-radius: 6px;
  color: var(--anti-color);
  font-size: 15.5px;
  font-weight: 600;
  margin: 0;
  padding: 6px 0;
  text-align: center;
}

div#menubar h3 {
  background-color: var(--anti-color);
  border-top: 2px solid var(--main-color);
  border-bottom: 2px solid var(--main-color);
  border-left: 15px solid var(--main-color);
  border-right: 15px solid var(--main-color);
  color: var(--main-color);
  font-size: 15.5px;
  font-weight: 600;
  margin: 0;
  padding: 6px 0;
  text-align: center;
}

div#menubar h4 {
  background-color: var(--anti-color);
  border-left: 10px solid var(--main-color);
  border-top: 1px solid var(--main-color);
  border-bottom: 2px solid var(--main-color);
  color: var(--main-color);
  font-size: 13px;
  font-weight: 600;
  margin: 0;
  padding: 4px 0 1px 6px;
  text-align: left;
}

div#menubar h5 {
  background-color: var(--main-color);
  color: var(--anti-color);
  font-size: 15.5px;
  font-weight: 600;
  margin: 0;
  padding: 6px 0;
  text-align: center;
}

div#menubar > *:first-child {
  border-radius: 3px 3px 6px 6px;
}

div#menubar a,
div#menubar  p,
div#menubar  span,
div#menubar  strong {
  font-size: 12.5px;
}

div#menubar > * {
  margin: .3em .4em;
}

p.plugin-include-megami-schedule-element {
  margin: .4em 0;
}

p.plugin-include-megami-schedule-element:first-child {
  margin-top: .2em; 
}

p.plugin-include-megami-schedule-element:last-child {
  margin-bottom: .2em; 
}

div#menubar ul {
  margin: 0 0 0 1em;
  padding: 0 0 0 1em;
}

div#menubar li {
  margin: .3em 0;
}

div#plugin-recent {
  margin: 0 8px 0 0;
}

div#plugin-recent > strong {
  font-family: verdana, arial, helvetica, Sans-Serif;
  display: block;
}

div#plugin-recent li {
  margin: 0;
}

div#plugin-recent li:last-child {
  margin-bottom: .4em;
}

/* Body */
div#body-outer {
  margin-left: 4px;
  min-width: 0;
  order:2;
  width: 100%;
}

div#body {
  background-color: var(--sub-color);
  border: 2px solid var(--main-color);
  border-radius: 6px;
  font-size: 13px;
  margin: 0 0 24px 0;
  padding: 8px;
}

div#body h2 {
  background-color: var(--main-color);
  border-radius: 6px;
  color: var(--anti-color);
  font-size: 18px;
  font-weight: 650;
  margin: 16px 0 8px 0;
  padding: 6px 0 6px 12px;
  text-align: left;
}

div#body h3 {
  background-color: var(--anti-color);
  border-top: 1px solid var(--main-color);
  border-right: 1px solid var(--main-color);
  border-bottom: 2px solid var(--main-color);
  border-left: 12px solid var(--main-color);
  border-radius: 4px;
  color: var(--main-color);
  font-size: 14.5px;
  font-weight: 600;
  margin: 8px 2px;
  padding: 4px 0 2px 6px;
  text-align: left;
}

div#body h4 {
  background-color: var(--anti-color);
  border-top: 1px solid var(--main-color);
  border-right: 1px solid var(--main-color);
  border-bottom: 2px solid var(--main-color);
  border-left: 5px solid var(--main-color);
  border-radius: 3px;
  color: var(--main-color);
  font-size: 14px;
  font-weight: 550;
  margin: 8px 4px;
  padding: 2px 0 2px 6px;
  text-align: left;
}

div#body h5 {
  background-color: var(--main-color);
  border-radius: 6px;
  color: var(--anti-color);
  font-size: 18px;
  font-weight: 650;
  margin: 4px 0 0 0;
  padding: 6px 0 6px 12px;
  text-align: left;
}

div#body > *,
div#preview > *,
details.plugin-fold > *:not(summary) {
  margin: 8px;
}

div#body ul.list1 {
  padding-left: 20px;
}

div#body ol.list1 {
  padding-left: 40px;
}

div#body .list1 > li {
  margin: 6px 0;
}

div#body ul.list2,
div#body ul.list3,
div#body ol.list2,
div#body ol.list3 {
  margin: 4px 0;
}

div#body ul.list2 {
  margin-bottom: 8px;
}

div#body ul.list2,
div#body ul.list3 {
  padding-left: 30px;
}

div#body > *:first-child,
div#preview > *:first-child {
  margin-top: 0;
}

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

img.plugin-ref-img {
  margin: 2px;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

div.table_wrapper img.plugin-ref-img {
  max-width: initial;
}

a:has(img.plugin-ref-img) {
  display: inline-block;
  vertical-align: middle;
}

a:hover:has(img.plugin-ref-img) {
  color: transparent;
  background-color: transparent;
  opacity:0.6;
  transition:0.1s;
  text-decoration: none;
}

/* Footer */
div#footer {
  margin: 4px 16px;
  overflow-wrap: break-word;
  display: flex;
  justify-content: space-between;
}

div.footer-item-left {
  font-size: 10px;
}

/* aname.inc.php */
.anchor_super {
  font-size: x-small;
  margin-left: .5em;
  vertical-align: top;
}

div#body h2 .anchor_super {
  color: var(--anti-color);
  font-size: small;
}

/* 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;
}

/* fold.inc.php */
div.fold-container > details > *:not(:first-child) {
  margin-left: 20px !important;
}

/* 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;
}

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

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

.pcomment_body_container {
  text-align: right;
}

.pcomment_body_container > * {
  vertical-align: bottom;
}

.pcomment_body {
  margin: 2px 0;
  resize: vertical;
  width: 100%;
}
/* article.inc.php */
._p_article_form input[name="subject"] {
  max-width:82%;
}

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

/* 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;
}

/* topicpath.inc.php */
span.topicpath-slash {
  margin:0 0.2em;
}
span.topicpath-top {
  user-select:none;
}

/* Ads */
.ads-container {
  display: flex;
  flex-flow: column nowrap;
  background-color: var(--sub-color);
  border: 2px solid var(--main-color);
  border-radius: 6px;
  font-size: 13px;
  margin: 24px 0;
}

.ads-title {
  background-color: var(--main-color);
  border-radius: 6px;
  color: var(--anti-color);
  font-size: 15.5px;
  font-weight: 600;
  margin: -1px;
  padding: 6px 12px;
  text-align: center;
  width: fit-content;
}

.ads-container-body {
  display: flex;
  flex-flow: row nowrap;
  font-size: 0;
  justify-content: space-around;
  margin: 8px;
}
.ads-container-body > div:not(:last-child) {
  margin-bottom: 16px;
}
.ads-container-body > div.ads-wrapper:not(:last-child) {
  display: flex;
  justify-content: space-around;
  text-align: center;
}
.ads-container-right > div.ads-wrapper:not(:last-child) {
  margin-right: 32px;
}
.ads-container-recommend {
  display: flex;
  flex-flow: column nowrap;
  text-align: start;
  margin: 4px 8px 8px 8px;
}
.ads-container-recommend-head {
  text-align: start;
}
.ads-container-recommend-body {
  display: flex;
  flex-flow: row wrap;
  text-align: center;
  justify-content: space-around;
}
.ads-container-recommend-body > div {
  margin: 0 auto;
}
.ads-container p {
  font-size: 13px
}
.ads-wrapper {
  display: inline-block;
}
.ads-wrapper > * {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Close Button */
.square_btn {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 30px;
  background: #333; /* ボタンの背景色 */
}

.square_btn::before, .square_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 25px;
  background: #fff; /* バツ印の色 */
}
 
.square_btn::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
 
.square_btn::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

/* Mobile-friendly Responsive layout */
@media screen and (max-width: 819px), print and (max-width: 180mm) {
  div#header {
    margin: 0;
  }

  div#header-title {
    margin: 4px 0;
  }

  img#header-title-logo-img {
    display: none;
  }

  div#header-title-text {
    a {
      font-size: 4.5vw;
      text-shadow: .6px .6px 0 var(--anti-color), -.6px -.6px 0 var(--anti-color),
                   -.6px .6px 0 var(--anti-color), .6px -.6px 0 var(--anti-color),
                   0px .6px 0 var(--anti-color),  0 -.6px 0 var(--anti-color),
                   -.6px 0 0 var(--anti-color), .6px 0 0 var(--anti-color);
    }
  }

  div#header-navigator {
    background-color: transparent;
    border-radius: 0;
    margin: 4px 0;
    padding: 0 16px 0 8px;
  }

  div#header-navigator a:hover {
    background-color: #f5d588;
  }

  p.header-navigator-text {
    color: var(--main-color);
  }

  p.header-navigator-text a {
    color: var(--main-color);
    font-weight: 900;
    padding: 1px 2px;
    font-size: 13px;
  }

  div#header-navigator-right-desktop {
    display: none;
  }

  #header-navigator-right-mobile {
    display: initial;
  }

  div#page-info {
    margin: 4px;
    padding: 0;
  }

  div#page-info-topicpath {
    margin: 0 8px;
  }

  div#page-info-title {
    align-items: start;
    flex-flow: column wrap;
  }

  div#page-info-title-text > h1 {
    font-size: 20px;
  }

  div#contents {
    flex-flow: column wrap;
    margin: 0;
  }

  div#body-outer {
    order: 1;
    margin: 0;
  }

  div#body {
    border: 1px solid var(--main-color);
  }

  div#body-outer > *,
  div#preview > * {
    margin-left: 4px;
    margin-right: 4px;
  }

  div#menubar {
    border: 1px solid var(--main-color);
    font-size: 100%;
    margin: 0 4px;
    max-width: none;
    order: 2;
    padding: 4px;
    width: auto;
  }

  div#menubar > *:first-child {
    border-radius: 6px;
  }

  hr.hr_mobile {
    display: block;
  }

  .ads-container-body {
    flex-flow: column nowrap;
  }

  .ads-container-body > div {
    display: flex;
    justify-content: space-around;
    text-align:center;
  }

  .ads-container-body-right > div.ads-wrapper:not(:last-child) {
    margin-right: 0px;
  }
}
