@charset "utf-8";

@media print, screen {
  #realignment {
    background-color: var(--grayf2-color);
  }
  #realignment .mv__normal {
    padding: 116px 50px 0 0;
    background-image: url(../../images/src/realignment/img_mv.png);
  }
  #realignment .mv__normal .tit__box {
    width: 692px; /*width: 572px;*/
  }
  #realignment .tit__jp {
    margin-bottom: 40px;
    color: var(--main-color);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    letter-spacing: 0.03em;
    text-indent: 0.03em;
  }
}
@media screen and (max-width: 1600px) {
  #realignment .mv__normal {
    padding: 7.25vw 3.125vw 0 0;
  }
  #realignment .mv__normal .tit__box {
    width: 42.25vw; /*width: 572px;*/
  }
}
@media screen and (max-width: 768px) {
  #realignment .mv__normal {
    margin: 0 auto;
    padding: 0 0 38.647vw;
    background: none;
  }
  #realignment .mv__normal .tit__box {
    width: 100%;
  }
  #realignment .tit__jp {
    margin-bottom: 6vw;
    font-size: 6.28vw;
  }
}

@media print, screen {
  #realignment .sec01 {
    margin: 0 auto;
    padding: 97px 0 120px;
    width: 100%;
    max-width: 1120px;
  }
  #realignment .sec01 .note__txt {
    text-align:center;
    line-height:2;
    margin:0 auto 40px
  }
  #realignment .sec01 .note__txt a {
    letter-spacing: 0.1em;
    border-bottom: 1px solid var(--grayf1-color);
  }
  #realignment .sec01 .recommend__block {
    gap: 20px 0;
    width: 100%;
  }
  #realignment .sec01 .recommend__block li {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 32.143%;
    max-width: 360px;
    height: 338px;
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
    text-align: center;
    background-color: var(--white);
    border-radius: 14px;
  }
  #realignment .sec01 .recommend__block li .recommend__text {
    font-weight: 500;
  }
  #realignment .sec01 .recommend__block li .recommend__icon {
    margin-bottom: 24px;
    width: 21.666%;
    max-width: 78px;
  }
}
@media screen and (max-width: 1200px) {
  #realignment .sec01 {
    padding: 8vw 0 10vw;
    width: 93.333%;
  }
  #realignment .sec01 .recommend__block {
    gap: 1.666vw 0;
  }
  #realignment .sec01 .recommend__block li {
    width: 32.143%;
    height: 28.166vw;
    font-size: 1.5vw;
  }
  #realignment .sec01 .recommend__block li .recommend__icon {
    margin-bottom: 2vw;
  }
}
@media screen and (max-width: 768px) {
  #realignment .sec01 {
    padding: 13.285vw 0 14.492vw;
    width: 89.37%;
    max-width: inherit;
  }
  #realignment .sec01 .note__txt {
    font-size: 3.381vw;
  }
  #realignment .sec01 .note__txt a {
    font-size: 3.381vw;
  }
  #realignment .sec01 .recommend__block {
    gap: 2.415vw 0;
  }
  #realignment .sec01 .recommend__block li {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    flex-direction: inherit;
    padding: 4.83vw 7.246vw;
    width: 100%;
    max-width: inherit;
    height: auto;
    font-size: 3.381vw;
    box-sizing: border-box;
  }
  #realignment .sec01 .recommend__block li .recommend__text {
    width: 70%;
    font-weight: 500;
    text-align: left;
  }
  #realignment .sec01 .recommend__block li .recommend__icon {
    margin-bottom: 0;
    width: 18%;
    max-width: inherit;
  }
}
@media print, screen {
  #realignment .sec02 {
    margin: 0 auto;
    padding: 120px 0;
    width: 100%;
    background-image: url(../../images/src/realignment/bg02.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1920px auto;
  }
  #realignment .sec02 .inner {
    margin: 0 auto;
    padding: 40px 80px;
    width: 100%;
    max-width: 960px;
    background-color: var(--white);
    box-sizing: border-box;
  }
  #realignment .sec02 .inner .sec02__copy {
    margin-bottom: 10px;
    color: var(--main-color);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    text-align: center;
  }
  #realignment .sec02 .inner .sec02__list {
  }
  #realignment .sec02 .inner .sec02__list li {
    padding: 20px 0 20px 50px;
    font-size: 20px;
    line-height: 1.8;
    background: url(../../images/src/realignment/icon07.svg);
    background-repeat: no-repeat;
    background-position: left top 25px;
    background-size: 26px auto;
    border-bottom: 1px solid var(--grayf3-color);
  }
  #realignment .sec02 .inner .sec02__list li span {
    font-weight: 700;
  }
}
@media screen and (max-width: 1000px) {
  #realignment .sec02 {
    padding: 12vw 0;
    background-image: url(../../images/src/realignment/bg02_1000.png);
    background-size: 100% auto;
  }
  #realignment .sec02 .inner {
    padding: 4vw 8vw;
    width: 96%;
  }
  #realignment .sec02 .inner .sec02__copy {
    margin-bottom: 1vw;
    font-size: 3.2vw;
  }
  #realignment .sec02 .inner .sec02__list li {
    padding: 2vw 0 2vw 5vw;
    font-size: 2vw;
    background-position: left top 2.5vw;
    background-size: 2.6vw auto;
  }
}
@media screen and (max-width: 768px) {
  #realignment .sec02 {
    padding: 9.42vw 0;
    background-image: url(../../images/src/realignment/sp/bg02.png);
    background-size: 100% auto;
  }
  #realignment .sec02 .inner {
    padding: 9.66vw 6vw;
    width: 94.2%;
    max-width: inherit;
  }
  #realignment .sec02 .inner .sec02__copy {
    margin-bottom: 3vw;
    font-size: 5.314vw;
  }
  #realignment .sec02 .inner .sec02__list {
  }
  #realignment .sec02 .inner .sec02__list li {
    padding: 3.381vw 0 3.381vw 5.729vw;
    font-size: 3.864vw;
    background-position: left top 4.864vw;
    background-size: 3.864vw auto;
  }
}
@media print, screen {
  #realignment .sec03 {
    margin: 0 auto;
    padding: 120px 0;
    width: 100%;
    text-align: center;
  }
  #realignment .sec03 .tit__jp {
    display: inline-block;
    margin-bottom: 50px;
    padding: 5px 0 5px 70px;
    color: var(--black);
    background: url(../../images/src/realignment/icon08.svg) no-repeat left
      center;
    background-size: 44px auto;
  }
  #realignment .sec03 .inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1360px;
  }
  #realignment .sec03 .inner .inner__tit {
    padding: 10px 0;
    color: var(--white);
    font-size: 32px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.06em;
    text-indent: 0.06em;
    background-color: var(--main-color);
  }
  #realignment .sec03 .inner .block__white {
    padding: 40px;
    background-color: var(--white);
  }
  #realignment .sec03 .inner .block__white .block {
    padding: 40px 30px;
    background-color: var(--grayf2-color);
  }
  #realignment .sec03 .inner .block__white .block + .block {
    margin-top: 20px;
  }
  #realignment .sec03 .inner .block__white .block .block__tit {
    margin-bottom: 24px;
    padding: 0 0 18px;
    color: var(--main-color);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    border-bottom: 1px solid var(--main-color);
  }
  #realignment .sec03 .inner .block__white .block .block__item {
    width: 100%;
  }
  #realignment .sec03 .inner .block__white .block .block__item li {
    padding: 20px 0;
    width: 24%;
    max-width: 308px;
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
    text-align: center;
    letter-spacing: 0.1em;
    background-color: var(--white);
    box-sizing: border-box;
  }
  #realignment .sec03 .inner .block__white .block .block__item li span {
    display: block;
    color: #666666;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
  }
  #realignment .sec03 .inner .block__white .block .block__item.typ02 {
    margin: 0 auto;
    width: 100%;
    max-width: 1165px;
  }
  #realignment .sec03 .inner .block__white .block .block__item.typ02 li {
    width: auto;
    max-width: inherit;
  }
  #realignment
    .sec03
    .inner
    .block__white
    .block
    .block__item.typ02
    li:first-of-type {
    width: 26.351%;
  }
  #realignment
    .sec03
    .inner
    .block__white
    .block
    .block__item.typ02
    li:nth-of-type(2) {
    width: 38.454%;
  }
  #realignment
    .sec03
    .inner
    .block__white
    .block
    .block__item.typ02
    li:nth-of-type(3) {
    width: 32.446%;
  }
  #realignment .sec03 .inner .block__white .block__img {
    margin-top: 40px;
    width: 100%;
  }
  #realignment .sec03 .inner .item__list {
    gap: 16px 0;
    margin: 40px 0 0;
    width: 100%;
  }
  #realignment .sec03 .inner .item__list li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 49.4%;
    max-width: 672px;
    height: 180px;
    color: var(--white);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.06em;
    text-indent: 0.06em;
    background-color: var(--main-color);
    border-radius: 8px;
  }
  #realignment .sec03 .inner .item__list li p {
    font-weight: 700;
  }
  #realignment .sec03 .inner .item__list li p span {
    font-size: 20px;
    font-weight: 700;
  }
  #realignment .sec03 .seminar__block {
    margin: 0 auto;
    padding: 140px 0 0;
    width: 100%;
    max-width: 1192px;
  }
  #realignment .sec03 .seminar__block .tit__jp {
    margin-bottom: 40px;
    padding: 0;
    color: var(--main-color);
    background: none;
  }
  #realignment .sec03 .seminar__block .seminar__time {
    margin-bottom: 55px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.12em;
    text-indent: 0.12em;
  }
  #realignment .sec03 .seminar__block .seminar__price {
    margin-bottom: 25px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.36;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
  }
  #realignment .sec03 .seminar__block .price__list {
    margin-bottom: 20px;
    width: 100%;
  }
  #realignment .sec03 .seminar__block .price__list li {
    width: 32.214%;
    background-color: var(--white);
    border-radius: 14px;
  }
  #realignment .sec03 .seminar__block .price__list li .list__tit {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 76px;
    color: var(--white);
    font-size: 26px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    background-color: var(--main-color);
    border-radius: 14px 14px 0 0;
  }
  #realignment .sec03 .seminar__block .price__list li .list__tit span {
    font-weight: 500;
  }
  #realignment .sec03 .seminar__block .price__list li .list__tit span small {
    display: block;
    font-size: 14px;
    font-weight: 500;
  }
  #realignment .sec03 .seminar__block .price__list li .list__price {
    padding: 30px 0;
    color: var(--main-color);
    font-size: 50px;
    font-weight: 700;
    line-height: 1;
  }
  #realignment .sec03 .seminar__block .price__list li .list__price span {
    font-size: 22px;
    font-weight: 700;
  }
  #realignment .sec03 .seminar__block .price__list li .list__price small {
    margin: 0 5px;
    color: #000;
    font-size: 14px;
    font-weight: 400;
  }
  #realignment .sec03 .seminar__block .price__note {
    font-size: 14px;
    line-height: 1.85;
    text-align: left;
  }
  #realignment .sec03 .seminar__block .price__note + .seminar__price {
    margin-top: 60px;
  }
  #realignment .sec03 .under__menu {
    padding: 118px 0 0;
  }
}
@media screen and (max-width: 1400px) {
  #realignment .sec03 {
    padding: 8.571vw 0;
  }
  #realignment .sec03 .tit__jp {
    margin-bottom: 3.571vw;
    padding: 0.357vw 0 0.357vw 5vw;
    font-size: 2.857vw;
    background-size: 3.142vw auto;
  }
  #realignment .sec03 .inner {
    width: 97.142%;
  }
  #realignment .sec03 .inner .inner__tit {
    padding: 0.714vw 0;
    font-size: 2.285vw;
  }
  #realignment .sec03 .inner .block__white {
    padding: 2.857vw;
  }
  #realignment .sec03 .inner .block__white .block {
    padding: 2.857vw 2.142vw;
  }
  #realignment .sec03 .inner .block__white .block + .block {
    margin-top: 1.428vw;
  }
  #realignment .sec03 .inner .block__white .block .block__tit {
    margin-bottom: 1.714vw;
    padding: 0 0 1.285vw;
    font-size: 1.714vw;
  }
  #realignment .sec03 .inner .block__white .block .block__item li {
    padding: 1.428vw 0 1.428vw 2.857vw;
    font-size: 1.285vw;
  }
  #realignment .sec03 .inner .block__white .block .block__item li span {
    font-size: 1.142vw;
  }
  #realignment .sec03 .inner .block__white .block .block__item.typ02 {
    width: 100%;
  }
  #realignment .sec03 .inner .block__white .block__img {
    margin-top: 2.857vw;
  }
  #realignment .sec03 .inner .item__list {
    gap: 1.142vw 0;
    margin: 2.857vw 0 0;
  }
  #realignment .sec03 .inner .item__list li {
    height: 12.857vw;
    font-size: 2.285vw;
  }
  #realignment .sec03 .inner .item__list li p span {
    font-size: 1.428vw;
  }
  #realignment .sec03 .seminar__block {
    padding: 10vw 0 0;
    width: 85.142%;
  }
  #realignment .sec03 .seminar__block .tit__jp {
    margin-bottom: 2.857vw;
  }
  #realignment .sec03 .seminar__block .seminar__time {
    margin-bottom: 3.928vw;
    font-size: 1.714vw;
  }
  #realignment .sec03 .seminar__block .seminar__price {
    margin-bottom: 1.785vw;
    font-size: 1.571vw;
  }
  #realignment .sec03 .seminar__block .price__list {
    margin-bottom: 1.428vw;
  }
  #realignment .sec03 .seminar__block .price__list li .list__tit {
    height: 5.428vw;
    font-size: 1.857vw;
  }
  #realignment .sec03 .seminar__block .price__list li .list__tit span small {
    font-size: 1vw;
  }
  #realignment .sec03 .seminar__block .price__list li .list__price {
    padding: 2.142vw 0;
    font-size: 3.571vw;
  }
  #realignment .sec03 .seminar__block .price__list li .list__price span {
    font-size: 1.571vw;
  }
  #realignment .sec03 .seminar__block .price__list li .list__price small {
    margin: 0 0.357vw;
    font-size: 1vw;
  }
  #realignment .sec03 .seminar__block .price__note {
    font-size: 1vw;
  }
  #realignment .sec03 .seminar__block .price__note + .seminar__price {
    margin-top: 4.285vw;
  }
  #realignment .sec03 .under__menu {
    padding: 8.428vw 0 0;
  }
}
@media screen and (max-width: 1200px) {
  #realignment .sec03 .under__menu {
    padding: 9.166vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  #realignment .sec03 {
    padding: 12vw 0;
  }
  #realignment .sec03 .tit__jp {
    margin-bottom: 9.661vw;
    padding: 12vw 0 0;
    font-size: 6.28vw;
    line-height: 1.3;
    background-position: center top;
    background-size: 8.937vw auto;
  }
  #realignment .sec03 .inner {
    width: 94.2%;
    max-width: inherit;
  }
  #realignment .sec03 .inner .inner__tit {
    padding: 4.227vw 0;
    font-size: 5.314vw;
    line-height: 1.5;
  }
  #realignment .sec03 .inner .block__white {
    padding: 4.83vw 6vw;
  }
  #realignment .sec03 .inner .block__white .block {
    padding: 5.434vw 4.83vw;
  }
  #realignment .sec03 .inner .block__white .block + .block {
    margin-top: 4.83vw;
  }
  #realignment .sec03 .inner .block__white .block .block__tit {
    margin-bottom: 4.83vw;
    padding: 0 0 2.415vw;
    font-size: 4.83vw;
  }
  #realignment .sec03 .inner .block__white .block .block__item {
    gap: 2.415vw 0;
    margin: 0 auto;
    width: 96%;
  }
  #realignment .sec03 .inner .block__white .block .block__item li {
    padding: 3.623vw 0;
    width: 100%;
    max-width: inherit;
    font-size: 3.864vw;
  }
  #realignment .sec03 .inner .block__white .block .block__item li span {
    font-size: 3.381vw;
  }
  #realignment .sec03 .inner .block__white .block .block__item.typ02 {
    margin: 0 auto;
    width: 96%;
    max-width: inherit;
  }
  #realignment .sec03 .inner .block__white .block .block__item.typ02 li {
    width: 100%;
  }
  #realignment
    .sec03
    .inner
    .block__white
    .block
    .block__item.typ02
    li:first-of-type,
    #realignment
    .sec03
    .inner
    .block__white
    .block
    .block__item.typ02
    li:nth-of-type(2),
    #realignment
    .sec03
    .inner
    .block__white
    .block
    .block__item.typ02
    li:nth-of-type(3) {
    width: 100%;
  }
  #realignment .sec03 .inner .block__white .block__img {
    margin-top: 4.83vw;
  }
  #realignment .sec03 .inner .item__list {
    gap: 2.174vw 0;
    margin: 4.83vw 0 0;
  }
  #realignment .sec03 .inner .item__list li {
    width: 100%;
    max-width: inherit;
    height: 23.43vw;
    font-size: 5.314vw;
  }
  #realignment .sec03 .inner .item__list li p span {
    font-size: 3.864vw;
  }
  #realignment .sec03 .seminar__block {
    margin: 0 auto;
    padding: 19vw 0 0;
    width: 89.37%;
    max-width: inherit;
  }
  #realignment .sec03 .seminar__block .tit__jp {
    margin-bottom: 4.83vw;
    font-size: 6.28vw;
  }
  #realignment .sec03 .seminar__block .seminar__time {
    margin-bottom: 9vw;
    font-size: 3.864vw;
  }
  #realignment .sec03 .seminar__block .seminar__price {
    margin-bottom: 3.623vw;
    font-size: 3.864vw;
  }
  #realignment .sec03 .seminar__block .price__list {
    gap: 4.468vw 0;
    margin-bottom: 2.173vw;
    width: 100%;
  }
  #realignment .sec03 .seminar__block .price__list li {
    width: 100%;
  }
  #realignment .sec03 .seminar__block .price__list li .list__tit {
    height: 16.9vw;
    font-size: 5.797vw;
  }
  #realignment .sec03 .seminar__block .price__list li .list__tit span small {
    font-size: 3.381vw;
  }
  #realignment .sec03 .seminar__block .price__list li .list__price {
    padding: 3.623vw 0;
    font-size: 8.692vw;
    border: 1px solid var(--main-color);
    border-radius: 0 0 14px 14px;
    border-top: none;
  }
  #realignment .sec03 .seminar__block .price__list li .list__price span {
    font-size: 4.83vw;
  }
  #realignment .sec03 .seminar__block .price__list li .list__price small {
    margin: 0 0.5vw;
    font-size: 3.381vw;
  }
  #realignment .sec03 .seminar__block .price__note {
    font-size: 3.381vw;
  }
  #realignment .sec03 .seminar__block .price__note + .seminar__price {
    margin-top: 10.265vw;
  }
  #realignment .sec03 .under__menu {
    padding: 19.323vw 0 0;
  }
}
