@charset "utf-8";

/* Hero */

.Hero .Responsive {
  padding: 0;
}

.Hero img {
  max-width: 100%;
}

/* END: Hero */

/* Notice */

.Notice {
  position: relative;
  padding: 15px 15px 15px 45px;
  margin: 20px 0 30px;
  border: 1px solid #ea6761;
  border-radius: 5px;
}

.Notice__img {
  position: absolute;
  top: 15px;
  left: 10px;
  width: 30px;
}

@media screen and (min-width: 769px) {
  .Notice {
    padding: 30px 30px 30px 115px;
    margin: 25px 0 45px;
    font-size: 28px;
    border-width: 2px;
  }

  .Notice__img {
    top: 35px;
    left: 35px;
    width: auto;
  }
}

/* END: Notice */

/* About */

.About {
  padding-bottom: 30px;
}

.About-header {
  position: relative;
  padding: 20px 15px;
  margin-bottom: 50px;
  font-size: 20px;
  text-align: center;
  background: #d1eb69;
}

.About-header__ttl {
  font-weight: bold;
}

.About-header::after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 0;
  height: 0;
  content: '';
  border-color: #d1eb69 transparent transparent transparent;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  transform: translate(-50%, 0);
}

.About__txt {
  margin-bottom: 30px;
}

.About-coverage-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
}

.About-coverage-ttl img {
  width: 30%;
  max-width: 100px;
}

.About-coverage-ttl__txt {
  margin-left: 15px;
  font-size: 25px;
  font-weight: bold;
}

.About-coverage-item {
  margin-bottom: 20px;
  border: 2px solid #000;
  border-radius: 5px;
}

.About-coverage-item__ttl {
  padding: 15px;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  background-color: #d1eb69;
  border-bottom: 2px solid #000;
}

.About-coverage-item__ttl--nobody {
  border-bottom: none;
}

.About-coverage-item-body {
  padding: 15px 15px 5px 15px;
  background-color: #f2fbd0;
}

.About-coverage-item-body__note {
  margin-bottom: 15px;
  font-size: 14px;
}

.About-coverage-item-body__note::before {
  content: '※';
}

.About-coverage-item-table {
  width: 100%;
  margin-top: 15px;
  margin-bottom: 30px;
  font-weight: bold;
  background-color: #fff;
  border: 2px solid #000;
}

.About-coverage-item-table-th {
  width: calc(100% / 3);
  padding: 5px;
  text-align: center;
  border: 2px solid #000;
}

.About-coverage-item-table-th--age {
  background-color: #e3e4e1;
}

.About-coverage-item-table-th--male {
  background-color: #a1d6ee;
}

.About-coverage-item-table-th--female {
  background-color: #eea1b7;
}

.About-coverage-item-table-td {
  padding: 5px;
  text-align: right;
  border-right: 2px solid #000;
  border-bottom: 1px solid #000;
}

.About-coverage-item-table-td:first-child {
  text-align: center;
}

.About-premium {
  position: relative;
  padding-top: 60px;
}

.About-premium-ttl {
  position: absolute;
  top: 60px;
  left: 50%;
  width: 96%;
  max-width: 320px;
  text-align: center;
  background-color: #d1eb69;
  border: 3px solid #000;
  border-radius: 7% / 50%;
  transform: translate(-50%, -50%);
}

.About-premium-ttl__txt {
  display: inline-block;
  width: 100%;
  padding: 10px 16% 10px 8%;
  font-size: 20px;
  font-weight: bold;
}

.About-premium-ttl__img {
  position: absolute;
  right: 2%;
  bottom: 0;
  width: 20%;
  max-width: 65px;
}

.About-premium-body {
  padding: 50px 15px 15px;
  background-color: #f2fbd0;
  border: 2px solid #000;
  border-radius: 5px;
}

.About-premium-body-item {
  position: relative;
  padding: 15px 20px 15px 14%;
  margin-bottom: 15px;
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 5px;
}

.About-premium-body-item:last-child {
  margin-bottom: 0;
}

.About-premium-body-item__ico {
  position: absolute;
  top: 15px;
  left: 5%;
  width: 22px;
}

.About-premium-body-item__txt {
  font-weight: bold;
}

.About-premium-body-item__txt--highlight {
  color: #d23636;
  text-decoration: underline;
}

@media screen and (min-width: 769px) {
  .About {
    padding-bottom: 50px;
  }

  .About-header {
    margin-bottom: 65px;
  }

  .About-header__ttl {
    font-size: 38px;
  }

  .About-header::after {
    bottom: -30px;
    border-width: 30px 30px 0 30px;
  }

  .About__txt {
    font-size: 20px;
  }

  .About-coverage-ttl img {
    width: auto;
    max-width: 100%;
  }

  .About-coverage-ttl__txt {
    font-size: 44px;
  }

  .About-coverage-item {
    margin-bottom: 40px;
  }

  .About-coverage-item__ttl {
    font-size: 30px;
  }

  .About-coverage-item-body {
    padding: 25px;
  }

  .About-coverage-item-body__txt {
    font-size: 20px;
  }

  .About-coverage-item-body__note {
    margin-bottom: 25px;
    font-size: 18px;
  }

  .About-coverage-item-table {
    margin-top: 25px;
    font-size: 28px;
  }

  .About-coverage-item-table-td {
    padding: 5px 15px;
  }

  .About-premium-body {
    padding: 80px 25px 40px;
  }

  .About-premium-body-item {
    padding: 15px 20px 15px 100px;
  }

  .About-premium-body-item__txt {
    font-size: 24px;
  }

  .About-premium-body-item__ico {
    left: 40px;
    width: inherit;
  }

  .About-premium {
    padding-top: 120px;
  }

  .About-premium-ttl {
    top: 120px;
    max-width: 580px;
  }

  .About-premium-ttl__txt {
    padding: 10px 60px 10px 20px;
    font-size: 34px;
  }

  .About-premium-ttl__img {
    width: auto;
    max-width: inherit;
  }
}

/* END: About */

/* Explain */

.Explain {
  padding-bottom: 30px;
}

.Explain-header {
  position: relative;
  padding: 20px 15px;
  margin-bottom: 50px;
  font-size: 20px;
  text-align: center;
  background: #d1eb69;
}

.Explain-header__ttl {
  font-weight: bold;
}

.Explain-header::after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 0;
  height: 0;
  content: '';
  border-color: #d1eb69 transparent transparent transparent;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  transform: translate(-50%, 0);
}

.Explain__txt {
  margin-bottom: 30px;
}

.Explain-example {
  padding: 30px 15px 0;
  margin: 0 -15px;
  background-color: #f2fbd0;
}

.Explain-example__ttl {
  max-width: 335px;
  padding: 15px;
  margin: auto;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  background: #fff;
  border: 2px solid #000;
  border-radius: 8% / 50%;
}

.Explain-example-item {
  margin-top: 20px;
  font-weight: bold;
  text-align: center;
  border: 2px solid #000;
  border-radius: 5px;
}

.Explain-example-item__ttl {
  padding: 7px;
  background-color: #d1eb69;
  border-bottom: 2px solid #000;
}

.Explain-example-item-body {
  padding: 15px;
  background-color: #fff;
}

.Explain-example-item-body__notice {
  max-width: 600px;
  padding: 10px;
  margin: 15px auto 0;
  font-size: 18px;
  background-color: #fbad74;
}

.Explain-example__note {
  padding: 5px 0 10px;
  text-align: right;
}

.Explain__note {
  padding-left: 15px;
  margin: 20px 0;
  color: #d23636;
  text-indent: -15px;
}

.Explain__note::before {
  content: '※';
}

.Explain-notice {
  position: relative;
  padding: 15px 15px 15px 45px;
  background-color: #e5e3e3;
  border-radius: 5px;
}

.Explain-notice em {
  font-style: normal;
  font-weight: bold;
  color: #d23636;
}

.Explain-notice__img {
  position: absolute;
  top: 15px;
  left: 10px;
  width: 30px;
}

@media screen and (min-width: 769px) {
  .Explain-header::after {
    bottom: -30px;
    border-width: 30px 30px 0 30px;
  }

  .Explain-header__ttl {
    font-size: 38px;
  }

  .Explain__txt {
    font-size: 20px;
  }

  .Explain-example {
    padding: 50px 25px 0;
    margin: 0;
  }

  .Explain-example__ttl {
    max-width: 645px;
    font-size: 40px;
  }

  .Explain-example-item {
    margin-top: 50px;
  }

  .Explain-example-item__ttl {
    font-size: 26px;
  }

  .Explain-example-item-body {
    padding: 25px;
  }

  .Explain-example-item-body__notice {
    margin: 30px auto 0;
    font-size: 33px;
  }

  .Explain-example__note {
    padding: 10px 0 15px;
    font-size: 22px;
  }

  .Explain__note {
    font-size: 20px;
  }

  .Explain-notice {
    padding: 30px 30px 30px 115px;
    margin: 25px 0 45px;
    font-size: 20px;
  }

  .Explain-notice__img {
    top: 35px;
    left: 35px;
    width: auto;
  }
}

/* END: Explain */

/* Premium */
.Premium {
  padding-bottom: 15px;
}

.Premium-header {
  position: relative;
  padding: 20px 15px;
  margin-bottom: 50px;
  font-size: 20px;
  text-align: center;
  background: #d1eb69;
}

.Premium-header__ttl {
  font-weight: bold;
}

.Premium-header::after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 0;
  height: 0;
  content: '';
  border-color: #d1eb69 transparent transparent transparent;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  transform: translate(-50%, 0);
}

.Premium__txt {
  margin-bottom: 30px;
  color: #d23636;
}

.Premium-check {
  position: relative;
  padding-top: 60px;
}

.Premium-check-ttl {
  position: absolute;
  top: 60px;
  left: 50%;
  width: 97%;
  max-width: 320px;
  text-align: center;
  background-color: #d1eb69;
  border: 3px solid #000;
  border-radius: 6% / 50%;
  transform: translate(-50%, -50%);
}

.Premium-check-ttl__txt {
  display: inline-block;
  width: 100%;
  padding: 10px 0 10px 18%;
  font-size: 16px;
  font-weight: bold;
}

.Premium-check-ttl__img {
  position: absolute;
  bottom: 0;
  left: 2%;
  width: 18%;
  max-width: 65px;
}

.Premium-check-body {
  padding: 50px 20px 35px;
  margin-bottom: 30px;
  background-color: #f2fbd0;
  border: 2px solid #000;
  border-radius: 5px;
}

.Premium-check-body-table {
  width: 100%;
  font-size: 16px;
  font-weight: bold;
  background-color: #fff;
  border: 2px solid #000;
}

.Premium-check-body-table-th {
  width: 50%;
  padding: 5px;
  text-align: center;
  background-color: #e3e4e1;
  border: 2px solid #000;
}

.Premium-check-body-table-th:last-child {
  background-color: #d1eb69;
}

.Premium-check-body-table-td {
  padding: 5px;
  text-align: center;
  border-bottom: 1px solid #000;
  border-left: 2px solid #000;
}

.Premium-check-body-table-td:last-child {
  text-align: right;
}

.Premium-notice {
  position: relative;
  padding: 15px 15px 15px 45px;
  margin-bottom: 40px;
  background-color: #e5e3e3;
  border-radius: 5px;
}

.Premium-notice__img {
  position: absolute;
  top: 15px;
  left: 10px;
  width: 30px;
}

.Premium-notice__txt {
  margin-bottom: 15px;
}

.Premium-notice__txt--mg0 {
  margin: 0;
}

.Premium-notice__txt em {
  font-style: normal;
  font-weight: bold;
  color: #d23636;
}

.Premium-notice__note {
  margin-bottom: 15px;
  font-size: 14px;
}

.Premium-notice__note::before {
  content: '※';
}

.Premium-btn {
  margin: 40px 0;
  text-align: center;
}

.Premium-btn-link,
.Premium-btn-link:hover {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 400px;
  color: #000;
  background-color: #fbad74;
  border: 2px solid #000;
  border-radius: 10% / 50%;
  box-shadow: 0 4px 4px 0 rgba(66, 64, 65, 0.3);
}

.Premium-btn-link::after {
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  width: 13px;
  height: 13px;
  content: '';
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: translateY(-50%) rotate(-45deg);
}

.Premium-btn-link__img {
  position: absolute;
  top: 50%;
  left: 4%;
  width: 12%;
  max-width: 40px;
  transform: translate(0, -50%);
}

.Premium-btn-link__txt {
  display: inline-block;
  width: 100%;
  padding: 10px 8% 10px 15%;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}

.Premium-subscribe {
  position: relative;
  padding-top: 50px;
}

.Premium-subscribe-ttl {
  position: absolute;
  top: 50px;
  left: 50%;
  width: 96%;
  max-width: 320px;
  text-align: center;
  background-color: #d1eb69;
  border: 3px solid #000;
  border-radius: 8% / 50%;
  transform: translate(-50%, -50%);
}

.Premium-subscribe-ttl__txt {
  display: inline-block;
  width: 100%;
  padding: 10px 16% 10px 8%;
  font-size: 18px;
  font-weight: bold;
}

.Premium-subscribe-ttl__img {
  position: absolute;
  right: 2%;
  bottom: -8px;
  width: 20%;
  max-width: 65px;
}

.Premium-subscribe-body {
  padding: 50px 15px 15px;
  background-color: #f2fbd0;
  border: 2px solid #000;
  border-radius: 5px;
}

.Premium-subscribe-body-list {
  font-weight: bold;
  counter-reset: my-counter;
}

.Premium-subscribe-body-list__item {
  position: relative;
  padding: 15px 15px 15px 35px;
  margin-bottom: 15px;
  text-indent: -20px;
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 5px;
}

.Premium-subscribe-body-list__item::before {
  content: counter(my-counter) '. ';
  counter-increment: my-counter;
}

.Premium-subscribe-body-list__item a,
.Premium-subscribe-body-list__item a:hover {
  color: #04c;
  text-decoration: underline;
}

.Premium-subscribe-body-notice {
  padding: 15px;
  margin: 25px 0;
  background-color: #fff;
}

.Premium-subscribe-body-notice__ttl {
  position: relative;
  padding-left: 40px;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: bold;
  color: #d23636;
}

.Premium-subscribe-body-notice__ttl img {
  position: absolute;
  top: 5px;
  left: 5px;
  width: 30px;
}

.Premium-subscribe-body-notice__txt {
  margin-bottom: 15px;
}

.Premium-subscribe-body-notice-list {
  counter-reset: my-counter;
}

.Premium-subscribe-body-notice-list-item {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}

.Premium-subscribe-body-notice-list-item::before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 18px;
  height: 18px;
  font-size: 14px;
  line-height: 18px;
  color: #000;
  text-align: center;
  content: counter(my-counter);
  counter-increment: my-counter;
  background: #fff;
  border: 1px solid #000;
  border-radius: 50%;
}

.Premium-subscribe-body-notice-list-item__point {
  display: inline-block;
  padding-left: 20px;
  text-indent: -20px;
}

.Premium-subscribe-body-notice-list-item__point::before {
  content: '※';
}

.Premium-subscribe-body-note__item {
  padding-left: 15px;
  font-weight: bold;
  text-indent: -15px;
}

.Premium-subscribe-body-note__item::before {
  content: '※';
}

.Premium-faq {
  position: relative;
  padding-top: 30px;
}

.Premium-faq-ttl {
  position: absolute;
  top: 30px;
  left: 50%;
  width: 96%;
  max-width: 320px;
  text-align: center;
  background-color: #d1eb69;
  border: 3px solid #000;
  border-radius: 7% / 50%;
  transform: translate(-50%, -50%);
}

.Premium-faq-ttl__txt {
  display: inline-block;
  width: 100%;
  padding: 10px;
  font-size: 20px;
  font-weight: bold;
}

.Premium-faq-body {
  padding: 50px 15px 15px;
  margin-bottom: 30px;
  background-color: #f2fbd0;
  border: 2px solid #000;
  border-radius: 5px;
}

.Premium-faq-body-point {
  position: relative;
  padding: 15px;
  margin-bottom: 15px;
  font-weight: bold;
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 5px;
}

.Premium-faq-body-point__question {
  position: relative;
  padding-bottom: 15px;
  padding-left: 30px;
  border-bottom: 2px solid #000;
}

.Premium-faq-body-point__answer {
  position: relative;
  padding-top: 20px;
  padding-left: 30px;
}

.Premium-faq-body-point__question::before,
.Premium-faq-body-point__answer::before {
  position: absolute;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 21px;
  text-align: center;
  border: 2px solid #000;
  border-radius: 50%;
}

.Premium-faq-body-point__question::before {
  content: 'Q';
  background-color: #caf01d;
}

.Premium-faq-body-point__answer::before {
  content: 'A';
  background-color: #fbad74;
}

.Premium-faq-body-form {
  padding: 15px;
  font-weight: bold;
  text-align: center;
  background-color: #fff;
  border-radius: 5px;
}

.Premium-faq-body-form__link,
.Premium-faq-body-form__link:hover {
  color: #04c;
  text-decoration: underline;
}

.Premium-insurance[title]::before {
  display: block;
  margin-bottom: 10px;
  content: attr(title);
}

.Premium-insurance__item {
  margin-bottom: 15px;
}

.Premium__txt--note {
  font-size: 14px;
}

@media screen and (min-width: 360px) {
  .Premium-btn-link__txt {
    font-size: 15px;
  }

  .Premium-subscribe-ttl__txt {
    font-size: 20px;
  }
}

@media screen and (min-width: 768px) {
  .Premium-header__ttl {
    font-size: 38px;
  }

  .Premium-header::after {
    bottom: -30px;
    border-width: 30px 30px 0 30px;
  }

  .Premium__txt {
    font-size: 20px;
  }

  .Premium-check {
    padding-top: 120px;
  }

  .Premium-check-ttl {
    top: 120px;
    max-width: 580px;
  }

  .Premium-check-ttl__img {
    width: auto;
    max-width: inherit;
  }

  .Premium-check-ttl__txt {
    padding-left: 140px;
    font-size: 30px;
  }

  .Premium-check-body {
    padding: 100px 25px 50px;
  }

  .Premium-check-body-table {
    font-size: 28px;
  }

  .Premium-check-body-table-td {
    padding: 5px 25px;
  }

  .Premium-notice {
    padding: 30px 30px 30px 115px;
    margin: 25px 0 45px;
    font-size: 20px;
  }

  .Premium-notice__img {
    top: 35px;
    left: 35px;
    width: auto;
  }

  .Premium-notice__note {
    font-size: 18px;
  }

  .Premium-btn {
    margin: 85px 0 100px;
  }

  .Premium-btn-link,
  .Premium-btn-link:hover {
    max-width: 700px;
  }

  .Premium-btn-link__txt {
    padding: 30px 60px 30px 130px;
    font-size: 33px;
  }

  .Premium-btn-link__img {
    left: 50px;
    width: auto;
    max-width: inherit;
  }

  .Premium-btn-link::after {
    right: 28px;
    width: 28px;
    height: 28px;
    border-width: 5px;
  }

  .Premium-subscribe {
    padding-top: 60px;
  }

  .Premium-subscribe-body {
    padding: 100px 25px 50px;
  }

  .Premium-subscribe-ttl {
    top: 60px;
    max-width: 580px;
  }

  .Premium-subscribe-ttl__txt {
    padding: 20px 160px 20px 60px;
    font-size: 30px;
  }

  .Premium-subscribe-ttl__img {
    right: 32px;
    width: auto;
    max-width: inherit;
  }

  .Premium-subscribe-body-list__item {
    margin-bottom: 20px;
    font-size: 24px;
  }

  .Premium-subscribe-body-notice {
    padding: 30px;
  }

  .Premium-subscribe-body-notice__ttl {
    padding-left: 80px;
    font-size: 30px;
  }

  .Premium-subscribe-body-notice__ttl img {
    top: 0;
    left: 15px;
    width: 45px;
  }

  .Premium-subscribe-body-notice__txt {
    font-size: 20px;
  }

  .Premium-subscribe-body-notice-list {
    font-size: 20px;
  }

  .Premium-subscribe-body-notice-list-item {
    padding-left: 30px;
  }

  .Premium-subscribe-body-notice-list-item::before {
    width: 25px;
    height: 25px;
    font-size: 20px;
    line-height: 21px;
  }

  .Premium-subscribe-body-note__item {
    font-size: 20px;
  }

  .Premium-insurance {
    font-size: 20px;
  }

  .Premium__txt--note {
    font-size: 18px;
  }

  .Premium-form {
    padding: 25px 60px;
    margin: 0 25px;
    font-size: 24px;
    border-radius: 10px;
  }

  .Premium-faq {
    padding-top: 20px;
  }

  .Premium-faq-ttl {
    top: 20px;
    max-width: 580px;
  }

  .Premium-faq-ttl__txt {
    font-size: 34px;
  }

  .Premium-faq-body {
    padding: 85px 25px 50px;
  }

  .Premium-faq-body-point {
    padding: 25px;
    margin-bottom: 30px;
    font-size: 20px;
  }

  .Premium-faq-body-point__answer,
  .Premium-faq-body-point__question {
    padding-left: 50px;
  }

  .Premium-faq-body-point__question::before,
  .Premium-faq-body-point__answer::before {
    width: 35px;
    height: 35px;
    line-height: 28px;
  }

  .Premium-faq-body-point__answer::before {
    top: 20px;
  }

  .Premium-faq-body-form {
    padding: 25px 60px;
    font-size: 24px;
    border-radius: 10px;
  }
}

/* END: Premium */
