.btn_link {
  padding: 10px 40px 10px 20px;
  width: -moz-fit-content;
  width: fit-content; }

.headline-title span {
  border: none; }

.headline-title.blue h3 {
  background-color: #ebf6ff;
  color: #4f6e87; }

a.btn_link.blue {
  color: #4f6e87;
  border-color: #4f6e87; }
  a.btn_link.blue::before {
    border-color: #4f6e87; }

.mokuji {
  margin-top: 40px; }

.mokuji_box {
  border: 2px solid #a98bc9;
  width: 100%;
  padding-block: 60px;
  padding-inline: 20px;
  border-radius: 30px; }

.mokuji_box > div {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto; }

.mokuji_box ul + ul {
  margin-top: 30px; }

.mokuji .link a {
  font-size: 22px;
  color: #a98bc9;
  font-weight: bold; }
  .mokuji .link a span {
    display: inline-block;
    border-radius: 50%;
    width: 1em;
    height: 1em;
    margin-right: 10px;
    background: #a98bc9 url(../images/arrow2.png) center center/0.4em no-repeat; }

.mokuji .sub-link a {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  margin-left: 36px; }
  .mokuji .sub-link a img {
    display: inline-block;
    margin-right: 5px; }

@media screen and (max-width: 768px) {
  .mokuji_box {
    padding-block: 30px; }
  .mokuji .link a {
    font-size: 14px; }
  .mokuji .sub-link a {
    font-size: 12px; } }

.comp {
  width: 100%; }

.comp col:nth-child(1) {
  width: 28%; }

.comp col:not(:nth-child(1)) {
  width: calc(72% * 1/2); }

.comp {
  line-height: 1.25;
  border-collapse: collapse;
  border: 3px solid black; }
  @media screen and (max-width: 768px) {
    .comp {
      border-width: 2px; } }
  .comp th:not(:last-child),
  .comp td:not(:last-child) {
    border-right: 2px solid black; }
    @media screen and (max-width: 768px) {
      .comp th:not(:last-child),
      .comp td:not(:last-child) {
        border-width: 1px; } }
  .comp tr + tr {
    border-top: 2px solid black; }
    @media screen and (max-width: 768px) {
      .comp tr + tr {
        border-width: 1px; } }
  .comp th {
    font-weight: bold;
    font-size: 2.2rem;
    padding-block: 1rem; }
    @media screen and (max-width: 768px) {
      .comp th {
        font-size: 1.2rem; } }
  .comp th.vbeam {
    color: #725394;
    background-color: #ebd8ff; }
  .comp th.ipl {
    color: #506e87;
    background-color: #d5ecff; }
  .comp td {
    padding-block: 1.5rem;
    font-size: 2.4rem;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .comp td {
        font-size: 1.6rem; }
        .comp td img {
          max-width: 50%; } }
  .comp .vbeam {
    background-color: #f8f1ff; }
  .comp .ipl {
    background-color: #ebf6ff; }
