/* ICL手術とは */
.aboutIcl {
  padding-top: 0;
}

.icl_h3 {
  border-bottom: none;
}

.feikick_ul {
  margin-bottom: 60px;
}

.img-fluid {
  height: 100%;
  width: 100%;
}

.feikick_li {
  margin: 0;
  background-color: #e8f3f7;
  list-style-type: none;
}

.feikick_figcaption {
  text-align: left;
  margin-top: 20px;
}

.feikick_figcaption small {
  font-size: 16px;
  font-weight: 600;
}

.notice {
  margin-top: 5px;
  text-align: right;
}

.icl_article {
  background-color: #e8f3f7;
}

.laser_dl {
  text-align: left;
}

.laser_dl:last-child {
  margin-bottom: 0;
}

.advantage_dl:last-child {
  margin-bottom: 0;
}

/* 術式概要/費用 */
.icl_cost_article {
  background-color: #e8f3f7;
}

.icl_cost_table {
  background-color: #fff;
}

.icl_cost_dl {
  margin: 0;
  padding: 0;
  text-align: left;
}

.icl_cost_dl:last-child {
  border-bottom: none;
}

.icl_cost_li {
  list-style-type: none;
}

/* メリット／デメリット */
.advantage_article {
  background-color: #e8f3f7;
}

/* アフターケア */
.totalcare_article {
  background-color: #e8f3f7;
}

.totalcare_li {
  list-style-type: none;
  background-color: #fff;
}

.totalcare_dd {
  text-align: left;
}

.astigmatism_point_list ul,
.astigmatism_point_list_detail {
  list-style: none;
  text-align: left;
}

.astigmatism_number_list_detail {
  margin-top: 20px;
}

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

.astigmatism_point_list_title {
  display: block;
  font-weight: bold;
}

.astigmatism_block_list_detail {
  margin-top: 10px;
  position: relative;
}

.astigmatism_block_list_detail:before {
  content: "■";
  margin-left: 0;
  position: absolute;
  left: 0;
}

.title_underline {
  text-decoration: underline;
}

.astigmatism_point {
  text-align: left;
}

.point_text {
  margin: 20px 0 10px;
}

.number_one,
.number_two,
.number_three,
.number_four,
.number_five,
.number_six,
.number_seven,
.number_eight,
.number_nine {
  position: relative;
}

.number_one:before,
.number_two:before,
.number_three:before,
.number_four:before,
.number_five:before,
.number_six:before,
.number_seven:before,
.number_eight:before,
.number_nine:before {
  content: "";
  margin-left: 0;
  position: absolute;
  left: 0;
}

.number_one:before {
  content: "①";
}

.number_two:before {
  content: "②";
}

.number_three:before {
  content: "③";
}

.number_four:before {
  content: "④";
}

.number_five:before {
  content: "⑤";
}

.number_six:before {
  content: "⑥";
}

.number_seven:before {
  content: "⑦";
}

.number_eight:before {
  content: "⑧";
}

.number_nine:before {
  content: "⑨";
}

.point_title {
  font-size: 25px;
  font-weight: bold;
  text-align: center;
}

.explanation_description {
  margin: -50px 0 50px 30px;
  width: 31%;
}

.icl_link_ul {
  width: 90%;
}

.icl_link_li {
  list-style: none;
  border-bottom: 1px solid #b9a245;
  width: 100%;
}

.icl_link_li a {
  align-items: center;
  color: #0f2a4b;
  display: flex;
  justify-content: space-between;
  padding: 15px 0;
}

.icl_link_li p {
  margin: 0;
  margin-left: 4%;
}

.icl_link_li img {
  width: 20px;
  margin-right: 20px;
}

.swiper-button-prev {
  background-image: url(../images/icl/arrow_prev.svg) !important;
  background-size: contain;
  z-index: 1;
}

.swiper-button-next {
  background-image: url(../images/icl/arrow_next.svg) !important;
  background-size: contain;
  z-index: 1;
}

/* ICLとレーシックの徹底比較 */
.ipcl_comparison_group {
  margin-bottom: 60px;
}

.comparison_box {
  display: flex;
  width: 100%;
}

.comparison_point_list {
  border: solid 1px #b9a245;
  padding: 25px;
  margin: 5px;
  display: flex;
  flex-direction: column;
}

.comparison_number_list {
  border: solid 1px #b9a245;
  padding: 15px;
  margin: 5px;
  display: flex;
  flex-direction: column;
}

.comparison_point_list,
.comparison_point_list_detail,
.comparison_number_list_detail {
  text-align: left;
  width: 90%;
}

.comparison_point_list_detail {
  margin-bottom: 1rem;
}

.comparison_number_list_detail {
  list-style: none;
  margin-left: 0;
}

.comparison_point_list_detail_flex {
  display: flex;
  align-items: start;
  list-style: none;
  margin-bottom: 1rem;
}

.comparison_point_list_detail_flex img {
  width: 140px;
  object-fit: contain;
}

.comparison_point_list_detail_flex span {
  width: 60%;
  margin-left: 10px;
  text-align: left;
}

.point_list_group_detail {
  margin-left: 20px;
}

.point_list_group_text {
  margin: 0;
  margin-top: 1rem;
}

.comparison_point_list .comparison_number_list_detail:last-child,
.comparison_point_list .comparison_point_list_detail:last-child,
.comparison_number_list .comparison_point_list_detail_flex:last-child {
  margin-bottom: 0;
}

.point_list_group_text:first-of-type {
  margin-top: 0;
}

.lasik_column {
  display: flex;
  flex-direction: column;
}

.comparison_img {
  display: flex;
  flex-direction: column;
  margin-top: auto;
  width: 100%;
}

.comparison_img p {
  margin: 0;
  text-align: center;
  font-weight: bold;
}

.comparison_img img {
  margin-top: auto;
}

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

.mb_20 {
  margin-bottom: 20px !important;
}

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

#first_limits {
  padding-top: 130px;
  margin-top: -130px;
}

.plan_box {
  border: 1px solid #0f2a4b;
}

.plan_box p {
  margin-bottom: 0;
}

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

.mb0 {
  margin-bottom: 0;
}

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

.bb_none {
  border-bottom: none !important;
}

@media (min-width: 768px) {
  /* ICL手術とは */
  .feikickNote {
    margin-bottom: 60px;
  }

  .feikick_ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .feikick_li {
    margin-bottom: 60px;
    padding: 60px 50px;
    width: 100%;
  }

  .feikick_li:last-child {
    margin-bottom: 0;
  }

  .vivid_text {
    margin-bottom: 40px;
  }

  .vividphoto {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  .vividphoto_figure {
    width: 48%;
  }

  .vivid_figcaption {
    font-size: 17px;
    font-weight: 600;
    margin-bottom: 24px;
  }

  /* 手術のプロセス */
  .icl_article {
    padding: 60px 0;
    width: 1200px;
  }

  .step {
    font-size: 20px;
  }

  .step_text {
    font-size: 16px;
  }

  .step_number {
    font-size: 20px;
  }

  .laser_dl {
    margin-bottom: 20px;
    max-width: 900px;
  }

  /* 術式概要/費用 */
  .icl_cost_article {
    padding: 50px;
    margin-bottom: 83px;
  }

  .icl_cost_table {
    padding: 0 30px;
  }

  .icl_cost_dl {
    display: flex;
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #acb8c6;
  }

  .icl_cost_dt {
    font-size: 20px;
    margin: auto;
    padding-left: 20px;
    width: 25%;
  }

  .icl_cost_dd {
    margin: 0;
    width: 75%;
  }

  .add_surgery_type {
    padding-left: 0;
    width: 40%;
  }

  .add_surgery_content {
    width: 60%;
  }

  /* メリット／デメリット */
  .advantage_article {
    padding: 60px 150px;
    max-width: 1200px;
  }

  .advantage_article:first-of-type {
    margin-bottom: 60px;
  }

  /* アフターケア */
  .totalcare_article {
    width: 100%;
    max-width: 1200px;
  }

  .totalcare_ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .totalcare_li {
    margin: 0 20px 50px 20px;
    padding: 20px 26px;
    width: 28%;
  }

  .totalcare_h4 {
    margin-bottom: 20px;
    font-size: 18px;
    letter-spacing: 0.2rem;
  }

  .totalcare_number {
    font-size: 24px !important;
  }

  .totalcare_icon {
    margin-bottom: 20px;
    width: 60px;
  }

  .equipment_number {
    font-size: 16px;
  }

  /* 各ジャンルのページ内メニューの個別指定*/
  .footer_menu {
    flex-wrap: wrap;
    width: 75%;
    max-width: 900px !important;
  }

  .menu_item {
    border: none;
    width: calc(100% / 3) !important;
  }

  /* 3列のグリッドで左上から並べる（端数は最終行の左から詰まる）。
     枠線は項目数に関係なく格子状（外枠の上・左＋各項目の右・下） */
  .footer_menu.pc_display {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #4a79b3;
    border-left: 1px solid #4a79b3;
  }

  /* style.css の「* { margin: 0 auto }」で項目が縮んで中央に寄るため、余白を0にする */
  .footer_menu .menu_item:nth-child(n) {
    width: auto !important;
    margin: 0 !important;
    border: none !important;
    border-right: 1px solid #4a79b3 !important;
    border-bottom: 1px solid #4a79b3 !important;
  }

  .hover_none:hover {
    background-color: #fff !important;
  }
  /* footer menu */
  .menu_item:last-child {
    display: block !important;
  }

  .wrap.feikick {
    margin-top: 60px;
  }

  .astigmatism_point_list_detail {
    margin-top: 40px;
  }

  .astigmatism_area {
    width: 900px;
  }

  .astigmatism_block_list_detail {
    padding-left: 30px;
  }

  .astigmatism_point {
    margin-top: 60px;
  }

  .astigmatism_graph_image {
    margin-top: 60px;
  }

  .after_lasik_image {
    margin: 10px 0 30px;
  }

  .number_one,
  .number_two,
  .number_three,
  .number_four,
  .number_five,
  .number_six,
  .number_seven,
  .number_eight,
  .number_nine {
    padding-left: 20px;
  }

  .sp_only_display {
    display: none;
  }

  .icl_link_ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 900px;
    margin: 0 auto;
  }

  .icl_link_li {
    width: 47%;
  }

  .icl_link_li:nth-child(odd) {
    margin-right: 3%;
  }

  .icl_link_li:nth-child(even) {
    margin-left: 3%;
  }

  .img-60 {
    margin: auto;
    width: 60%;
  }

  .img-100 {
    margin: auto;
    width: 100%;
  }

  .youtube_movie {
    margin-bottom: 30px;
    width: calc(50% - 15px);
    padding-top: calc(28.125% - 13px);
    /* 高さを指定(16:9) */
  }

  .youtube_movie:nth-child(odd) {
    margin-right: 30px;
  }

  .youtube_movie:nth-child(even) {
    margin: 0;
  }

  /* コンタクレンズ装用制限 */
  .contactlens_img_text {
    font-size: 17px;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
  }

  .contactlens_img_note {
    margin-top: 15px;
    font-size: 16px;
  }

  .limit_contact_case {
    margin-top: 30px;
  }

  .limit_hard_contact_case,
  .limit_soft_contact_case {
    margin-top: 60px;
  }

  .limit_case {
    align-items: center;
    display: flex;
    margin-left: 0;
  }

  .contact_flex {
    align-items: flex-start;
  }

  .case_gold {
    align-items: center;
    border: 1px solid #0f2a4b;
    color: #0f2a4b;
    display: flex;
    font-weight: bold;
    margin-right: 35px;
    padding-right: 20px;
    margin-left: 0;
    white-space: nowrap;
  }

  .case_text {
    margin-bottom: 0;
    margin-left: 0;
  }

  .case_text.mt_35 {
    margin-top: 35px;
  }

  .case_check {
    align-items: center;
    background-color: #0f2a4b;
    display: flex;
    height: 60px;
    margin-right: 10px;
    text-align: center;
    width: 60px;
  }

  .case_check_icon {
    aspect-ratio: 20 / 14;
    height: auto;
    margin: 0 auto;
    width: 20px;
  }

  .schedule {
    margin-top: 45px;
  }

  .limit_soft_contact_case .schedule {
    margin-bottom: 40px;
  }

  .schedule_week {
    border-bottom: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%;
    margin: 0 !important;
  }

  .limit_contact_case .schedule_day_box {
    width: calc(100% / 3);
  }

  .limit_hard_contact_case .schedule_day_box,
  .limit_soft_contact_case .schedule_day_box {
    width: calc(100% / 7);
    margin-left: 0;
  }

  .schedule_day_head {
    background-color: #0f2a4b;
    border-right: 2px solid #fff;
    border-bottom: 1px solid #fff;
    color: #fff;
    height: 45px;
    line-height: 45px;
    text-align: center;
  }

  .schedule_week .schedule_day_box:last-child .schedule_day_head {
    border-right: 2px solid #0f2a4b;
  }

  .schedule_day_body {
    border-top: 1px solid #0f2a4b;
    border-right: 2px solid #0f2a4b;
    border-bottom: 1px solid #0f2a4b;
    border-left: 1px solid #0f2a4b;
    height: 160px;
  }

  .schedule_week .schedule_day_box:last-child .schedule_day_body {
    border-right: 1px solid #0f2a4b;
  }

  .on_day {
    background-color: #ffebec;
    color: #c2252d;
    font-size: 30px;
    font-weight: bold;
    line-height: 160px;
    text-align: center;
  }

  .limit_contact_case .period_days {
    background-color: #fff;
    font-size: 32px;
    font-weight: bold;
    height: 80px;
    line-height: 80px;
    text-align: center;
    width: calc((100% / 3) * 2 - 20px);
    position: absolute;
    top: calc(50% + 20px);
    left: 10px;
    transform: translate(0, -50%);
  }

  .limit_hard_contact_case .period_days,
  .limit_soft_contact_case .period_days {
    background-color: #fff;
    font-size: 32px;
    font-weight: bold;
    height: 80px;
    line-height: 80px;
    text-align: center;
    width: calc(100% - 20px);
    position: absolute;
    top: calc(50% + 20px);
    left: 10px;
    transform: translate(0, -50%);
  }

  .limit_soft_contact_case .last_period_days {
    width: calc(100% / 7 * 2 - 20px);
  }

  .period_days_dashed {
    font-weight: normal;
    position: relative;
    top: -6px;
  }

  .pop_bg_inner {
    max-width: 1180px;
    margin: 10px auto;
    text-align: right;
    padding-right: 10px;
  }

  .schedule_day_body.on_day.br_1 {
    border-right: 1px solid #0f2a4b;
  }

  .mainImageBtnFlexWrap {
    position: absolute;
    width: 100%;
    top: 50%;
    display: flex;
    justify-content: center;
    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;
  }

  .big_point.mv_point {
    max-width: 23% !important;
  }

  /* 画像の実寸が point4 だけ 684px（他は 342px）で、広い画面だと point4 だけ大きくなるため、
     幅を固定して4枚をそろえる（英中サイトと同じ 23%） */
  .pc_slide .mv_point {
    width: 23%;
    max-width: 23%;
  }

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

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

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

  .plan-title {
    background-color: #0f2a4b;
    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;
  }

  .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;
  }

  .ca_expense_area {
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .mainImageBtnFlexWrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    width: 100%;
    top: 40%;
  }

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

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

  .point_flex:first-child {
    margin-bottom: 10px;
  }

  .mv_point {
    width: 49%;
    object-fit: contain;
    height: auto;
  }
  .mv_point.big_point {
    width: 51%;
  }
  /* ICL手術とは */
  .wrap.feikick {
    padding: 0;
    margin-top: 60px;
  }

  .feikickNote {
    margin-bottom: 50px;
    padding: 0 20px;
  }

  .feikicknote_text {
    margin-bottom: 0;
  }

  .feikick_ul {
    margin-bottom: 0;
  }

  .feikick_li {
    margin-top: 30px;
    padding: 30px 20px;
  }

  .vivid_figcaption {
    font-weight: 500;
    text-align: left;
  }

  .wrap900 .icl_article {
    padding: 0 0 30px;
  }

  .icl_article {
    padding: 30px 20px;
  }

  .laser_article {
    padding: 30px 20px;
  }

  /* 術式概要/費用 */
  .iclOverview {
    padding-top: 0;
  }

  .icl_cost_article {
    padding: 30px 20px !important;
  }

  .icl_cost_dl {
    margin-bottom: 24px;
  }

  .icl_cost_dt {
    margin-bottom: 10px;
    padding-bottom: 10px;
    font-size: 18px;
    border-bottom: 1px solid #acb8c6;
  }

  .add_surgery_type {
    border-bottom: none;
  }

  /* メリット／デメリット */
  .advantage_article {
    padding: 20px;
  }

  .advantage_article:first-of-type {
    margin-bottom: 20px;
  }

  .advantage_dl {
    margin-bottom: 20px;
  }

  /* アフターケア */
  .totalcare_article {
    padding: 0 20px;
  }

  .totalcare_li {
    margin-bottom: 30px;
    padding: 15px 10px;
    border-radius: 4px;
  }

  .totalcare_li:last-child {
    margin-bottom: 0;
  }

  .totalcare_h4 {
    margin-bottom: 12px;
    font-size: 16px;
    letter-spacing: 0.2rem;
  }

  .totalcare_number {
    font-size: 20px !important;
  }

  .totalcare_icon {
    margin-bottom: 20px;
    width: 13%;
  }

  /* 各ジャンルのページ内メニューの個別指定*/

  .menu_item:last-child {
    display: block !important;
  }

  .footer_menu {
    display: flex !important;
  }

  .menu_item:nth-child(2) {
    border-right: 1px solid #4a79b3;
  }

  .menu_item:nth-child(3) {
    border-bottom: 1px solid #4a79b3;
  }

  .astigmatism_area {
    padding: 0 20px;
  }

  .astigmatism_graph_image {
    margin-top: 30px;
  }

  .astigmatism_point_list_title {
    font-size: 20px;
  }

  .astigmatism_point_list_detail {
    margin-top: 30px;
  }

  .astigmatism_block_list_detail {
    padding-left: 20px;
  }

  .number_one,
  .number_two,
  .number_three,
  .number_four,
  .number_five,
  .number_six,
  .number_seven,
  .number_eight,
  .number_nine {
    padding-left: 20px;
  }

  .pc_only_display {
    display: none;
  }

  .point_title {
    font-size: 20px;
  }

  .evo_bottom_margin {
    margin-bottom: 30px;
  }

  .pc_display {
    display: block;
  }

  .sp_display {
    display: none;
  }

  .img-60 {
    width: 100%;
  }

  .img-100 {
    width: 100%;
  }

  .sp_margin_none {
    margin: 10px 0 0;
  }

  .youtube_movie {
    margin: 0 20px 30px;
    width: calc(100% - 40px);
    padding-top: calc(56.25% - 8px);
    /* 高さを指定(16:9) */
  }

  .youtube_movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /* ICLとレーシックの徹底比較 */
  .comparison_point_list {
    margin: 0 auto;
  }

  .comparison_content .h2_background_wrap {
    margin: 0 auto;
    padding: 30px 0 0;
  }

  .comparison_box.h3_background_wrap {
    width: 100%;
  }

  .comparison_box {
    flex-direction: column;
  }

  .comparison_point_list_detail_flex {
    height: auto;
    flex-direction: column;
    display: block;
  }

  .comparison_point_list_detail_flex img {
    width: 100%;
  }

  .comparison_point_list_detail_flex span {
    width: 100%;
    margin-left: 0;
  }

  /* タブ切り替え */
  .tab-area {
    display: flex;
    border-bottom: none;
    cursor: pointer;
    width: 100%;
    margin: 0 auto;
  }
  .tab {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    background-color: #fff;
  }
  .tab-area .tab {
    color: #b9a245;
    font-weight: bold;
    font-size: 20px;
  }
  .tab:nth-child(n + 2) {
    border-left: 1px solid #b9a245;
  }
  .tab.active {
    border: 1px solid #b9a245;
    border-bottom: none;
    background-color: #b9a245;
    color: #fff;
  }

  .tab a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 5px;
    color: #b9a245;
  }

  .comparison_tab_a {
    color: #4a79b3 !important;
    padding: 0 !important;
    display: contents !important;
  }

  .tab.active a {
    color: #fff;
  }

  /* コンタクトレンズ装用制限 */
  .contactlens_img_text {
    text-align: center;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 16px;
  }

  .flex_image_content:first-child .contactlens_img {
    margin-bottom: 30px;
  }

  .flex_image_content .contactlens_img {
    margin-bottom: 20px;
  }

  .schedule_limit_area {
    margin-top: 40px;
  }

  .limit_title {
    color: #0f2a4b;
    font-size: 20px;
    font-weight: bold;
  }

  .limit_text {
    margin-top: 15px;
  }

  .limit_contact_case {
    margin-top: 30px;
  }

  .limit_hard_contact_case,
  .limit_soft_contact_case {
    margin-top: 45px;
  }

  .limit_case {
  }

  .case_gold {
    align-items: center;
    border: 1px solid #0f2a4b;
    color: #0f2a4b;
    display: flex;
    font-size: 17px;
    font-weight: bold;
    margin-bottom: 20px;
    width: 100%;
    margin-left: 0;
  }

  .case_check {
    align-items: center;
    background-color: #0f2a4b;
    display: flex;
    height: 40px;
    margin-right: 5px;
    text-align: center;
    width: 40px;
    margin-left: 0;
  }

  .case_check_icon {
    aspect-ratio: 20 / 14;
    height: auto;
    margin: 0 auto;
    width: 17px;
  }

  .schedule_medical_ul {
  }

  .schedule_medical_li {
    border: 2px solid #0f2a4b;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    margin-bottom: 13px;
    padding: 12px 0 12px 15px;
    width: 100%;
  }

  .medical_text {
    color: #0f2a4b;
    font-size: 22px;
    font-weight: bold;
  }

  .schedule {
    margin-top: 25px;
  }

  .limit_soft_contact_case .schedule {
    margin-bottom: 40px;
  }

  .schedule_week {
    border-bottom: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%;
  }

  .limit_contact_case .schedule_day_box,
  .limit_hard_contact_case .schedule_day_box,
  .limit_soft_contact_case .schedule_day_box {
    width: calc(100% / 3);
  }

  .schedule_day_head {
    background-color: #0f2a4b;
    border-right: 2px solid #fff;
    border-bottom: 1px solid #fff;
    color: #fff;
    height: 45px;
    line-height: 45px;
    text-align: center;
  }

  .schedule_week .schedule_day_box:last-child .schedule_day_head {
    border-right: 2px solid #0f2a4b;
  }

  .schedule_day_body {
    border-top: 1px solid #0f2a4b;
    border-right: 2px solid #0f2a4b;
    border-bottom: 1px solid #0f2a4b;
    border-left: 1px solid #0f2a4b;
    height: 75px;
  }

  .schedule_week .schedule_day_box:last-child .schedule_day_body {
    border-right: 1px solid #0f2a4b;
  }

  .on_day {
    background-color: #ffebec;
    color: #c2252d;
    font-size: 14px;
    font-weight: bold;
    line-height: 75px;
    text-align: center;
  }

  .limit_contact_case .period_days,
  .limit_soft_contact_case .period_days {
    background-color: #fff;
    font-size: 16px;
    font-weight: bold;
    height: 40px;
    line-height: 40px;
    text-align: center;
    width: calc((100% / 3) * 2 - 20px);
    position: absolute;
    top: calc(50% + 23px);
    left: 10px;
    transform: translate(0, -50%);
  }

  .limit_hard_contact_case .period_days {
    background-color: #fff;
    font-size: 16px;
    font-weight: bold;
    height: 40px;
    line-height: 40px;
    text-align: center;
    width: calc((100% / 4) * 3 - 20px);
    position: absolute;
    top: calc(50% + 23px);
    left: 10px;
    transform: translate(0, -50%);
  }

  .period_days_dashed {
    font-weight: normal;
    position: relative;
    top: -3px;
  }

  .limit_soft_contact_case .first_period_days {
    width: calc(100% - 20px);
  }

  .case_text .contactlens_img_note {
    display: inline-block;
    margin-top: 10px;
    font-size: 14px;
  }

  /* ------------------------- */
  /* タブの中身 */
  /* ------------------------- */
  .panel {
    display: none;
    margin: 0 auto;
  }
  .comparison_point_list.tab {
    padding: 30px 20px;
  }
  .panel.active {
    display: block;
  }
  .panel-ul {
    margin: 0 auto;
    max-width: 150px;
    list-style-type: disc;
    line-height: 1.8;
  }
  #tab-menu {
    display: flex;
  }

  #tab-menu li {
    list-style-type: none;
    width: 50%;
  }

  #tab-menu .active {
    background: #fff;
    color: #000;
  }

  .expense_title {
    border-bottom: none;
  }
  .expense_title:last-of-type {
    margin-top: 30px;
  }

  .expense_h3 {
    margin-bottom: 10px;
  }

  /* テーブルの各ブロックを縦方向に並べる */
  .plan-table {
    margin-bottom: 15px;
  }

  .plan-table,
  .plan-table thead,
  .plan-table tbody,
  .plan-table tr {
    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: none;
    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;
  }

  .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;
  }

  /* 追加オプションの上にも仕切り線 */
  .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;
  }

  .ca_expense_area {
    margin-bottom: 30px;
  }
}

/* renewal */
.appeal_point_area,
.appeal_point_text,
.icl_surgery_time,
.average_performance {
  text-align: center;
}

.appeal_point_area {
  border: 1px solid #0f2a4b;
  background-color: #fff;
}

.appeal_point_text {
  color: #f58e00;
  font-weight: bold;
  margin: 20px 0 10px;
}

.our_surgery,
.other_surgery {
  align-items: center;
  display: flex;
}

.surgery_time_detail {
  align-items: center;
  display: flex;
  position: relative;
  padding-right: 20px;
}

.our_hospital_time {
  align-items: center;
  display: flex;
  font-weight: bold;
  position: relative;
}

.our_hospital_time:before {
  content: "";
  position: absolute;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 5px;
  background-color: #f58e00;
}

.our_hospital_time .surgery_time_number,
.other_surgery_time_number {
  margin: 0 5px;
}

.hospital_time_note {
  font-weight: normal;
  position: absolute;
}

.hospital_time_note.first_note {
  right: -20px;
  top: 7px;
}

.icl_faq_link,
.icl_faq_link:hover {
  text-decoration: underline !important;
}

.fw_b {
  font-weight: bold;
}

@media (min-width: 768px) {
  .appeal_point_text {
    font-size: 25px;
  }

  .icl_surgery_time {
    display: flex;
    justify-content: space-between;
  }

  .our_surgery,
  .other_surgery {
    margin: 0 10px;
    width: 50%;
  }

  .other_surgery p {
    margin-left: 0;
  }

  .our_hospital_time,
  .other_hospital_time {
    margin-left: 20px;
  }

  .our_hospital_time:before {
    bottom: 8px;
  }

  .surgery_time_number {
    font-size: 30px;
  }

  .hospital_time_note {
    font-size: 14px;
  }

  .data_supplyment {
    max-width: 900px;
    margin: 20px auto 60px;
  }

  .data_supplyment_text {
    font-size: 16px;
    margin-bottom: 5px;
  }

  .new_banner {
    font-size: 16px;
    margin-bottom: 60px !important;
  }

  .guarantee_dl {
    border-top: 1px solid #acb8c6;
  }
}

@media (max-width: 767px) {
  /* swiper_bundle */
  .swiperContainer .swiper-button-next,
  .swiperContainer .swiper-button-prev {
    height: 40px;
    width: 18px;
  }

  .appeal_point_area {
    margin: 0 auto;
    width: 90%;
  }

  .icl_surgery_time {
    width: 70%;
  }

  .our_hospital_time,
  .other_hospital_time {
    margin-left: 4vw;
  }

  .our_hospital_time:before {
    bottom: 0;
  }

  .surgery_time_number {
    font-size: 6vw;
    margin: 0 5px;
  }

  .data_supplyment {
    margin: 20px auto 50px;
    padding: 0 20px;
  }

  .data_supplyment_text {
    font-size: 14px;
    margin-bottom: 10px;
  }

  .hospital_time_note {
    font-size: 12px;
  }

  .average_performance {
    margin-top: 20px;
  }

  .new_banner {
    font-size: 12px;
    margin-bottom: 30px !important;
  }

  .pc_display {
    display: none;
  }
}

@media (min-width: 768px) {
  .google_map {
    margin-bottom: 60px;
  }
}

@media (max-width: 767px) {
  .google_map {
    height: 0;
    margin-bottom: 30px;
    padding-top: 75%;
    position: relative;
    width: 90%;
  }

  .google_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .iclProgram,
  .icl_advantage,
  .icl_aftercare {
    padding-top: 0;
  }

  .swiper-pagination {
    top: 46vw;
  }

  .swiper-button-next,
  .swiper-button-prev {
    top: 18% !important;
  }
}

.totalcare_dt {
  text-align: center;
  margin-bottom: 12px;
}

.astigmatism_point_list_title {
  margin-bottom: 10px;
}

.common_data_supplement {
  cursor: pointer;
  position: absolute;
}

.pc_data_supplement_link_1 {
  width: 2%;
  height: 4%;
  top: 62%;
  left: 16%;
}

.pc_data_supplement_link_2 {
  width: 2%;
  height: 4%;
  top: 74%;
  left: 21.5%;
}

.pc_data_supplement_link_3 {
  width: 2%;
  height: 4%;
  top: 63%;
  left: 65.5%;
}

.pc_data_supplement_link_4 {
  width: 4%;
  height: 4%;
  top: 79.5%;
  left: 42.5%;
}

.sp_data_supplement_link_1 {
  width: 4%;
  height: 2%;
  top: 54%;
  left: 42%;
}

.sp_data_supplement_link_2 {
  width: 3.5%;
  height: 2%;
  top: 47%;
  left: 32.5%;
}

.sp_data_supplement_link_3 {
  width: 7%;
  height: 2%;
  top: 57.5%;
  left: 83.5%;
}

.sp_data_supplement_link_4 {
  width: 4%;
  height: 2%;
  top: 77.5%;
  left: 31.5%;
}

.main_image_relative {
  position: relative;
}

@media (min-width: 768px) {
  .top_banner_area.icl_top_banner {
    margin: 30px auto 50px;
    justify-content: center;
    gap: 35px;
  }

  .icl_top_banner .top_banner {
    margin: 0;
  }

  .icl_explanation {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

@media (max-width: 399px) {
  .case_gold {
    font-size: 15px;
  }
}

@media (max-width: 345px) {
  .limit_soft_contact_case .first_period_days {
    font-size: 13px;
  }
}

/* ICLとIPCLを徹底比較 */
.ipcl_image_text {
  margin-bottom: 10px !important;
}

.compare2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: #fff;
  margin: 0 auto;
}

/* 各カラム（縦に head / body を積む） */
.compare2col .compare_card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
}

/* 見出し（ゴールド帯 + border #fff） */
.compare2col .compare_head {
  margin: 0;
  padding: 14px 10px;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
  background: #b99b3c;
  border: 1px solid #fff;
  box-sizing: border-box;
}

/* 本文（枠 #B9A245 + 左右高さ揃え） */
.compare2col .compare_body {
  list-style: disc;
  margin: 0;
  padding: 18px 22px 20px;
  font-size: 16px;
  border: 1px solid #b9a245; /* ←指定どおり */
  box-sizing: border-box;

  flex: 1; /* ←左右同じ高さにする最重要 */
  min-height: 0;
  text-align: left;
}

.point_list_group_detail.allow-break {
  list-style: none; /* 既存の・を消す */
  position: relative;
}

.point_list_group_detail.allow-break::before {
  content: "→";
  position: absolute;
  left: -25px;
  top: 0; /* 行頭に自然に合わせる */
  color: #111; /* 色は調整可 */
  font-weight: 700;
}

/* 仕切り線：2カラム時の中央線（bodyのborderがあるので追加不要）
   ただし「ヘッダー部の中央線」を出したい場合はこれをON
*/
/*
.compare2col .compare_card + .compare_card .compare_head{
  border-left-color: #fff;
}
*/

/* 既存クラス：画像＋文言（li） */
.compare2col .comparison_point_list_detail_flex {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 10px 0;
}

/* 画像サイズ（必要に応じて調整） */
.compare2col .comparison_point_list_detail_flex img {
  width: 86px;
  height: auto;
  flex: 0 0 auto;
  display: block;
}

/* テキスト */
.compare2col .comparison_point_list_detail_flex span {
  display: block;
  line-height: 1.7;
  font-size: 16px;
  color: #111;
}

/* ulデフォルトの余白が残るテーマ対策（念のため） */
.compare2col ul {
  padding-left: 22px; /* list-style分のインデント */
}

.compare3wrap {
  margin-top: 18px; /* 2カラムの下に置くなら */
}

/* 既存テーマの影響を避ける（ここが“ぐちゃぐちゃ”解消の肝） */
.compare3wrap,
.compare3wrap * {
  box-sizing: border-box;
}

/* 表本体 */
.compare3wrap .compare3 {
  --gold: #b99b3c;
  --line: #b9a245;
  --text: #0b2a57;

  display: grid;
  grid-template-columns: 0.62fr 1fr 1fr; /* 左（比較項目）を少し狭く */
  width: 100%;
  background: #fff;

  /* 外枠 */
  border: 1px solid var(--line);
}

/* セル共通 */
.compare3wrap .compare3 .c3 {
  padding: 0;
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);

  /* 内罫線（ボディ色） */
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);

  /* 既存CSSの flex 指定などを無効化したい時の保険 */
  display: block;
  background: #fff;
}

/* 右端の縦線は外枠に任せる */
.compare3wrap .compare3 .c3:nth-child(3n) {
  border-right: none;
}

/* 最終行（最後の3セル）の下線は外枠に任せる */
.compare3wrap .compare3 .c3:nth-last-child(-n + 3) {
  border-bottom: none;
}

/* ヘッダー行（最初の3セル） */
.compare3wrap .compare3 .c3-head {
  background: var(--gold);
  color: #fff;
  font-weight: 700;

  /* ヘッダー内の罫線は白 */
  border-right-color: #fff;
  border-bottom-color: #fff;
}

/* 行の高さを揃えて表っぽく見せる（必要なら） */
.compare3wrap .compare3 .c3 {
  min-height: 44px;
  width: 100%;
}

.c3-label,
.c3-cell,
.c3-head {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.compare3wrap .compare3 .c3-span2 {
  grid-column: 2 / 4; /* 2列目から4列目手前まで */
}

.br-gold {
  border-right: 1px solid #b9a245 !important;
}

.br-gold-none {
  border-right: none !important;
}

.big_cell {
  padding: 5px !important;
  text-align: left !important;
}

.sub_list {
  padding-left: 0 !important;
  list-style: none !important;
}

.sub_list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
}

.merit_card {
  margin-bottom: 60px;
}

@media (max-width: 767px) {
  .compare3wrap {
    margin-top: 0;
  }
  .compare3wrap .compare3.tab {
    display: grid;
    grid-template-columns: 1fr 2fr;
    border: 1px solid #b9a245;
    box-sizing: border-box;
  }
  .compare3wrap .compare3.tab .c3 {
    padding: 5px;
    box-sizing: border-box;

    /* 内側の罫線（右・下のみ） */
    border-right: 1px solid #b9a245;
    border-bottom: 1px solid #b9a245;
  }

  /* 右列（偶数番目）は右罫線を消す */
  .compare3wrap .compare3.tab .c3:nth-child(2n) {
    border-right: none;
  }

  /* 最後の行（最後の2セル）は下罫線を消す */
  .compare3wrap .compare3.tab .c3:nth-last-child(-n + 2) {
    border-bottom: none;
  }
  .compare3wrap .compare3 .c3:nth-child(3n) {
    border-right: 1px solid #b9a245;
  }
  .merit_card {
    margin-bottom: 30px;
  }
  .compare3wrap .compare3 .c3:nth-last-child(-n + 3) {
    border-bottom: 1px solid #b9a245;
  }

  .text_left {
    text-align: left !important;
  }

  .ipcl_comparison_img {
    margin-bottom: 60px;
  }
}

/* ICLの創口縫合について */
.suture_img_area {
  margin: 20px 0 30px;
  text-align: center;
}

.suture_img_area img {
  max-width: 100%;
  height: auto;
}

.suture_img_caption {
  margin-top: 5px;
  font-weight: bold;
  text-align: center;
}

@media (max-width: 767px) {
  .comparison_content .h2_background_wrap.suture_wrap {
    padding: 30px 0;
  }
}
