@charset "utf-8";

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #3D3D3D;
  background-color: #EBEAE6;
  font-size: 4.27vw;
  line-height: 1.48;
}

a {
  color: initial;
  cursor: pointer;
}

section {
  padding: 0;
}

.wrap {
  padding: 0 4vw;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

h2 {
  font-weight: bold;
  text-align: center;
  font-size: 7.47vw;
  line-height: 1.3;
}

a {
  text-decoration: none;
}

.sp {
  display: block !important;
}

.pc {
  display: none !important;
}

.white-box {
  background-color: #FFF;
  border-radius: 2.13vw;
}

.sup {
  font-size: 0.6em;
  vertical-align: top;
  font-weight: inherit;
}

.num {
  font-family: 'Nunito', sans-serif;
  line-height: 1;
  font-weight: bold;
}

._green {
  font-weight: bold;
  font-family: 'Nunito', sans-serif;
  color: #64C482;
}

._black {
  font-weight: bold;
  font-family: 'Nunito', sans-serif;
}

@media screen and (min-width: 750px) {
  body {
    background-color: #F7F5F3;
    font-size: 16px;
  }

  .wrap {
    padding: 0;
    max-width: 680px;
    margin: auto;
  }

  .sp {
    display: none !important;
  }

  .pc {
    display: block !important;
  }

  h2 {
    font-size: 32px;
  }

  section {
    max-width: 980px;
    margin: auto;
  }

  .white-box {
    border-radius: 9.26px;
  }
}

/* btn */
.btn {
  width: 70.133vw;
  height: 14.933vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border-radius: 9999px;
  text-align: center;
  position: relative;
  background-color: #D20D0D;
}

.btn p {
  color: #FFF;
  font-weight: bold;
}

@media screen and (min-width: 750px) {
  .btn {
    width: 263px;
    height: 56px;
  }
}

/* note */
ul.notes li,
ol.notes li {
  line-height: 1.48;
  letter-spacing: -0.04em;
  font-size: 3.1983vw;
  text-align: left;
  color: #707070;
}

ul.notes li {
  text-indent: -1.363637em;
  padding-left: 1.363637em;
}

ul.notes>li::before {
  content: '※';
  font-size: inherit;
  margin-right: 0.363637em;
}

ol.notes li {
  text-indent: -1.8em;
  padding-left: 1.8em;
}

ol.notes li:not(:first-of-type) {
  margin-top: 2.13vw;
}

ol.notes {
  counter-reset: number 0;
}

ol.notes>li::before {
  counter-increment: number 1;
  content: '※' counter(number);
  font-size: inherit;
  margin-right: 0.5em;
}

ul.notes li a,
ol.notes li a {
  color: #585858;
  text-decoration: underline;
}


@media screen and (min-width: 750px) {

  ul.notes li,
  ol.notes li {
    font-size: 11px;
  }

  p.note_text {
    margin-top: 4px;
  }

  ol.notes li:not(:first-of-type) {
    margin-top: 8px;
  }

}

/* bubble */
.bubble-box {
  text-align: center;
}

.bubble-box p {
  position: relative;
  display: inline-block;
  background-color: #FACB32;
  border-radius: 18.66667vw;
  padding: 1.333vw 3.2vw 1.067vw;
  text-align: center;
  font-weight: bold;
}

.bubble-box p::after {
  content: '';
  background-image: url(../images/bubble.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 5.333vw;
  height: 1.333vw;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1.333vw;
  margin: 0 auto;
}

@media screen and (min-width: 750px) {
  .bubble-box p {
    border-radius: 18.66667vw;
    padding: 5px 12px 4px;
  }

  .bubble-box p::after {
    width: 20px;
    height: 5px;
    bottom: -5px;
  }

}

/* header */
#Contents {
  padding-top: 58px;
}

/* section-kv */

/* section-ranking */
.section-ranking {
  padding: 17.067vw 0 12.8vw;
  background-image: url(../images/bg-ranking1.svg), url(../images/bg-ranking2.svg);
  background-position: center top 5.33vw, center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}

.section-ranking h2 {
  position: relative;
}

.section-ranking h2::before {
  content: "";
  position: absolute;
  background-image: url(../images/bg-ranking3.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 47.2vw;
  height: 9.6vw;
  left: 0;
  right: 0;
  top: -10.667vw;
  margin: auto;
}

.section-ranking h2 {
  position: relative;
}

.section-ranking h2+p {
  color: #707070;
  font-size: 3.733vw;
  margin-top: 2.133vw;
  text-align: center;
}

.section-ranking .ranking-accordion {
  margin-top: 6.4vw;
}

.section-ranking .ranking-list li {
  background-color: #F7F5F3;
  border-radius: 2.13vw;
}

.section-ranking .ranking-list li+li {
  margin-top: 2.133vw;
}

.section-ranking .ranking-list dt {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 3.2vw 11.733vw 3.2vw 12.8vw;
  height: 17.333vw;
}

.section-ranking .ranking-list dt p:nth-of-type(1) {
  font-weight: bold;
  font-size: 4.267vw;
  width: 32vw;
}

.section-ranking .ranking-list dt p:nth-of-type(2) {
  position: relative;
  font-size: 4.8vw;
}

.section-ranking .ranking-list dt p:nth-of-type(2) span {
  font-size: 7.467vw;
}

.section-ranking .ranking-list dt p.plus {
  padding-left: 4vw;
}

.section-ranking .ranking-list dt p.minus {
  padding-left: 2.667vw;
}

.section-ranking .ranking-list dt p:nth-of-type(2)::before {
  position: absolute;
  display: inline-grid;
  place-items: center;
  font-size: 5.333vw;
  font-weight: bold;
  left: 0;
  margin: auto;
}

.section-ranking .ranking-list dt p.plus::before {
  content: "+";
  color: #64C482;
  top: 0;
  bottom: 0;
}

.section-ranking .ranking-list dt p.minus::before {
  content: "-";
  top: 50%;
  transform: translateY(calc(-50% + -0.53vw));
}

.section-ranking .ranking-list dt::after {
  content: "";
  position: absolute;
  background-image: url(../images/img-ranking.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 6.4vw;
  height: 6.4vw;
  right: 3.2vw;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 0.5s;
}

.section-ranking .ranking-list dt._open::after {
  transform: rotate(-180deg);
}

.section-ranking .ranking-list {
  counter-reset: number 0;
}

.section-ranking .ranking-list li:nth-of-type(n + 6) {
  display: none;
}

.section-ranking .ranking-list li dt::before {
  counter-increment: number 1;
  content: counter(number);
  position: absolute;
  display: inline-grid;
  place-items: center;
  font-weight: bold;
  width: 7.467vw;
  height: 7.467vw;
  left: 3.2vw;
  top: 0;
  bottom: 0;
  margin: auto;
}

.section-ranking .ranking-list li:nth-of-type(1) dt::before,
.section-ranking .ranking-list li:nth-of-type(2) dt::before,
.section-ranking .ranking-list li:nth-of-type(3) dt::before {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  width: 7.467vw;
  height: 7.467vw;
  left: 3.2vw;
  top: 0;
  bottom: 0;
  margin: auto;

}

.section-ranking .ranking-list li:nth-of-type(1) dt::before {
  background-image: url(../images/img-ranking1.png);
}

.section-ranking .ranking-list li:nth-of-type(2) dt::before {
  background-image: url(../images/img-ranking2.png);
}

.section-ranking .ranking-list li:nth-of-type(3) dt::before {
  background-image: url(../images/img-ranking3.png);
}

.section-ranking .ranking-list li dd {
  display: none;
  padding: 3.2vw;
}

.section-ranking .ranking-list li dd p {
  font-size: 3.733vw;
}

.section-ranking .ranking-list li dd p span._green,
.section-ranking .ranking-list li dd p span._black {
  font-size: 4.8vw;
}

.section-ranking .ranking-note p {
  color: #707070;
  margin-top: 1.067vw;
}

.section-ranking .ranking-accordion__btn {
  color: #CC0000;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  margin-top: 8.533vw;
}

@media screen and (min-width: 750px) {
  .section-ranking {
    background-color: #EBEAE6;
    background-image: url(../images/pc/bg-ranking1.svg), url(../images/pc/bg-ranking2.svg);
    background-position: center top 30px, center bottom;
    background-size: auto;
    padding: 64px 0 48px;
  }

  .section-ranking h2::before {
    width: 177px;
    height: 36px;
    top: -40px;
  }

  .section-ranking h2+p {
    font-size: 14px;
    margin-top: 8px;
  }

  .section-ranking .ranking-accordion {
    margin-top: 24px;
  }

  .section-ranking .ranking-list li {
    border-radius: 9.26px;
  }

  .section-ranking .ranking-list li+li {
    margin-top: 8px;
  }

  .section-ranking .ranking-list dt {
    padding: 12px 64px 12px 68px;
    height: 65px;
  }

  .section-ranking .ranking-list dt p:nth-of-type(1) {
    font-size: 16px;
    width: auto;
  }

  .section-ranking .ranking-list dt p:nth-of-type(1) span {
    display: inline-block;
    margin-left: 0.5em;
    font-size: 12px;
    vertical-align: bottom;
  }

  .section-ranking .ranking-list dt p:nth-of-type(2) {
    font-size: 18px;
  }

  .section-ranking .ranking-list dt p:nth-of-type(2) span {
    font-size: 28px;
  }

  .section-ranking .ranking-list dt p.plus {
    padding-left: 15px;
  }

  .section-ranking .ranking-list dt p.minus {
    padding-left: 10px;
  }

  .section-ranking .ranking-list dt p:nth-of-type(2)::before {
    font-size: 20px;
  }

  .section-ranking .ranking-list dt p.minus::before {
    transform: translateY(calc(-50% + -2px));
  }

  .section-ranking .ranking-list dt::after {
    width: 24px;
    height: 24px;
    right: 24px;
  }

  .section-ranking .ranking-list li dt::before {
    width: 28px;
    height: 28px;
    left: 24px;
  }

  .section-ranking .ranking-list li:nth-of-type(1) dt::before,
  .section-ranking .ranking-list li:nth-of-type(2) dt::before,
  .section-ranking .ranking-list li:nth-of-type(3) dt::before {
    width: 28px;
    height: 28px;
    left: 24px;
  }

  .section-ranking .ranking-list li dd {
    padding: 12px 24px;
  }

  .section-ranking .ranking-list li dd p {
    font-size: 14px;
  }

  .section-ranking .ranking-list li dd p span._green,
  .section-ranking .ranking-list li dd p span._black {
    font-size: 18px;
  }

  .section-ranking .ranking-note p {
    margin-top: 4px;
  }

  .section-ranking .ranking-accordion__btn {
    margin-top: 32px;
  }
}

/* section-simulation */
.section-simulation {
  background-color: #F7F5F3;
  padding: 10.667vw 0;
}

.section-simulation h2 {
  margin-top: 3.467vw;
}

.section-simulation .note-text {
  color: #707070;
  text-align: center;
  font-size: 3.733vw;
  margin-top: 2.133vw;
}

.section-simulation .simulation-text,
.section-simulation ul.notes,
.section-simulation .btn {
  margin-top: 6.4vw;
}

.section-simulation .simulation-box {
  padding: 4.267vw 4.267vw 5.333vw;
  margin-top: 6.4vw;
}

.section-simulation .simulation-box .modal-btn {
  cursor: pointer;
  text-align: right;
}

.section-simulation .simulation-box .modal-btn p {
  display: inline-block;
  padding: 1.6vw 6.933vw 1.6vw 2.933vw;
  border-radius: 999px;
  border: solid 0.267vw #E0DEDC;
  font-size: 2.933vw;
  background-image: url(../images/img-ranking.png);
  background-size: 4.267vw;
  background-repeat: no-repeat;
  background-position: right 1.333vw center;
}

@media screen and (min-width: 750px) {
  .section-simulation {
    background-color: #F0EEEC;
    padding: 40px 0;
  }

  .section-simulation h2 {
    margin-top: 13px;
  }

  .section-simulation .note-text {
    font-size: 14px;
    margin-top: 8px;
  }

  .section-simulation .note-text+p {
    text-align: center;
  }

  .section-simulation .simulation-text,
  .section-simulation ul.notes,
  .section-simulation .btn {
    margin-top: 24px;
  }

  .section-simulation .simulation-box {
    padding: 16px 24px 20px;
    margin-top: 24px;
  }

  .section-simulation .simulation-box .modal-btn p {
    padding: 6px 26px 6px 11px;
    border-radius: 999px;
    border: solid 1px #E0DEDC;
    font-size: 11px;
    background-size: 16px;
    background-position: right 5px center;
  }
}

/* グラフ */
.simulation-graph {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  position: relative;
  height: 197px;
}

#simulation {
  width: 100% !important;
  height: 100% !important;
}

.simulation-label {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 4px;
  column-gap: 12.5px;
  margin-top: 11px;
}

.legend-item {
  display: flex;
  align-items: center;
  font-size: 12px;
  color: #3D3D3D;
}

.legend-marker {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 6px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.legend-icon-img {
  width: 8px;
  height: 8px;
  margin-right: 6px;
  flex-shrink: 0;
  object-fit: contain;
}

@media screen and (min-width: 750px) {
  .simulation-graph {
    max-width: none;
    height: 197px;
  }

  .simulation-label {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-items: start;
    column-gap: 13.33px;
  }


  .legend-marker {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 6px;
    flex-shrink: 0;
    box-sizing: border-box;
  }

  .legend-icon-img {
    width: 8px;
    height: 8px;
    margin-right: 6px;
    flex-shrink: 0;
    object-fit: contain;
  }
}


/* section-stepup */
.section-stepup {
  padding: 10.667vw 0 8.533vw;
  background-image: url(../images/bg-stepup3.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
}

.section-stepup h2 {
  background-image: url(../images/bg-stepup1.png);
  background-size: contain;
  background-repeat: no-repeat;
  margin-top: 3.2vw;
}

.section-stepup h2+p {
  margin-top: 4.267vw;
}

.section-stepup .stepup-subtitle.white-box {
  position: relative;
  padding: 4.267vw 5.6vw;
  text-align: center;
  margin-top: 8.533vw;
}

.section-stepup .stepup-subtitle.white-box::after {
  content: "";
  position: absolute;
  background-image: url(../images/bg-stepup2.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 87.2vw;
  height: 17.6vw;
  left: 0;
  right: 0;
  bottom: -2.221vw;
  margin: auto;
}

.section-stepup .stepup-subtitle p {
  font-weight: bold;
  font-size: 3.733vw;
}

.section-stepup .stepup-subtitle p+p {
  font-size: 4.8vw;
}

.section-stepup .stepup-list {
  margin-top: 8.533vw;
}

.section-stepup .stepup-list.slick-dotted.slick-slider {
  margin-bottom: 10.667vw;
}

.section-stepup .stepup-list .slick-dots {
  height: 7.467vw;
  padding-top: 3.2vw;
}

.section-stepup .stepup-list .slick-dots li {
  width: 2.133vw;
  height: 2.133vw;
  margin: 0 1.067vw;
}

.section-stepup .stepup-list .slick-dots li button {
  width: 2.133vw;
  height: 2.133vw;
  padding: 0;
}

.section-stepup .stepup-list .slick-dots li button:before {
  width: 2.133vw;
  height: 2.133vw;
  font-size: 2.133vw;
  line-height: 2.133vw;
  content: '';
  opacity: 1;
  background-color: #FFF;
  border-radius: 9999px;
}

.section-stepup .stepup-list li.white-box {
  text-align: center;
  width: 87.2vw;
  padding-top: 4vw;
  margin: 0 1.6vw;
  border-radius: 4.267vw;
}

.section-stepup .stepup-list .slick-dots li.slick-active button:before {
  opacity: 1;
  background-color: #D63333;
}

.section-stepup .stepup-list .slick-prev,
.section-stepup .stepup-list .slick-next {
  z-index: 1;
  transform: none;
  width: 7.467vw;
  height: 7.467vw;
  top: auto;
  bottom: -10.667vw;
}

.section-stepup .stepup-list .slick-prev {
  left: 6.4vw;
}

.section-stepup .stepup-list .slick-next {
  right: 6.4vw;
}

.section-stepup .stepup-list .slick-prev:before,
.section-stepup .stepup-list .slick-next:before {
  content: "";
  position: absolute;
  background-image: url(../images/ico-arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 7.467vw;
  height: 7.467vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
}

.section-stepup .stepup-list .slick-next:before {
  transform: translate(-50%, -50%) rotate(180deg);
}

.section-stepup .stepup-list li .stepup-list__title {
  height: 8.533vw;
  line-height: 8.533vw;
  font-weight: bold;
  padding-left: 10.667vw;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
}

.section-stepup .stepup-list li.nikkei .stepup-list__title {
  background-image: url(../images/ico-nikkei.png);
}

.section-stepup .stepup-list li.america .stepup-list__title {
  background-image: url(../images/ico-america.png);
}

.section-stepup .stepup-list li.active .stepup-list__title {
  background-image: url(../images/ico-active.png);
}

.section-stepup .stepup-list li.shinkokoku .stepup-list__title {
  background-image: url(../images/ico-shinkokoku.png);
}

.section-stepup .stepup-list li.gold .stepup-list__title {
  background-image: url(../images/ico-gold.png);
}

.section-stepup .stepup-list li .stepup-list__title span {
  font-size: 3.733vw;
}

.section-stepup .stepup-list li ._gray {
  background-color: #F7F5F3;
  border: 1.333vw solid #FFF;
  margin-top: 1.6vw;
  padding: 5.067vw 4vw;
  border-radius: 0 0 4.267vw 4.267vw;
}

.section-stepup .stepup-list li .stepup-list__text {
  font-weight: bold;
  text-align: center;
  font-size: 3.733vw;
}

.section-stepup .stepup-list li .stepup-list__text ._green span {
  font-size: 9.067vw;
}

.section-stepup .stepup-list li .stepup-list__text span.sup {
  vertical-align: super;
}

.section-stepup .stepup-list li .stepup-list__example {
  margin-top: 4.267vw;
  padding-top: 4.267vw;
  border-top: dashed 0.267vw #D4D2CF;
}

.section-stepup .stepup-list li .stepup-list__example-title {
  position: relative;
  font-weight: bold;
  text-align: left;
  font-size: 3.2vw;
  padding-left: 3.2vw;
}

.section-stepup .stepup-list li .stepup-list__example-title::before {
  position: absolute;
  content: '';
  background-color: #FACB32;
  width: 2.133vw;
  height: 2.133vw;
  border-radius: 999px;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.section-stepup .stepup-list li .stepup-list__example-text {
  text-align: left;
  font-size: 3.733vw;
  margin-top: 1.067vw;
  min-height: 2.96em;
}

.section-stepup ol.notes {
  margin-top: 17.067vw;
}

@media screen and (min-width: 750px) {
  .section-stepup {
    background-image: none;
    background-color: #EBEAE6;
    padding: 40px 0 32px;
  }

  .section-stepup h2 {
    position: relative;
    background: none;
    margin-top: 12px;
  }

  .section-stepup h2::before {
    position: absolute;
    content: '';
    background-image: url(../images/pc/bg-stepup1.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 509px;
    height: 67px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }

  .section-stepup h2+p {
    margin-top: 16px;
  }

  .section-stepup .stepup-subtitle.white-box {
    padding: 16px 21px;
    margin-top: 32px;
  }

  .section-stepup .stepup-subtitle.white-box::after {
    background-image: url(../images/pc/bg-stepup2.png);
    width: 680px;
    height: 66px;
    bottom: -9.35px;
  }

  .section-stepup .stepup-subtitle p {
    font-size: 14px;
  }

  .section-stepup .stepup-subtitle p+p {
    font-size: 18px;
  }

  .section-stepup .stepup-list {
    margin-top: 32px;
  }

  .section-stepup .stepup-list.slick-dotted.slick-slider {
    margin-bottom: 40px;
  }

  .section-stepup .stepup-list .slick-dots {
    height: 28px;
    padding-top: 12px;
  }

  .section-stepup .stepup-list .slick-dots li {
    width: 8px;
    height: 8px;
    margin: 0 4px;
  }

  .section-stepup .stepup-list .slick-dots li button {
    width: 8px;
    height: 8px;
  }

  .section-stepup .stepup-list .slick-dots li button:before {
    width: 8px;
    height: 8px;
    font-size: 8px;
    line-height: 8px;
    border-radius: 999px;
  }

  .section-stepup .stepup-list li.white-box {
    width: 680px;
    padding-top: 15px;
    margin: 0 6px;
    border-radius: 16px;
  }

  .section-stepup .stepup-list .slick-prev,
  .section-stepup .stepup-list .slick-next {
    width: 28px;
    height: 28px;
    bottom: -40px;
  }

  .section-stepup .stepup-list .slick-prev {
    left: 24px;
  }

  .section-stepup .stepup-list .slick-next {
    right: 24px;
  }

  .section-stepup .stepup-list .slick-prev:before,
  .section-stepup .stepup-list .slick-next:before {
    width: 28px;
    height: 28px;
  }

  .section-stepup .stepup-list li .stepup-list__title {
    height: 32px;
    line-height: 32px;
    padding-left: 40px;
  }


  .section-stepup .stepup-list li .stepup-list__title span {
    font-size: 14px;
  }

  .section-stepup .stepup-list li ._gray {
    border: 5px solid #FFF;
    margin-top: 6px;
    padding: 19px 15px;
    border-radius: 0 0 16px 16px;
  }

  .section-stepup .stepup-list li .stepup-list__text {
    font-size: 14px;
  }

  .section-stepup .stepup-list li .stepup-list__text ._green span {
    font-size: 34px;
  }


  .section-stepup .stepup-list li .stepup-list__example {
    margin-top: 16px;
    padding-top: 16px;
    border-top: dashed 1px #D4D2CF;
  }

  .section-stepup .stepup-list li .stepup-list__example-title {
    font-size: 12px;
    padding-left: 12px;
  }

  .section-stepup .stepup-list li .stepup-list__example-title::before {
    width: 8px;
    height: 8px;
    border-radius: 999px;
  }

  .section-stepup .stepup-list li .stepup-list__example-text {
    font-size: 14px;
    margin-top: 4px;
    min-height: 0;
  }

  .section-stepup ol.notes {
    margin-top: 64px;
  }
}

/* section-start */
.section-start {
  background-color: #F7F5F3;
  padding: 10.667vw 0 12.8vw;
}

.section-start .start-subtitle {
  text-align: center;
  margin-top: 4.533vw;
}

.section-start .start-subtitle p {
  display: inline-block;
  font-size: 5.333vw;
  font-weight: 700;
  background-image: url(../images/bg-line.png);
  background-size: 100% 0.533vw;
  background-repeat: no-repeat;
  background-position: bottom;
}

.section-start h2 {
  font-size: 6.4vw;
  margin-top: 2.133vw;
  line-height: 1.48;
}

.section-start img {
  width: 58.933vw;
  margin: 2.133vw auto 0;
}

.section-start p.start-text {
  text-align: center;
  margin-top: 6.4vw;
  font-size: 3.733vw;
  font-weight: bold;
}

.section-start .btn {
  margin-top: 2.133vw;
}

.section-start ol.notes {
  margin-top: 6.4vw;
}

@media screen and (min-width: 750px) {
  .section-start {
    background-color: #F0EEEC;
    padding: 40px 0 48px;
  }

  .section-start .start-subtitle {
    margin-top: 17px;
  }

  .section-start .start-subtitle p {
    font-size: 20px;
    background-size: 100% 2px;
  }

  .section-start h2 {
    font-size: 24px;
    margin-top: 8px;
    line-height: 1.48;
  }

  .section-start img {
    width: 221px;
    margin: 8px auto 0;
  }

  .section-start p.start-text {
    margin-top: 24px;
    font-size: 14px;
  }

  .section-start .btn {
    margin-top: 8px;
  }

  .section-start ol.notes {
    margin-top: 24px;
  }
}

/* modal */
.modal {
  display: none;
  width: 100vw;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10010;
}

.modal .modal_inner {
  background-color: #F0EEEC;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  padding: 7.467vw;
  border-radius: 6.4vw 6.4vw 0 0;
  max-width: 100vw;
  max-height: 0;
  overflow: auto;
  background-clip: padding-box;
  z-index: 10011;
  transition: all 0.5s ease;
}

.modal .modal_inner._active {
  max-height: 96vh;
}

.modal div.modal_close {
  background: rgba(0, 0, 0, 0.6);
  height: 100vh;
  position: absolute;
  width: 100%;
  z-index: 10001;
}

.modal .modal_inner p.modal_close {
  position: absolute;
  line-height: 1;
  width: 3.893vw;
  top: 7.467vw;
  right: 7.467vw;
}

.modal .modal_inner::-webkit-scrollbar {
  display: none;
}

.modal #modal-simulation.modal_inner .modal-title {
  text-align: center;
  font-weight: 600;

}

.modal #modal-simulation.modal_inner ul {
  margin-top: 6.933vw;
}

.modal #modal-simulation.modal_inner ul li {
  position: relative;
  background-color: #FFF;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 18.133vw;
  border-radius: 3.2vw;
  padding: 0 10.667vw 0 3.2vw;
}

.modal #modal-simulation.modal_inner ul li+li {
  margin-top: 2.133vw;
}

.modal #modal-simulation.modal_inner ul li p {
  position: relative;
  padding-left: 5.333vw;
  font-weight: bold;
}

.modal #modal-simulation.modal_inner ul li p::before {
  content: '';
  border-radius: 999px;
  width: 3.2vw;
  height: 3.2vw;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.modal #modal-simulation.modal_inner ul li.active p::before {
  background-image: url(../images/bg-active.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.modal #modal-simulation.modal_inner ul li.balance p::before {
  background-image: url(../images/bg-balance.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.modal #modal-simulation.modal_inner ul li.nikkei p::before {
  background-color: #FAC67E;
}

.modal #modal-simulation.modal_inner ul li.shinkokoku p::before {
  background-color: #F47F86;
}

.modal #modal-simulation.modal_inner ul li.comm p::before {
  background-color: #B7B6EE;
}

.modal #modal-simulation.modal_inner ul li.life p::before {
  background-color: #A5DAF3;
}

.modal #modal-simulation.modal_inner ul li.health p::before {
  background-color: #85D7D4;
}

.modal #modal-simulation.modal_inner ul li.america p::before {
  background-color: #84ABFA;
}

.modal #modal-simulation.modal_inner ul li.gold p::before {
  background-color: #DAD800;
}

.modal #modal-simulation.modal_inner ul li.energy p::before {
  background-color: #95E791;
}

.modal #modal-simulation.modal_inner ul li.inverse p::before {
  background-color: #F3A4E8;
}

.modal #modal-simulation.modal_inner ul li.sdgs p::before {
  background-color: #00B873;
}

.modal #modal-simulation.modal_inner ul li.js-active::after {
  content: '';
  border-radius: 999px;
  background-image: url(../images/ico-check.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 5.333vw;
  height: 5.333vw;
  position: absolute;
  right: 2.667vw;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (min-width: 750px) {
  .modal .modal_inner {
    padding: 32px;
    border-radius: 24px;
    width: 980px;
    max-width: 90%;
    top: 0;
    height: 580px;
    max-height: 96vh;
  }

  .modal .modal_inner._active {
    max-height: auto;
  }


  .modal .modal_inner p.modal_close {
    width: 14.6px;
    top: 28px;
    right: 28px;
  }

  .modal #modal-simulation.modal_inner .modal-title p {
    font-size: 20px;
  }

  .modal #modal-simulation.modal_inner ul {
    margin-top: 43px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }

  .modal #modal-simulation.modal_inner ul li {
    width: 49%;
    height: 68px;
    border-radius: 12px;
    padding: 0 58px 0 24px;
  }

  .modal #modal-simulation.modal_inner ul li+li {
    margin-top: 0;
  }

  .modal #modal-simulation.modal_inner ul li p {
    padding-left: 20px;
  }

  .modal #modal-simulation.modal_inner ul li p::before {
    width: 12px;
    height: 12px;
  }

  .modal #modal-simulation.modal_inner ul li.js-active::after {
    width: 24px;
    height: 24px;
    right: 24px;
  }
}