@charset "UTF-8";

/*
========================================

	cases.css
    
========================================
*/

/*----------------------------------------
   layout
----------------------------------------*/

body {
  background-image: linear-gradient(#73c9ff 0, #9cddff 20vh, #c4f0ff 40vh, #c4f0ff 100vh);
} /*bg_sky_cloud.svg*/

ol.km_talk_index li,
h5.km_talk_index {
  font-family:/*YakuHanJP,*/ "FP-ヒラギノUD丸ゴ StdN W6", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Osaka", "Meiryo", "MS PGothic", Sans-Serif;
}

ol.km_talk_index li ol li {
  font-family:/*YakuHanJP,*/ "FP-ヒラギノUD丸ゴ StdN W4", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Osaka", "Meiryo", "MS PGothic", Sans-Serif;
}

blockquote p {
  font-family:/*YakuHanJP,*/ "FP-ヒラギノUD丸ゴ StdN W6", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Osaka", "Meiryo", "MS PGothic", Sans-Serif;
}

.wrapper {
  /*background-color:#c4f0ff;*/
  background-image: url("/common/cmn_img/bg_sky.png"); /*fallback*/
  background-image: url("/common/cmn_img/bg_sky_cloud.svg"), none;
  background-size: 200%;
  background-repeat: no-repeat;
  background-position: center top;
  background-attachment: fixed;
}

.wrapper.seika {
  /*background-image: linear-gradient(#73c9ff 0, #9cddff 30vh, #c4f0ff 50vh, #c4f0ff 100vh) ;*/
  background-color: rgba(115, 201, 255, 0.35);
  background-blend-mode: multiply;
}

div.h2Box {
  display: block;
  width: 100%;
  background-color: rgba(31, 153, 71, 0.75);
  /*background-image: url("/common/cmn_img/bg_title.png"); fallback
    background-image: url("/common/cmn_img/bg_title.svg"), none;
    background-size: cover;
    background-repeat: no-repeat;
    background-position:bottom center;*/
  background-blend-mode: multiply;
}

div.h2Box h2 {
  color: #fff;
}

@media (min-width: 992px) {
  .wrapper {
    background-size: contain;
  }
} /*@media end*/

/*----------------------------------------
   parts
----------------------------------------*/

.balloon {
  position: relative;
  padding: 32px 32px 48px 32px;
  border-radius: 16px;
  background-color: #fff;
}

.balloon::before {
  content: "";
  position: absolute;
  display: block;
  width: 40px;
  height: 36px;
  bottom: -12px;
  left: 42%;
  margin-left: 0;
  background-color: #fff;
  border-radius: 0 50px 0 50px;
  z-index: -1;
}

.balloon::after {
  content: "";
  position: absolute;
  display: block;
  width: 40px;
  height: 36px;
  bottom: -6px;
  left: 45%;
  margin-left: 0;
  background-color: #c4f0ff;
  border-radius: 0 50px 0 50px;
  z-index: -1;
  transform: rotate(30deg);
}

.balloon_l {
  position: relative;
  padding: 32px;
  border-radius: 16px;
  background-color: #fff;
}

.balloon_l::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 24px;
  left: -24px;
  border: 12px solid transparent;
  border-right: 24px solid #fff;
  transform: rotate(30deg);
}

.balloon_r {
  position: relative;
  padding: 32px;
  border-radius: 16px;
  background-color: #fff;
}

.balloon_r::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 24px;
  right: -24px;
  border: 12px solid transparent;
  border-left: 24px solid #fff;
  transform: rotate(-30deg);
}

@media (min-width: 640px) {
  .balloon_l_rev {
    position: relative;
    padding: 32px;
    border-radius: 16px;
    background-color: #fff;
  }

  .balloon_l_rev::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 24px;
    left: auto;
    right: -24px;
    border: 12px solid transparent;
    border-right: 24px solid #fff;
    transform: rotate(150deg);
  }
} /*@media end*/

.que .balloon_l {
  background-color: #bfdbfe;
}

.que .balloon_l::before {
  border-right: 24px solid #bfdbfe;
}

div#talk {
  background: rgba(196, 240, 255, 0.5);
}

del {
  opacity: 0.75;
  background: #e5e5e5;
  background-blend-mode: multiply;
}

blockquote p {
  position: relative;
  /*border:4px solid #fff;*/
  padding: 0 0.5rem;
  /*background-color: rgba(255,255,255,0.5);
	background-color: #0e24a2;*/
  color: #444;
  font-weight: 700;
  margin: 0;
  font-style: oblique;
  display: inline-block;
  /*border-radius: 8px;*/
}

blockquote p::before {
  position: absolute;
  font-family: serif;
  content: "“";
  color: #1d4ed8;
  top: -12px;
  left: -12px;
  font-size: 2rem;
  font-weight: 900;
}

blockquote p::after {
  position: absolute;
  font-family: serif;
  content: "„";
  color: #1d4ed8;
  right: -12px;
  bottom: -12px;
  font-size: 2rem;
  font-weight: 900;
}

div.koryo_interview blockquote p {
  padding: 1.5rem;
  font-style: normal;
  line-height: 2 !important;
}

div.koryo_interview blockquote p::before {
  top: 0;
  left: 0;
}

div.koryo_interview blockquote p::after {
  right: 0;
  bottom: 0;
}

cite {
  word-break: break-all !important;
} /*URLも折り返せるように*/

cite a {
  color: #1d4ed8; /*blue-700*/
  font-weight: 500;
  font-family:/*YakuHanJP,*/ "FP-ヒラギノUD丸ゴ StdN W5", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Osaka", "Meiryo", "MS PGothic", Sans-Serif;
  line-height: 2;
}
cite a:hover {
  background: #c4f0ff;
  text-decoration: underline;
}

/*疑似blockquote*/

div.bq {
  position: relative;
  /*border:1px solid #A5B4FC;indigo-300*/
  border-radius: 0.5rem;
  padding: 1rem;
  background-color: #e0e7ff; /*indigo-100*/
  /*margin-top: 2.5rem;*/
  padding: 2rem 1rem;
}
div.bq:before {
  position: absolute;
  font-family: serif;
  content: "“";
  color: #a5b4fc;
  top: 10px;
  left: 16px;
  font-size: 2rem;
  font-weight: 900;
}
div.bq:after {
  position: absolute;
  font-family: serif;
  content: "„";
  color: #a5b4fc;
  right: 16px;
  bottom: 10px;
  font-size: 2rem;
  font-weight: 900;
}
div.bq p {
  margin: 0;
  font-style: oblique;
  font-weight: 500;
}

/*見出し矢印*/

.head_arrow,
.head_arrow_rev {
  display: block;
  position: relative;
  width: 100%;
  padding: 12px 0;
  /*border-bottom: 2px solid #60a5fa; blue-400*/
  border-bottom: 2px solid #93c5fd; /*blue-300*/
}

@media (min-width: 992px) {
  .head_arrow::before {
    position: absolute;
    bottom: 0;
    left: -8px;
    width: 100%;
    height: 12px;
    content: "";
    /*border-bottom: 2px solid #60a5fa;blue-400*/
    border-right: 8px solid #93c5fd; /*blue-300*/
    transform: skew(55deg);
  }

  .head_arrow_rev::before {
    position: absolute;
    bottom: 0;
    right: -8px;
    width: 100%;
    height: 12px;
    content: "";
    /*border-bottom: 2px solid #60a5fa;*/
    border-left: 8px solid #93c5fd;
    transform: skew(-55deg);
  }
}
