@charset "utf-8";
/* ＝＝＝＝＝＝＝＝＝＝＝＝
キャラクター紹介
＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
main {
  overflow-x: clip;
}
.inner_1240 {
  max-width: 1240px;
  margin: 0 auto;
}

.bg {
  background: url(../imgs/character/bg.jpg) repeat-y center / 100%;
}
.txt_c {
  text-align: center;
}
.txt_c span {
  display: inline-block;
}
/*------------
sec1
------------ */
.sec1 {
  padding: min(18.13vw, 136px) 0;
  background: url(../imgs/character/bg_dot1.png) repeat-y center / 100%;
}
.sec1 .cont {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 200px 0;
  background: url(../imgs/character/sec1_cont.png) no-repeat top center / auto 100%;
}
.sec1 .sec1_ttl {
  font-size: clamp(24px, 4.8vw, 36px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.06em;
  color: #231815;
  width: 90%;
  margin: 0 auto;
}
.sec1 .cont_in {
  width: 90%;
  max-width: 835px;
  /* position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); */
}
.sec1 .cont_ttl {
  font-size: clamp(20px, 3.47vw, 26px);
  font-weight: 400;
  color: #231815;
  padding-bottom: 0.7em;
  margin-bottom: 51px;
  position: relative;
}
.sec1 .cont_ttl::after {
  content: "";
  width: 41px;
  height: 1px;
  background: #231815;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.sec1 .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sec1 .cont_txtbk {
  width: 50%;
  max-width: 419px;
}
.sec1 .cont_txt {
  font-size: clamp(13px, 2.13vw, 16px);
  line-height: 1.875;
  letter-spacing: 0.06em;
  color: #231815;
}
.sec1 .cont_imgbk {
  width: 46%;
  max-width: 384px;
  border-radius: 121px;
  overflow: hidden;
}

/*------------
sec2
------------ */
.sec2 {
  position: relative;
}
.sec2::before {
  content: "";
  width: 100%;
  height: 20px;
  background: url(../imgs/character/bg_yl_01.png) repeat-y center / 100% 100%;
  position: absolute;
  bottom: calc(100% - 15px);
}
.sec2::after {
  content: "";
  width: 100%;
  height: 20px;
  background: url(../imgs/character/bg_yl_03.png) repeat-y center / 100% 100%;
  position: absolute;
  top: calc(100% - 15px);
}
.sec2 .sec2_bg {
  padding: 140px 0 100px;
  background: url(../imgs/character/bg_yl_02.png) repeat-y center / 100%;
  position: relative;
  z-index: 2;
}
.sec2 .sec2_bg::before {
  content: "";
  width: 40vw;
  height: 50.56vw;
  background: url(../imgs/character/sec2_deco.png) no-repeat center / contain;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(-38%, 28%);
}
.sec2 .inner_988 {
  width: 90%;
  max-width: 988px;
  margin: 0 auto;
}

.sec2 .cont .cont_ttl {
  width: 48.79%;
  max-width: 482px;
  min-width: 290px;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(7%, -23%);
}
.sec2 .cont ul {
  position: relative;
  width: 100%;
}
.sec2 .cont ul li {
  width: 54%;
  max-width: 484px;
}
.sec2 .cont ul li:first-child {
  margin-bottom: 115px;
}
.sec2 .cont ul li:nth-child(2) {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.sec2 .cont ul li p {
  font-size: clamp(13px, 2.13vw, 16px);
  line-height: 1.56;
  letter-spacing: 0.06em;
  color: #231815;
  width: 72%;
  padding-top: 1.6em;
  margin: 0 auto;
}
/*------------
sec3
------------ */
.sec3 {
  padding: clamp(50px, 25.6vw, 192px) 0 min(26.39vw, 380px);
  background: url(../imgs/character/bg_dot2.png) repeat-y center / 100%;
}
.sec3 .inner_1297 {
  max-width: 1297px;
  margin: 0 auto;
}
.sec3 .cont {
  position: relative;
}
.sec3 .sec3_ttl {
  font-size: clamp(24px, 4.8vw, 36px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.06em;
  color: #231815;
}
.sec3 .sec3_ttl .fs_s {
  font-size: 75%;
  display: block;
}
.sec3 .children {
  width: 29.84%;
  max-width: 387px;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(-25%);
}

.sec3 .prof_list {
  position: relative;
}
.sec3 .prof_list li {
  width: 62.84%;
  max-width: 815px;
  position: relative;
}
.sec3 .prof_list li:nth-child(odd):not(:first-child) {
  margin-top: -11.5%;
}
.sec3 .prof_list li:nth-child(even) {
  position: absolute;
  right: 0;
  transform: translateY(-67%);
}
.sec3 .prof_list li:first-child {
  z-index: 6;
}
.sec3 .prof_list li:nth-child(2) {
  z-index: 5;
}
.sec3 .prof_list li:nth-child(3) {
  z-index: 4;
}
.sec3 .prof_list li:nth-child(4) {
  z-index: 3;
}
.sec3 .prof_list li:nth-child(5) {
  z-index: 2;
}
.sec3 .prof_list li:nth-child(6) {
  z-index: 1;
}
@media screen and (max-width: 1200px) {
}

@media screen and (max-width: 750px) {
  .sec1 .flex {
    flex-direction: column-reverse;
    align-items: center;
    gap: 40px;
  }
  .sec1 .cont {
  }
  .sec1 .cont_txtbk {
    width: 100%;
    max-width: initial;
  }
  .sec1 .cont_imgbk {
    width: 100%;
  }
  .sec2 .sec2_bg {
    padding-top: clamp(200px, 30.67vw, 230px);
  }
  .sec2 .cont .cont_ttl {
    transform: translate(-39%, -23%);
  }
  .sec2 .cont ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .sec2 .cont ul li {
    width: 100%;
  }
  .sec2 .cont ul li:first-child {
    margin-bottom: 0;
  }
  .sec2 .cont ul li:nth-child(2) {
    position: static;
    transform: initial;
  }
  .sec3 .sec3_ttl {
    margin-bottom: 40px;
  }
  .sec3 .children {
    position: static;
    transform: initial;
    width: 60%;
    margin: 0 auto;
  }

  .sec3 .prof_list li {
    width: 100%;
    position: relative !important;
    transform: initial !important;
    overflow-x: clip;
  }

  .sec3 .prof_list li:not(:first-child) {
    margin-top: -16.5% !important;
  }
}
@media screen and (max-width: 600px) {
  .sec3 .prof_list li {
    height: 600px;
  }
  .sec3 .prof_list li:not(:first-child) {
    margin-top: -114px !important;
  }
  .sec3 .prof_list li img {
    width: 600px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
