@charset "UTF-8";
/* ----------------------------------
ブレイクポイント
---------------------------------- */
/* ----------------------------------
PC・タブレット・SP非表示設定
---------------------------------- */
@media (max-width: 599px) {
  .sp_dn {
    display: none !important;
  }
}

@media (min-width: 960px) {
  .pc_dn {
    display: none !important;
  }
}

/* ------------------------------------------
クッキーアイコン調整
------------------------------------------ */
#ot-sdk-btn-floating .ot-floating-button__front svg {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}

/* ------------------------------------------
BODY
------------------------------------------ */
body {
  line-height: 1.6;
  font-size: 16px;
  position: relative;
  font-family: sans-serif;
}

h2,
h3 {
  font-weight: 700;
}

h3 {
  line-height: 1.4;
  font-size: 18px;
}

img {
  max-width: 100%;
}

/* ------------------------------------------
TOPへ戻る
------------------------------------------ */
.top_back_icon {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100px;
  height: auto;
  z-index: 3;
  cursor: pointer;
}

/* ------------------------------------------
FV
------------------------------------------ */
.fv {
  background-color: #ffafb8;
  background-image: url("../img/fv/fv-bg.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: contain;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 14% 4% 27%;
  text-align: center;
}
@media (min-width: 600px) {
  .fv {
    padding: 84px 0 120px;
  }
}
@media (min-width: 960px) {
  .fv {
    padding: 70px 0 100px;
    background-image: url("../img/pc/fv/fv-bg.png");
    background-size: 1440px auto;
  }
}
.fv h2 {
  width: clamp(306px, 89%, 600px);
  margin-bottom: 3%;
}
@media (min-width: 600px) {
  .fv h2 {
    width: 490px;
    margin-bottom: 16px;
  }
}
@media (min-width: 960px) {
  .fv h2 {
    margin-bottom: 23px;
    width: 498px;
  }
}
.fv .explanation {
  width: clamp(248px, 72%, 686px);
}
@media (min-width: 600px) {
  .fv .explanation {
    width: 400px;
  }
}
@media (min-width: 960px) {
  .fv .explanation {
    width: 498px;
  }
}
.fv .pc_image {
  display: none;
}
@media (min-width: 960px) {
  .fv .pc_image {
    display: block;
    width: 498px;
  }
}
.fv .first_selectbox {
  width: 96%;
  background: #fff;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 14%;
  padding-bottom: 4%;
}
@media (min-width: 600px) {
  .fv .first_selectbox {
    width: 530px;
    margin-top: 78px;
  }
}
@media (min-width: 960px) {
  .fv .first_selectbox {
    width: 800px;
    margin-top: 0;
    padding-bottom: 44px;
  }
}
.fv .first_selectbox .sp_image {
  width: 78%;
  margin-top: -12%;
}
@media (min-width: 960px) {
  .fv .first_selectbox .sp_image {
    display: none;
  }
}
.fv .first_selectbox .wrap {
  width: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 5%;
}
@media (min-width: 960px) {
  .fv .first_selectbox .wrap {
    width: 660px;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px;
    row-gap: 17px;
  }
}
.fv .first_selectbox .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(50% - 3px);
  border-radius: 20em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.2;
  gap: 5px;
}
@media (min-width: 960px) {
  .fv .first_selectbox .btn {
    width: 318px;
  }
}
.fv .first_selectbox .two_column {
  width: 100%;
  margin-top: 2%;
}
@media (min-width: 960px) {
  .fv .first_selectbox .two_column {
    margin-top: 0;
  }
}

/* ------------------------------------------
保険サービス/診断結果　共通
------------------------------------------ */
.card_wrap {
  display: contents;
}
@media (min-width: 600px) {
  .card_wrap {
    width: 552px;
    display: block;
  }
}
@media (min-width: 960px) {
  .card_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
    width: 800px;
  }
}

.card {
  width: 100%;
  position: relative;
  background: #fff;
  border-radius: 10px;
  padding: 7% 5% 8%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #575757;
  margin-bottom: 10%;
}
@media (min-width: 960px) {
  .card {
    padding: 35px 50px 31px;
    margin-bottom: 0;
  }
}
.card h3 {
  width: 81%;
  margin-bottom: 5%;
}
@media (min-width: 960px) {
  .card h3 {
    margin-bottom: 17px;
    width: 86%;
  }
}
.card .note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 2.6vw;
  margin-bottom: 7%;
  line-height: 1.4;
  padding: 0 3%;
}
@media (min-width: 600px) {
  .card .note {
    font-size: 16px;
  }
}
@media (min-width: 960px) {
  .card .note {
    max-width: 660px;
    margin-bottom: 10px;
    font-size: 12px;
  }
}
.card .note::before {
  display: inline-block;
  content: "※";
  margin-right: 4px;
  font-size: 0.7em;
  margin-top: 1%;
}
.card .view_details,
.card .request_info {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 55px;
  width: calc(50% - 3px);
  border-radius: 20em;
  color: #fff;
  font-size: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 5px;
  font-weight: 700;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 4.8vw;
  width: 96%;
  min-height: 58px;
  aspect-ratio: 580/117;
}
@media (min-width: 600px) {
  .card .view_details,
  .card .request_info {
    font-size: 28px;
  }
}
@media (min-width: 960px) {
  .card .view_details,
  .card .request_info {
    font-size: 15px;
    max-width: 340px;
    aspect-ratio: 340/59;
    min-height: 59px;
  }
}
.card .view_details::before,
.card .request_info::before {
  position: absolute;
  display: block;
  width: 1em;
  height: 1em;
  right: 4%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.card .view_details {
  background: #2abcc9;
  border-bottom: solid 0.25em #1d8993;
}
@media (min-width: 960px) {
  .card .view_details {
    border-bottom: solid 0.3em #1d8993;
  }
}
.card .view_details::before {
  content: "";
  display: block;
  width: 0.8em;
  height: 0.8em;
  background: url(../img/service/service-plus-btn-icon.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.card .request_info::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: url(../img/service/service-arrow-btn-icon.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 960px) {
  .card .request_info::before {
    width: 0.9em;
    height: 0.9em;
  }
}
.card .request_info {
  background: #ff6056;
  border-bottom: solid 0.25em #d03b31;
}
@media (min-width: 960px) {
  .card .request_info {
    border-bottom: solid 0.3em #d03b31;
  }
}
.card.active .details_open {
  background: #f0f0f0;
  max-height: 500px; /* 必要に応じて調整 */
  opacity: 1;
  margin-bottom: 6%;
}
@media (min-width: 960px) {
  .card.active .details_open {
    margin-bottom: 20px;
  }
}
.card.active .view_details::before {
  background: url(../img/service/service-minus-btn-icon.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.card .details_open {
  width: 95%;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: max-height 0.5s ease, opacity 0.5s ease;
  transition: max-height 0.5s ease, opacity 0.5s ease;
}
@media (min-width: 960px) {
  .card .details_open {
    width: 100%;
  }
}
.card .details_content {
  padding: 4%;
  font-size: 4vw;
}
@media (min-width: 600px) {
  .card .details_content {
    font-size: 23px;
  }
}
@media (min-width: 960px) {
  .card .details_content {
    font-size: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 30px 50px;
  }
}
.card .details_content ul {
  padding: 0 2.5%;
}
@media (min-width: 960px) {
  .card .details_content ul {
    padding: 0;
    width: 600px;
  }
}
.card .details_content ul li .small {
  font-size: 2.5vw;
}
@media (min-width: 960px) {
  .card .details_content ul li .small {
    font-size: 10px;
  }
}
.card .details_content ul li.target_osusume {
  list-style: disc;
  margin-left: 9%;
  padding-bottom: 6%;
}
@media (min-width: 960px) {
  .card .details_content ul li.target_osusume {
    margin-left: 18px;
    padding-bottom: 0px;
  }
}
.card .details_content .small_note {
  width: 100%;
  display: block;
  text-align: left;
  font-size: 2.7vw;
  padding-top: 2%;
  margin-bottom: -3%;
}
@media (min-width: 960px) {
  .card .details_content .small_note {
    font-size: 12px;
    padding-top: 9px;
    margin-bottom: -10px;
  }
}
.card .details_content figure.check_list {
  margin: 3% 0 6%;
}
@media (min-width: 960px) {
  .card .details_content figure.check_list {
    margin: -10px 0 20px;
  }
}
.card .details_content figure.table {
  margin: 6% 0;
  padding: 0 2.5%;
}
@media (min-width: 960px) {
  .card .details_content figure.table {
    width: 600px;
    margin: 10px auto 0;
    padding: 0;
  }
}
.card .details_content figure.table figcaption {
  text-align: right;
  font-size: 3vw;
  margin-top: 1%;
}
@media (min-width: 600px) {
  .card .details_content figure.table figcaption {
    font-size: 18px;
  }
}
@media (min-width: 960px) {
  .card .details_content figure.table figcaption {
    font-size: 16px;
    margin-top: 0;
  }
}
.card .btn_area {
  width: 97%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3vw;
}
@media (min-width: 960px) {
  .card .btn_area {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.card h4 {
  padding-bottom: 1%;
  border-bottom: 1.5px solid #575757;
  font-size: 4.8vw;
  margin-bottom: 4%;
  font-weight: 700;
  color: #515151;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  line-height: 1.4;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 600px) {
  .card h4 {
    font-size: 28px;
  }
}
@media (min-width: 960px) {
  .card h4 {
    font-size: 18px;
    padding-bottom: 2px;
    margin-bottom: 14px;
    width: 600px;
  }
}
.card h4::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: url(../img/service/service-h3-icon.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.card .explanation {
  text-align: center;
  font-size: 5.1vw;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.3;
  margin-bottom: 3.5%;
  color: #515151;
}
@media (min-width: 600px) {
  .card .explanation {
    font-size: 31px;
  }
}
@media (min-width: 960px) {
  .card .explanation {
    margin-bottom: 13px;
    font-size: 20px;
  }
}
.card .explanation .small {
  font-size: 13px;
}
.card .marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #fff000));
  background: linear-gradient(transparent 50%, #fff000 50%);
}
.card .features {
  width: 95%;
  background: #f0f0f0;
  padding: 4.2% 5% 6%;
  margin-bottom: 6%;
  font-size: 4vw;
}
@media (min-width: 600px) {
  .card .features {
    font-size: 23px;
  }
}
@media (min-width: 960px) {
  .card .features {
    width: 700px;
    padding: 20px 46px 26px;
    margin-bottom: 20px;
    font-size: 16px;
  }
}
.card .features ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4vw;
}
@media (min-width: 960px) {
  .card .features ul {
    gap: 7px;
  }
}
.card .features ul li {
  position: relative;
  padding-left: 1em;
}
.card .features ul li::before {
  position: absolute;
  font-size: 1.5em;
  left: -10px;
  top: 0;
  line-height: 1;
  content: "・";
}
.card .features .features_note {
  font-size: 2.7vw;
  padding-top: 1%;
}
@media (min-width: 600px) {
  .card .features .features_note {
    font-size: 16px;
  }
}
@media (min-width: 960px) {
  .card .features .features_note {
    font-size: 12px;
  }
}
.card .features .features_note::before {
  display: inline-block;
  content: "※";
  font-size: 0.7em;
  margin-right: 1%;
}

.card_under_note {
  font-size: 2.5vw;
  color: #575757;
  margin-top: -8%;
  margin-bottom: 0;
}
@media (min-width: 600px) {
  .card_under_note {
    font-size: 16px;
  }
}
@media (min-width: 960px) {
  .card_under_note {
    font-size: 12px;
    margin-top: -21px;
    text-align: left;
    width: 100%;
  }
}

/* ------------------------------------------
保険サービス共通
------------------------------------------ */
.service {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 12% 4% 32%;
  border-radius: 15px 15px 0 0;
  background: gray;
  margin-top: -10%;
}
@media (min-width: 600px) {
  .service {
    margin-top: -20px;
    padding: 74px 0 150px;
  }
}
@media (min-width: 960px) {
  .service {
    margin-top: -30px;
    padding: 87px 0 118px;
    border-radius: 30px 30px 0 0;
  }
}
.service.medical {
  background: #ffdee2;
}
.service.cancer {
  background: #abf5fa;
}
.service.death {
  background: #e4dbf7;
}
.service.household {
  background: #ffecc3;
}
.service.nursing {
  background: #b7f8b0;
}
.service.children {
  background: #ffd0cd;
}
.service h2 {
  text-align: center;
  width: 48%;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%) translateY(-60%);
}
@media (min-width: 960px) {
  .service h2 {
    -webkit-transform: translateX(-50%) translateY(-33%);
            transform: translateX(-50%) translateY(-33%);
  }
}

/* ------------------------------------------
保険サービス別
------------------------------------------ */
section.medical h2 {
  width: 46%;
}
@media (min-width: 600px) {
  section.medical h2 {
    width: 270px;
  }
}
@media (min-width: 960px) {
  section.medical h2 {
    width: 196px;
  }
}

@media (min-width: 960px) {
  section.cancer {
    padding: 77px 0 118px;
  }
}
@media (min-width: 600px) {
  section.cancer h2 {
    width: 280px;
  }
}
@media (min-width: 960px) {
  section.cancer h2 {
    width: 203px;
    -webkit-transform: translateX(-50%) translateY(-33%);
    transform: translateX(-50%) translateY(-50%);
  }
}
section.cancer .cancer_h3_02 {
  width: 92%;
}

section.death {
  padding: 12% 4% 41%;
}
@media (min-width: 600px) {
  section.death {
    padding: 80px 0 204px;
  }
}
@media (min-width: 960px) {
  section.death {
    padding: 80px 0 123px;
  }
}
section.death h2 {
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
@media (min-width: 600px) {
  section.death h2 {
    width: 280px;
  }
}
@media (min-width: 960px) {
  section.death h2 {
    width: 196px;
  }
}

section.household {
  padding: 15% 4% 33%;
}
@media (min-width: 600px) {
  section.household {
    padding: 93px 0 154px;
  }
}
@media (min-width: 960px) {
  section.household {
    padding: 75px 0 119px;
  }
}
section.household h2 {
  width: 70%;
  -webkit-transform: translateX(-50%) translateY(-67%);
          transform: translateX(-50%) translateY(-67%);
}
@media (min-width: 600px) {
  section.household h2 {
    width: 420px;
  }
}
@media (min-width: 960px) {
  section.household h2 {
    width: 540px;
    -webkit-transform: translateX(-50%) translateY(-60%);
            transform: translateX(-50%) translateY(-60%);
  }
}

section.nursing h2 {
  width: 70%;
}
@media (min-width: 600px) {
  section.nursing h2 {
    width: 420px;
  }
}
@media (min-width: 960px) {
  section.nursing h2 {
    width: 305px;
    padding: 81px 0 118px;
    -webkit-transform: translateX(-50%) translateY(-33%);
    transform: translateX(-50%) translateY(-47%);
  }
}

section.children {
  padding: 12% 4% 25%;
}
@media (min-width: 600px) {
  section.children {
    padding: 76px 0 83px;
  }
}
@media (min-width: 960px) {
  section.children {
    padding: 76px 0 92px;
  }
}
section.children h2 {
  width: 56%;
}
@media (min-width: 600px) {
  section.children h2 {
    width: 340px;
  }
}
@media (min-width: 600px) and (min-width: 960px) {
  section.children h2 {
    width: 252px;
    -webkit-transform: translateX(-50%) translateY(-33%);
    transform: translateX(-50%) translateY(-43%);
  }
}

/* ------------------------------------------
保険選択
------------------------------------------ */
.select_service {
  position: relative;
  background: #f6eee9;
  padding: 14% 4% 8%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
  color: #733c00;
  border-radius: 15px 15px 0 0;
  margin-top: -10%;
}
@media (min-width: 960px) {
  .select_service {
    border-radius: 30px 30px 0 0;
    padding: 70px 0;
    margin-top: -30px;
  }
}
.select_service h2 {
  width: 82%;
  text-align: center;
}
@media (min-width: 600px) {
  .select_service h2 {
    max-width: 453px;
  }
}
@media (min-width: 960px) {
  .select_service h2 {
    max-width: 833px;
    margin-bottom: 32px;
  }
}
.select_service .step_wrap {
  display: contents;
}
@media (min-width: 960px) {
  .select_service .step_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 800px;
    gap: 45px;
  }
}
.select_service .step {
  position: relative;
  background: #fff;
  width: 100%;
  padding: 6% 4%;
}
@media (min-width: 600px) {
  .select_service .step {
    width: 550px;
    margin: 0 auto;
  }
}
@media (min-width: 960px) {
  .select_service .step {
    width: 100%;
    padding: 30px 50px 50px;
  }
}
.select_service .step .step_icon {
  position: absolute;
  left: 4%;
  top: 0;
  width: 17%;
}
@media (min-width: 960px) {
  .select_service .step .step_icon {
    width: 90px;
    left: 49px;
  }
}
.select_service .step h3 {
  padding-left: 23%;
  padding-bottom: 9%;
}
@media (min-width: 960px) {
  .select_service .step h3 {
    padding-bottom: 54px;
  }
}
.select_service .step .btn_wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 7px;
}
@media (min-width: 960px) {
  .select_service .step .btn_wrap {
    gap: 14px;
  }
}
.select_service .step .btn_wrap button {
  width: calc(50% - 4px);
  min-height: 55px;
  background: #c0aaa3;
  border-bottom: solid 0.25em #9e8b85;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  line-height: 1.2;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 5vw;
  aspect-ratio: 310/110;
}
@media (min-width: 600px) {
  .select_service .step .btn_wrap button {
    font-size: 30px;
  }
}
@media (min-width: 960px) {
  .select_service .step .btn_wrap button {
    font-size: 21px;
    width: 164px;
    min-height: 76px;
    border-radius: 7px;
    border-bottom: solid 0.3em #9e8b85;
  }
}
.select_service .step .btn_wrap button.two_column {
  min-height: 68px;
  aspect-ratio: 310/138;
}
@media (min-width: 960px) {
  .select_service .step .btn_wrap button.two_column {
    aspect-ratio: 226/90;
    min-height: 90px;
  }
}
.select_service .step .btn_wrap button.active,
.select_service .step .btn_wrap button.active2 {
  background: #806f69;
  color: #ffe714;
  border-bottom: none;
}
.select_service .step1 h3 {
  width: 92%;
}
@media (min-width: 960px) {
  .select_service .step1 h3 {
    width: 440px;
    padding-left: 114px;
  }
}
.select_service .step2 h3 {
  width: 70%;
}
@media (min-width: 960px) {
  .select_service .step2 h3 {
    width: 318px;
    padding-left: 111px;
  }
}
@media (min-width: 960px) {
  .select_service .step2 .btn_wrap button {
    width: 224px;
  }
}
.select_service .shindan {
  margin: 0 auto;
  width: 84%;
  position: relative;
  background: #ff6056;
  border-radius: 20em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 4.8vw;
  font-weight: 700;
  color: #fff;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 55px;
  aspect-ratio: 580/110;
}
@media (min-width: 600px) {
  .select_service .shindan {
    font-size: 28px;
    max-width: 480px;
  }
}
@media (min-width: 960px) {
  .select_service .shindan {
    width: 710px;
    max-width: 710px;
    min-height: 110px;
    height: 110px;
    font-size: 31px;
    letter-spacing: 0.2em;
  }
}
.select_service .shindan::after {
  position: absolute;
  display: block;
  content: "";
  width: 0.6em;
  height: 0.6em;
  background: url(../img/service-select/service-select-btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  right: 5%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 960px) {
  .select_service .shindan::after {
    width: 0.7em;
    height: 0.7em;
    right: 6%;
  }
}

/* ------------------------------------------
診断結果
------------------------------------------ */
.result {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: none;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
  text-align: center;
}
.result.open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
}
.result .result_arrow {
  width: 40%;
  padding: 2% 0 10%;
}
@media (min-width: 960px) {
  .result .result_arrow {
    width: 290px;
    padding: 24px 0 56px;
  }
}
.result .result_hukidashi {
  width: 92%;
  padding-bottom: 5%;
}
@media (min-width: 960px) {
  .result .result_hukidashi {
    width: 647px;
    padding-bottom: 25px;
  }
}
.result .result_btn_area {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 5% 0;
}
@media (min-width: 960px) {
  .result .result_btn_area {
    padding: 50px 0 0;
  }
}
.result .result_btn_area .result_back_select {
  position: relative;
  width: 84%;
  min-height: 55px;
  background: #54dfbd;
  border-radius: 20em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6%;
  aspect-ratio: 580/110;
}
@media (min-width: 600px) {
  .result .result_btn_area .result_back_select {
    font-size: 28px;
    width: 480px;
  }
}
@media (min-width: 960px) {
  .result .result_btn_area .result_back_select {
    width: 300px;
    min-height: 60px;
    font-size: 15px;
    margin-bottom: 23px;
  }
}
.result .result_btn_area .result_back_select::before {
  position: absolute;
  display: block;
  content: "";
  width: 0.9em;
  height: 0.9em;
  background: url(../img/result/btn-back-arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  left: 5%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 960px) {
  .result .result_btn_area .result_back_select::before {
    left: 7%;
  }
}
.result .result_btn_area a.other_service_link,
.result .result_btn_area a.other_service_link:hover,
.result .result_btn_area a.other_service_link:visited {
  color: #733c00;
  line-height: 1;
  padding-bottom: 3px;
  border-bottom: 1px solid #733c00;
  font-size: 3.8vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
}
@media (min-width: 600px) {
  .result .result_btn_area a.other_service_link,
  .result .result_btn_area a.other_service_link:hover,
  .result .result_btn_area a.other_service_link:visited {
    font-size: 23px;
  }
}
@media (min-width: 960px) {
  .result .result_btn_area a.other_service_link,
  .result .result_btn_area a.other_service_link:hover,
  .result .result_btn_area a.other_service_link:visited {
    font-size: 16px;
  }
}
.result .result_btn_area a.other_service_link::before {
  display: block;
  content: "";
  background: url(../img/result/other-link-icon.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1em;
  height: 1em;
  margin-right: 5px;
}
.result .card {
  padding: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: max-height 0.5s ease, opacity 0.5s ease;
  transition: max-height 0.5s ease, opacity 0.5s ease;
  margin-bottom: 0;
}
@media (min-width: 600px) {
  .result .card {
    max-width: 550px;
  }
}
@media (min-width: 960px) {
  .result .card {
    max-width: 800px;
  }
}
.result .card .content_wrapper {
  width: 100%;
  padding: 9% 7%;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 960px) {
  .result .card .content_wrapper {
    width: 800px;
    padding: 35px 50px;
  }
}
.result .card .content_wrapper h3 {
  margin-bottom: 7%;
  width: 84%;
}
@media (min-width: 960px) {
  .result .card .content_wrapper h3 {
    width: 85%;
    margin-bottom: 15px;
  }
}
.result .card .content_wrapper .explanation {
  margin-bottom: 6%;
}
@media (min-width: 960px) {
  .result .card .content_wrapper .explanation {
    margin-bottom: 20px;
  }
}
.result .result_cancer .content_wrapper h3 {
  width: 96%;
}
.result .card.show {
  max-height: 1000px;
  opacity: 1;
}
.result .result_arrow,
.result .result_hukidashi,
.result .result_btn_area {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: opacity 0.5s ease, max-height 0.5s ease;
  transition: opacity 0.5s ease, max-height 0.5s ease;
}
.result .result_arrow.show,
.result .result_hukidashi.show,
.result .result_btn_area.show {
  opacity: 1;
  max-height: 180px;
}
@media (min-width: 600px) {
  .result .result_arrow.show,
  .result .result_hukidashi.show,
  .result .result_btn_area.show {
    max-height: 230px;
  }
}
@media (min-width: 960px) {
  .result .result_arrow.show,
  .result .result_hukidashi.show,
  .result .result_btn_area.show {
    max-height: 208px;
  }
}
.result .features {
  width: 100%;
  text-align: left;
  margin-bottom: 6%;
  padding: 7% 5% 6%;
}
@media (min-width: 960px) {
  .result .features {
    padding: 20px 50px;
    margin-bottom: 30px;
  }
}
.result .card .request_info {
  width: 100%;
}
@media (min-width: 960px) {
  .result .card .request_info {
    width: 700px;
    font-size: 31px;
    aspect-ratio: 400/50;
    min-height: 50px;
    letter-spacing: 5px;
    max-width: 100%;
  }
}
.result ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.result ol li {
  position: relative;
  display: inline-block;
  padding-left: 1em;
  margin-bottom: 7%;
}
@media (min-width: 960px) {
  .result ol li {
    margin-bottom: 6px;
  }
}
.result ol li.three {
  margin-bottom: 3%;
}
@media (min-width: 960px) {
  .result ol li.three {
    margin-bottom: 7px;
  }
}
.result ol .one::before {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  content: "1.";
}
.result ol .two::before {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  content: "2.";
}
.result ol .three::before {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  content: "3.";
}

/* ------------------------------------------
フッター
------------------------------------------ */
footer {
  background: #733c00;
  color: #fff;
  text-align: center;
}
@media (min-width: 960px) {
  footer {
    padding: 0;
  }
}
footer .info_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 11% 6% 1%;
}
@media (min-width: 600px) {
  footer .info_top {
    width: 600px;
    margin: 0 auto;
    padding: 11% 6% 1%;
  }
}
@media (min-width: 960px) {
  footer .info_top {
    width: 100%;
    padding: 65px 0 36px;
  }
}
footer h2 {
  font-size: 6.3vw;
  line-height: 1.3;
  margin-bottom: 4%;
}
@media (min-width: 600px) {
  footer h2 {
    font-size: 38px;
  }
}
@media (min-width: 960px) {
  footer h2 {
    font-size: 37px;
    margin-bottom: 16px;
  }
}
footer .explanation {
  font-size: 5.5vw;
  margin-bottom: 6%;
  line-height: 1.3;
}
@media (min-width: 600px) {
  footer .explanation {
    font-size: 32px;
  }
}
@media (min-width: 960px) {
  footer .explanation {
    font-size: 27px;
    margin-bottom: 38px;
  }
}
@media (min-width: 960px) {
  footer .contact_btn {
    width: 710px;
  }
}
footer .tel_area {
  background: #d9bdac;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 5%;
  margin-bottom: 5%;
}
@media (min-width: 960px) {
  footer .tel_area {
    width: 850px;
    margin-top: 40px;
    margin-bottom: 20px;
  }
}
footer .tel_area h3 {
  padding: 1.5% 0 1.5%;
  width: 45%;
}
@media (min-width: 600px) {
  footer .tel_area h3 {
    width: 240px;
  }
}
@media (min-width: 960px) {
  footer .tel_area h3 img {
    width: 248px;
  }
}
footer .tel_area .wrap {
  background: #fff;
  width: 97%;
  margin-bottom: 1.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #1a1a1a;
  padding: 6% 3%;
}
@media (min-width: 960px) {
  footer .tel_area .wrap {
    width: 836px;
    padding: 32px 0 28px;
    margin-bottom: 7px;
  }
}
footer .tel_area .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  line-height: 1;
}
footer .tel_area .tel_btn {
  display: block;
  width: 95%;
  margin-bottom: 4%;
}
@media (min-width: 600px) {
  footer .tel_area .tel_btn {
    pointer-events: none;
  }
}
@media (min-width: 960px) {
  footer .tel_area .tel_btn {
    width: 308px;
    margin-bottom: 31px;
  }
}
footer .tel_area .reception_hours {
  font-size: 4.5vw;
  margin-bottom: 2%;
}
@media (min-width: 600px) {
  footer .tel_area .reception_hours {
    font-size: 27px;
  }
}
@media (min-width: 960px) {
  footer .tel_area .reception_hours {
    font-size: 24px;
  }
}
footer .tel_area .holiday {
  font-size: 4vw;
}
@media (min-width: 600px) {
  footer .tel_area .holiday {
    font-size: 24px;
  }
}
@media (min-width: 960px) {
  footer .tel_area .holiday {
    font-size: 24px;
  }
}
footer .note {
  position: relative;
  font-size: 3.4vw;
  font-weight: 400;
  font-weight: 400;
  padding-left: 1em;
  text-align: left;
  line-height: 1.2;
}
@media (min-width: 600px) {
  footer .note {
    font-size: 20px;
  }
}
@media (min-width: 960px) {
  footer .note {
    font-size: 18px;
    width: 850px;
  }
}
footer .note::before {
  position: absolute;
  content: "※";
  left: 0;
}
footer .copyright {
  width: 100%;
  background: #1e1e1e;
  text-align: center;
  font-size: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1% 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 600px) {
  footer .copyright {
    font-size: 19px;
  }
}
@media (min-width: 960px) {
  footer .copyright {
    font-size: 21px;
    height: auto;
    padding: 5px 0;
  }
}

footer .number{
  max-width: 600px;
  margin: 0 auto;
  padding: 20px 6% 16%;
  font-size: 12px;
  text-align: right;
}
@media (min-width: 960px) {
  footer .number{
    max-width: 850px;
    padding: 10px 0 1%;
  }
}
