:root {
  --margin-bottom: 13px;
  --margin-lr: 5px;
  --margin-lr-space: 65px;
}

.caption_box {
  position: relative;
  margin-top: 1.5em;
  margin-left: 1.5em;
  margin-right: 1.5em;
  margin-bottom: 1.5em;
  padding: 1em 0.5em 0.5em 0.5em;
  border: 1px solid rgb(0, 0, 200);
  box-shadow: 3px 3px 5px;
  background-color: rgba(255, 255, 0, 0.103);
}

.caption_box .caption {
  position: absolute;
  top: -10px;
  left: 0.5em;
  font-weight: bold;
  font-size: 1em;
  padding: 0 1em;
  margin: 0;
  background-color: white;
  border: 1px solid black;
  border-radius: 7px;
}
.caption_box .box_content {
  top: 10px;
  display: inline-block;
  position: relative;
  padding: 5px;
  font-size: large;
}

.box_content {
  text-align: left;
}

.illust {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  flex-wrap: wrap;
  margin-top: 15px;
  margin-bottom: 15px;
}
img.illust_s {
  width: calc(var(--div-width) * 0.48);
  max-width: 75vw;
  height: auto;
}
img.illust_ss {
  width: calc(var(--div-width) * 0.4);
  max-width: 45vw;
  height: auto;
}

img.illust_m {
  width: calc(var(--div-width) * 0.7);
  max-width: 90vw;
  height: auto;
}

img.illust_l {
  width: calc(var(--div-width) * 0.8);
  max-width: 90vw;
  height: auto;
}

img.illust_ms {
  width: calc(var(--div-width) * 0.6);
  max-width: 90vw;
  height: auto;
}

img.illust_ll {
  width: calc(var(--div-width) * 0.95);
  max-width: 95vw;
  height: auto;
}

img.chara_img {
  display: block;
}

img.chara_img_s {
  display: block;
}

.name {
  height: 11px;
  font-size: 11px;
  text-align: center;
}

.talk_text {
  margin-top: auto;
  margin-bottom: auto;
  font-family: "Meiryo", "Helvetica Neue", "Helvetica", "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "Arial", sans-serif;
}

/*====== sense ===== */
.sense {
  display: flex;
  overflow: hidden;
  margin-bottom: var(--margin-bottom);
  margin-left: var(--margin-lr);
  margin-right: var(--margin-lr-space);
}

.sense_fig {
  display: inline-block;
  margin: 0px 9px 13px 0px;
}

.sense_talk {
  display: inline-block;
  position: relative;
  flex: 1;
  background-color: rgb(245, 255, 250);
  border: 1px solid rgb(156, 225, 145);
  border-radius: 10px;
  padding: 5px 5px 5px 10px;
}

.sense_talk::before {
  content: "";
  position: absolute;
  left: -17px;
  top: 10px;
  border: 8px solid transparent;
  border-right: 8px solid rgb(156, 225, 145);
}

.sense_talk::after {
  content: "";
  position: absolute;
  left: -16px;
  top: 10px;
  border: 8px solid transparent;
  border-right: 8px solid rgb(245, 255, 250);
}

/*====== taro ===== */
.taro {
  display: flex;
  overflow: hidden;
  flex-direction: row-reverse;
  margin-bottom: var(--margin-bottom);
  margin-left: var(--margin-lr-space);
  margin-right: var(--margin-lr);
}

.taro_fig {
  display: inline-block;
  margin: 0px 0px 13px 9px;
}

.taro_talk {
  display: inline-block;
  position: relative;
  flex: 1;
  background-color: rgb(244, 250, 255);
  border: 1px solid rgb(125, 176, 252);

  border-radius: 10px;
  padding: 5px 5px 5px 10px;
}

.taro_talk::before {
  content: "";
  position: absolute;
  right: -17px;
  top: 10px;
  border: 8px solid transparent;
  border-left: 8px solid rgb(125, 176, 252);
}

.taro_talk::after {
  content: "";
  position: absolute;
  right: -16px;
  top: 10px;
  border: 8px solid transparent;
  border-left: 8px solid rgb(244, 250, 255);
}

/*====== hanako ===== */
.hanako {
  display: flex;
  overflow: hidden;
  flex-direction: row-reverse;
  margin-bottom: var(--margin-bottom);
  margin-left: var(--margin-lr-space);
  margin-right: var(--margin-lr);
}

.hanako_fig {
  display: inline-block;
  margin: 0px 0px 13px 9px;
}

.hanako_talk {
  display: inline-block;
  position: relative;
  flex: 1;
  background-color: rgb(255, 244, 250);
  border: 1px solid rgb(252, 125, 176);

  border-radius: 10px;
  padding: 5px 5px 5px 10px;
}

.hanako_talk::before {
  content: "";
  position: absolute;
  right: -17px;
  top: 10px;
  border: 8px solid transparent;
  border-left: 8px solid rgb(252, 125, 176);
}

.hanako_talk::after {
  content: "";
  position: absolute;
  right: -16px;
  top: 10px;
  border: 8px solid transparent;
  border-left: 8px solid rgb(255, 244, 250);
}

/*====== c_chan ===== */
.c_chan {
  display: flex;
  overflow: hidden;
  margin-bottom: var(--margin-bottom);
  margin-left: var(--margin-lr);
  margin-right: var(--margin-lr-space);
}

.c_chan_fig {
  display: inline-block;
  margin: 0px 9px 13px 0px;
}

.c_chan_talk {
  display: inline-block;
  position: relative;
  flex: 1;
  background-color: rgb(255, 255, 245);
  border: 1px solid rgb(253, 193, 81);
  border-radius: 10px;
  padding: 5px 5px 5px 10px;
}

.c_chan_talk::before {
  content: "";
  position: absolute;
  left: -17px;
  top: 10px;
  border: 8px solid transparent;
  border-right: 8px solid rgb(253, 193, 81);
}

.c_chan_talk::after {
  content: "";
  position: absolute;
  left: -16px;
  top: 10px;
  border: 8px solid transparent;
  border-right: 8px solid rgb(255, 255, 245);
}

/*=========== */

@media screen and (min-width: 500px) {
  .talk_text {
    line-height: 1.8rem;
  }
  img.chara_img {
    height: 60px;
  }

  img.chara_img_s {
    height: 45px;
  }
}
@media screen and (max-width: 500px) {
  /* スマホ等 */
  .talk_text {
    font-size: 0.9em;
    line-height: 1.6rem;
  }
  img.chara_img {
    height: 50px;
  }

  img.chara_img_s {
    height: 40px;
  }
}
