body {
  background-image: url("../img/white_bg1.png");
}

.flex_center {
  align-items: center;
  display: flex;
  justify-content: center;
}

.flex_left {
  align-items: flex-start;
  display: flex;
}

.flex_right {
  align-items: flex-end;
  display: flex;
  justify-content: flex-end;
}

.flex_col {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.flex_between {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.sub_title {
  background-color: #b9a245;
  color: #fff;
}

.text_gold {
  color: #b9a245;
}

/* .sub_title_inner {
    border: 1px solid #fff;
} */

.title_h3 {
  font-weight: bold;
  text-align: center;
  font-size: 35px;
  color: #fff;
  margin-bottom: 0 !important;
}

.border_gold {
  border: 1px solid #b9a245;
}

.sub_title_inner {
  border: 1px solid #fff;
}

.border_black {
  border: 1px solid #000;
}

.text_bold {
  font-weight: bold;
}

.gray_bg {
  background-color: #efefef;
}

.main_wrapper {
  margin-top: 0;
}

.main_bg {
  background: #fff;
  border: 1px solid #b9a245;
}

.gold_bg_1 {
  background-color: #b9a245;
}

.merit_title,
.demerit_title,
.cost_title {
  border-bottom: 1px solid #b9a245;
  color: #b9a245;
  font-weight: bold;
  text-align: center;
}

.merit_left {
  color: #fff;
}

.flow_left {
  border-right: 1px solid #b9a245;
  color: #b9a245;
}

.cta_area {
  margin: 0 auto 60px;
  max-width: 900px;
}

.expense_title {
  border-bottom: 1px solid #acb8c6;
  margin-bottom: 0;
  padding-bottom: 20px;
}

/* .expense_title:last-of-type {
    margin-top: 60px;
  } */

.plan_dl {
  text-align: left;
}

.plan_detail {
  margin-top: 30px;
}

.plan_detail h3 {
  margin-bottom: 10px !important;
}

.icl_loan {
  margin-bottom: 10px !important;
}

.plan_box {
  border: 1px solid #b9a245;
}

.plan_box p {
  margin-bottom: 0 !important;
}

.plan_box dl {
  text-align: left;
  border-bottom: 1px solid #b9a245;
  padding-bottom: 5px;
}

.mb0 {
  margin-bottom: 0;
}

.pb0 {
  padding-bottom: 0 !important;
}

.address_border_right {
  border-right: 1px solid #b9a245;
}

.address_border_right a {
  color: #0f2a4b;
}

.bottom {
  background-color: #fff;
}

.toast {
  background-color: #fff;
  font-size: 14px;
  padding: 20px 30px 16px 15px;
  position: fixed;
  right: -320px;
  top: 30px;
  transition: 0.25s;
  z-index: 20000;
  border-bottom: 4px solid rgb(23, 223, 86);
}
.toast.toast--error {
  background: #b00020;
}

.h2_background_wrap {
  background-color: #fff;
}

.flow_right_text {
  margin-bottom: 0 !important;
}

.red_border {
  border: 5px solid #C2252D !important;
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .mainImageBtnFlexWrap {
    position: absolute;
    width: 100%;
    top: 60%;
    display: flex;
    justify-content: center;
    right: 0 !important;
    gap: 20px;
  }

  .mainImageBtnFlexWrap a {
    max-width: 22%;
    width: 100%;
    height: auto;
    display: contents;
  }

  .mv_point {
    max-width: 22%;
    height: auto;
    margin: 0;
    object-fit: contain;
  }

  .mv_point.big_point {
    max-width: 24%;
  }

  .mainImageBtn {
    position: relative;
  }

  .sub_title {
    padding: 10px;
    margin-bottom: 40px;
  }

  .sub_title_inner {
    padding: 15px 0 18px;
  }

  .main_bg.flow_main_bg {
    border: none;
  }

  .content {
    padding: 65px 90px;
  }

  .lp_section .main_inner {
    padding-bottom: 135px;
  }

  .kitte_inner {
    margin: 0 auto;
  }

  .lp_section_info .kitte_inner,
  .lp_section_recommend .kitte_inner,
  .lp_section_merit .kitte_inner,
  .lp_section_comparison .kitte_inner,
  .lp_section_cost .kitte_inner,
  .lp_section_flow .kitte_inner,
  .lp_section_reason .kitte_inner,
  .lp_section_medical .kitte_inner {
    padding: 65px 10px 0;
    max-width: 1080px;
  }

  .visual {
    margin-top: 65px;
  }

  .visual_image {
    aspect-ratio: 1440/505;
    height: auto;
    width: 100%;
  }

  .merit_title_inner,
  .demerit_title_inner,
  .cost_title_inner {
    margin-bottom: 25px;
  }

  .merit_title,
  .demerit_title,
  .cost_title {
    border-bottom: 1px solid #b9a245;
    color: #b9a245;
    font-weight: bold;
    text-align: center;
  }

  .merit_right_text,
  .demerit_right_text,
  .comparison_text {
    margin-bottom: 0 !important;
  }

  /********************/

  /* lpMV */
  .lp_main_visual_area {
    background-color: #fff;
    margin-top: 143px;
    /* margin-top: 92px; */
  }

  .lp_main_visual {
    aspect-ratio: 1440 / 600;
    min-width: 1080px;
    /* padding-bottom: min(27.5%, 600px); */
    background-image: var(--lp-visual-pc);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    position: relative;
    width: 100%;
  }

  /* 予約ボタン */
  .lp_section_reserve {
    background-color: #fff;
  }

  .reserve_inner {
    margin: 0 auto;
    max-width: 1080px;
    padding: 25px 0;
  }

  .reserve_consult {
    color: #b9a245;
    font-size: 25px;
    text-align: center;
  }

  .reserve_btn_other {
    margin: 10px;
    text-align: center;
  }

  .reserve_btn {
    display: block;
    margin: 0 auto;
    max-width: 600px;
    width: 100%;
  }

  .reserve_btn_image {
    aspect-ratio: 600/80;
    height: auto;
    width: 100%;
  }

  .reserve_consider {
    color: var(--text-navy);
    font-size: 20px;
    text-align: center;
  }

  .doctor_banner {
    background-color: #fff;
    padding-bottom: 35px;
    text-align: center;
  }

  .doctor_campaign_banner {
    aspect-ratio: 1060/290;
    height: auto;
    max-width: 1060px;
    width: 100%;
  }

  .campaign_banner {
    background-color: #fff;
    margin: 0 auto;
    padding: 25px 0;
    text-align: center;
  }

  /* ICLって何バナー */
  .what_icl {
    width: 100%;
  }

  .what_icl_image {
    aspect-ratio: 1440/200;
    height: auto;
    width: 100%;
  }

  .banner {
    margin-top: 65px;
    width: 100%;
  }

  .banner_image {
    aspect-ratio: 1439 / 257;
    height: auto;
    width: 100%;
  }

  /* ICL手術 */
  .icl_section_info,
  .icl_recommend_section {
    margin-bottom: 20px;
  }

  .icl_area {
    padding: 50px 80px;
  }

  .icl_info {
    align-items: flex-start;
    margin: 40px 0 45px;
  }

  .icl_info:first-child {
    margin-top: 0;
    margin-bottom: 55px;
  }

  .icl_info:nth-child(2) {
    margin-bottom: 45px;
  }

  .icl_info_text {
    font-size: 20px;
    line-height: 1.75;
    width: calc(100% - 325px);
  }

  .icl_info_image_area {
    width: 300px;
  }
  .icl_info_image_area3 {
    text-align: center;
  }

  .icl_info_image1 {
    aspect-ratio: 300/194;
    height: 100%;
    max-width: 300px;
    width: 100%;
  }

  .icl_info_image2 {
    aspect-ratio: 300/266;
    height: 100%;
    max-width: 300px;
    width: 100%;
  }

  .icl_info_image3 {
    aspect-ratio: 650/370;
    height: 100%;
    margin: 0 auto;
    max-width: 650px;
    width: 100%;
  }

  /* おすすめ */
  .icl_recommend {
    gap: 10px;
    margin-top: 30px;
    text-align: center !important;
  }

  .icl_recommend_box {
    background-color: #fff;
    flex: 1;
    padding: 30px 0 35px;
  }

  .check_icon_image {
    margin: 0 auto;
    width: 68px;
  }

  .icl_recommend_text {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.75;
    margin-top: 22px;
    text-align: center;
    margin-bottom: 0 !important;
  }

  /* メリットデメリット */
  .demerit {
    margin-top: 45px;
  }

  .merit_item,
  .demerit_item {
    align-items: center;
    height: 100px;
    margin-bottom: 10px;
  }

  .merit_item:last-child,
  .demerit_item:last-child {
    margin-bottom: 0;
  }

  .merit_left {
    height: 100%;
    width: 250px;
  }

  .demerit_left {
    border-right: 1px solid #000;
    height: 100%;
    width: 250px;
  }

  .merit_right,
  .demerit_right {
    padding-left: 30px;
  }

  .demerit_right {
    width: calc(100% - 250px);
  }

  /* 比較 */
  .comparison_image_area {
    margin: 40px auto;
  }

  .comparison_image {
    aspect-ratio: 900/808;
    height: auto;
    width: 100%;
  }

  .comparison_text {
    line-height: 1.75;
    margin-top: 25px;
  }

  .comparison_text:first-child {
    margin-top: 0;
  }

  /* 費用 */
  .cost_first_m_area {
    margin: 30px 0;
  }

  .cost_first_message {
    font-size: 25px;
    font-weight: bold;
    line-height: 1.75;
  }

  .cost_banner {
    margin-top: 50px;
  }

  .cost_banner_area {
    margin: 35px 0 0;
  }

  .cost_price {
    aspect-ratio: 900/180;
    height: 100%;
    width: 100%;
  }

  .cost_money {
    font-size: 40px;
  }

  .cost_banner {
    margin-bottom: 60px;
  }

  .cost_campaign_banner {
    aspect-ratio: 900/162.5;
  }

  .guarantee {
    margin-top: 45px;
  }

  .cost_section_guarantee {
    margin-top: 60px;
  }

  .guarantee_text_area {
    margin: 35px 0;
  }

  .guarantee_icl {
    padding: 40px 0;
  }

  .guarantee_period {
    font-size: 25px;
    margin-bottom: 40px;
    text-align: center;
  }

  .guarantee_text_period {
    font-size: 20px;
    text-align: center;
  }

  .guarantee_period_m {
    font-size: 20px;
    font-weight: bold;
    margin-top: 45px;
    text-align: center;
  }

  /* 手術の流れ */
  .flow {
  }

  .flow_items {
  }

  .flow_item {
    height: 85px;
    width: 100%;
  }

  .flow_left {
    height: 100%;
    justify-content: flex-start;
    min-width: 320px;
    padding: 0 0 0 15px;
  }

  .flow_number_icon {
    aspect-ratio: 55/55;
    width: 55px;
    margin: 0;
  }

  .flow_left_text {
    display: inline-block;
    font-size: 25px;
    margin-left: 18px;
  }

  .flow_right {
    align-items: center;
    display: flex;
    height: 100%;
    padding: 0 0 0 25px;
  }

  .flow_arrow {
    margin: 10px auto;
  }

  .flow_arrow_icon {
    aspect-ratio: 36/30;
    height: 100%;
    width: 40px;
  }

  /* 選択理由 */
  .reason_item {
    background-color: #fff;
    /* border: 1px solid var(--border-main); */
    margin-top: 15px;
    padding: 25px 90px 35px;
  }

  .reason_head {
    color: #b9a245;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
  }

  .reason_deco {
    margin: 10px 0 25px;
    width: 100%;
  }

  .reason_deco_image {
    aspect-ratio: 250/20;
    display: block;
    height: auto;
    margin: 0 auto;
    width: 250;
  }

  /* access */
  .access_section_map {
    margin-bottom: 55px;
  }

  .access_map {
    background-color: var(--bg-rgba-white);
    margin-top: 55px;
  }

  .access_map:first {
    margin-top: 0;
  }

  .access_map_area {
    width: 100%;
  }

  .google_map {
    height: 450px;
    width: 100%;
  }

  .access_map_address {
    line-height: 1.75;
    margin-top: 40px;
    margin-bottom: 0 !important;
  }

  .copy_icon {
    margin-left: 8px;
    margin-top: 2px;
    cursor: pointer;
    width: 20px;
  }

  /* 診療時間 */
  .medical_section .kitte_inner {
    padding-bottom: 65px;
  }

  .access_section_medical {
    margin-bottom: 55px;
  }

  .medical_area {
    padding: 40px 0 0;
  }

  .medical_hours {
    font-size: 25px;
    line-height: 2.25;
    margin-bottom: 25px;
    text-align: center;
  }

  .medical_text {
    font-size: 20px;
    text-align: left;
  }

  .expense_h3 {
    margin-bottom: 15px !important;
  }

  .plan-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    border: 1px solid #b9a245;
    margin-bottom: 20px;
  }

  .plan-table th,
  .plan-table td {
    border: 2px solid #b9a245;
  }

  .plan-title {
    background-color: #b9a245;
    color: #fff;
    text-align: left;
    font-size: 20px;
    padding: 5px 20px;
    font-weight: bold;
  }

  .plan-title span {
    font-weight: normal;
    font-size: 18px;
  }

  .plan-item {
    width: 50%;
    padding: 10px;
  }

  .plan-item.no-astigmatism {
    background-color: #fff;
  }

  .plan-item.with-astigmatism {
    background-color: #e8f3f7;
  }

  .champaign_table {
    border: 2px solid #C2252D;
    border-radius: 10px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
  }
  
  .champaign_table .plan-title,
  .champaign_table .plan-item {
    background-color: #fff;
    color: #C2252D;
    text-align: center;
  }

  .champaign_table th,
  .champaign_table td {
    border: none;
  }

  .champaign_table th {
    border-bottom: none;
  }

  .plan-footer {
    background-color: #C2252D;
    color: #fff;
  }

  .red_allow {
    width: 40px !important;
    margin-bottom: 20px;
  }

  .plan-label,
  .plan-price {
    text-align: center;
    margin-bottom: 0;
  }

  .plan-label {
    font-weight: normal;
  }

  .plan-price span {
    font-size: 35px;
    font-weight: bold;
  }

  .plan-options {
    text-align: left;
    padding: 10px 20px;
    line-height: 1.6;
    background: #fff;
  }

  .plan-options p {
    margin-bottom: 0;
  }

  .plan_dl dt {
    font-size: 25px;
  }

  .icl_loan {
    padding: 0 90px;
  }

  .plan_box {
    padding: 15px 20px;
  }

  .plan_box dt {
    font-size: 20px;
  }

  #address {
    text-align: left;
  }

  .text_left {
    text-align: left;
  }

  .medical_hours .first_text,
  .text_center {
    text-align: center;
  }

  .address {
    padding-bottom: 60px;
    margin-bottom: 0;
  }
}

@media (max-width: 767px) {
  .pt-65 {
    padding-top: 65%;
  }
  .spMenu li {
    width: calc(100% / 2);
  }
  .mainImageBtnFlexWrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    width: 100%;
    top: 70%;
    right: 0 !important;
  }

  .point_flex a {
    width: 50%;
    height: auto;
    display: contents;
  }

  .point_flex {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
  }

  .mv_point {
    width: 49%;
    object-fit: contain;
    height: auto;
  }

  .mv_point.big_point {
    width: 51%;
  }

  .mainImageBtn {
    color: #0f2a4b;
    padding: 0%;
    position: relative;
    display: block;
  }
  /* テーブルの各ブロックを縦方向に並べる */
  .plan-table {
    margin-bottom: 15px;
  }

  .plan-table,
  .plan-table thead,
  .plan-table tbody,
  .plan-table tr,
  .plan-table tfoot {
    display: block;
  }

  /* 枠線は左右だけ固定、上下は区切りとして使う */
  .plan-table th,
  .plan-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border-left: 1px solid #0F2A4B;
    border-right: 1px solid #0F2A4B;
    border-top: 1px solid #0F2A4B;
    border-bottom: none;

  }

  /* タイトル行の上下線 */
  .plan-title {
    background-color: #0f2a4b;
    color: #fff;
    border-top: 1px solid #0F2A4B;
    border-bottom: 1px solid #0F2A4B;
    padding: 12px;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    font-weight: bold;
  }

  .plan-title span {
    font-size: 16px;
  }

  /* 2つの料金セルを縦に積む。間に仕切り線 */
  .plan-item {
    width: 100%;
    text-align: center;
    padding: 10px;
  }

  .plan-item p {
    text-align: center;
    margin-bottom: 0 !important;
  }

  .plan-item.with-astigmatism {
    background-color: #e8f3f7;
  }
  .plan-item + .plan-item {
    border-top: 1px solid #0F2A4B;
    border-bottom: 1px solid #0F2A4B;
  }

  .champaign_table {
    background-color: #fff;
    color: #C2252D;
    width: 100%;
    border-collapse: separate;
  }

  .champaign_table th,
  .champaign_table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border-left: 1px solid #C2252D;
    border-right: 1px solid #C2252D;
    border-top: 1px solid #C2252D;
    border-bottom: none;
  }

  .champaign_table .plan-title {
    background-color: #fff;
    color: #C2252D;
  }

  .champaign_table .with-astigmatism {
    background-color: #fff !important;
  }

  .plan-footer {
    width: 100%;
    display: table-cell;
    background-color: #C2252D;
    color: #fff;
  }

  .red_allow {
    width: 40px !important;
    margin-bottom: 10px;
  }

  .champaign_table tbody td:last-child {
    border-top: none;
  }

  .red_border tbody td {
    border-right: none;
    border-left: none;
  }
  .red_border .plan-item:last-child {
    border-bottom: none;
  }

  /* 追加オプションの上にも仕切り線 */
  .plan-options {
    border-top: 1px solid #0F2A4B;
    border-bottom: 1px solid #0F2A4B !important;
    padding: 15px;
    background: #fff;
  }

  .plan-options p {
    margin-bottom: 0 !important;
  }

  /* 文字サイズ少し調整（お好みで） */
  .plan-price span {
    font-size: 35px;
  }

  .plan_box {
    padding: 15px;
  }

  .sp_bb_none {
    border-bottom: none !important;
  }
  
  .bottom .address {
    margin-bottom: 0 !important;
    padding-bottom: 20px;
  }
  .sp_bb_none {
    border-bottom: none;
  }
  .address_border_right {
    border-right: none;
  }
  .content {
    padding: 30px 15px;
  }

  .merit_right_text,
  .demerit_right_text,
  .comparison_text {
    margin-bottom: 0 !important;
  }
  /* サブ項目 */
  .sub_title {
    padding: 10px;
    margin-bottom: 20px;
  }

  .sub_title_inner {
    padding: 12px 0 15px;
  }

  .main_bg.flow_main_bg {
    background: none;
    border: none;
  }
  .content.flow_main_bg {
    padding: 0;
  }

  .lp_section .main_inner {
    padding-bottom: 100px;
  }

  .lp_section_info .kitte_inner,
  .lp_section_recommend .kitte_inner,
  .lp_section_merit .kitte_inner,
  .lp_section_comparison .kitte_inner,
  .lp_section_cost .kitte_inner,
  .lp_section_flow .kitte_inner,
  .lp_section_reason .kitte_inner,
  .lp_section_medical .kitte_inner {
    width: calc(100% - 30px);
    margin: 0 auto;
    padding: 30px 0 0;
  }

  .merit_title_inner,
  .demerit_title_inner,
  .cost_title_inner {
    margin-bottom: 25px;
  }

  .merit_title,
  .demerit_title,
  .cost_title {
    font-size: 20px;
    padding-bottom: 15px;
  }

  .visual {
    margin-top: 30px;
  }

  .visual_image {
    aspect-ratio: 390/100;
    height: auto;
    width: 100%;
  }

  .title_h3 {
    line-height: 1.5;
    margin-bottom: 0 !important;
    font-size: 25px;
  }

  /*********************/

  /* lpMV */
  .lp_main_visual_area {
    background-color: #fff;
  }

  .lp_main_visual {
    aspect-ratio: 320 / 341;
    /* padding-bottom: min(27.5%, 600px); */
    background-image: var(--lp-visual-sp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    position: relative;
    width: 100%;
  }

  /* 予約ボタン */
  .lp_section_reserve {
    background-color: #fff;
  }

  .reserve_inner {
    margin: 0 auto;
    padding: 15px 0;
  }

  .reserve_consult {
    color: #b9a245;
    font-size: 16px;
    text-align: center;
  }

  .reserve_btn_other {
    margin: 10px;
    text-align: center;
  }

  .reserve_btn {
    display: block;
    margin: 0 auto;
    width: 100%;
  }

  .reserve_btn_image {
    /* aspect-ratio: 350/70; */
    aspect-ratio: 300/43;
    height: auto;
    width: 100%;
  }

  .reserve_consider {
    color: var(--text-navy);
    font-size: 16px;
    text-align: center;
  }

  .doctor_banner {
    background-color: #fff;
    padding: 0 10px 20px;
    text-align: center;
  }

  .doctor_campaign_banner {
    aspect-ratio: 750/605;
    height: auto;
    width: 100%;
  }

  .campaign_banner {
    background-color: #fff;
    margin: 0 auto;
    padding: 18px 10px 18px;
    text-align: center;
  }

  /* ICLって何バナー */
  .what_icl {
    width: 100%;
  }

  .what_icl_image {
    aspect-ratio: 390/104;
    height: auto;
    width: 100%;
  }

  .banner {
    margin-top: 25px;
    width: 100%;
  }

  .banner_image {
    aspect-ratio: 1500 / 450;
    height: auto;
    width: 100%;
  }

  /* ICL手術 */
  /* .icl_section_info {
        margin-bottom: 30px;
        padding: 27px 20px 40px;
    } */

  .icl_area {
    padding: 30px 20px;
  }

  .icl_info {
    align-items: flex-start;
    flex-direction: column-reverse;
  }

  .icl_info:first-child {
    margin-bottom: 25px;
  }

  .icl_info:nth-child(2) {
    margin-bottom: 25px;
  }

  .icl_info_text {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 0 !important;
  }

  .lp_section_recommend,
  .lp_section_cost,
  .lp_section_comparison,
  .lp_section_flow,
  .lp_section_reason,
  .lp_section_medical {
    padding-top: 0;
  }

  .icl_info_image_area {
    margin-bottom: 25px;
    width: 100%;
  }

  .icl_info_image1 {
    aspect-ratio: 320/207;
    height: 100%;
    width: 100%;
  }

  .icl_info_image2 {
    aspect-ratio: 320/284;
    height: 100%;
    width: 100%;
  }

  .icl_info_image3 {
    aspect-ratio: 320/182;
    height: 100%;
    margin: 0 auto;
    width: 100%;
  }

  /* おすすめ */
  .icl_recommend {
    flex-direction: column;
    gap: 10px;
    margin-top: 30px;
    text-align: center;
  }

  .icl_recommend_box {
    background-color: #fff;
    padding: 25px 0 30px;
    width: 100%;
  }

  .check_icon_image {
    align-self: 50/50;
    height: auto;
    margin: 0 auto;
    width: 60px;
  }

  .icl_recommend_text {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.75;
    margin-top: 22px;
    text-align: center;
    margin-bottom: 0 !important;
  }

  /* メリットデメリット */
  .merit_title_inner {
    margin-bottom: 25px;
  }

  .merit_title {
    font-size: 20px;
    padding-bottom: 15px;
  }

  .demerit {
    margin-top: 25px;
  }

  .merit_item,
  .demerit_item {
    align-items: center;
    display: block;
    font-size: 18px;
    margin-bottom: 18px;
  }

  .flow_right_text,
  .reason_head,
  .reason_text {
    margin-bottom: 0 !important;
  }

  .merit_item:last-child,
  .demerit_item:last-child {
    margin-bottom: 0;
  }

  .merit_left,
  .demerit_left {
    height: 50px;
    width: 100%;
  }

  .demerit_left {
    border-bottom: 1px solid var(--border-black);
  }

  .merit_right,
  .demerit_right {
    padding: 10px 15px;
  }

  /* 比較 */
  .comparison_image_area {
    margin: 0 auto;
  }

  .comparison_image {
    aspect-ratio: 330/637;
    height: 100%;
    width: 100%;
  }

  .comparison_text_area {
    margin-top: 20px;
  }

  .comparison_text {
    line-height: 1.5;
    margin-top: 25px;
  }

  .comparison_text:first-child {
    margin-top: 0;
  }

  /* 費用 */
  /* .cost_first_m {
        margin-top: 35px;
    } */

  .cost_first_m_area {
    margin: 20px 0;
  }

  .cost_first_message {
    font-weight: bold;
    line-height: 1.5;
  }

  .cost_banner {
    margin-top: 25px;
  }

  .cost_banner_area {
    margin: 20px 0 0;
  }

  .cost_price {
    aspect-ratio: 330/180;
    height: 100%;
    width: 100%;
  }

  .cost_money {
    font-size: 40px;
  }

  .cost_banner {
    margin-bottom: 20px;
  }

  .cost_campaign_banner {
    aspect-ratio: 375/292;
    height: 100%;
    width: 100%;
  }

  .guarantee {
    margin-top: 20px;
  }

  .guarantee_area {
    margin-bottom: 30px;
  }

  .guarantee_icl {
    margin-top: 20px;
    padding: 27px 20px;
  }

  .guarantee_period {
    font-size: 18px;
    margin-bottom: 20px;
    text-align: center;
  }

  .guarantee_text_period.first_text {
    margin-bottom: 10px;
    text-align: center;
  }
  .guarantee_text_period {
    margin-bottom: 10px;
    text-align: center;
  }

  .guarantee_text {
    font-size: 16px;
    text-align: left;
  }

  .guarantee_text.first_text {
    margin-bottom: 12px;
  }

  .guarantee_period_m {
    margin-top: 30px;
    text-align: center;
  }

  /* 手術の流れ */
  .flow {
  }

  .flow_items {
  }

  .flow_item {
    background: #fff;
    display: block;
    width: 100%;
  }

  .flow_left {
    border-bottom: 1px solid #b9a245;
    height: 100%;
    padding: 10px 0;
    text-align: center;
  }

  .flow_number_icon {
    aspect-ratio: 40/40;
    height: 100%;
    width: 40px;
    margin-right: 0;
  }

  .flow_left_text {
    display: inline-block;
    font-size: 20px;
    margin-left: 10px;
  }

  .flow_right {
    align-items: center;
    display: flex;
    height: 100%;
    padding: 15px 20px;
  }

  .flow_arrow {
    margin: 10px auto;
  }

  .flow_arrow_icon {
    aspect-ratio: 36/30;
    height: 100%;
    width: 30px;
  }

  /* 選択理由 */
  .reason_item {
    background-color: #fff;
    /* border: 1px solid var(--border-main); */
    margin-top: 15px;
    padding: 15px;
  }

  .reason_head {
    color: #b9a245;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
  }

  .reason_deco {
    margin: 3px 0 12px;
    width: 100%;
  }

  .reason_deco_image {
    aspect-ratio: 164/12.5;
    display: block;
    height: auto;
    margin: 0 auto;
    width: 60%;
  }

  /* access */
  .access_section_map {
    padding-bottom: 40px;
  }

  .access_map {
    background-color: var(--bg-rgba-white);
    margin-top: 10px;
    padding: 15px 0 0;
  }

  .access_map:first {
    margin-top: 0;
  }

  .access_map_area {
    width: 100%;
  }

  .google_map {
    height: 250px;
    width: 100%;
  }

  .access_map_address {
    font-size: 16px;
    margin-top: 15px;
    margin-bottom: 0 !important;
  }

  .medical_text {
    margin-bottom: 0 !important;
  }

  #address {
    line-height: 1.25;
  }

  .copy_icon {
    margin-left: 6px;
    margin-top: 2px;
    cursor: pointer;
    width: 16px;
  }

  /* 診療時間 */
  .access_section_medical {
    margin-bottom: 40px;
  }

  /* .medical_area {
        padding: 20px;
    } */

  .medical_hours {
    font-size: 20px;
    margin-bottom: 22px;
    text-align: center;
  }

  .medical_hours .first_text {
    line-height: 1.75;
    margin-bottom: 20px;
    text-align: center;
  }

  .medical_text {
    font-size: 16px;
    text-align: left;
  }

  .text_center {
    text-align: center;
  }
  .toast {
    font-size: 12px;
    padding: 13px 20px 10px 8px;
    position: fixed;
    right: -320px;
    top: 50px;
    transition: 0.25s;
    z-index: 200;
  }
}

@media (max-width: 321px) {
  .title_h3 {
    font-size: 21px;
    line-height: 1.5;
  }

  .guarantee_text_period {
    font-size: 15px;
    margin-bottom: 8px;
    text-align: center;
  }
}
