@charset "utf-8";
.intro {
  font-size: 19px;
  margin: -10px 0 46px;
}
.content_img-txton .box_wrapper {
  margin-bottom: 50px;
}
.content_img-txton .photo_box {
  position: relative;
}
.content_img-txton .txt_box {
  position: absolute;
  right: 0;
  top: 52%;
  transform: translateY(-50%);
}
.content_img-txton:nth-of-type(3) .box_wrapper  {
  margin-bottom: 0;
}
.content_img-txton:nth-of-type(3) .box_wrapper .photo_box {
  margin-left: auto;
}
.content_img-txton:nth-of-type(3) .box_wrapper .txt_box {
  right: initial;
  left: 0;
  top: 50%;
}
.difference {
  margin-top: 72px;
}
.attention_box_gray {
  background: #fff;
}
.merit_demerit {
  margin-top: 35px;
}
#our_service .bg_circle_left::before {
  background: url(../img/common/bg_circle03.png) no-repeat;
  top: 50px;
  z-index: initial;
}
.pattern {
  margin-bottom: 10px;
  border-radius: 10px 10px 0 0 ;
  position: relative;
}
.pattern ul li {
  width: 49%;
  max-width: 490px;
  position: relative;
}
.pattern ul li h3 {
  font-size: 22px;
  color: #fff;
  padding: 11px 0 13px;
}
.pattern ul li:first-child h3 {
  background: #999;
}
.pattern ul li::before {
  content: '';
  width: 80px;
  height: 80px;
  position: absolute;
  top: 20px;
  left: 20px;
}
.pattern ul li:first-child::before {
  background: url(../img/beginner/pattern_icon01.svg) no-repeat;
  background-size: contain;
}
.pattern ul li:last-child::before {
  background: url(../img/beginner/pattern_icon02.svg) no-repeat;
  background-size: contain;
}
.pattern ul li:last-child h3::after {
  content: '';
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 4px solid var(--site-primary);
  border-radius: 10px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}
.pattern ul li:last-child h3 {
  background: var(--site-primary);
}
.pattern_txt {
  margin-top: 30px;
  padding: 32px 50px;
  background: #f5f5f5 url(../img/beginner/bg_pattern.png) no-repeat bottom right 50px;
}
.our_merit h3 {
  font-size: 34px;
  margin:14px 0 46px;
}
#choice ul {

}
#choice .bg_circle_left::before {
  top: 50px;
}
#choice .bg_circle_right::before {
  bottom: 13.5%;
}
#choice ul li {
  padding: 50px;
  margin-bottom: 20px;
}
#choice ul li:last-child {
  margin-bottom: 0;
}
#choice ul li h3 {
  font-size: 27px;
}
#choice ul li h3 span {
  font-size: 33px;
  display: block;
  margin-bottom: 11px;
}
.point h3 > span {
  position: relative;
}
.point h3 > span::before {
  content: '';
  background: url(../img/beginner/icon_pencil.png) no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  position: absolute;
  left: -55px;
  top: 50%;
  transform: translateY(-50%);
}
.point ul {
  padding: 40px 50px;
  border: 5px solid #f9f4ea;
  border-top: none;
}
.point ul li {
  font-size: 19px;
  line-height: 1.8;
  position: relative;
  display: flex;
  align-items: center;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.point ul li:nth-child(4) {
  padding: 0;
  margin: 0;
}
.point ul li::before {
  content: '';
  display: block;
  width: 60px;
  height: 60px;
  flex-basis: 60px;
}
.point ul li > span {
  padding-left: 20px;
  flex-basis: calc(100% - 60px);
}
.point ul li::after {
  content: '';
  background: url(../img/common/line_dot.png) no-repeat;
  width: 100%;
  height: 4px;
  position: absolute;
  left: 0;
  bottom: 0;
}
.point ul li:first-child::before {
  background: url(../img/beginner/point01_num.svg) no-repeat;
  background-size: contain;
}
.point ul li:nth-child(2)::before {
  background: url(../img/beginner/point02_num.svg) no-repeat;
  background-size: contain;
}
.point ul li:nth-child(3)::before {
  background: url(../img/beginner/point03_num.svg) no-repeat;
  background-size: contain;
}
.point ul li:nth-child(4)::before {
  background: url(../img/beginner/point04_num.svg) no-repeat;
  background-size: contain;
}
.point ul li:nth-child(4)::after { 
  content: none;
}
@media only screen and (max-width: 1024px) {
  .intro {
    font-size: 17px;
  }
  #choice ul li {
    padding: 40px;
  }
  #choice ul li h3 span {
    font-size: 28px;
  }
  #choice ul li h3 {
    font-size: 23px;
  }
  .point ul li {
    font-size: 17px;
  }
}
@media only screen and (max-width: 960px) {
  .pattern ul li::before {
    width: 60px;
    height: 60px;
    top: 10px;
    left: 10px;
  }
  .pattern ul li h3 {
    font-size: 18px;
  }
  .pattern_txt {
    padding: 25px 30px;
    background-size: 20%;
    background-position: bottom right 20px;
  }
  .our_merit h3 {
    font-size: 28px;
    margin-bottom: 40px;
  }
  #choice ul li {
    padding: 4vw;
  }
  #choice ul li h3 span {
    font-size: 21px;
    margin-bottom: 5px;
  }
  #choice ul li h3 {
    font-size: 20px;
  }
  .point ul {
    padding: 3vw 3.5vw;
  }
  .point ul li {
    font-size: 16px;
    line-height: 1.75;
  }
}
@media only screen and (max-width: 568px) {
  .intro {
    font-size: 15px;
  }
  .content_img-txton .txt_box {
    position: relative;
    top: -25px;
    right: 50%;
    transform: translateX(-50%);
  }
  .content_img-txton:nth-of-type(3) .box_wrapper .txt_box {
    left: 50%;
    top: -25px;
  }
  .intro {
    margin: -5px 0 22px;
  }
  .content_img-txton .box_wrapper {
    margin-bottom: 5px;
  }
  .content_img-txton .box_wrapper.bg_circle_right::before {
    bottom: -17px;
  }
  .difference {
    margin-top: 5px;
  }
  .difference .md_inner_space{
    padding: 16px 5.3vw 40px;
  }
  .merit_demerit {
    margin-top: 16px;
  }
  .attention_box_gray {
    padding: 16px 20px 16px;
  }
  .attention_box_gray p {
    padding: 0;
  }
  .attention_box_gray p::before {
    width: 35px;
    height: 35px;
    position: relative;
    top: 5px;
    float: left;
    margin: 0 15px 10px 0;
  }
  #our_service .bg_circle_left::before {
    content: none;
  }
  .pattern {
    border-radius: 0;
  }
  .pattern ul {
    gap: 20px 0;
  }
  .pattern ul li {
    width: 100%;
  }
  .pattern ul li h3 {
    padding: 7px 0 10px;
  }
  .pattern_txt {
    margin-top: 25px;
    padding: 20px 25px;
    background-size: 42%;
    background-position: bottom -15px right 20px;
  }
  .our_merit h3 {
    font-size: 23px;
    margin: 0 -5.3vw 25px;
  }
  .our_merit h3 .txt_primarycolor {
    font-size: 23px;
  }
  #choice .bg_circle_left::before, #choice .bg_circle_right::before {
    content: none;
  }
  #choice ul li {
    padding: 30px 5.3vw 20px;
    border-radius: 0;
    margin-bottom: 15px;
  }
  #choice ul li h3 {
    font-size: 21px;
    line-height: 1.5;
    margin-bottom: 12px;
  }
  #choice ul li h3 span {
    font-size: 23px;
    margin-bottom: 2px;
  }
  .point h3 {
    text-align: left;
  }
  .point h3 > span {
    display: block;
    padding-left: calc(5.3vw + 55px);
  }
  .point h3 > span::before {
    left: 5.3vw;
  }
  .point ul {
    border-left: none;
    border-right: none;
    border-bottom: 4px solid #f9f4ea;
    padding: 16px 5.3vw 20px;
  }
  .point ul li {
    font-size: 15px;
    align-items: flex-start;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
  .point ul li > span {
    padding-left: 15px;
    flex-basis: calc(100% - 40px);
  }
  .point ul li::before {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    margin-top: 5px;
  }
  .point ul li:first-child::before {
    background: url(../img/beginner/point01_num_sp.svg) no-repeat;
    background-size: contain;
  }
  .point ul li:nth-child(2)::before {
    background: url(../img/beginner/point02_num_sp.svg) no-repeat;
    background-size: contain;
  }
  .point ul li:nth-child(3)::before {
    background: url(../img/beginner/point03_num_sp.svg) no-repeat;
    background-size: contain;
  }
  .point ul li:nth-child(4)::before {
    background: url(../img/beginner/point04_num_sp.svg) no-repeat;
    background-size: contain;
  }
}