@import url("../../common/css/common.css");

img {
  width: 100%;
}

.title_border {
  text-align: center;
  border-bottom: 2px solid #0fa8bc;
}

h2.title_h2 {
  display: inline-block;
  font-size: 1.8rem;
  color: #fff;
  padding: 10px 15px;
  background-color: #0fa8bc;
  letter-spacing: 4px;
  text-align: left;
  text-shadow: 2px 2px 1px #296c80, -2px 2px 1px #296c80, 2px -2px 1px #296c80,
    -2px -2px 1px #296c80, 2px 0px 1px #296c80, 0px 2px 1px #296c80,
    -2px 0px 1px #296c80, 0px -2px 1px #296c80;
}

.about_link_flex {
  text-align: center;
  margin-bottom: 80px;
}

.about_link_flex p img {
  max-width: 330px;
}

.about_back1 {
  background-color: #faf7d4;
  padding: 30px 0;
  margin-bottom: 80px;
}

.about_text_wrap {
  background-color: #fff;
  padding: 30px 15px;
  margin: auto auto 30px;
  max-width: 370px;
}

.about_text1 {
  color: #0fa8bc;
  margin-bottom: 15px;
  font-family: serif;
}

.about_text2 {
  font-size: 1.2rem;
  text-align: right;
  font-family: serif;
}

.about_text3 {
  font-size: 1.8rem;
  font-weight: bold;
  color: #0fa8bc;
  margin-top: 50px;
  margin-bottom: 15px;
  padding: 10px;
  border: 1px solid #0fa8bc;
  display: inline-block;
}

.about_list {
  list-style: none;
  margin-bottom: 30px;
}

.about_list li {
  display: flex;
  align-items: center;
  color: #0fa8bc;
  font-weight: bold;
}

.about_list li:not(:last-child) {
  margin-bottom: 15px;
}

.about_list li p:first-child {
  margin-right: 10px;
  min-width: 30px;
}

.about_list li a {
  text-decoration: none;
}

.about_list li a:hover {
  text-decoration: underline;
}

.about_list_text2 .size_fix {
  color: #000;
  font-size: 1.4rem;
}

.color_blue {
  color: #551a8b;
}

.about_back2 {
  background-color: #e4f3f5;
  padding: 50px 0;
}

.about_inner_flex p img {
  vertical-align: top;
}

.about_inner_flex_text {
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 2px;
  text-shadow: 2px 2px 1px #296c80, -2px 2px 1px #296c80, 2px -2px 1px #296c80,
    -2px -2px 1px #296c80, 2px 0px 1px #296c80, 0px 2px 1px #296c80,
    -2px 0px 1px #296c80, 0px -2px 1px #296c80;
}

.about_flex_text {
  margin: 15px auto 20px;
}

.about_flex_list {
  list-style: none;
  line-height: 2;
}

.about_flex_list li {
  padding-left: 28px;
  font-weight: bold;
}

.about_flex_list li a {
  text-decoration: none;
  color: #000;
}

.about_flex_list li span {
  position: relative;
}

.about_flex_list li span::before {
  content: "";
  background-image: url(../img/about_icon.png);
  width: 25px;
  height: 25px;
  background-size: contain;
  position: absolute;
  top: calc(50% + 1px);
  transform: translateY(-50%);
  left: -28px;
}

.about_img1 {
  max-width: 375px;
  margin: 50px auto 50px;
}

@media screen and (max-width: 749px) {
  .about_link_flex p:first-child {
    margin-bottom: 30px;
  }

  .about_inner_flex {
    display: flex;
    align-items: center;
    background-color: #0fa8bc;
  }

  .about_inner_flex p img {
    max-width: 87px;
  }

  .about_inner_flex_text {
    padding-left: 15px;
  }

  .about_flex:not(:last-child) {
    margin-bottom: 30px;
  }
}

@media screen and (min-width: 400px) {
  .about_text1 span::after {
    content: "\A";
    white-space: pre;
  }
}

@media screen and (min-width: 750px) {
  h2.title_h2 {
    font-size: 3rem;
    padding: 10px 30px;
  }

  .about_link_flex {
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
  }

  .about_link_flex p:first-child {
    margin-right: 15px;
  }

  .about_link_flex p img {
    max-width: 370px;
  }

  .about_back1 {
    padding: 50px 0;
    margin-bottom: 100px;
  }

  .about_text_wrap {
    padding: 30px;
    margin-bottom: 50px;
    max-width: 585px;
  }

  .about_text1 {
    font-size: 2.5rem;
    margin-bottom: 30px;
  }

  .about_text2 {
    font-size: 2rem;
  }

  .about_text3 {
    font-size: 3rem;
    padding: 15px;
    margin-top: 80px;
    margin-bottom: 30px;
  }

  .about_list {
    margin-bottom: 50px;
  }

  .about_list li p {
    font-size: 2.3rem;
  }

  .about_list li p:first-child {
    margin-right: 15px;
  }

  .about_list_text2 .size_fix {
    color: #000;
    font-size: 2rem;
  }

  .about_img1 {
    max-width: 1000px;
    margin: 50px auto 100px;
  }

  .about_back2 {
    padding: 80px 0;
  }

  .about_flex {
    display: flex;
  }

  .about_flex:not(:last-child) {
    margin-bottom: 50px;
  }

  .about_flex_box:first-child {
    max-width: 215px;
    margin-right: 30px;
    flex-basis: calc(30% - 15px);
  }

  .about_flex_box:nth-child(2) {
    flex-basis: calc(70% - 15px);
  }

  .about_inner_flex_text {
    color: #fff;
    font-weight: bold;
    font-size: 2.2rem;
    background-color: #0fa8bc;
    padding: 10px;
    text-align: center;
  }

  .about_flex:last-child .about_inner_flex_text {
    font-size: 2rem;
  }

  .about_flex_list li span::before {
    left: -28px;
  }
}

.system1 {
  margin-top: 30px;
}

.system1 h3.system_h3,
.system2 h3.system_h3,
.system3 h3.system_h3 {
  background-color: #21acbd;
  text-shadow: 2px 2px 1px #296c80, -2px 2px 1px #296c80, 2px -2px 1px #296c80,
    -2px -2px 1px #296c80, 2px 0px 1px #296c80, 0px 2px 1px #296c80,
    -2px 0px 1px #296c80, 0px -2px 1px #296c80;
}

.system4 h3.system_h3 {
  background-color: #dc6189;
  text-shadow: 2px 2px 1px #af2952, -2px 2px 1px #af2952, 2px -2px 1px #af2952,
    -2px -2px 1px #af2952, 2px 0px 1px #af2952, 0px 2px 1px #af2952,
    -2px 0px 1px #af2952, 0px -2px 1px #af2952;
}

.system_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 15px;
  background-color: #f9f6cf;
}

.system_text2 {
  font-weight: bold;
}

.system_text3 {
  margin: 5px auto 15px;
  font-weight: bold;
}

.detail_wrap {
  text-align: center;
}

.system_detail {
  max-width: 220px;
  margin: 0 auto 30px;
}
