@charset "UTF-8";

:root {
  --color-yellow: #ffd500;
  --color-yellow-bg: #fefae7;
  --color-alert: #b7211f;
}


.grid {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 20px;
}
.grid > div,
.grid-1 > div {
  border: 1px solid var(--color-gray);
  background-color: var(--color-white);
}
.grid > div.is-new,
.grid-1 > div.is-new {
  border: 1px solid #f9b302;
  background-color: #fff1ce;
}
.grid-1 {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 20px;
}

.notice {
  color: var(--color-text);
  font-size: 12px;
  text-align: center;
  background-color: var(--color-extralightgray);
  padding: 4px 0;
}

.renewal-mv {
  width: 100%;
  min-height: 240px;
  background-image: url('../img/renewal/mv-bg.png');
	background-origin: border-box;
	background-size: cover;
	background-position: center bottom 30%;
	background-repeat: no-repeat;
  display: grid;
  place-content: center;
  margin-bottom: 40px;
}

.renewal-mv img {
  width: 100%;
  max-width: var(--width-ms);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.renewal-page h2 {
  margin-bottom: 20px;
}

.renewal-page h2.h-type-1::before {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  top: -66px;
  background-origin: border-box;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 140px;
  height: 60px;
}

.renewal-page h2.h-type-1.is-1::before {
  background-image: url('../img/renewal/head-img-1.png');
}
.renewal-page h2.h-type-1.is-2::before {
  background-image: url('../img/renewal/head-img-2.png');
}
.renewal-page h2.h-type-1.is-3::before {
  background-image: url('../img/renewal/head-img-3.png');
}
.renewal-page h2.h-type-1.is-4::before {
  background-image: url('../img/renewal/head-img-4.png');
}

.renewal-page .point-system_1 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 60px 0px;
}
.renewal-page .point-system_2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 12px;
}
.renewal-page .point-system_3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 12px;
}
.renewal-page .point-system_item {
  position: relative;
  border: 1px solid var(--color-primary-light);
  border-radius: 12px;
  background-color: var(--color-bg);
  padding: 40px 12px 12px 12px;
}

.renewal-page .point-system_item-title {
  color: var(--color-primary);
  font-weight: bold;
  font-size: var(--size-ms);
  text-align: center;
  line-height: 1.2;
  margin-bottom: 20px;
}

.renewal-page .point-system_item-text {
  color: var(--color-text);
  font-size: var(--size-ss);
  line-height: 1.4;
}

.renewal-page .point-system_icon {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-color:  var(--color-primary-light);
  border: 3px solid var(--color-primary-light);
  width: 70px;
  height: 70px;
  border-radius: 40px;
}
.renewal-page .point-system_icon img {
  position: absolute;
  top: 3%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 60px;
  height: auto;
}

.renewal-page .point-system h3 {
  min-height: 46px;
}

.renewal-page .point-system_item-text ._box ._title {
  color: var(--color-text);
  font-size: var(--size-s);
  font-weight: bold;
  text-align: center;
  background-color:  var(--color-primary-light);
  padding: 2px;
}
.renewal-page .point-system_item-text ._title.is-after {
  background-color:  var(--color-accent);
  color: var(--color-text);
}
.renewal-page .point-system_item-text ._box ._text {
  color: var(--color-text);
  font-size: var(--size-ss);
  line-height: 1.4;
  min-height: 60px;
  padding: 8px;
}
.renewal-page table caption {
  color: var(--color-alert);
  font-size: var(--size-ss);
  font-weight: bold;
}

.renewal-page .modal-btn {
  display: block;
  color: var(--color-link);
  font-size: var(--size-sss);
  line-height: 1.2;
  text-decoration: underline;
  padding: 4px;
  margin-left: auto;
  margin-right: auto;
}

.renewal-page .card-otoku {
  position: relative;
  background-color: var(--color-yellow-bg);
  border: 3px solid var(--color-yellow);
  padding: 20px 12px 12px 12px;
}
.renewal-page .card-otoku ._title {
  width: 80%;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-color: var(--color-yellow);
  border-radius: 20px;
  padding: 4px 12px;
  color: var(--color-text);
  font-size: var(--size-ss);
  font-weight: bold;
  text-align: center;
}

.renewal-page .card-otoku ._text ul li {
  color: var(--color-text);
  font-size: var(--size-ss);
  font-weight: bold;
  margin-bottom: 12px;
}
.renewal-page .card-otoku ._text2 {
  background-color: var(--color-white);
  border: 1px solid var(--color-yellow);
  color: var(--color-text);
  font-size: var(--size-ss);
  line-height: 1.2;
  padding: 12px;
}

.renewal-modal_inner {
  margin-top: 40px;
}
.renewal-modal_inner ._modaltitle {
  border: 1px solid var(--color-primary);
  border-radius: 8px;
  color: var(--color-primary);
  font-size: var(--size-ss);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  padding: 8px;
  margin-bottom: 24px;
}
.renewal-modal_inner ._modaltitle span {
  display: inline-block;
}
.cal-box {
  background-color: var(--color-extralightgray);
  color: var(--color-text);
  font-size: var(--size-default);
  padding: 8px;
  text-align: center;
}
.cal-title {
  color: var(--color-darkgray);
  font-weight: bold;
  font-size: var(--size-sss);
  padding: 4px;
  text-align: center;
}
.cal-result {
  color: var(--color-alert);
  font-weight: bold;
}

.tag-level {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: -12px;
  margin-top: 12px;
}
.tag-level p {
  display: inline-block;
  font-weight: bold;
  background-color: var(--color-accent);
  border-radius: 20px;
  padding: 4px 20px;
}
.tag-level p span {
  display: inline-block;
}

@media screen and (max-width: 900px) {
  .renewal-mv {
    background-size: 100% auto;
    min-height: 340px;
    padding-top: 67px;
  }
  .renewal-page .point-system_item-text ._box ._text {
    min-height: 0;
  }
  .grid,
  .grid-1 {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
  .renewal-page .point-system_1 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 55px 0;
  }
  .renewal-page .point-system_2 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 55px 0;
  }
  .renewal-page .point-system_3 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 55px 0;
  }
}

@media screen and (max-width: 768px) {
  .renewal-mv {
    background-image: none;
    min-height: 120px;
  }
  .renewal-mv img {
    max-width: none;
  }
}

.c-table-base caption {
  text-align: center;
}

.renewal-img-example {
  border: 1px solid var(--color-gray);
}

._flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.point-system_item-text._flex ._box {
  width: 50%;
}

/* --------------------------------------- */
.renewal-mv-2 {
  width: 100%;
  min-height: 240px;
  background-image: url('../img/renewal/mv202604-bg.png');
  background-origin: border-box;
  background-size: cover;
  background-position: center bottom 30%;
  background-repeat: no-repeat;
  display: grid;
  place-content: center;
  padding-top: 70px;
  text-align: center;
}
.renewal-mv-2 img {
  width: 100%;
  max-width: var(--width-ms);
}
.mod-alert {
  color: var(--color-alert);
  font-weight: bold;
  text-decoration: underline;
}

.point-system_item-text.is-flex {
  display: block;
}

.point-system_item-text.is-flex ._box {
  width: 100%;
}

.point-system_item-text.is-flex ._box ._text {
  min-height: 120px;
}

.point-system_item:has(.point-system_item-text.is-flex) {
  padding: 12px;
}

.c-information-box {
  border: 1px solid var(--color-lightgray);
  border-radius: 8px;
  padding: 20px;
}
.c-information-box p {
  margin-bottom: 20px;
}

.text-highlight {
  color: var(--color-alert);
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .renewal-mv-2 {
    padding-top: 10px;
  }
  .point-system_item-text.is-flex {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
  }
}

