@charset "UTF-8";

.breadcrumb {
  margin-bottom: 20px;
}

/*----------------------------------------------------
  conditions
----------------------------------------------------*/
.conditions {
  background: #fff;
}

.conditions-title__wrapper {
  width: 100%;
  display: flex;
  align-items: center;
}

.conditions-title__wrapper::before,
.conditions-title__wrapper::after {
  display: block;
  content: '';
  border-top: 1px solid rgba(34, 68, 102, .2);
  flex: 1;
}

.conditions-title__wrapper::before {
  margin-right: 20px;
}

.conditions-title__wrapper::after {
  margin-left: 20px;
}

.conditions .section-heading__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.6;
}

.section-heading__title--s {
  font-size: 1.8rem;
}

.l-col__conditions {
  width: 85%;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto 100px auto;
}

.conditions-image__wrapper {
  width: 37.5%;
  position: relative;
  text-align: center;
}

.conditions-image__lead {
  display: inline-block;
  width: auto;
  font-size: 1.6rem;
  background: #fff;
  border: 2px solid #5cbee9;
  padding: 0 30px;
  border-radius: 50vh;
  margin-bottom: 20px;
}

.conditions-image {
  width: 100%;
  position: relative;
}

#conditions-chart {
  position: relative;
  z-index: 1;
}

#symptoms {
  display: block;
  width: 55%;
  margin: 0 auto;
}

.interactive-part path {
  transition: fill 0.5s ease, opacity 0.5s ease;
  will-change: fill, opacity;
}

.interactive-part:hover path {
  fill: #0b95a2 !important;
  animation: pulse-blink 0.8s infinite alternate;
  opacity: 1;
}

@keyframes pulse-blink {

  0%,
  100% {
    fill-opacity: 1;
  }

  50% {
    fill-opacity: 0.5;
  }
}

/* ------------------------------------------- */
/* 吹き出しのベース（モバイルでは非表示） */
/* ------------------------------------------- */

@media (min-width: 480px) {
  #tooltip-box {
    display: inline-block;
    position: absolute;
    background-color: #333;
    color: #fff;
    width: auto;
    min-width: 200px;
    height: auto;
    padding: 10px 14px;
    border-radius: 4px;
    font-size: 1.2rem;
    text-align: justify;
    line-height: 1.4;
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
    white-space: pre-wrap;
    letter-spacing: 0;
    transform-origin: left center;
  }
}

@media (hover: none),
(pointer: coarse) {
  .interactive-part:hover path {
    fill: initial !important;
    animation: none !important;
    opacity: 1 !important;
  }

  #tooltip-box {
    display: none !important;
  }
}

.ripple-center__wrapper {
  position: absolute;
  top: 40%;
  left: 47.5%;
  transform: translate(-50%, -50%);
}

.ripple-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ripple-center,
.ripple-center::before,
.ripple-center::after {
  content: '';
  position: absolute;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 2px solid #8EC4FB;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation-name: spread;
  animation-duration: 4s;
  animation-timing-function: ease-out;
  animation-iteration-count: infinite;
}

.ripple-center {
  animation-delay: 0s;
}

.ripple-center::before {
  animation-delay: 1s;
}

.ripple-center::after {
  animation-delay: 2s;
}

@keyframes spread {
  0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 1;
  }

  100% {
    transform: translate(-50%, -50%) scale(2.5);
    opacity: 0;
  }
}

.conditions-inner {
  width: 57.5%;
}

.conditions-lead {
  width: 100%;
  font-size: 2.6rem;
  margin: 0 auto 20px auto;
  text-align: center;
}

.condtions-lead__sub {
  text-align: center;
  margin-bottom: 30px;
}

.conditions-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
}

.conditions-item {
  display: flex;
  width: 49%;
  border-radius: 10px;
  background: #F1F3F5;
}

.conditions-item:nth-of-type(n+3) {
  margin-top: 20px;
}

.conditions-item__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  padding: 20px;
  box-sizing: border-box;
}

.conditions-item__title-icon {
  width: 35%;
}

.conditions-item__title {
  width: 100%;
  font-size: 1.8rem;
  letter-spacing: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.conditions-item__title::after {
  display: block;
  content: '';
  width: calc(20px * .6);
  height: calc(20px * .6);
  background: url('../img/common/icon-arrow--right-gradi.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-left: 5px;
}

section.disease {
  padding: 80px;
  margin: 0 auto 100px auto;
  box-sizing: border-box;
  position: relative;
}

section.disease::after {
  display: block;
  content: '';
  width: 95vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: rgba(160, 174, 189, .2);
  z-index: -1;
}

.disease-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  margin-bottom: 40px;
}

.disease-title__main {
  font-size: 3rem;
}

.disease-list {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
}

.disease-item {
  display: flex;
  flex-direction: column;
  width: 49.5%;
  border-radius: 10px;
  background: #fff;
  filter: drop-shadow(0 0 16px rgba(0, 0, 0, 0.05));
  padding: 20px;
  box-sizing: border-box;
}

.disease-item__link {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 2rem;
  font-weight: 700;
  color: var(--font--dblue);
  letter-spacing: 0;
  border-bottom: 1px solid rgba(185, 216, 220, 1);
  padding-bottom: 5px;
  margin-bottom: 10px;
  position: relative;
}

.disease-item__link::before {
  display: block;
  content: '';
  width: 10px;
  height: 10px;
  background: #55B496;
  margin-right: 5px;
  border-radius: 50vh;
}

.disease-item__link::after {
  display: block;
  content: '';
  width: calc(18px * 1);
  height: calc(14px * 1);
  background: url('../img/common/arrow-right--lred.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-left: 20px;
}

.disease-item:nth-of-type(n+3) {
  margin-top: 30px;
}

.major-symptoms {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  font-family: '游ゴシック', 'Yu Gothic', 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'Meiryo UI', 'メイリオ', sans-serif;
  font-weight: 500;
}

.major-symptom {
  width: 49.5%;
  background: #e9f5fb;
  display: flex;
  align-items: center;
  padding: 7px 5px 7px 14px;
  box-sizing: border-box;
  border-radius: 4px;
}

.major-symptom::after {
  display: block;
  content: "";
  width: calc(12px);
  height: calc(12px);
  margin-left: 5px;
  background: url('../img/common/icon-arrow--right-gradi.svg') center center / contain no-repeat;
  background-position: center center;
}

.major-symptom--bg-gray::after {
  display: none;
}

.major-symptom:nth-of-type(n+3) {
  margin-top: 7px;
}

.major-symptom--bg-gray {
  background: #EFF2F3;
}

.major-symptom>a,
.major-symptom>p {
  width: 100%;
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}

.major-symptom>a {
  font-weight: 700;
}

.major-symptom__detail {
  font-size: 1.2rem;
}

.link-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.link-wrapper__lead {
  font-size: 1.8rem;
  margin-bottom: 14px;
}

.link-btn__conditions {
  font-size: 2rem;
  max-width: 480px;
}

@media screen and (max-width:1440px) {
  .l-col__conditions {
    width: 95%;
  }

  section.disease {
    padding: 80px 0;
  }

  section.disease::after {
    width: 97.5vw;
  }
}

@media screen and (max-width:1360px) {
  .conditions-image__wrapper {
    width: 30%;
  }

  #symptoms {
    width: 65%;
  }

  .conditions-inner {
    width: 65%;
  }
}

@media screen and (max-width:1280px) {}

@media screen and (max-width:1024px) {
  .l-col__conditions {
    flex-direction: column;
  }

  .conditions-image__wrapper {
    width: 37.5%;
  }

  #symptoms {
    width: 55%;
  }

  .conditions-inner {
    width: 90%;
  }

  /*---disease---*/
  section.disease {
    padding: 80px;
  }

  .disease-item {
    width: 100%;
  }

  .disease-item:nth-of-type(n+2) {
    margin-top: 30px;
  }
}

@media screen and (max-width:896px) {
  .conditions-image__wrapper {
    width: 45%;
  }

  /*---disease---*/
  section.disease {
    padding: 80px 60px;
  }
}

@media screen and (max-width:786px) {
  .conditions-image__wrapper {
    width: 50%;
  }

  /*---disease---*/
  section.disease {
    padding: 80px 40px;
  }
}

@media screen and (max-width:680px) {
  .conditions-image__wrapper {
    width: 60%;
  }

  #symptoms {
    width: 45%;
  }

  .conditions-inner {
    width: 100%;
  }

  .conditions-item {
    width: 100%;
  }

  .conditions-item:nth-of-type(n+2) {
    margin-top: 14px;
  }

  .conditions-item__link {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 8px 20px;
  }

  .conditions-item__title-icon {
    width: 20%;
  }

  .conditions-item__title {
    width: 75%;
    justify-content: initial;
    font-size: 2rem;
    letter-spacing: 0;
  }

  /*---disease---*/
  section.disease {
    padding: 80px 0;
  }
}

@media screen and (max-width:480px) {
  .l-col__conditions {
    width: 100%;
  }

  .conditions-image__wrapper {
    width: 100%;
  }

  .conditions-image {
    width: 70%;
    margin: 0 auto 20px auto;
  }

  #symptoms {
    width: 55%;
  }

  .conditions-lead {
    font-size: 2rem;
  }

  .condtions-lead__sub .ui--sp {
    display: block;
  }

  .conditions-item {
    border-radius: 4px;
  }

  .conditions-item:nth-of-type(n+2) {
    margin-top: 6px;
  }

  .conditions-item__link {
    padding: 8px 5px 8px 10px;
  }

  .conditions-item__title-icon {
    width: 17.5%;
  }

  .conditions-item__title {
    width: 80%;
  }

  .conditions-item__title {
    font-size: 1.6rem;
  }

  section.disease {
    margin-bottom: 40px;
  }

  .disease-title {
    margin-bottom: 30px;
  }

  .disease-title__main {
    font-size: 2rem;
  }

  .disease-title__label {
    font-size: 1.2rem;
  }

  .disease-item:nth-of-type(n+2) {
    margin-top: 20px;
  }

  .major-symptom {
    width: 100%;
  }

  .major-symptom:nth-of-type(n+2) {
    margin-top: 5px;
  }

  .disease-item__link {
    font-size: 1.6rem;
    letter-spacing: 0;
  }

  .disease-item__link::after {
    display: block;
    content: '';
    width: calc(18px * .7);
    height: calc(14px * .7);
    margin-left: 8px;
  }

  .link-wrapper__lead {
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.6;
  }

  .link-wrapper__lead .ui--sp {
    display: block;
  }

  .link-btn__conditions {
    font-size: 1.8rem;
  }

}