:where(:root) {
  /* utility for not defined
  ============================== */
  --COMMON-ANSHIN-slope-1px: var(--slope-1px, clamp(0px, -0.95663px + 0.2551vw, 1px));
  --COMMON-ANSHIN-leading-trim: var(--leading-trim, calc((1em - 1lh) / 2));

  /* color
  ============================== */
  --COMMON-ANSHIN-text-color: var(--base-color, #333);
  --COMMON-ANSHIN-key-color: var(--key-color, #333);
  --COMMON-ANSHIN-bg-color: #fff;
  --COMMON-ANSHIN-border-color: var(--border-color, rgba(0, 0, 0, 0.2));
  --COMMON-ANSHIN-bg-color-plus: #333;

  /* utility
  ============================== */
  --COMMON-ANSHIN-font-size-head: calc(18px + var(--COMMON-ANSHIN-slope-1px) * 2);
  --COMMON-ANSHIN-font-size-base: var(--base-font-size, calc(15px + var(--COMMON-ANSHIN-slope-1px) * 1));
  --COMMON-ANSHIN-font-size-small: 12px;
  --COMMON-ANSHIN-heavy-weight: bold;
  --COMMON-ANSHIN-frame-radius: var(--frame-border-radius, 16px);
  --COMMON-ANSHIN-inner-radius: var(--base-border-radius, 8px);
  --COMMON-ANSHIN-frame-border: var(--frame-border, 1px);
  --COMMON-ANSHIN-inner-border: var(--inner-border, 1px);
}

/* COMMON-ANSHIN
============================== */
.COMMON-ANSHIN {
  container-type: inline-size;
}

/* COMMON-ANSHIN-header
============================== */
.COMMON-ANSHIN-header {
  border-radius: var(--COMMON-ANSHIN-frame-radius);
  border: var(--COMMON-ANSHIN-frame-border) solid var(--COMMON-ANSHIN-border-color);
  background: var(--COMMON-ANSHIN-bg-color);
}

.COMMON-ANSHIN-header-inner{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  position: relative;
  padding-block: calc(32px + var(--COMMON-ANSHIN-slope-1px) * -8);
  padding-inline: calc(20px + var(--COMMON-ANSHIN-slope-1px) * 4);
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

@container (min-width: 768px) {
  .COMMON-ANSHIN-header-inner {
    grid-column: span 2;
  }
}

@container (max-width: 767px) {
  .COMMON-ANSHIN-header-inner {
    grid-template-columns: 100%;
    gap: 0;
    width: 100%;
  }
}

.COMMON-ANSHIN-header__head {
  text-align: center;
  font-size: var(--COMMON-ANSHIN-font-size-head);
  font-weight: var(--COMMON-ANSHIN-heavy-weight);
  height: 100%;
  display: grid;
  align-items: center;
  justify-content: center;
  color: var(--COMMON-ANSHIN-key-color);
}

@container (min-width: 768px) {
  .COMMON-ANSHIN-header__head {
    padding-inline-end: 16px;
  }
}

@container (max-width: 767px) {
  .COMMON-ANSHIN-header__head {
    line-height: 1;
  }
}

.COMMON-ANSHIN-header__body {
  display: flex;
  flex-wrap: wrap;
  font-size: var(--COMMON-ANSHIN-font-size-base);
  gap: 0 1em;
}

@container (min-width: 768px) {
  .COMMON-ANSHIN-header__body {
    justify-content: flex-start;
    padding-inline-start: calc(24px + var(--COMMON-ANSHIN-slope-1px) * -8);
    border-left: var(--COMMON-ANSHIN-inner-border) solid var(--COMMON-ANSHIN-border-color);
  }
}

@container (max-width: 767px) {
  .COMMON-ANSHIN-header__body {
    justify-content: center;
    border-top: var(--COMMON-ANSHIN-inner-border) solid var(--COMMON-ANSHIN-border-color);
    margin-block-start: calc(var(--COMMON-ANSHIN-leading-trim) + 20px);
    padding-block-start: calc(var(--COMMON-ANSHIN-leading-trim) + 20px);
  }
}

.COMMON-ANSHIN-header__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: calc(16px + var(--COMMON-ANSHIN-slope-1px) * 8);
}

@container (min-width: 768px) {
  .COMMON-ANSHIN-header__list {
    justify-content: flex-start;
  }
}

@container (max-width: 767px) {
  .COMMON-ANSHIN-header__list {
    justify-content: center;
    max-width: 18em;
  }
}

.COMMON-ANSHIN-header__list > li {
  margin-block: var(--COMMON-ANSHIN-leading-trim);
}

.COMMON-ANSHIN-plus {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--COMMON-ANSHIN-bg-color-plus);
  color: #fff;
  font-weight: bold;
  line-height: 1;
  margin: 0 auto;
  height: calc(32px + var(--COMMON-ANSHIN-slope-1px) * 16);
  width: calc(32px + var(--COMMON-ANSHIN-slope-1px) * 16);
  position: relative;
  margin-block: calc(8px + var(--COMMON-ANSHIN-slope-1px) * 2);
}

.COMMON-ANSHIN-plus:before, .COMMON-ANSHIN-plus:after {
  content: "";
  display: block;
  width: calc(17px + var(--COMMON-ANSHIN-slope-1px) * 8);
  height: calc(3px + var(--COMMON-ANSHIN-slope-1px) * 1);
  background: currentColor;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: calc(1px / 0);
}

.COMMON-ANSHIN-plus:after {
  transform: rotate(90deg);
}

/* COMMON-ANSHIN-plan
============================== */
.COMMON-ANSHIN-plan {
  border-radius: var(--COMMON-ANSHIN-frame-radius);
  background: var(--COMMON-ANSHIN-bg-color);
  padding: 32px calc(20px + var(--COMMON-ANSHIN-slope-1px) * 4) 24px;
  border: var(--COMMON-ANSHIN-frame-border) solid var(--COMMON-ANSHIN-border-color);
}

/* COMMON-ANSHIN-frame
============================== */
.COMMON-ANSHIN-frame__head {
  font-size: var(--COMMON-ANSHIN-font-size-head);
  font-weight: var(--COMMON-ANSHIN-heavy-weight);
  text-align: center;
  margin-block: var(--COMMON-ANSHIN-leading-trim);
  color: var(--COMMON-ANSHIN-key-color);
}

@container (max-width: 767px) {
  .COMMON-ANSHIN-frame__head {
    line-height: 1;
  }
}

.COMMON-ANSHIN-frame__body {
  font-size: var(--COMMON-ANSHIN-font-size-base);
  text-align: center;
  border-top: var(--COMMON-ANSHIN-inner-border) solid var(--COMMON-ANSHIN-border-color);
  margin-block: calc(var(--COMMON-ANSHIN-leading-trim) + calc(20px + var(--COMMON-ANSHIN-slope-1px) * 4));
  padding-block-start: calc(var(--COMMON-ANSHIN-leading-trim) + calc(20px + var(--COMMON-ANSHIN-slope-1px) * 4));
}

.COMMON-ANSHIN-frame__body > p {
  padding-inline: clamp(0px, -30.61224px + 8.16327vw, 32px);
  word-break: keep-all;
  overflow-wrap: anywhere;
}

@container (max-width: 1080px) {
  .COMMON-ANSHIN-frame__body > p {
    padding-inline: 0;
  }
}

@container (max-width: 767px) {
  .COMMON-ANSHIN-frame__body {
    text-align: center;
  }
}

.COMMON-ANSHIN-frame__image img {
  width: 100%;
}

/* COMMON-ANSHIN-premium
============================== */
.COMMON-ANSHIN-premium {
  border-radius: var(--COMMON-ANSHIN-inner-radius);
  padding: 24px calc(20px + var(--COMMON-ANSHIN-slope-1px) * 4);
  display: grid;
  grid-template-columns: 29.45736% 1fr;
  align-items: center;
  gap: 16px;
  background: #EBECF2;
  height: 100%;
  place-content: center;
  margin-block-start:16px;
}

@container (max-width: 767px) {
    .COMMON-ANSHIN-premium {
      grid-template-columns: 100%;
      gap: 20px;
    }
}

@container (min-width: 768px) {
  .COMMON-ANSHIN-premium__header{
    border-right: var(--COMMON-ANSHIN-inner-border) solid var(--COMMON-ANSHIN-border-color);
    padding-inline-end: 16px;
    padding-block:16px;
  }
}

@container (max-width: 767px) {
  .COMMON-ANSHIN-premium__header{
    border-bottom: var(--COMMON-ANSHIN-inner-border) solid var(--COMMON-ANSHIN-border-color);
    padding-block-end:20px;
    text-align: center;
  }
}

.COMMON-ANSHIN-premium__head {
  font-size: var(--COMMON-ANSHIN-font-size-base);
  font-weight: var(--COMMON-ANSHIN-heavy-weight);
  margin-block: var(--COMMON-ANSHIN-leading-trim) calc(var(--COMMON-ANSHIN-leading-trim) + calc(20px + var(--COMMON-ANSHIN-slope-1px) * 4));
}

.COMMON-ANSHIN-premium__lead {
  margin-block: var(--COMMON-ANSHIN-leading-trim);
}

.COMMON-ANSHIN-premium__compensation {
  flex-shrink: 0;
}

.COMMON-ANSHIN-premium__compensation p {
  font-size: var(--COMMON-ANSHIN-font-size-small);
  display: block;
}

@container (max-width: 767px) {
  .COMMON-ANSHIN-premium__compensation p {
    text-align: center;
  }
}

.COMMON-ANSHIN-premium__limit {
  font-size: var(--COMMON-ANSHIN-font-size-base);
  color: #025094;
  display: flex;
  flex-wrap: wrap;
  line-height: 1.65;
}

@container (max-width: 767px) {
    .COMMON-ANSHIN-premium__limit {
      flex-direction: column;
      width: fit-content;
      margin-inline: auto;
    }
}

.COMMON-ANSHIN-premium__limit__item > sup {
  color: var(--COMMON-ANSHIN-text-color);
  vertical-align: baseline;
  font-size: 100%;
}

.COMMON-ANSHIN-premium__limit__item {
  font-weight: var(--COMMON-ANSHIN-heavy-weight);
}

@container (min-width: 768px) {
    .COMMON-ANSHIN-premium__limit__item:not(:last-child):after {
      content: "\FF0F";
    }
}

.COMMON-ANSHIN-premium__notes {
  font-size: var(--COMMON-ANSHIN-font-size-small);
  padding-top: calc(var(--COMMON-ANSHIN-leading-trim) + 20px);
  line-height: 1.65;
}

.COMMON-ANSHIN-notes{
  font-size: var(--COMMON-ANSHIN-font-size-small);
  margin-top: calc(var(--COMMON-ANSHIN-leading-trim) + calc(16px + var(--COMMON-ANSHIN-slope-1px) * 8));
}

.COMMON-ANSHIN-notes > li:before{
  content: "\203b";
}

.COMMON-ANSHIN__desc {
  font-weight: var(--COMMON-ANSHIN-heavy-weight);
  margin-block-start: calc(var(--COMMON-ANSHIN-leading-trim) + calc(16px + var(--COMMON-ANSHIN-slope-1px) * 8));
}


.COMMON-ANSHIN-mobile-block {
  display: none !important;
}

@container (max-width: 560px) {
  .COMMON-ANSHIN-mobile-block {
    display: block !important;
  }
}