.border-dashed{
  border:1px dashed #333;
  border-radius: 4px;
}
.dot-base li::before{
  /* 旧baseカラー: #a64a97 */
  color:#6fba2c;
}
.dot-green li::before{
  color: #2bb7b3;
}
.dot-sub li::before{
  color: #ee869a;
}

.insure-spec-table {
  border-collapse: collapse;
  font-size: inherit;
}
.insure-spec-table th,
.insure-spec-table td {
  padding: 0.35rem 0.75rem;
  border: 1px solid #111;
  vertical-align: middle;
}
.insure-spec-table th {
  width: 30%;
  color: #fff;
  background-color: #ee869a;
  font-weight: 700 !important;
  text-align: center;
}

@media (max-width: 767px) {
  .insure-spec-table th,
  .insure-spec-table td {
    display: block;
    width: 100%;
  }
  .insure-spec-table td,
  .insure-spec-table tr + tr th {
    border-top: 0;
  }
}

.support-price-panel {
  max-width: 510px;
  min-height: 150px;
}
.support-rate-badge {
  flex: 0 0 34%;
}
.support-price-content {
  min-width: 0;
}
.support-price-heading span,
.support-price span {
  font-size: 0.8em;
}
.support-price {
  line-height: 1.1;
}
.support-price strong {
  font-size: 2.5rem;
  line-height: 1;
}
.support-price-note {
  font-size: 0.75rem;
}
.support-feature-note {
  padding-left: 1em;
  text-indent: -1em;
}
.pc-skill-example {
  position: relative;
  padding: 0.75rem 1rem;
  border: 2px solid #6fba2c;
  border-radius: 0.5rem;
  background-color: #fffde1;
}
.pc-skill-example::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 1.5rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 15px;
  border-color: transparent transparent #6fba2c;
}
.pc-skill-example::after {
  content: "";
  position: absolute;
  top: -11px;
  left: calc(1.5rem + 2px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 8px 12px;
  border-color: transparent transparent #fffde1;
}
.pc-course-cta {
  font-size: 1.8rem;
}
.pc-course-badge-placeholder {
  top: auto;
  right: 1rem;
  bottom: 0;
  width: clamp(75px, 15vw, 120px);
  aspect-ratio: 1 / 1;
}
.pc-course-badge-placeholder img {
  display: block;
  width: 100%;
  height: auto;
}
.ipad-set-product {
  width: 72%;
}
.ipad-set-academic {
  top: 7%;
  left: 0;
  width: 25%;
}
.ipad-set-goodnotes {
  bottom: 0;
  left: 0;
  width: 25%;
}
.language-tool-phone {
  width: 90px;
}
.language-tool-logo {
  margin-top: 0.5rem;
}
.language-tool-photo {
  width: 80%;
}
.language-set-balloon {
  width: 85px;
}
.language-set-balloon img {
  display: block;
  width: 100%;
  height: auto;
}
.startup-graduate-balloon {
  position: relative;
  width: fit-content;
}
.startup-graduate-balloon::after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 3rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 14px 0 0;
  border-color: #fff100 transparent transparent;
}
.startup-reassurance-balloon {
  position: relative;
  border-width: 2px !important;
}
.startup-reassurance-balloon::before {
  content: "";
  position: absolute;
  top: -11px;
  left: 1.5rem;
  border-style: solid;
  border-width: 0 9px 11px;
  border-color: transparent transparent #6fba2c;
}
.startup-reassurance-balloon::after {
  content: "";
  position: absolute;
  top: -8px;
  left: calc(1.5rem + 2px);
  border-style: solid;
  border-width: 0 7px 9px;
  border-color: transparent transparent #F9F7EF;
}
.startup-powerup-image {
  width: 26%;
  max-width: 150px;
}
.pc-course-lead-balloon {
  width: auto;
  font-size: clamp(0.8rem, 2.5vw, 1.1rem);
}
.pc-course-lead-balloon::after {
  top: 50%;
  left: -10px;
  transform: translateY(-50%);
  border-width: 8px 10px 8px 0;
  border-color: transparent #ee869a transparent transparent;
}
.pc-course-summary th,
.pc-course-summary td {
  padding: 0.65rem 1rem;
  border: 1px solid #111;
  vertical-align: middle;
}
.pc-course-summary th {
  width: 28%;
}
.pc-course-heading-balloon {
  width: fit-content;
  max-width: 100%;
}
.pc-course-heading-balloon::after {
  left: 82%;
  border-width: 12px 10px 0;
}
@media (min-width: 768px) {
  .language-set-balloon {
    width: 90px;
  }
  .language-set-summary {
    margin-bottom: 0.5rem !important;
  }
  .language-tool-logo img,
  .language-tool-photo {
    width: 80% !important;
  }
  .language-tool-point1-table {
    width: calc(100% - 95px);
  }
  .language-tool-phone {
    position: absolute;
    right: 15px;
    bottom: 0;
  }
  .pc-course-badge-placeholder {
    right: auto;
    left: calc(33.333333% + 23rem + 3em);
  }
  .pc-course-heading-balloon {
    margin-left: 1.5rem !important;
  }
  .pc-course-heading-balloon::after {
    top: 50%;
    left: -12px;
    transform: translateY(-50%);
    border-width: 10px 12px 10px 0;
    border-color: transparent #ee869a transparent transparent;
  }
}
@media (max-width: 767px) {
  .language-tool-point1 {
    display: flex;
    align-items: center;
  }
  .language-tool-point1-table {
    width: calc(100% - 75px);
  }
  .language-tool-point-icon {
    width: 70px;
    min-width: 70px !important;
  }
  .language-tool-phone {
    flex: 0 0 70px;
    width: 70px;
    margin-left: 5px !important;
  }
  .language-tool-intro {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(120px, 2fr);
    align-items: center;
  }
  .language-tool-copy {
    display: contents;
  }
  .language-tool-copy h2 {
    grid-column: 1;
    grid-row: 1;
    margin-right: 0;
    margin-left: 15px;
  }
  .language-tool-copy p {
    grid-column: 1;
    grid-row: 2;
    padding-left: 15px;
  }
  .language-tool-visual {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 100%;
    max-width: none;
    padding-right: 15px;
    padding-left: 10px;
  }
  .language-tool-photo {
    width: 100%;
  }
  .support-price-note {
    padding-left: 1em;
    text-indent: -1em;
  }
  .pc-course-lead-balloon {
    align-self: flex-start;
    white-space: nowrap;
  }
  .pc-course-lead-balloon span {
    display: inline !important;
  }
  .pc-course-lead-balloon::after {
    top: -8px;
    left: 2.5rem;
    transform: translateX(-50%);
    border-width: 0 8px 8px;
    border-color: transparent transparent #ee869a;
  }
  .pc-course-summary th {
    width: 28%;
  }
  .pc-course-summary th,
  .pc-course-summary td {
    padding: 0.5rem 0.65rem;
  }
}

@media (max-width: 575px) {
  .support-price-panel {
    min-height: 115px;
  }
  .support-price strong {
    font-size: 2rem;
  }
}
