@charset "UTF-8";
@font-face {
  font-family: "Noto Sans JP-02";
  src: url("../font/NotoSansJP-VariableFont_wght.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans";
  src: url("../font/NotoSans-VariableFont_wght.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: normal;
}
/*==========　基本設定　==========*/
#main_contents {
  overflow: hidden;
  font-size: 16px;
  font-family: "Noto Sans JP-02";
}
@media screen and (max-width: 959px) {
  #main_contents {
    font-size: 14px;
    margin-top: 1em;
  }
}
#main_contents .container {
  width: 100%;
  max-width: calc(980px + var(--paddingLR) * 2);
  padding-left: var(--paddingLR);
  padding-right: var(--paddingLR);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
#main_contents .inner {
  width: 100%;
  max-width: calc(800px + var(--paddingLR) * 2);
  padding-left: var(--paddingLR);
  padding-right: var(--paddingLR);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
#main_contents .inner_contents {
  width: 100%;
  max-width: calc(720px + var(--paddingLR) * 2);
  padding-left: var(--paddingLR);
  padding-right: var(--paddingLR);
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media screen and (max-width: 959px) {
  #main_contents .container .inner,
#main_contents .container .inner_contents,
#main_contents .inner .inner_contents {
    padding-left: 0;
    padding-right: 0;
  }
}
#main_contents .anchor {
  padding-top: var(--paddingSection);
  margin-top: calc(var(--paddingSection) * -1);
  pointer-events: none;
}
#main_contents .anchor > * {
  pointer-events: auto;
}
@media screen and (max-width: 959px) {
  #main_contents .anchor {
    padding-top: 88px;
    margin-top: -88px;
  }
}

/*========== レイアウト用 ==========*/
.padding_section {
  padding-top: var(--paddingSection);
  padding-bottom: var(--paddingSection);
}

.margin_section {
  margin-top: var(--paddingSection);
  margin-bottom: var(--paddingSection);
  pointer-events: none;
}
.margin_section:first-child {
  margin-top: 0;
}
.margin_section:last-child {
  margin-bottom: 0;
}
.margin_section > *:not(.margin_section):not(.anchor) {
  pointer-events: auto;
}

/*==========
汎用クラス
==========*/
@media screen and (min-width: 960px) {
  .sp_only {
    display: none;
  }
}

@media screen and (max-width: 959px) {
  .pc_only {
    display: none;
  }
}

/*========== KKM origin ==========*/
#main_contents {
  background-color: #fff;
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.25);
  line-height: 1.5;
  color: #222222;
}

#main_contents,
.modaal-wrapper {
  --paddingSection: 80px;
  --paddingLR: 10px;
  --headerHeight: 80px;
  --color_main: #008CA4;
}
@media screen and (max-width: 959px) {
  #main_contents,
.modaal-wrapper {
    --paddingSection: 24px;
    --headerHeight: 64px;
  }
}

#section_foot {
  background-color: #F5F5F5;
}

#pagetop.view {
  transform: translateY(-84px);
}
@media screen and (max-width: 959px) {
  #pagetop.view {
    transform: translateY(-64px);
  }
}

/*========== 汎用オブジェクト ==========*/
#main_contents {
  word-break: break-word;
  overflow: hidden;
  background-color: #F5F5F5;
  position: relative;
  z-index: 1;
  /*==========
  汎用デザイン
  ==========*/
}
#main_contents::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: center/auto url("../img/main_bg.svg") repeat;
  opacity: 0.05;
  z-index: -1;
}
#main_contents img {
  max-width: 100%;
}
#main_contents .mt_20 {
  margin-top: 1.25em;
}
#main_contents .mt_40 {
  margin-top: 2.5em;
}
#main_contents .fs_12 {
  font-size: 0.75em;
}
@media screen and (max-width: 959px) {
  #main_contents .fs_12 {
    font-size: 1.2rem;
  }
}
#main_contents .fs_13 {
  font-size: 0.8125em;
}
@media screen and (max-width: 959px) {
  #main_contents .fs_13 {
    font-size: 1.2rem;
  }
}
#main_contents .fs_14 {
  font-size: 0.875em;
}
@media screen and (max-width: 959px) {
  #main_contents .fs_14 {
    font-size: 1.3rem;
  }
}
#main_contents .fs_15 {
  font-size: 0.9375em;
}
@media screen and (max-width: 959px) {
  #main_contents .fs_15 {
    font-size: 1.4em;
  }
}
#main_contents .fs_18 {
  font-size: 1.125em;
}
@media screen and (max-width: 959px) {
  #main_contents .fs_18 {
    font-size: 1.6rem;
  }
}
#main_contents .fw_bold {
  font-weight: 700;
}
#main_contents .fw_mid {
  font-weight: 500;
}
#main_contents .fw_normal {
  font-weight: 400;
}
#main_contents .ff_meiryo {
  font-family: "メイリオ", "Meiryo", serif;
}
#main_contents .text_red {
  color: #E26D6A;
}
#main_contents .text_blue {
  color: #00849E;
}
#main_contents .text_green {
  color: #008CA4;
}
#main_contents .text_right {
  text-align: right;
}
#main_contents .text_aside {
  font-size: 0.875em;
}
#main_contents .indent_icon {
  display: flex;
  align-items: flex-start;
}
#main_contents .indent_icon span:first-child {
  flex-shrink: 0;
}
#main_contents .indent_icon + .indent_icon {
  margin-top: 10px;
}
#main_contents .indent_icon + .indent_icon.margin_thin {
  margin-top: 4px;
}
#main_contents .indent_icon + .indent_icon.margin_no {
  margin-top: 0;
}
#main_contents .ib {
  display: inline-block;
}
#main_contents b {
  font-weight: 700;
}
#main_contents i, #main_contents .italic {
  font-style: italic;
  margin-right: 0.1875em;
}
#main_contents sup {
  display: inline;
  vertical-align: super;
  font-size: 0.625em;
}
#main_contents sub {
  display: inline;
  vertical-align: sub;
  font-size: 0.625em;
}
#main_contents sub.reg {
  font-size: inherit;
  vertical-align: -0.4em;
  line-height: 0;
}
#main_contents .asterisk {
  position: relative;
  padding-left: 1em;
}
#main_contents .asterisk::before {
  content: "※";
  position: absolute;
  left: 0;
}
#main_contents a:not([class^=btn_]) {
  color: var(--color_main);
  text-decoration: underline;
}
@media screen and (min-width: 960px) {
  #main_contents a:not([class^=btn_]) {
    transition: opacity 0.5s;
  }
  #main_contents a:not([class^=btn_]):hover {
    opacity: 0.5;
  }
}
#main_contents a:not([class^=btn_])[href*="#"] {
  font-weight: 700;
  color: var(--color_main);
  text-decoration: none;
}
@media screen and (min-width: 960px) {
  #main_contents a:not([class^=btn_])[href*="#"]:hover {
    text-decoration: underline;
  }
}
#main_contents a[href*=".pdf"] {
  display: inline-block;
  position: relative;
  padding-right: 1.5em;
  text-decoration: underline;
}
#main_contents a[href*=".pdf"]::before {
  content: "";
  width: 1em;
  height: 1lh;
  background: center/contain url("../img/icon_pdf.svg") no-repeat;
  display: block;
  position: absolute;
  top: -0.125em;
  right: 0.25em;
}
#main_contents .layout_section:not(:first-child) {
  margin-top: var(--paddingSection);
}
#main_contents .layout_section .section_case {
  padding: 1.5em var(--paddingLR) var(--paddingSection);
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  color: #fff;
  background-color: #fff;
  position: relative;
  z-index: 1;
}
#main_contents .layout_section .section_case::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: var(--color_main);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - (var(--paddingSection) - 1em)), 50% 100%, 0% calc(100% - (var(--paddingSection) - 1em)));
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - (var(--paddingSection) - 1em)), 50% 100%, 0% calc(100% - (var(--paddingSection) - 1em)));
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#main_contents .layout_section .section_case .title_main {
  font-size: 2em;
  font-weight: 700;
  border-bottom: 3px solid #fff;
  padding-bottom: 0.25em;
  margin-bottom: 0.75em;
}
#main_contents .layout_section .section_case .title_sub {
  font-size: 1.375em;
  font-weight: 700;
  margin-bottom: 0.25em;
}
#main_contents .layout_section .section_case .title_sub:not(:first-child) {
  margin-top: 1.1em;
}
#main_contents .layout_section .section_case .area_bg {
  background-color: #fff;
  padding: 1em 2.5em;
  border-radius: 10px;
  color: #222222;
}
#main_contents .layout_section .section_case .area_bg .title {
  color: var(--color_main);
  font-weight: 700;
}
#main_contents .layout_section .section_case .list_history {
  border-top: 1px dashed var(--color_main);
}
#main_contents .layout_section .section_case .list_history > * {
  padding: 4px 0;
  border-bottom: 1px dashed var(--color_main);
}
#main_contents .layout_section .section_case .list_history:not(:first-child) {
  margin-top: 0.5em;
}
#main_contents .layout_section .section_case .inner_contents {
  max-width: 652px;
  margin-left: auto;
  margin-right: auto;
}
#main_contents .layout_section .section_case .flex_table {
  width: 100%;
  display: flex;
}
#main_contents .layout_section .section_case .flex_table > * {
  flex: 1;
  margin-right: 2.5em;
}
#main_contents .layout_section .section_case .label {
  border: 1px solid #00849E;
  text-align: center;
  padding: 0.125em 0.5em;
  margin-bottom: 0.25em;
}
#main_contents .layout_section .section_case table {
  margin-left: 10px;
  margin-right: 10px;
  font-size: 0.9375em;
  line-height: 1.4;
  width: calc(100% - 20px);
}
#main_contents .layout_section .section_case table th, #main_contents .layout_section .section_case table td {
  font-weight: 500;
  vertical-align: middle;
}
#main_contents .layout_section .section_case table th:not(:last-child), #main_contents .layout_section .section_case table td:not(:last-child) {
  padding-right: 4px;
}
#main_contents .layout_section .section_case table:not(:first-child):not(.mt_20) {
  margin-top: 0.5em;
}
#main_contents .layout_section .section_case table .row_sub th {
  padding-left: 1.25em;
}
#main_contents .layout_section .section_case table th {
  text-align: left;
}
#main_contents .layout_section .section_case table td {
  text-align: right;
}
#main_contents .layout_section .section_case .aside_area {
  font-weight: 500;
  margin-top: 1.0666667em;
  font-size: 0.9375em;
  line-height: 1.4;
}
@media screen and (max-width: 959px) {
  #main_contents .layout_section .section_case {
    border-radius: 10px 10px 0 0;
  }
  #main_contents .layout_section .section_case .title_main {
    font-size: 1.5em;
    border-width: 2px;
  }
  #main_contents .layout_section .section_case .title_sub {
    font-size: 1.25em;
  }
  #main_contents .layout_section .section_case .area_bg {
    padding: 1em var(--paddingLR);
    border-radius: 5px;
  }
  #main_contents .layout_section .section_case .flex_table {
    flex-direction: column;
    align-items: center;
  }
  #main_contents .layout_section .section_case .flex_table > * {
    width: 100%;
    max-width: 240px;
    flex: 0 1 auto;
    margin-right: 0;
  }
  #main_contents .layout_section .section_case .flex_table > *:not(:last-child) {
    margin-bottom: 1.5em;
  }
  #main_contents .layout_section .section_case table {
    max-width: 184px;
    margin-left: auto;
    margin-right: auto;
  }
  #main_contents .layout_section .section_case .aside_area {
    margin-top: 1.5em;
  }
}
#main_contents .layout_section .section_question {
  background-color: #fff;
  padding: 1.5em var(--paddingLR) 3.25em;
  position: relative;
}
#main_contents .layout_section .section_question::after {
  content: "";
  width: 36.7347%;
  aspect-ratio: 360/32;
  background-color: #FCF0F0;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
}
#main_contents .layout_section .section_question .row_question {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #E5F3F6;
  border-radius: 10px;
  padding: 0.75em 1.25em 0.75em;
  margin-bottom: 1.6875em;
}
#main_contents .layout_section .section_question .row_question .title {
  font-size: 1.375em;
  line-height: 1.25;
  font-weight: 700;
  color: var(--color_main);
  position: relative;
  padding-left: 2.5em;
}
#main_contents .layout_section .section_question .row_question .title::before {
  content: "Q.";
  font-size: 1.909em;
  position: absolute;
  line-height: 1;
  left: 0;
  top: -0.25em;
}
#main_contents .layout_section .section_question .row_explain_head {
  cursor: pointer;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--color_main);
  color: #fff;
  border-radius: 10px;
  padding: 0.125em 1.25em 0.125em;
  transition: border-radius 0.5s;
}
#main_contents .layout_section .section_question .row_explain_head.open {
  border-radius: 10px 10px 0 0;
}
#main_contents .layout_section .section_question .row_explain_head .title {
  font-size: 1.375em;
  font-weight: 700;
}
#main_contents .layout_section .section_question .row_explain_body {
  display: none;
  background-color: #F2F7F8;
  padding: 1.5em 1.25em;
  border-radius: 0 0 10px 10px;
}
#main_contents .layout_section .section_question .row_explain_body:has(.row_explain_head) {
  padding-bottom: 0;
}
#main_contents .layout_section .section_question .row_explain_body .row_explain_head {
  width: calc(100% + 2.5em);
  margin-left: -1.25em;
  margin-top: 2.5em;
}
#main_contents .layout_section .section_question .row_explain_body .row_explain_head.open {
  border-radius: 0 0 0 0;
}
#main_contents .layout_section .section_question .row_explain_body .row_explain_body {
  padding-left: 0;
  padding-right: 0;
}
#main_contents .layout_section .section_question .row_explain_body .flex {
  display: flex;
  gap: 1.25em;
}
#main_contents .layout_section .section_question .row_explain_body .flex > * {
  flex: 1;
}
@media screen and (max-width: 959px) {
  #main_contents .layout_section .section_question {
    padding-bottom: 2.5em;
  }
  #main_contents .layout_section .section_question::after {
    width: 100%;
    max-width: 200px;
  }
  #main_contents .layout_section .section_question .row_question {
    min-height: 48px;
    border-radius: 5px;
    padding: 0.75em var(--paddingLR) 0.75em;
  }
  #main_contents .layout_section .section_question .row_question .title {
    font-size: 1.125em;
    padding-left: 2em;
  }
  #main_contents .layout_section .section_question .row_question .title::before {
    font-size: 1.5em;
  }
  #main_contents .layout_section .section_question .row_explain_head {
    min-height: 48px;
    border-radius: 5px;
    padding: 0.125em var(--paddingLR) 0.125em;
    transition: border-radius 0.5s;
  }
  #main_contents .layout_section .section_question .row_explain_head.open {
    border-radius: 5px 5px 0 0;
  }
  #main_contents .layout_section .section_question .row_explain_head .title {
    font-size: 1.125em;
  }
  #main_contents .layout_section .section_question .row_explain_body {
    padding: 1.5em var(--paddingLR);
    border-radius: 0 0 5px 5px;
  }
  #main_contents .layout_section .section_question .row_explain_body .row_explain_head {
    width: calc(100% + var(--paddingLR) * 2);
    margin-left: calc(var(--paddingLR) * -1);
    margin-top: 1.5em;
  }
  #main_contents .layout_section .section_question .row_explain_body .flex {
    flex-direction: column;
  }
  #main_contents .layout_section .section_question .row_explain_body .flex > * {
    width: 100%;
    flex: 0 1 auto;
  }
}
#main_contents .layout_section .section_answer {
  background-color: #fff;
  padding: 0 var(--paddingLR) 4em;
  border-radius: 0 0 20px 20px;
}
#main_contents .layout_section .section_question .title_explain {
  font-size: 1.25em;
  font-weight: 700;
  color: var(--color_main);
  margin-bottom: 1.25em;
}
#main_contents .layout_section .section_answer .title_answer {
  font-size: 1.25em;
  font-weight: 700;
  color: var(--color_main);
}
#main_contents .layout_section .section_answer .row_answer_head {
  cursor: pointer;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #E26D6A;
  color: #fff;
  border-radius: 10px;
  padding: 0.125em 1.25em 0.125em;
  transition: border-radius 0.5s;
}
#main_contents .layout_section .section_answer .row_answer_head.open {
  border-radius: 10px 10px 0 0;
}
#main_contents .layout_section .section_answer .row_answer_head .title {
  font-size: 2em;
  font-weight: 700;
}
#main_contents .layout_section .section_answer .row_answer_head .title::first-letter {
  font-size: 1.3125em;
}
#main_contents .layout_section .section_answer .row_answer_body {
  display: none;
  background-color: #F5F5F5;
  padding: 1.5em 1.25em;
  border-radius: 0 0 10px 10px;
}
#main_contents .layout_section .section_answer .row_answer_body .title {
  font-size: 1.125em;
  font-weight: 700;
}
#main_contents .layout_section .section_answer .row_answer_body .title.underline {
  padding-bottom: 0.5em;
}
#main_contents .layout_section .section_answer .row_answer_body .border {
  border: 1px solid var(--color_main);
  border-radius: 5px;
  padding: 1em 1.25em;
}
#main_contents .layout_section .section_answer .row_answer_body .border:not(:first-child) {
  margin-top: 1em;
}
#main_contents .layout_section .section_answer .row_answer_body .bg_lightblue {
  background-color: #F2F7F8;
  padding: 1em 1.25em;
}
#main_contents .layout_section .section_answer .row_answer_body .bg_lightblue:not(:first-child) {
  margin-top: 1em;
}
#main_contents .layout_section .section_answer .row_answer_body .area_aside {
  font-weight: 400;
}
#main_contents .layout_section .section_answer .row_answer_body .area_aside:not(:first-child) {
  margin-top: 1.5em;
}
#main_contents .layout_section .section_answer .row_answer_body .underline {
  padding-bottom: 1em;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 959px) {
  #main_contents .layout_section .section_answer {
    padding-bottom: 1.5em;
    border-radius: 0 0 10px 10px;
  }
  #main_contents .layout_section .section_answer .title_answer {
    font-size: 1.125em;
  }
  #main_contents .layout_section .section_answer .row_answer_head {
    min-height: 48px;
    border-radius: 5px;
    padding: 0.125em var(--paddingLR) 0.125em;
  }
  #main_contents .layout_section .section_answer .row_answer_head.open {
    border-radius: 5px 5px 0 0;
  }
  #main_contents .layout_section .section_answer .row_answer_head .title {
    font-size: 1.5em;
  }
  #main_contents .layout_section .section_answer .row_answer_body {
    padding: 1.5em var(--paddingLR);
    border-radius: 0 0 5px 5px;
  }
  #main_contents .layout_section .section_answer .row_answer_body .border {
    padding: 1em var(--paddingLR);
  }
  #main_contents .layout_section .section_answer .row_answer_body .bg_lightblue {
    padding: 1em var(--paddingLR);
  }
}
#main_contents .layout_section .js-accordion-btn.open .text_info::after {
  transform: rotate(0deg);
}
#main_contents .layout_section .text_info {
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
#main_contents .layout_section .text_info::after {
  content: "";
  width: 1.25em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/icon_arrow.svg") no-repeat;
  transform: rotate(180deg);
  transition: transform 0.5s;
}
#main_contents .layout_section .bg_white {
  background-color: #fff;
  padding: 1em 1.25em;
  font-weight: 500;
}
#main_contents .layout_section .bg_white:not(:first-child) {
  margin-top: 1.25em;
}
@media screen and (max-width: 959px) {
  #main_contents .layout_section .bg_white {
    padding: 1em var(--paddingLR);
  }
}
#main_contents .layout_section p:not(:first-child):not(.text_info) {
  margin-top: 1em;
}

/*==========
modaal
==========*/
.modaal-content {
  max-width: 1325px;
  margin-left: auto;
  margin-right: auto;
  padding: 2.5em;
  background-color: #fff;
}
@media screen and (max-width: 959px) {
  .modaal-content {
    padding: var(--paddingLR);
  }
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background-color: var(--color_main) !important;
}

.modaal {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-radius: 10px;
  padding: 0.875em var(--paddingLR);
  display: block;
  position: relative;
  z-index: 1;
  transition: transform 0.5s;
}
.modaal::before {
  content: "";
  width: 1.625em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/icon_modaal.svg") no-repeat;
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 2;
}
.modaal img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.modaal-noscroll .wrapper {
  position: relative;
  z-index: -1;
}

.modaal-content-container {
  padding: 0 !important;
}

/*==========
リスト
==========*/
.list_icon > * {
  display: flex;
}
.list_icon > * > span:first-child {
  flex-shrink: 0;
}

.list_dots > * {
  position: relative;
  padding-left: 1em;
}
.list_dots > *::before {
  content: "・";
  position: absolute;
  left: 0;
  color: var(--color_main);
}

.dl_01 {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 0.5em 1.25em;
  font-weight: 500;
}
.dl_01:not(:first-child) {
  margin-top: 0.5em;
}

.ol_01 {
  counter-reset: ol;
}
.ol_01 > * {
  position: relative;
  padding-left: 1.75em;
}
.ol_01 > *::before {
  counter-increment: ol;
  content: counter(ol) "．";
  position: absolute;
  left: 0;
}
.ol_01 > *:not(:first-child) {
  margin-top: 0.625em;
}
.ol_01:not(:first-child) {
  margin-top: 1.5em;
}

.ol_02 {
  counter-reset: ol;
}
.ol_02 > * {
  position: relative;
  padding-left: 1.5em;
}
.ol_02 > *::before {
  counter-increment: ol;
  content: counter(ol) "）";
  position: absolute;
  left: 0;
}
.ol_02:not(:first-child) {
  margin-top: 0.625em;
}

/*==========
タイトル
==========*/
/*========== レイアウト ==========*/
/*==========
フッター
==========*/
/*==========
PageToTop
==========*/
#pagetop {
  --pagetopSize: 80px;
  cursor: pointer;
  width: var(--pagetopSize);
  aspect-ratio: 1/1;
  background: center/contain url("../img/icon_pagetop.svg") no-repeat;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 98;
  margin: 7px;
  transform: translateY(calc(100% + var(--paddingLR)));
  transition: transform 0.5s, opacity 0.5s;
}
@media screen and (min-width: 960px) {
  #pagetop:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 959px) {
  #pagetop {
    --pagetopSize: 50px;
  }
}

/*==========
mv
==========*/
#mv {
  padding-top: 2.5em;
  position: relative;
  z-index: 1;
}
#mv::after {
  content: "";
  width: 100%;
  height: 70%;
  background-color: var(--color_main);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#mv .section_title {
  display: flex;
  align-items: flex-end;
  gap: 1em;
  margin-bottom: -1px;
}
#mv .section_title .title_main {
  font-size: 2.75em;
  font-weight: 700;
  line-height: 1.27273;
  color: var(--color_main);
}
#mv .section_title .area_text {
  flex: 1;
  background-color: #fff;
  border-radius: 20px;
  padding: 1.25em 3.125em;
  margin-right: 2em;
  margin-bottom: 1.5em;
  position: relative;
}
#mv .section_title .area_text::after {
  content: "";
  width: 2em;
  aspect-ratio: 1/1;
  background: center/contain url("../img/mv_bubble.svg") no-repeat;
  position: absolute;
  bottom: 2em;
  right: 1px;
  transform: translateX(100%);
}
#mv .section_text {
  background-color: #fff;
  border: 1px solid var(--color_main);
  border-radius: 20px;
  padding: 1.5em 2.5em;
}
#mv .section_text .area_doctor {
  padding-bottom: 10px;
  border-bottom: 2px solid var(--color_main);
  margin-bottom: 1em;
}
#mv .section_text .row_post {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 10px;
}
#mv .section_text .row_post .label {
  background-color: var(--color_main);
  color: #fff;
  border-radius: 5px;
  padding: 2px 10px;
  font-size: 0.875em;
  font-weight: 500;
  flex-shrink: 0;
}
#mv .section_text .row_post .post {
  font-weight: 500;
}
#mv .section_text .row_name {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  font-weight: 500;
  line-height: 1;
  margin-top: 0.5em;
  margin-bottom: 0.25em;
}
#mv .section_text .row_name .name {
  font-size: 1.25em;
}
#mv .area_aside {
  font-weight: 400;
}
#mv .area_aside:not(:first-child) {
  margin-top: 1em;
}
@media screen and (max-width: 959px) {
  #mv .section_title {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    flex-direction: column;
    align-items: flex-start;
  }
  #mv .section_title .title_main {
    font-size: 1.55em;
  }
  #mv .section_title .area_text {
    border-radius: 10px;
    padding: 1.25em;
    margin-right: 0;
    margin-bottom: 1em;
  }
  #mv .section_title .area_text::after {
    width: 1em;
    bottom: 0;
    right: 2em;
    transform: translateY(100%) rotate(90deg);
  }
  #mv .section_title .area_icon {
    width: 96px;
    margin-left: auto;
    margin-top: -2.5em;
  }
  #mv .section_text {
    border-radius: 10px;
    padding: 1.5em var(--paddingLR);
  }
}

/*==========
section_foot
==========*/
#section_foot {
  margin-top: var(--paddingSection);
  padding: 2.5em 0;
  text-align: right;
}
#section_foot p + p {
  margin-top: 0.5em;
}
#section_foot a:not([class]) {
  font-weight: 500;
  color: inherit;
}

/*==========
Effect
==========*/
.trigger .fx_fadeIn, .trigger.fx_fadeIn {
  -webkit-animation-name: fx_fadeIn;
          animation-name: fx_fadeIn;
}
.trigger .fx_fadeUp, .trigger.fx_fadeUp {
  -webkit-animation-name: fx_fadeUp;
          animation-name: fx_fadeUp;
}
.trigger .fx_slideLeft, .trigger.fx_slideLeft {
  -webkit-animation-name: fx_slideLeft;
          animation-name: fx_slideLeft;
}
.trigger .fx_slideRight, .trigger.fx_slideRight {
  -webkit-animation-name: fx_slideRight;
          animation-name: fx_slideRight;
}

.fx_fadeIn {
  opacity: 0;
  will-change: opacity;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

@-webkit-keyframes fx_fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fx_fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fx_fadeUp {
  opacity: 0;
  transform: translateY(40px);
  will-change: transform, opacity;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

@-webkit-keyframes fx_fadeUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

@keyframes fx_fadeUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
.fx_slideLeft {
  will-change: transform, opacity;
  transform: translateX(-40px);
  opacity: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

@-webkit-keyframes fx_slideLeft {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fx_slideLeft {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fx_slideRight {
  will-change: transform, opacity;
  transform: translateX(40px);
  opacity: 0;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

@-webkit-keyframes fx_slideRight {
  0% {
    opacity: 0;
    transform: translateX(40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fx_slideRight {
  0% {
    opacity: 0;
    transform: translateX(40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}