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

.text_border {
  border-radius: 10px;
}

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

#page_section1 {
  margin-bottom: 50px;
}

h3.title_h3 {
  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;
}

.procedure_text_deco {
  text-align: center;
  font-weight: bold;
  letter-spacing: 1px;
  overflow: hidden;
  margin: 30px auto;
}

.procedure_text_deco span {
  position: relative;
}

.procedure_text_deco span::before {
  content: url(../img/procedure_1.png);
  position: absolute;
  top: calc(50% + 2px);
  transform: translateY(-50%);
  left: -295px;
}

.procedure_text_deco span::after {
  content: url(../img/procedure_2.png);
  position: absolute;
  top: calc(50% + 4px);
  transform: translateY(-50%);
  right: -295px;
}

.procedure_detail {
  margin: 50px auto;
  max-width: 320px;
}

.procedure_text_wrap1,
.procedure_text_wrap2 {
  padding: 10px 15px;
}

.procedure_text_wrap1 {
  background-color: #0fa8bc;
}

.procedure_text_wrap1 .procedure_text1 {
  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;
}

.procedure_text_wrap2 {
  background-color: #da5c84;
}

.procedure_text_wrap2 .procedure_text1 {
  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;
}

.procedure_text1 {
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 2px;
  text-align: center;
}

.procedure_back1 {
  background-color: #faf7d4;
  padding: 15px 0 30px;
}

.procedure_flex1 {
  display: flex;
  align-items: center;
  justify-content: center;
}

.procedure_flex1 p:nth-child(2) {
  font-weight: bold;
}

.procedure_flex1 p:first-child {
  max-width: 150px;
  margin-right: 15px;
}

.text_span1::after {
  content: "\A";
  white-space: pre;
}

.procedure_link_flex p {
  max-width: 400px;
}

.procedure_back2 {
  background-color: #e4f3f5;
  padding: 30px 0;
}

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

.procedure_inner_flex_text {
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  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;
}

.procedure_flex2_text {
  margin: 15px auto 20px;
  font-weight: bold;
}

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

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

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

.procedure_flex2_list li span {
  position: relative;
}

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

.procedure_flex2_detail {
  list-style: none;
  line-height: 1;
  margin-top: 15px;
}

.procedure_flex2_detail li:not(.procedure_flex2_detail_img_fix) {
  max-width: 320px;
}

.procedure_flex2_detail_img_fix {
  max-width: 360px;
}

@media screen and (max-width: 749px) {
  .text_span2::after {
    content: "\A";
    white-space: pre;
  }

  .procedure_link_flex p {
    margin-right: auto;
    margin-left: auto;
  }

  .procedure_flex2_box:nth-child(2) {
    margin-right: 15px;
    margin-left: 15px;
  }

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

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

  .procedure_inner_flex_text {
    padding-left: 15px;
  }

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

@media screen and (max-width: 400px) {
  .text_span1::after,
  .text_span2::after {
    content: "";
  }
}

@media screen and (min-width: 750px) {
  #page_section1 {
    margin-bottom: 80px;
  }

  h3.title_h3 {
    font-size: 3rem;
    padding: 10px 30px;
  }

  .procedure_text_deco {
    font-size: 2.2rem;
    margin: 50px auto;
  }

  .procedure_text_deco span::before {
    top: calc(50% + 4px);
  }

  .procedure_text_deco span::after {
    top: calc(50% + 5px);
  }

  .procedure_detail {
    margin: 50px auto 80px;
  }

  .procedure_text_wrap1,
  .procedure_text_wrap2 {
    padding: 15px;
  }

  .procedure_text1 {
    font-size: 3rem;
  }

  .procedure_back1 {
    padding: 30px 0 50px;
  }

  .procedure_flex1 p:first-child {
    max-width: 200px;
  }

  .procedure_flex1 p:nth-child(2) {
    font-size: 2.5rem;
  }

  .procedure_link_flex {
    display: flex;
    justify-content: center;
  }

  .procedure_link_flex_img_fix {
    max-width: 490px !important;
  }

  .procedure_back2 {
    padding: 50px 0;
  }

  .procedure_flex2 {
    display: flex;
    margin-left: 15px;
    margin-right: 15px;
  }

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

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

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

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

  .procedure_flex2:last-child .procedure_inner_flex_text {
    font-size: 2rem;
  }

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