@charset "UTF-8";

/* CSS Document */
.family .card {
  padding: 32px;
  overflow: hidden;
  width: 100%;
  background-color: #fff;
  margin-bottom: 15px;
  max-width: var(--inner-width);
  margin: auto;
}

.family figure {
  width: 100%;
  max-width: 740px;
  margin: auto;
  text-align: center;
  max-height: none;
  padding: 24px 8px;
}

.family figure img {
  width: 100%;
  margin: auto;
  text-align: center;
  max-height: none;
}

.family hr {
  border-bottom: 1px solid #eee;
  display: block;
  margin: 32px 32px;
}

.family .mainimg.pc {
  background-image: url(images/kak_mainimg.png);
  background-position: right;
  background-size: cover;
  width: 100%;
  height: 300px;
}

.family .mainimg.sp {
  background-image: url(images/kak_mainimg_sp.png);
  background-position: right bottom;
  background-size: cover;
  width: 100%;
  height: 380px;
}

.family .mainimg.sp br {
  display: none;
}

.family .mainimg.pc h1 {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 R";
  color: #333;
  font-size: 24px;
  text-align: left;
  padding: 32px;
  line-height: 38px;
}

.family .mainimg.sp h1 {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 R";
  color: #333;
  font-size: 22px;
  text-align: left;
  padding: 16px;
  line-height: 34px;
}
ol {
  list-style-type: katakana;

  list-style-position: outside;
  margin-left: 50px;
}

.conditions {
  display: flex;
  flex-direction: column;
}

.conditions > li {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
}

@media screen and (max-width: 800px) {
  .conditions > li {
    display: block;
  }
}

.conditions > li > *:nth-child(1) {
  justify-content: flex-start;
  align-items: stretch;
  padding: 16px;
  flex-basis: 10%;
  flex-grow: 1;
  max-width: 66px;
  text-align: center;
  background: #8fc4e5;
  color: white;
  font-size: 22px;
  font-weight: 600;
}

@media screen and (max-width: 800px) {
  .conditions > li > *:nth-child(1) {
    width: 100%;
    display: block;
    font-weight: 600;
    max-width: none;
    padding: 6px 16px;
    text-align: left;
  }
}

.conditions > li > *:nth-child(2) {
  justify-content: flex-start;
  align-items: stretch;
  padding: 16px;
  flex-basis: 90%;
  flex-grow: 4;
}
@media screen and (max-width: 800px) {
  .conditions > li > *:nth-child(2) {
    display: block;
    width: 100%;
  }
}
.family h2 {
  text-align: center;
  font-size: 24px;
}

@media screen and (max-width: 800px) {
  .family h2 {
    text-align: left;
  }
}

.family h2:after {
  content: "";
  display: block;
  margin: 12px auto;
  width: 320px;
  height: 6px;
  background: linear-gradient(90deg, rgba(191, 204, 212, 1) 0%, rgba(41, 171, 226, 1) 48.27%, rgba(191, 204, 212, 1) 100%);
}

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