/* =========================================================
========================================================= */
#Main {
  padding-top: 0;
}

/* =========================================================
========================================================= */
.bgWrap {
  background-color: #eaeeff;
}

@media screen and (min-width: 769px), print {
  .bgWrap {
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 768px) {
  .bgWrap {
    padding-bottom: 65px;
  }
}
/* =========================================================
========================================================= */
.bgShape {
  position: absolute;
  top: 0;
  z-index: 0;
  pointer-events: none;
}
@media screen and (min-width: 769px), print {
  .bgShape {
    left: 50%;
  }
}

/* =========================================================
========================================================= */
.kvSect {
  position: relative;
  z-index: 1;
}
.kvSect .bgShape.-triline {
  z-index: 1;
}
.kvSect .titBlock .sectTit {
  line-height: 1.35;
}
.kvSect .sectMain {
  position: relative;
}
.kvSect .bgBlock {
  margin-left: calc(50% - 50vw);
  margin-left: calc(50% - 50svw);
}
.kvSect .bgBlock .itemList {
  position: static;
}
.kvSect .bgBlock .itemList .item {
  width: 100%;
}
.kvSect .bgBlock .itemList .item:not(.slick-slide):nth-child(n+2) {
  display: none;
}
.kvSect .bgBlock .itemList .item img {
  width: 100%;
}
.kvSect .bgBlock .slick-dots {
  position: absolute;
  bottom: 0;
  left: auto;
  z-index: 2;
  color: #000000;
  text-align: center;
}
.kvSect .bgBlock .slick-dots > li button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid currentColor;
  background-color: transparent;
  color: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.kvSect .bgBlock .slick-dots > li.slick-active button {
  background-color: currentColor;
}
.kvSect .catchBlock {
  position: absolute;
  top: 0;
  right: 0;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
.kvSect .catchBlock .catch {
  letter-spacing: 0.15em;
  white-space: nowrap;
}
.kvSect .catchBlock .catch strong {
  display: inline-block;
  background-color: #ffffff;
  font-weight: inherit;
  text-align: center;
}
.kvSect .catchBlock .catch strong span {
  display: inline-block;
  margin-bottom: -0.75em;
}
.kvSect .catchBlock .enTit {
  letter-spacing: 0.01em;
}

@media screen and (min-width: 769px), print {
  .kvSect {
    padding-top: 100px;
  }
  .kvSect .bgShape.-circle {
    width: 370px;
    margin-top: 10px;
    margin-left: -500px;
  }
  .kvSect .bgShape.-triline {
    top: auto;
    bottom: 0;
    width: 740px;
    margin-bottom: -610px;
    margin-left: 355px;
  }
  .kvSect .titBlock {
    margin-left: calc(50% - 50vw);
    margin-left: calc(50% - 50svw);
    padding-right: 420px;
    padding-left: 75px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .kvSect .titBlock {
    margin-left: 0;
    padding-left: 0;
  }
}
@media screen and (min-width: 769px), print {
  .kvSect .titBlock .sectTit {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .kvSect .sectMain {
    margin-top: 30px;
  }
  .kvSect .bgBlock {
    padding-right: 50px;
  }
  .kvSect .bgBlock .slick-dots {
    right: 0;
    width: 8px;
  }
  .kvSect .bgBlock .slick-dots > li {
    margin: 10px 0 0;
  }
  .kvSect .bgBlock .slick-dots > li button {
    width: 8px;
    height: 8px;
  }
  .kvSect .catchBlock {
    margin-top: -95px;
    margin-right: -120px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1339px), print and (max-width: 1339px) {
  .kvSect .catchBlock {
    margin-right: calc(50% - 50vw + 20px);
    margin-right: calc(50% - 50svw + 20px);
  }
}
@media screen and (min-width: 769px), print {
  .kvSect .catchBlock .catch {
    margin-left: 30px;
    font-size: 68px;
    font-size: 6.8rem;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .kvSect .catchBlock .catch {
    font-size: 42px;
    font-size: 4.2rem;
  }
}
@media screen and (min-width: 769px), print {
  .kvSect .catchBlock .catch strong {
    margin-left: 12px;
    padding: 12px 12px;
  }
  .kvSect .catchBlock .enTit {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .kvSect {
    padding-top: 25px;
  }
  .kvSect .bgShape.-circle {
    left: 0;
    width: 180px;
    margin-top: 20px;
    margin-left: -20px;
  }
  .kvSect .bgShape.-triline {
    top: auto;
    right: 0;
    bottom: 0;
    width: 378px;
    margin-right: -165px;
    margin-bottom: -310px;
  }
  .kvSect .titBlock .sectTit {
    font-size: 20px;
    font-size: 2rem;
  }
  .kvSect .sectMain {
    margin-top: 25px;
  }
  .kvSect .bgBlock {
    padding-right: 20px;
  }
  .kvSect .bgBlock .slick-dots {
    left: 0;
    margin-bottom: 6px;
  }
  .kvSect .bgBlock .slick-dots > li {
    margin: 0 4px;
  }
  .kvSect .bgBlock .slick-dots > li button {
    width: 8px;
    height: 8px;
  }
  .kvSect .catchBlock {
    margin-top: -40px;
    margin-right: 5px;
  }
  .kvSect .catchBlock .catch {
    margin-left: 15px;
    font-size: 28px;
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 768px) and (max-width: 374px) {
  .kvSect .catchBlock .catch {
    font-size: 7vw;
  }
}
@media only screen and (max-width: 768px) {
  .kvSect .catchBlock .catch strong {
    margin-left: 6px;
    padding: 8px 6px;
  }
  .kvSect .catchBlock .enTit {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/* =========================================================
========================================================= */
.infoSect {
  position: relative;
  z-index: 0;
}
.infoSect .titBlock .sectTit {
  text-align: center;
}
.infoSect .featureBlock .itemList {
  display: grid;
}
.infoSect .featureBlock .itemList > li {
  position: relative;
  background-color: #ffffff;
}
.infoSect .featureBlock .itemList .itemNum {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: -0.5em;
  line-height: 1;
  text-align: center;
}
.infoSect .featureBlock .itemList .itemNum span {
  display: inline-block;
  padding: 0 1px 0.16em;
  border-bottom: 1px solid currentColor;
}
.infoSect .featureBlock .itemList .itemTit {
  text-align: center;
}
@media screen and (min-width: 769px), print {
  .infoSect .bgShape.-circle {
    width: 895px;
    margin-top: -90px;
    margin-left: -290px;
  }
  .infoSect .sectInner {
    padding-top: 145px;
  }
  .infoSect .titBlock .sectTit {
    font-size: 36px;
    font-size: 3.6rem;
  }
  .infoSect .leadBlock {
    margin-top: 40px;
    line-height: 2.35;
    text-align: center;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .infoSect .leadBlock {
    text-align: left;
  }
  .infoSect .leadBlock br.pcBlock-i {
    display: none;
  }
}
@media screen and (min-width: 769px), print {
  .infoSect .featureBlock {
    margin-top: 110px;
  }
  .infoSect .featureBlock .itemList {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 36px;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1120px), print {
  .infoSect .featureBlock .itemList {
    gap: 20px;
  }
}
@media screen and (min-width: 769px), print {
  .infoSect .featureBlock .itemList > li {
    padding: 75px 20px 50px;
  }
  .infoSect .featureBlock .itemList .itemNum {
    font-size: 32px;
    font-size: 3.2rem;
  }
  .infoSect .featureBlock .itemList .itemTit {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1120px), print {
  .infoSect .featureBlock .itemList .itemTit {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 769px), print {
  .infoSect .featureBlock .itemList .itemTxt {
    margin-top: 30px;
    padding-inline: 20px;
    line-height: 2.1;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1120px), print {
  .infoSect .featureBlock .itemList .itemTxt {
    padding-inline: 0;
  }
}
@media only screen and (max-width: 768px) {
  .infoSect .bgShape.-circle {
    right: 0;
    width: 458px;
    margin-top: 72px;
    margin-right: -60px;
  }
  .infoSect .sectInner {
    padding-top: 60px;
  }
  .infoSect .titBlock .sectTit {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .infoSect .sectMain {
    margin-top: 25px;
  }
  .infoSect .leadBlock {
    line-height: 1.9;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .infoSect .featureBlock {
    margin-top: 70px;
  }
  .infoSect .featureBlock .itemList {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .infoSect .featureBlock .itemList > li {
    padding: 50px 25px 40px;
  }
  .infoSect .featureBlock .itemList .itemNum {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .infoSect .featureBlock .itemList .itemTit {
    font-size: 17px;
    font-size: 1.7rem;
  }
  .infoSect .featureBlock .itemList .itemTxt {
    margin-top: 15px;
    line-height: 1.9;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
/* =========================================================
========================================================= */
.perspectiveSect {
  position: relative;
  z-index: 1;
}
.perspectiveSect .sectTit {
  z-index: 1;
  line-height: 1.1;
  pointer-events: none;
}
.perspectiveSect .bgBlock {
  position: relative;
}
.perspectiveSect .bgBlock .slideWrap {
  position: relative;
}
.perspectiveSect .bgBlock .itemList .item {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  text-align: center;
}
.perspectiveSect .bgBlock .itemList .item:not(.slick-slide):nth-child(n+2) {
  display: none;
}
.perspectiveSect .bgBlock .controller {
  position: relative;
  line-height: 1;
  text-align: center;
}
.perspectiveSect .bgBlock .controller .slick-arrow {
  opacity: 1;
  border-radius: 50%;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-image: none;
  background-color: #ffffff;
  color: #6b1b7e;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
.perspectiveSect .bgBlock .controller .slick-arrow::after {
  position: absolute;
  display: block;
  width: 20%;
  height: 20%;
  background-repeat: no-repeat;
  background-position: 0 0;
  -webkit-background-size: 100% auto;
          background-size: 100% auto;
  content: "";
  left: 50%;
  top: 50%;
  border: solid currentColor;
  border-width: 1px 1px 0 0;
}
.perspectiveSect .bgBlock .controller .slick-arrow.slick-prev::after {
  -webkit-transform: translate(-30%, -50%) rotate(-135deg);
          transform: translate(-30%, -50%) rotate(-135deg);
}
.perspectiveSect .bgBlock .controller .slick-arrow.slick-next::after {
  -webkit-transform: translate(-70%, -50%) rotate(45deg);
          transform: translate(-70%, -50%) rotate(45deg);
}
.perspectiveSect .count small {
  display: inline-block;
  margin: 0 0.3em;
  vertical-align: middle;
}

@media screen and (min-width: 769px), print {
  .perspectiveSect {
    margin-top: 150px;
  }
  .perspectiveSect .sectTit {
    position: absolute;
    bottom: 0;
    left: 0;
    margin-bottom: -25px;
    padding-inline: 15px 200px;
    font-size: 68px;
    font-size: 6.8rem;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1120px), print {
  .perspectiveSect .sectTit {
    font-size: 54px;
    font-size: 5.4rem;
  }
}
@media screen and (min-width: 769px), print {
  .perspectiveSect .bgBlock .slideWrap {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 2436px;
    padding: 9.6% 50px;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1120px), print {
  .perspectiveSect .bgBlock .slideWrap {
    width: 1656px;
  }
}
@media screen and (min-width: 769px), print {
  .perspectiveSect .bgBlock .itemList .item {
    width: 600px;
    padding-inline: 106px;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1120px), print {
  .perspectiveSect .bgBlock .itemList .item {
    width: 400px;
    padding-inline: 76px;
  }
}
@media screen and (min-width: 769px), print {
  .perspectiveSect .bgBlock .itemList .item img {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: ease all 1.2s;
    transition: ease all 1.2s;
  }
  .perspectiveSect .bgBlock .itemList .item.slick-center img {
    -webkit-transform: scale(1.6);
            transform: scale(1.6);
    width: 100%;
  }
  .perspectiveSect .bgBlock .controller {
    width: 150px;
    margin-top: 40px;
    margin-right: 0;
    margin-left: auto;
  }
  .perspectiveSect .bgBlock .controller .slick-arrow {
    width: 40px;
    height: 40px;
  }
  .perspectiveSect .bgBlock .controller .slick-arrow:hover {
    background-color: #6b1b7e;
    color: #ffffff;
  }
  .perspectiveSect .bgBlock .slick-list {
    overflow: visible;
  }
  .perspectiveSect .count {
    font-size: 13px;
    font-size: 1.3rem;
  }
  .perspectiveSect .count small {
    font-size: 10px;
    font-size: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .perspectiveSect {
    margin-top: 100px;
  }
  .perspectiveSect .sectTit {
    font-size: 34px;
    font-size: 3.4rem;
  }
  .perspectiveSect .bgBlock {
    margin-top: 15px;
  }
  .perspectiveSect .bgBlock .itemList .item {
    width: calc(100svw - 30px);
  }
}
@media only screen and (max-width: 768px) and (max-width: 374px) {
  .perspectiveSect .bgBlock .itemList .item {
    width: calc(100svw - 20px);
  }
}
@media only screen and (max-width: 768px) {
  .perspectiveSect .bgBlock .controller {
    width: 120px;
    margin-top: 35px;
    margin-inline: auto;
  }
  .perspectiveSect .bgBlock .controller .slick-arrow {
    width: 33px;
    height: 33px;
  }
  .perspectiveSect .count {
    font-size: 10px;
    font-size: 1rem;
  }
  .perspectiveSect .count small {
    font-size: 8px;
    font-size: 0.8rem;
  }
}
/* =========================================================
========================================================= */
.messageSect {
  position: relative;
}
.messageSect .sectInner {
  background-color: #ffffff;
}
.messageSect .sectTit {
  line-height: 1;
}
.messageSect .profBlock {
  line-height: 1.4;
}
@media screen and (min-width: 769px), print {
  .messageSect {
    margin-top: 140px;
  }
  .messageSect .bgShape.-tri {
    width: 544px;
    margin-top: -305px;
    margin-left: -780px;
  }
  .messageSect .sectInner {
    padding: 95px 80px 80px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .messageSect .sectInner {
    padding-inline: 50px;
  }
}
@media screen and (min-width: 769px), print {
  .messageSect .sectMain {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 65px;
    margin-top: 45px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .messageSect .sectMain {
    gap: 40px;
  }
}
@media screen and (min-width: 769px), print {
  .messageSect .sectTit {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .messageSect .txtBlock {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    line-height: 2.1;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .messageSect .txtBlock p:nth-child(n+2) {
    margin-top: 2.2em;
  }
  .messageSect .profBlock {
    width: 200px;
    padding-top: 10px;
    text-align: center;
  }
  .messageSect .profBlock .txtBox {
    margin-top: 25px;
  }
  .messageSect .profBlock .job {
    font-size: 13px;
    font-size: 1.3rem;
  }
  .messageSect .profBlock .name {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .messageSect {
    margin-top: 60px;
  }
  .messageSect .bgShape.-tri {
    width: 278px;
    margin-top: -100px;
    margin-left: -100px;
  }
  .messageSect .sectInner {
    padding: 65px 25px 60px;
  }
}
@media only screen and (max-width: 768px) and (max-width: 374px) {
  .messageSect .sectInner {
    padding-inline: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .messageSect .sectMain {
    margin-top: 30px;
  }
  .messageSect .sectTit {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .messageSect .txtBlock {
    line-height: 1.9;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .messageSect .txtBlock p:nth-child(n+2) {
    margin-top: 1.9em;
  }
  .messageSect .profBlock {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 45px;
  }
  .messageSect .profBlock .thumb {
    width: 100px;
  }
  .messageSect .profBlock .job {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .messageSect .profBlock .name {
    margin-top: 3px;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
/* =========================================================
========================================================= */
.progressSect {
  position: relative;
}
.progressSect .bgShape {
  top: auto;
  bottom: 0;
}
.progressSect .titBlock {
  line-height: 1;
}
.progressSect .sectMain {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.progressSect .listBlock:not(*:has(.itemList)) {
  display: none;
}
.progressSect .listBlock .itemList > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  border-bottom: 1px solid #eaeaea;
}
.progressSect .listBlock .itemList > li:first-child {
  padding-top: 0;
}
.progressSect .listBlock .itemList .thumb a {
  display: block;
}
.progressSect .listBlock .itemList .thumb a::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 0 0;
  -webkit-background-size: 100% auto;
          background-size: 100% auto;
  content: "";
  left: 0;
  top: 0;
  z-index: 1;
}
.progressSect .listBlock .itemList .date {
  color: #6b1b7e;
  line-height: 1;
}
.progressSect .listBlock .itemList .tit {
  line-height: 1.4;
}
.progressSect .listBlock .itemList .txt {
  line-height: 1.7;
}
.progressSect .comingBlock {
  line-height: 1.2;
  text-align: center;
}

@media screen and (min-width: 769px), print {
  .progressSect {
    padding-block: 100px 130px;
  }
  .progressSect .bgShape.-triline {
    width: 147px;
    margin-bottom: 230px;
    margin-left: -690px;
  }
  .progressSect .bgShape.-circle {
    width: 497px;
    margin-bottom: -60px;
    margin-left: -650px;
  }
  .progressSect .sectInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 35px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .progressSect .sectInner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}
@media screen and (min-width: 769px), print {
  .progressSect .sectInner:has(.comingBlock) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
  .progressSect .titBlock {
    width: 300px;
  }
  .progressSect .titBlock .enTit {
    font-size: 42px;
    font-size: 4.2rem;
  }
  .progressSect .titBlock .sectTit {
    margin-top: 10px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .progressSect .listBlock .itemList > li {
    gap: 40px;
    padding-block: 30px;
  }
  .progressSect .listBlock .itemList .thumb {
    width: 38%;
    max-width: 264px;
  }
  .progressSect .listBlock .itemList .liMain {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -ms-flex-item-align: center;
        align-self: center;
  }
  .progressSect .listBlock .itemList .date {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .progressSect .listBlock .itemList .tit {
    margin-top: 25px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .progressSect .listBlock .itemList .txt {
    margin-top: 5px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .progressSect .comingBlock {
    padding-block: 100px 160px;
    font-size: 22px;
    font-size: 2.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .progressSect {
    padding-block: 60px 110px;
  }
  .progressSect .bgShape {
    left: 0;
  }
  .progressSect .bgShape.-triline {
    width: 68px;
    margin-bottom: 90px;
    margin-left: 12px;
  }
  .progressSect .bgShape.-circle {
    width: 236px;
    margin-bottom: -50px;
    margin-left: 30px;
  }
  .progressSect .titBlock {
    text-align: center;
  }
  .progressSect .titBlock .enTit {
    font-size: 36px;
    font-size: 3.6rem;
  }
  .progressSect .titBlock .sectTit {
    margin-top: 10px;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .progressSect .sectMain {
    margin-top: 50px;
  }
  .progressSect .listBlock .itemList > li {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 25px 20px;
    padding-block: 25px;
  }
  .progressSect .listBlock .itemList .thumb {
    width: 44%;
    max-width: 152px;
  }
  .progressSect .listBlock .itemList .liMain {
    display: contents;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -ms-flex-item-align: center;
        align-self: center;
  }
  .progressSect .listBlock .itemList .titBox {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -ms-flex-item-align: center;
        align-self: center;
  }
  .progressSect .listBlock .itemList .date {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .progressSect .listBlock .itemList .tit {
    margin-top: 5px;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .progressSect .listBlock .itemList .txt {
    width: 100%;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .progressSect .comingBlock {
    padding-block: 25px 40px;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
/* =========================================================
========================================================= */
.historySect {
  position: relative;
}
.historySect .sectInner {
  position: relative;
  z-index: 1;
}
.historySect .bgBlock {
  position: relative;
  z-index: 1;
  pointer-events: none;
}
.historySect .bgBlock .itemBox {
  position: relative;
  z-index: 1;
}
.historySect .bgBlock .itemList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.historySect .titBlock {
  background-color: #ffffff;
}
.historySect .titBlock .sectTit {
  letter-spacing: 0.1em;
}
.historySect .txtBlock .blockTit {
  position: relative;
  line-height: 1.8;
}
.historySect .txtBlock .blockTit::before {
  position: absolute;
  display: block;
  width: 0;
  height: 1px;
  background-repeat: no-repeat;
  background-position: 0 0;
  -webkit-background-size: 100% auto;
          background-size: 100% auto;
  content: "";
  left: 0%;
  top: 0;
  margin-top: 0.8em;
  background-color: currentColor;
}
.historySect .txtBlock .btn a {
  display: inline-block;
  opacity: 1;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border: 1px solid #6b1b7e;
  background-color: #6b1b7e;
  color: #ffffff;
  text-decoration: none;
  text-align: center;
  -webkit-transition: ease 0.4s all;
  transition: ease 0.4s all;
}
.historySect .txtBlock .btn a .-arrow {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%) scaleY(0.8);
          transform: translateY(-50%) scaleY(0.8);
  -webkit-transition: ease 0.4s all;
  transition: ease 0.4s all;
}
.historySect .txtBlock .btn a .-white {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

@media screen and (min-width: 769px), print {
  .historySect {
    padding-bottom: 90px;
  }
  .historySect .bgShape.-tri {
    width: 252px;
    margin-top: 160px;
    margin-left: 370px;
  }
  .historySect .sectInner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 50px;
  }
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(0)) {
    width: 0px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(0)) {
    width: 0px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(1)) {
    width: 902px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(1)) {
    width: 602px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(2)) {
    width: 1804px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(2)) {
    width: 1204px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(3)) {
    width: 2706px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(3)) {
    width: 1806px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(4)) {
    width: 3608px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(4)) {
    width: 2408px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(5)) {
    width: 4510px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(5)) {
    width: 3010px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(6)) {
    width: 5412px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(6)) {
    width: 3612px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(7)) {
    width: 6314px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(7)) {
    width: 4214px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(8)) {
    width: 7216px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(8)) {
    width: 4816px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(9)) {
    width: 8118px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(9)) {
    width: 5418px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(10)) {
    width: 9020px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(10)) {
    width: 6020px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(11)) {
    width: 9922px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(11)) {
    width: 6622px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(12)) {
    width: 10824px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(12)) {
    width: 7224px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(13)) {
    width: 11726px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(13)) {
    width: 7826px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(14)) {
    width: 12628px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(14)) {
    width: 8428px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(15)) {
    width: 13530px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(15)) {
    width: 9030px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(16)) {
    width: 14432px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(16)) {
    width: 9632px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(17)) {
    width: 15334px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(17)) {
    width: 10234px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(18)) {
    width: 16236px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(18)) {
    width: 10836px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(19)) {
    width: 17138px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(19)) {
    width: 11438px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(20)) {
    width: 18040px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock:has(.item:not(.slick-slide):nth-child(20)) {
    width: 12040px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .bgBlock .itemList .item {
    max-width: 900px;
    padding-right: 2px;
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
  .historySect .bgBlock .itemList .item {
    max-width: 600px;
  }
}
@media screen and (min-width: 769px), print {
  .historySect .titBlock {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-width: 204px;
    margin-top: -75px;
    padding: 40px 35px 0;
  }
  .historySect .titBlock .sectTit {
    line-height: 1.75;
    font-size: 38px;
    font-size: 3.8rem;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
  .historySect .sectMain {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-top: 90px;
  }
  .historySect .txtBlock .blockTit {
    padding-left: 70px;
    font-size: 20px;
    font-size: 2rem;
  }
  .historySect .txtBlock .blockTit::before {
    width: 57px;
  }
  .historySect .txtBlock .txt {
    margin-top: 35px;
    line-height: 2.1;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .historySect .txtBlock .btn {
    margin-top: 140px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .historySect .txtBlock .btn a {
    max-width: 542px;
    padding: 30px 60px;
  }
  .historySect .txtBlock .btn a .-arrow {
    width: 20px;
    margin-right: 25px;
  }
  .historySect .txtBlock .btn a:hover {
    background-color: #ffffff;
    color: #6b1b7e;
  }
  .historySect .txtBlock .btn a:hover .-arrow {
    -webkit-filter: invert(16%) sepia(66%) saturate(2996%) hue-rotate(275deg) brightness(85%) contrast(98%);
            filter: invert(16%) sepia(66%) saturate(2996%) hue-rotate(275deg) brightness(85%) contrast(98%);
  }
}
@media only screen and (max-width: 768px) {
  .historySect .bgShape.-tri {
    top: auto;
    right: 0;
    bottom: 0;
    width: 126px;
    margin-right: 15px;
    margin-bottom: 110px;
  }
  .historySect .bgBlock .itemList .item {
    max-width: calc(100svw - 30px);
    padding-right: 1px;
  }
}
@media only screen and (max-width: 768px) and (max-width: 374px) {
  .historySect .bgBlock .itemList .item {
    max-width: calc(100svw - 20px);
  }
}
@media only screen and (max-width: 768px) {
  .historySect .bgBlock .itemList .item:not(.slick-slide):nth-child(n+2) {
    display: none;
  }
  .historySect .titBlock {
    margin-top: 35px;
  }
  .historySect .titBlock .sectTit {
    line-height: 1.5;
    font-size: 27px;
    font-size: 2.7rem;
  }
  .historySect .sectMain {
    margin-top: 30px;
  }
  .historySect .txtBlock .blockTit {
    padding-left: 55px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .historySect .txtBlock .blockTit::before {
    width: 45px;
  }
  .historySect .txtBlock .txt {
    margin-top: 15px;
    line-height: 1.9;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .historySect .txtBlock .btn {
    margin-top: 80px;
    text-align: center;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .historySect .txtBlock .btn a {
    max-width: 360px;
    padding: 15px 25px 20px 15px;
  }
  .historySect .txtBlock .btn a .-arrow {
    width: 12px;
    margin-right: 10px;
  }
}