@charset "UTF-8";
/* フォントフェースの定義 */
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
/* 全体へのフォント適用 */
body,
body * {
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  /* デフォルトのウェイト */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#site-header {
  z-index: 99999;
}

ul, li {
  list-style: none;
  margin: 0;
}

.d-flex {
  display: flex;
}

.d-inline-block {
  display: inline-block;
}

.justify-content-center {
  justify-content: space-center;
}

.justify-content-between {
  justify-content: space-between;
}

.justify-content-around {
  justify-content: space-around;
}

.aligin-itemes-center {
  align-items: center;
}

.aligin-itemes-stretch {
  align-items: stretch;
}

.under-line_120 {
  position: relative;
}
.under-line_120::after {
  position: absolute;
  content: "";
  width: 140%;
  left: 50%;
  bottom: -10%;
  border-bottom: 2px solid grey;
  transform: translateX(-50%);
  transition: width 1.5s ease;
}

.text-start {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-end {
  text-align: right;
}

.text-color-green {
  color: #0f0;
}

.text-color-blue {
  color: #00f;
}

.text-small {
  font-size: 0.8em;
}

.fw-bold {
  font-weight: bolder;
}

.fa-solid.fa-square-check, .fa-solid.fa-droplet {
  margin-right: 0.5em;
}

br.sp {
  display: none;
}
@media (max-width: 782px) {
  br.sp {
    display: block;
  }
}

/*************************************************************************************************************************/
.progress_hover {
  position: relative;
  overflow: hidden;
  color: #222;
  background-color: transparent;
}
.progress_hover span {
  position: relative;
  z-index: 1;
}
.progress_hover::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0%;
  height: 100%;
  background-color: #ff0;
  z-index: 0;
  transition: width 0.5s ease;
}
.progress_hover:hover::before {
  width: 100%;
}

/*************************************************************************************************************************/
section {
  padding: 2rem 0;
}
@media (max-width: 782px) {
  section {
    padding: 1rem 0;
  }
}

/* フォントフェースの定義 */
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
/* 全体へのフォント適用 */
body,
body * {
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  /* デフォルトのウェイト */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 見出しのウェイト調整（必要に応じて） */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  /* Boldウェイトを適用 */
}

/* 特定の要素で異なるウェイトを使用する例 */
.light-text {
  font-weight: 300;
}

.medium-text {
  font-weight: 500;
}

.black-text {
  font-weight: 900;
}

.banner .banner-wrap {
  position: relative;
  display: flex;
  width: 50%;
  margin: 0 auto;
  background-color: rgba(0, 255, 0, 0.3);
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
  border-radius: 1em;
  border: 3px solid green;
}
@media (max-width: 782px) {
  .banner .banner-wrap {
    width: 100%;
  }
}
.banner .banner-wrap a {
  margin: auto 5em;
}
.banner .banner-wrap .banner-message {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 100;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  /* top: calc(50% - 3em);
  left: calc(50% - 4em); */
}
.banner .banner-wrap .banner-message > div {
  padding: 0.5em 5em;
  margin-top: 2em;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 3em;
}
.banner .banner-wrap .banner-message > div span {
  font-weight: bold;
  font-size: 2rem;
}
@media (max-width: 782px) {
  .banner .banner-wrap .banner-message > div {
    margin-top: 1em;
    padding: 0em;
    width: 90%;
  }
  .banner .banner-wrap .banner-message > div span {
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.25;
  }
}
.banner .banner-wrap > div {
  padding: 2rem 1rem;
}
.banner .banner-wrap > div.banner-left {
  width: 30%;
}
.banner .banner-wrap > div.banner-right {
  width: 70%;
}

.speechBubble {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
  border: 2px solid #000000;
  border-radius: 8px;
  background-color: rgba(255, 255, 0, 0.3);
  text-align: left;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
  width: 80%;
}
.speechBubble::before {
  content: "";
  position: absolute;
  top: 50%;
  border-style: solid;
}
.speechBubble.speechBubble-right {
  margin-right: 10%;
}
.speechBubble.speechBubble-right::before, .speechBubble.speechBubble-right::after {
  right: 0;
  transform: skew(0, -25deg);
  transform-origin: left;
}
.speechBubble.speechBubble-right::before {
  border-width: 0 0 20px 20px;
  border-color: transparent transparent transparent #000000;
  translate: 100% -50%;
}
.speechBubble.speechBubble-right::after {
  border-width: 0 0 15.2px 15.2px;
  border-color: transparent transparent transparent #F9F9AC;
  translate: 100% calc(-50% - 0.4px);
}
.speechBubble.speechBubble-right .speechBubble_child img {
  right: -15%;
}
.speechBubble.speechBubble-left {
  margin-left: 10%;
}
.speechBubble.speechBubble-left::before, .speechBubble.speechBubble-left::after {
  left: 0;
  transform-origin: right;
  transform: skew(0, -25deg);
}
.speechBubble.speechBubble-left::before {
  border-width: 20px 20px 0 0;
  border-color: transparent #000000 transparent transparent;
  translate: -100% -50%;
}
.speechBubble.speechBubble-left::after {
  border-width: 15.2px 15.2px 0 0;
  border-color: transparent #F9F9AC transparent transparent;
  translate: -100% calc(-50% + 0.4px);
}
.speechBubble.speechBubble-left .speechBubble_child img {
  left: -15%;
}
.speechBubble::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 15.2px 15.2px 0 0;
  border-color: transparent #F9F9AC transparent transparent;
  translate: -100% calc(-50% + 0.4px);
  transform: skew(0, -25deg);
  transform-origin: right;
}
.speechBubble .speechBubble_child {
  position: relative;
  display: flex;
}
.speechBubble .speechBubble_child img {
  height: 130%;
  position: absolute;
  z-index: 9999;
  top: 0.5rem;
}
.speechBubble .speechBubble_child .speechBubble_child_text {
  width: 100%;
  padding: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.speechBubble .speechBubble_child .speechBubble_child_text h3 {
  text-align: center;
  margin: 1rem 2rem;
  width: 100%;
}
.speechBubble .speechBubble_child .speechBubble_child_text div {
  text-align: center;
  margin-bottom: 0.5em;
  font-size: 2.2rem;
}
.speechBubble.speechBubble-sm {
  width: 50%;
}
.speechBubble.speechBubble-sm .speechBubble_child_text h3 {
  font-size: 2rem;
  font-weight: normal;
}
@media (max-width: 782px) {
  .speechBubble.speechBubble-sm {
    width: 80%;
  }
}
@media (max-width: 782px) {
  .speechBubble {
    width: 90%;
    padding: 0.5rem;
  }
  .speechBubble .speechBubble_child .speechBubble_child_text {
    padding: 1rem 2rem;
  }
  .speechBubble .speechBubble_child .speechBubble_child_text h3 {
    font-size: 1.75rem;
    margin: 1rem 1rem 2rem;
  }
  .speechBubble .speechBubble_child .speechBubble_child_text div {
    font-size: 1.25rem;
  }
  .speechBubble.speechBubble-right .speechBubble_child img {
    right: -20%;
  }
  .speechBubble.speechBubble-left .speechBubble_child img {
    left: -20%;
  }
}

.content-block .content-block_inner .section-body .effort-container .effort-container_item .effort-facility .voice-container .voice-container_items > .container_items_wrap > div .voice-container_item .person img {
  width: 40% !important;
}

#effort-wrap_2 .content-block .content-block_inner, #info-wrap .content-block .content-block_inner {
  max-width: 900px;
}
@media (max-width: 782px) {
  #effort-wrap_2 .content-block .content-block_inner, #info-wrap .content-block .content-block_inner {
    max-width: 100%;
  }
}/*# sourceMappingURL=sample.css.map */