@charset "UTF-8";

/* CSS Document */
section#talk_wrap {
  background-color: #ffffff;
  padding-top: 60px;
  font-family: "Jun 201";
}

#talk_nav,
.talk_nav {
  margin: 60px 0px 0px;
}

.letter {
  background-color: #e3faff;
  margin: auto;
  font-family: "Role Soft Banner Pro Regular";
  font-size: 16px;
}

.letter_tsubasa {
  background-color: #f3ffe3;
  margin: auto;
  font-family: "Role Soft Banner Pro Regular";
  font-size: 16px;
}
.inner.bg_color {
    padding-top: 0px;
}
.strong {
  font-family: "Role Soft Banner Pro Bold";
  line-height: 160%;
}

.illustration {
  width: 70%;
  margin: auto;
}

#talk_body .letter .txt_box .desc p,
#talk_body .letter .txt_box .desc h3 {
  line-height: 1.6;
  margin-bottom: 1em;
  letter-spacing: 0;
}

#talk_body .letter_tsubasa .txt_box .desc p,
#talk_body .letter_tsubasa .txt_box .desc h3 {
  line-height: 1.6;
  margin-bottom: 1em;
  letter-spacing: 0;
}

#talk_wrap .talk_end {
  padding-bottom: 20px;
}

p.date {
  font-size: 0.8em;
}

.letter-icon {
  width: 75px;
  margin: 40px auto 12px auto;
  display: block;
}

.toggle-lang {
  position: relative;
}

.btn-toggle-lang {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 22px;
  right: 16px;
}

.btn-toggle-lang .btn-lang-underline {
  transition: stroke-dashoffset 0.3s ease 0.05s;
}

.btn-toggle-lang .btn-lang {
  transition: fill 0.3s ease;
  fill: #EDEDED;
}

.toggle-lang .letter-body[data-lang] {
  opacity: 0;
  max-height: 0;
  height: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, height 0s linear 0.3s, max-height 0s linear 0.3s, visibility 0s linear 0.3s;
}

.toggle-lang[data-active-lang="en"] .letter-body[data-lang="en"],
.toggle-lang[data-active-lang="ja"] .letter-body[data-lang="ja"] {
  opacity: 1;
  height: 100%;
  max-height: 10000px;
  visibility: visible;
  transition: opacity 0.3s ease 0.3s, height 0s linear 0.3s, max-height 0s linear 0.3s, visibility 0s linear 0.3s;
}

g[data-lang="en"] .btn-lang-underline {
  stroke-dasharray: 35.5;
  stroke-dashoffset: 35.5;
}

g[data-lang="ja"] .btn-lang-underline {
  stroke-dasharray: 46.75;
  stroke-dashoffset: 46.75;
}

.toggle-lang[data-active-lang="en"] g[data-lang="en"] .btn-lang-underline {
  stroke-dashoffset: 71.0;
}

.toggle-lang[data-active-lang="ja"] g[data-lang="ja"] .btn-lang-underline {
  stroke-dashoffset: 0;
}

.toggle-lang[data-active-lang="en"] g[data-lang="en"] .btn-lang {
  fill: #FFD9D9;
}

.toggle-lang[data-active-lang="ja"] g[data-lang="ja"] .btn-lang {
  fill: #FFD9D9;
}

#talk_body .letter .txt_box .desc p:has(+ .btn_modal_content){
  margin-bottom: 0;
}
.btn_modal_content {
  line-height: 1.6;
}
.modal_content_inner {
  padding-top: 40px;
}

@media (min-width: 641px) {
  #talk_body .txt_box .desc {
    max-width: 95%;
  }

  #talk_body dt,
  .info_taidan_txt dt {
    width: 20%;
  }

  #talk_body dd+dd,
  .info_taidan_txt dd+dd {
    padding-left: 20%;
  }

  .letter-icon {
    margin: 32px auto 12px auto;
  }
  
  .letter {
    width: 80%;
    margin: auto;
  }

  .letter_tsubasa {
    width: 80%;
    margin: auto;
  }

  .btn-toggle-lang {
    top: 40px;
    right: 52px;
  }

  .btn_modal_content > br.pc {
    display: initial;
  }
  .modal_content_inner .desc {
    max-width: 30em;
  }
}

@media (max-width: 640px) {
  .letter {
    margin: auto -1em;
  }
  #talk_body .letter .txt_box .desc p:has(+ .btn_modal_content),
  .btn_modal_content {
    display: inline;
  }
  .btn_modal_content {
    font-size: 0.85rem;
  }
}