/*さくぶん*/
@charset "utf-8";

body {
  background-color: lightyellow;
}
.sakubun {
  width: 100%;
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 18px;
  color: #333;
  border:1px solid rgba(0,0,0,.2);
  position: relative;
  letter-spacing: .5em;
  line-height: 2em;
  padding: 5px;
  float: right;
}

.sakubun::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: 
    linear-gradient(to bottom, rgba(0,0,0,.2) 1px, transparent 0),
    linear-gradient(to left, rgba(0,0,0,.2) 1px, transparent 0),
    linear-gradient(to bottom, transparent 11px, rgba(0,0,0,.2) 12px, transparent 0);

  background-size: 1.5em 2em;

  background-position: top left;
  background-origin: padding-box;
  margin-left: -5px;
  z-index: -1;
}

.sakubun::after {
  content: '';
  display: block;
  clear: both;
}

.sakubun p {
  margin: 0;
  margin-right: 0;
  margin-top: .3em;
}

.sakubun ruby {
  ruby-align: left;
}
.sakubun ruby > rt {
  font-size: 10px;
  letter-spacing: 0;
  text-align: justify;
  line-height: 1em;
  transform: translateX(.40em) translateY(-1.1em);
  margin-bottom: .1000em;
}