@charset "UTF-8";
.section h3:first-child {
  margin-bottom: 24px;
}

.section hr {
  margin-bottom: 60px;
  margin-top: 60px;
  max-width: 1200px;
}

@media (min-width: 768px) {
  .section hr {
    margin-bottom: 100px;
    margin-top: 100px;
  }
}
.section_bg {
  background: #f2f8fd;
}

.section_bg .box_bg {
  background: #fff;
}

.section_bg .box_bg .box_bg {
  background: var(--Gray-95);
}

.section_bg .box_bg .box_bg .box_bg {
  background: #fff;
}

.box_bg {
  background: var(--Gray-95);
}

.box_bg .box_bg {
  background: #fff;
}

.box_bg .box_bg .box_bg {
  background: var(--Gray-95);
}

.box_border {
  background: #fff;
  border: 5px solid #f2f8fd;
}

.box_border .box_bg {
  background: var(--Gray-95);
}

.section_bg .box_border .box_bg {
  background: var(--Gray-95);
}

.box_bg,
.box_border {
  border-radius: 0px;
  margin-top: 0;
  margin-bottom: 40px;
  padding: 20px 15px;
}

.box_bg:last-child,
.box_border:last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .box_bg,
  .box_border {
    margin-bottom: 48px;
    padding: 32px 40px;
  }
}
.section .box_bg:first-child,
.section_bg .box_bg:first-child,
.section .box_border:first-child,
.section_bg .box_border:first-child {
  margin-top: 24px;
}

.box_bg ul:first-child,
.box_bg ol:first-child,
.box_bg dl:first-child,
.box_bg table:first-child,
.box_bg p:first-child,
.box_bg h3:first-child,
.box_bg h4:first-child,
.box_bg h5:first-child,
.box_bg h6:first-child,
.box_border ul:first-child,
.box_border ol:first-child,
.box_border dl:first-child,
.box_border table:first-child,
.box_border p:first-child,
.box_border h3:first-child,
.box_border h4:first-child,
.box_border h5:first-child,
.box_border h6:first-child {
  margin-top: 0;
}

.row.sp_col_2 .col_2 .box_bg,
.row.sp_col_2 .col_2 .box_border,
.row.sp_col_2 .col_3 .box_bg,
.row.sp_col_2 .col_3 .box_border,
.row.sp_col_2 .col_4 .box_bg,
.row.sp_col_2 .col_4 .box_border,
.row.sp_col_2 .col_5 .box_bg,
.row.sp_col_2 .col_5 .box_border,
.row.sp_col_2 .col_6 .box_bg,
.row.sp_col_2 .col_6 .box_border {
  height: 100%;
}

.row.sp_col_2 .col_2 .box_bg .box_bg,
.row.sp_col_2 .col_2 .box_bg .box_border,
.row.sp_col_2 .col_2 .box_border .box_bg,
.row.sp_col_2 .col_2 .box_border .box_border,
.row.sp_col_2 .col_3 .box_bg .box_bg,
.row.sp_col_2 .col_3 .box_bg .box_border,
.row.sp_col_2 .col_3 .box_border .box_bg,
.row.sp_col_2 .col_3 .box_border .box_border,
.row.sp_col_2 .col_4 .box_bg .box_bg,
.row.sp_col_2 .col_4 .box_bg .box_border,
.row.sp_col_2 .col_4 .box_border .box_bg,
.row.sp_col_2 .col_4 .box_border .box_border,
.row.sp_col_2 .col_5 .box_bg .box_bg,
.row.sp_col_2 .col_5 .box_bg .box_border,
.row.sp_col_2 .col_5 .box_border .box_bg,
.row.sp_col_2 .col_5 .box_border .box_border,
.row.sp_col_2 .col_6 .box_bg .box_bg,
.row.sp_col_2 .col_6 .box_bg .box_border,
.row.sp_col_2 .col_6 .box_border .box_bg,
.row.sp_col_2 .col_6 .box_border .box_border {
  height: auto;
}

@media (min-width: 768px) {
  .row .col_2 .box_bg,
  .row .col_2 .box_border,
  .row .col_3 .box_bg,
  .row .col_3 .box_border,
  .row .col_4 .box_bg,
  .row .col_4 .box_border,
  .row .col_5 .box_bg,
  .row .col_5 .box_border,
  .row .col_6 .box_bg,
  .row .col_6 .box_border {
    height: 100%;
  }
  .row .col_2 .box_bg .box_bg,
  .row .col_2 .box_bg .box_border,
  .row .col_2 .box_border .box_bg,
  .row .col_2 .box_border .box_border,
  .row .col_3 .box_bg .box_bg,
  .row .col_3 .box_bg .box_border,
  .row .col_3 .box_border .box_bg,
  .row .col_3 .box_border .box_border,
  .row .col_4 .box_bg .box_bg,
  .row .col_4 .box_bg .box_border,
  .row .col_4 .box_border .box_bg,
  .row .col_4 .box_border .box_border,
  .row .col_5 .box_bg .box_bg,
  .row .col_5 .box_bg .box_border,
  .row .col_5 .box_border .box_bg,
  .row .col_5 .box_border .box_border,
  .row .col_6 .box_bg .box_bg,
  .row .col_6 .box_bg .box_border,
  .row .col_6 .box_border .box_bg,
  .row .col_6 .box_border .box_border {
    height: auto;
  }
}
.googlemap,
.youtube {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
}

.googlemap iframe,
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.googlemap {
  padding-top: 300px;
}

@media (min-width: 768px) {
  .googlemap {
    padding-top: 400px;
  }
}
.section .box_bg:first-child,
.section_bg .box_bg:first-child,
.section .box_border:first-child,
.section_bg .box_border:first-child {
  margin-top: 0;
}

div.clearfix {
  margin-bottom: 49px;
}

@media (min-width: 768px) {
  div.clearfix {
    margin-bottom: 50px;
  }
}
.link_anchor {
  padding: 9px 0 0;
  position: relative;
  margin-bottom: 0 !important;
}

.link_anchor li a {
  padding: 13px 8px 3px;
  border-bottom: 1px solid var(--Gray-70, #ABAEBA);
  display: block;
  position: relative;
  height: 100%;
  color: var(--Gray-20);
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 1.28px;
  text-decoration: none;
}

.link_anchor li a:after {
  content: "";
  width: 8px;
  height: 4px;
  background: var(--Gray-40);
  position: absolute;
  top: 10px;
  bottom: 0;
  right: 8px;
  margin: auto;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}

@media (min-width: 768px) {
  .link_anchor {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 13px 24px;
  }
  .link_anchor.link_col_3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .link_anchor.link_col_4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 767px) {
  .link_anchor {
    padding: 3px 0 40px;
  }
  .link_anchor li:not(:last-child) {
    margin-bottom: 3px;
  }
  .link_anchor li a {
    font-size: 14px;
    letter-spacing: 1.12px;
  }
  .link_anchor li a:after {
    top: 8px;
    right: 7px;
  }
}
.under_link_list li a {
  padding: 15px 14px 15px 36px;
  border-radius: 4px;
  background: var(--Gray-95);
  display: block;
  text-decoration: none;
  position: relative;
  color: #000;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.72px !important;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  border: 1px solid var(--Gray-95);
}

.under_link_list li a:before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--Blue-40);
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;
  margin: auto;
}

.under_link_list li a:hover {
  background: #fff;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  opacity: 1;
  border: 1px solid var(--Blue-80);
}

@media (max-width: 767px) {
  .under_link_list li:not(:last-child) {
    margin-bottom: 16px;
  }
  .under_link_list li a {
    font-size: 14px;
    letter-spacing: 0.5px !important;
    padding: 9px 5px 9px 33px;
  }
  .under_link_list li a:before {
    left: 15px;
  }
}
.ul_circle li,
.ul_dot li,
.ul_check li,
.ul_triangle li,
.ol_circle li {
  position: relative;
  padding-left: 26px;
  font-size: 18px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 1.44px;
}

.ul_circle li:not(:last-child),
.ul_dot li:not(:last-child),
.ul_check li:not(:last-child),
.ul_triangle li:not(:last-child),
.ol_circle li:not(:last-child) {
  margin-bottom: 16px;
}

.ul_circle li:before,
.ul_dot li:before,
.ul_check li:before,
.ul_triangle li:before,
.ol_circle li:before {
  content: "";
  position: absolute;
}

@media (max-width: 767px) {
  .ul_circle li,
  .ul_dot li,
  .ul_check li,
  .ul_triangle li,
  .ol_circle li {
    font-size: 14px;
    letter-spacing: 1.12px;
  }
}
.ul_circle li {
  position: relative;
}

.ul_circle li::before {
  border-radius: 8px;
  background: var(--Pink-60);
  height: 8px;
  left: 0.3em;
  top: 0.5em;
  width: 8px;
}

.ul_dot li::before {
  border-radius: 50%;
  background: #0f406c;
  height: 5.3333333333px;
  left: 0.5em;
  top: 11.3333333333px;
  width: 5.3333333333px;
}

.ul_check li::before {
  width: 18px;
  height: 19px;
  background: url(../img/common/ic_check.svg) no-repeat center/cover;
  left: 0;
  top: 4px;
}

.ul_triangle li::before {
  left: 6px;
  width: 12px;
  height: 18px;
  background: var(--Pink-60);
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  top: 0.25em;
}

@media (max-width: 767px) {
  .ul_triangle li {
    padding-left: 20px;
  }
  .ul_triangle li:before {
    width: 9px;
    height: 15px;
  }
}
.ol_circle {
  counter-reset: ol_circle;
}

.ol_circle li {
  padding-left: 28px;
  position: relative;
  font-size: 18px;
  line-height: 150%;
  letter-spacing: normal;
  padding-left: 46px;
}

.ol_circle li::before,
.ol_circle li:after {
  content: "";
  position: absolute;
}

.ol_circle li::before {
  content: counter(ol_circle, decimal-leading-zero) ". ";
  counter-increment: ol_circle;
  position: absolute;
  top: 0;
  left: 13px;
  color: #000;
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 150%;
  color: var(--Pink-60);
}

@media (max-width: 767px) {
  .ol_circle li {
    font-size: 14px;
    letter-spacing: 0.56px;
    padding-left: 32px;
  }
  .ol_circle li:before {
    font-size: 18px;
    left: 0;
  }
}
@media (min-width: 768px) {
  .ol_circle li {
    padding: 0 25px 0 52px;
  }
}
.page_link_list {
  padding: 32px;
  border-radius: 8px;
  background: #000;
  width: calc(100% - 32px);
  margin: auto;
}

.page_link_list:not(:last-child) {
  margin-bottom: 50px;
}

.page_link_list li a {
  text-decoration: none;
  padding: 8px 8px 4px;
  border-bottom: 1px dashed #000;
  display: block;
  position: relative;
}

.page_link_list li a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 8px;
  margin: auto;
  width: 8px;
  height: 4px;
  background-color: #80765C;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}

@media (min-width: 768px) {
  .page_link_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .page_link_list:not(:last-child) {
    margin-bottom: 80px;
  }
}
@media (min-width: 768px) {
  ul.list_columns_2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 16px;
  }
  ul.list_columns_2 li {
    margin: 0 !important;
  }
  ul.list_columns_3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px 16px;
  }
  ul.list_columns_3 li {
    margin: 0 !important;
  }
  ul.list_columns_4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }
  ul.list_columns_4 li {
    margin: 0 !important;
  }
}
table {
  width: 100%;
  border-collapse: collapse;
}

table:not(:last-child) {
  margin-bottom: 120px;
}

@media (max-width: 767px) {
  table:not(:last-child) {
    margin-bottom: 40px;
  }
}
table th,
table td {
  line-height: 1.6;
}

table.table_address {
  background: none;
}

table.table_address th,
table.table_address td {
  text-align: left;
  padding: 25px 32px;
  border-bottom: 1px solid var(--Gray-60);
  font-size: 18px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.72px;
}

table.table_address th {
  color: var(--Gray-20);
  border-bottom: 2px solid var(--Gray-30);
  font-weight: 600;
  text-align: left;
  width: 32%;
}

@media (max-width: 767px) {
  table.table_address th,
  table.table_address td {
    padding: 15px 10px;
  }
}
table.table_timetable {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 13px;
}

table.table_timetable thead th {
  color: #000;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.72px;
  padding: 0 0 8px 0;
  border-bottom: 1px solid #000;
}

table.table_timetable thead th:first-child {
  width: 137px;
  color: #000;
}

@media (max-width: 767px) {
  table.table_timetable thead th:first-child {
    width: 120px;
  }
}
table.table_timetable thead th .tiem_ic {
  padding-left: 27.87px;
  position: relative;
}

table.table_timetable thead th .tiem_ic:before {
  content: "";
  width: 18px;
  height: 18px;
  background: url(../img/common/ic_time.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

@media (max-width: 767px) {
  table.table_timetable thead th .tiem_ic {
    padding-left: 31.87px;
  }
  table.table_timetable thead th .tiem_ic:before {
    left: 6px;
  }
}
table.table_timetable tbody th,
table.table_timetable tbody td {
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.72px;
  border-bottom: 1px solid #000;
}

table.table_timetable tbody th:nth-child(odd),
table.table_timetable tbody td:nth-child(odd) {
  background: #fff;
}

table.table_timetable tbody th:nth-child(even),
table.table_timetable tbody td:nth-child(even) {
  background: #000;
}

table.table_timetable tbody th {
  color: #000;
  padding: 16px 0;
}

table.table_timetable tbody td {
  color: #000;
  padding: 16px 0;
  text-align: center;
}

table.table th,
table.table td {
  font-weight: normal;
  padding: 0.75em 0.35em;
  text-align: center;
}

table.table thead th,
table.table thead td {
  line-height: 1.4;
  letter-spacing: 0.72px;
  padding: 13px 10px;
  background: var(--Gray-30);
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 150%;
}

table.table tbody tr:first-child th,
table.table tbody tr:first-child td {
  border-top: 1px solid var(--Gray-60);
}

table.table tbody th {
  background: var(--Gray-95);
  padding: 27px clamp(10px, 2.54vw, 33px);
  text-align: left;
  font-weight: 500;
  letter-spacing: 1.44px;
}

@media (max-width: 767px) {
  table.table tbody th {
    text-align: left;
  }
}
table.table tbody td {
  background: #fff;
  text-align: left;
  padding-left: clamp(10px, 1.9vw, 24px);
  font-size: 18px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.72px;
}

table.table tbody th,
table.table tbody td {
  border-bottom: 1px solid var(--Gray-60);
}

table.table tbody tr td:not(:last-child) {
  border-right: 1px solid var(--Gray-60);
}

@media (max-width: 767px) {
  table.table tbody th,
  table.table tbody td {
    font-size: 14px;
    letter-spacing: 0.56px;
    padding: 16px 24px;
  }
  table.table.typeA tbody th,
  table.table.typeA tbody td,
  table.table.typeA thead th,
  table.table.typeA thead td {
    font-size: 14px;
    letter-spacing: 0.56px;
    padding: 16px 24px;
  }
}
table.typeA tbody tr:nth-child(odd) th,
table.typeA tbody tr:nth-child(odd) td {
  border-top: 1px solid var(--Gray-60);
  border-bottom: 1px solid var(--Gray-60);
  background: var(--Gray-95);
}

table.typeA tbody tr th,
table.typeA tbody tr td {
  border-right: 0 !important;
  font-size: 18px;
  line-height: 150%;
  letter-spacing: 0.72px;
}

table.typeA tbody tr:nth-child(even) th,
table.typeA tbody tr:nth-child(even) td {
  background: #fff;
}

table.typeA.access_time_table tr th,
table.typeA.access_time_table tr td {
  border-bottom: 1px solid var(--Gray-60) !important;
}

table.typeA.access_time_table tr th {
  border-right: 1px solid var(--Gray-60) !important;
}

table.typeA.access_time_table tr td:not(:last-child) {
  border-right: 1px solid var(--Gray-60) !important;
}

table.typeA.access_time_table tbody td {
  text-align: center;
  padding: 0.75em;
}

table.th_td_left tbody th,
table.th_td_left tbody td {
  text-align: left;
}

table.th_left tbody th {
  text-align: left;
}

table.td_left tbody td {
  text-align: left;
}

table.td_right tbody td {
  text-align: right;
}

table.td_last_right tbody td:last-child {
  text-align: right;
}

table.table_default:not(.table_fixed) tbody tr th:first-child {
  width: 34%;
}

@media (min-width: 768px) {
  table.table_default:not(.table_fixed) tbody tr th:first-child {
    width: 31.2%;
  }
}
table.table_fee tbody th {
  text-align: left;
}

table.table_fee tbody td:last-child {
  text-align: right;
}

table.table_fixed {
  table-layout: fixed;
}

@media (max-width: 767px) {
  table.table_sp_stack,
  table.table_sp_stack_noborder {
    border-bottom: 1px solid #ddd;
  }
  table.table_sp_stack thead,
  table.table_sp_stack tbody,
  table.table_sp_stack tr,
  table.table_sp_stack th,
  table.table_sp_stack td,
  table.table_sp_stack_noborder thead,
  table.table_sp_stack_noborder tbody,
  table.table_sp_stack_noborder tr,
  table.table_sp_stack_noborder th,
  table.table_sp_stack_noborder td {
    display: block;
    width: auto;
  }
  table.table_sp_stack th,
  table.table_sp_stack_noborder th {
    border-bottom: none;
  }
  table.table_sp_stack td,
  table.table_sp_stack_noborder td {
    border-bottom: none;
  }
  table.table_sp_stack_noborder th {
    border-top-color: #ddd;
    padding-bottom: 0.25em;
  }
  table.table_sp_stack_noborder td {
    border-top: none;
    padding-top: 0.25em;
  }
}
.txt_list .consul {
  padding-right: 7px;
}

.txt_list li {
  color: #242424;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.72px;
}

.txt_list li .color {
  color: #000;
}

@media (min-width: 768px) {
  .txt_list {
    padding-left: 16px;
  }
}
@media (max-width: 767px) {
  .txt_list li:not(:last-child) {
    margin-bottom: 4px;
  }
}
.consul {
  color: #0f406c !important;
}

.consul2 {
  color: #5298d6 !important;
}

.js-scrollable,
.js-scrollable_pc {
  margin-bottom: 1em;
}

.js-scrollable table,
.js-scrollable_pc table {
  margin-bottom: 10px;
}

@media (max-width: 767px) {
  .js-scrollable table {
    width: auto;
    min-width: 870px;
  }
  .js-scrollable table.table_fixed {
    width: 100%;
  }
}
.js-scrollable_pc table {
  width: auto;
  min-width: 768px;
}

.js-scrollable_pc table.table_fixed {
  width: 100%;
}

@media (min-width: 768px) {
  .js-scrollable_pc table {
    min-width: 1300px;
  }
}
.js-scrollable.scroll-hint {
  overflow-y: hidden !important;
}

.special_table {
  max-width: 512px;
  width: 100%;
  padding: 16px 16px 16px 24px;
  border-radius: 4px;
  background: #000;
}

.special_table:not(:last-child) {
  margin-bottom: 20px;
}

.special_table .wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.special_table .ttl {
  text-align: center;
  font-size: 20px;
}

.special_table .ttl .ic {
  padding-left: 36px;
  color: #000;
  text-align: center;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.8px;
  position: relative;
  display: block;
}

.special_table .ttl .ic:before {
  content: "";
  width: 36px;
  height: 36px;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

.special_table .ttl .ic.fee:before {
  background: url(../img/common/ic_fee.svg) no-repeat center/cover;
}

.special_table .ttl .ic.time:before {
  background: url(../img/common/ic_time2.svg) no-repeat center/cover;
}

.special_table .content {
  background: #fff;
  border-radius: 2px;
  padding: 8px 0;
  text-align: center;
  color: #000;
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
}

@media (max-width: 767px) {
  .special_table {
    padding: 12px;
  }
  .special_table:not(:last-child) {
    margin-bottom: 8px;
  }
  .special_table .ttl,
  .special_table .content {
    font-size: 18px;
  }
  .special_table .wrapper {
    grid-template-columns: 40% 57%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .special_table_container .col:not(:last-child) {
    margin-bottom: 8px;
  }
}
.timetable:not(:last-child) {
  margin-bottom: 8px;
}

.timetable .thead,
.timetable .tr {
  display: grid;
  grid-template-columns: 130px repeat(7, 1fr);
}

.timetable .thead .th,
.timetable .thead .td,
.timetable .tr .th,
.timetable .tr .td {
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
}

.timetable .thead {
  margin-bottom: 17px;
}

.timetable .thead .th,
.timetable .thead .td {
  color: #fff;
}

.timetable .tr {
  background: #fff;
  border-radius: 4px;
  margin-bottom: 8px;
}

.timetable .tr .th {
  padding: 5px;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: normal;
  padding: 4px 0 0;
}

.timetable .tr .td {
  color: var(--Blue-30);
}

.timetable .tr .th,
.timetable .tr .td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 48px;
}

.timetable.type_pink .tr .td {
  color: var(--Pink-50);
}

@media (max-width: 767px) {
  .timetable .thead,
  .timetable .tbody .tr {
    grid-template-columns: 31.5% repeat(7, 1fr);
  }
  .timetable .thead .ttl,
  .timetable .tbody .tr .ttl {
    -webkit-transform: translate(-2px, 0px);
    transform: translate(-2px, 0px);
  }
  .timetable .thead .th,
  .timetable .thead .td {
    font-size: 14px;
  }
  .timetable .tbody .tr .th {
    padding: 1px 0 0;
  }
  .timetable .tbody .tr .th,
  .timetable .tbody .tr .td {
    font-size: 16px;
  }
}
.closed_txt {
  color: #fff;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.64px;
}

.scroll-hint-icon {
  width: 120px;
  height: 120px;
  background: #fff;
  -webkit-box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.1);
}

.scroll-hint-icon:after {
  display: none;
}

.scroll-hint-icon:before {
  width: 80px;
  height: 80px;
  background: url(../img/common/ic_scrollhint.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.scroll-hint-icon .scroll-hint-text {
  display: none;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 1;
}

.timetable_bg {
  background: var(--Gray-20);
  padding: clamp(20px, 4vw, 50px);
}

.timetable_bg h3 {
  padding: 6px 40px 8px 40px;
  border: 0;
  border-radius: 4px;
  background: var(--Gray-30);
  color: #fff;
  text-align: center;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 1.08px;
  margin-bottom: 12px;
}

.timetable_bg h3:before,
.timetable_bg h3:after {
  display: none;
}

.box_faq:not(:last-child) {
  margin-bottom: 24px;
}

.box_faq .question .faq_title {
  position: relative;
  color: #000;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 20px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.8px;
  padding: 12px 20px 12px 63px;
  border-radius: 2px;
  background: var(--Gray-95);
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.box_faq .question .faq_title:before {
  content: "Q";
  color: var(--Cerulean-50);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
  position: absolute;
  top: 0.4em;
  left: 20px;
}

.box_faq .question .faq_title:after {
  content: "";
  width: 18px;
  height: 10px;
  background: url(../img/common/ic_qa.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 23px;
  margin: auto;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.box_faq .question .faq_title:hover {
  background: var(--Gray-30);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  color: #fff;
}

.box_faq .question .faq_title:hover:after {
  background: url(../img/common/ic_qa_white.svg) no-repeat center/cover;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.box_faq.open .faq_title:after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.box_faq .answer {
  padding: 48px 45px 40px;
  line-height: 2;
  display: none;
}

.box_faq .answer p:not(:last-child) {
  margin-bottom: 48px;
}

.box_faq .answer * + .btnstyle {
  margin-top: 63px;
}

@media (max-width: 767px) {
  .box_faq:not(:last-child) {
    margin-bottom: 20px;
  }
  .box_faq .question .faq_title {
    padding: 16px 50px 16px 64px;
    font-size: 16px;
    letter-spacing: 0.64px;
  }
  .box_faq .question .faq_title:before {
    font-size: 24px;
    top: 50%;
    left: 20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .box_faq .question .faq_title:after {
    content: "";
    width: 18px;
    height: 10px;
    right: 23px;
  }
  .box_faq .answer {
    padding: 20px 0 40px;
    line-height: 2;
  }
  .box_faq .answer p:not(:last-child) {
    margin-bottom: 18px;
  }
  .box_faq .answer * + .btnstyle {
    margin-top: 26px;
  }
}
.flow-block {
  padding: 48px 64px 56px 64px;
  border-radius: 4px;
  background: var(--Gray-95, #F1F2F4);
}

.flow-block:not(:last-child) {
  margin-bottom: 44px;
  position: relative;
}

.flow-block:not(:last-child):after {
  content: "";
  width: 40px;
  height: 20px;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: var(--Gray-95);
}

.flow-block .title {
  padding: 0 0 10px 8px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 1.44px;
  border-bottom: 1px solid var(--Gray-50);
  margin-bottom: 24px;
}

.flow-block .title .num {
  color: var(--Cerulean-50);
  font-family: "Roboto Condensed", sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 150%;
  margin-right: 14px;
}

.flow-block h4 {
  border: 0;
  padding-bottom: 0;
  margin-bottom: 20px;
}

.flow-block .inner {
  letter-spacing: 1.72px;
  line-height: 180%;
}

.flow-block .box_bg {
  background: #fff;
}

@media (max-width: 767px) {
  .flow-block {
    padding: 32px 31px 40px;
  }
  .flow-block:not(:last-child) {
    margin-bottom: 40px;
  }
  .flow-block:not(:last-child):after {
    width: 40px;
    height: 20px;
  }
  .flow-block .title {
    font-size: 18px;
    letter-spacing: 1.08px;
    padding-left: 0;
  }
  .flow-block .title .num {
    font-size: 32px;
    padding-right: 5px;
    display: block;
  }
  .flow-block .row .col:not(:last-child) {
    margin-bottom: 24px;
  }
  .flow-block .box_bg {
    padding: 24px 24px 32px 24px;
  }
  .flow-block .box_bg h4 {
    border-bottom: 1px solid var(--Gray-70);
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .flow-block .row.col2 {
    grid-template-columns: 426px 446px;
  }
  .flow-block .row.col2.reverse {
    grid-template-columns: 446px 426px;
  }
}
footer {
  background: var(--Gray-20);
}

footer h3 {
  padding: 6px 40px 8px 40px;
  border: 0;
  border-radius: 4px;
  background: var(--Gray-30);
  color: #fff;
  text-align: center;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 1.08px;
  margin-bottom: 12px;
}

footer h3:before,
footer h3:after {
  display: none;
}

footer h4 {
  color: #fff;
  text-align: center;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 16px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.64px;
  padding: 0 0 8px 18px;
  background: transparent;
  text-align: left;
  margin: 0 auto 10px;
  border-bottom: solid 1px #fff;
  position: relative;
}

footer h4:before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 2px;
  position: absolute;
  top: 7px;
  left: 0;
  background: #fff;
}

footer h3 + h4 {
  margin-top: 17px;
}

footer .closed_txt + h3 {
  margin-top: 41px;
}

footer .tag_list {
  display: grid;
  gap: 8px;
}

footer .tag_list:not(:last-child) {
  margin-bottom: 25px;
}

footer .tag_list li {
  color: var(--Text-Black);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.64px;
  border-radius: 4px;
  background: var(--Gray-95);
  text-align: center;
  padding: 4px 8px;
}

footer .tag_list + .txt {
  margin-top: -7px;
  color: #fff;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.64px;
}

@media (min-width: 768px) {
  footer .tag_list.col3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  footer .tag_list.sp_col2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
footer .ftr_info .list .tel {
  color: #fff;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 40px;
  font-weight: 500;
}

footer .ftr_info .list .tel .ic {
  padding-left: 34px;
  position: relative;
}

footer .ftr_info .list .tel .ic:before {
  content: "";
  width: 28px;
  height: 29px;
  background: url(../img/common/ic_tel_white.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  margin: auto;
}

footer .ftr_info .list .time {
  color: #fff;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 14px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.56px;
  padding: 6px 10px 8px 12px;
  border-radius: 4px;
  background: var(--Gray-30);
}

footer .ftr_info .list .access {
  color: #FFF;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.64px;
  margin-bottom: 14px;
}

footer .ftr_info .list .map a {
  padding-left: 28px;
  position: relative;
  color: #FFF;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.64px;
  text-decoration-line: underline;
}

footer .ftr_info .list .map a:before {
  content: "";
  width: 18px;
  height: 22px;
  background: url(../img/common/ic_access.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 3px;
  bottom: 0;
  margin: auto;
}

footer .ftr_info .list .map a:hover {
  text-decoration: none;
}

footer .last_container .copyright {
  color: #fff;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 12px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.48px;
}

footer .last_container .ftr_bnr li {
  text-align: center;
}

footer .last_container .ftr_bnr li a {
  text-decoration: none;
  display: block;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

footer .last_container .ftr_bnr li a img {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

footer .last_container .ftr_bnr li a:hover {
  opacity: 0.8;
}

footer .last_container .ftr_bnr li a:hover img {
  opacity: 0.8;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

footer .last_container .ftr_bnr .txt {
  display: block;
  color: #E9E9ED;
  font-size: 12px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.096px;
  margin-top: 8px;
}

footer .last_container .ftr_bnr .txt.yokumite {
  letter-spacing: 0.96px;
}

@media (max-width: 767px) {
  footer {
    padding: 56px 20px 120px;
    position: relative;
  }
  footer h3 {
    padding: 6px 40px 8px 40px;
    font-size: 16px;
    letter-spacing: 0.96px;
    margin-bottom: 15px;
  }
  footer h4 {
    font-size: 14px;
    letter-spacing: 0.56px;
    padding: 0 0 8px 16px;
  }
  footer h4:before {
    top: 6px;
  }
  footer .image_column {
    display: none;
  }
  footer .tag_list li {
    font-size: 14px;
    letter-spacing: 0.56px;
  }
  footer .tag_list.sp_col2 {
    grid-template-columns: repeat(2, 1fr);
  }
  footer .tag_list + .txt {
    font-size: 14px;
    line-height: 180%;
    letter-spacing: 0.56px;
  }
  footer .closed_txt {
    font-size: 14px;
  }
  footer .primary_container {
    padding-bottom: 56px;
    position: relative;
  }
  footer .primary_container:after {
    content: "";
    width: 100vw;
    height: 1px;
    background: var(--Gray-40);
    position: absolute;
    bottom: 0;
    left: -20px;
    right: -20px;
    margin: auto;
  }
  footer .primary_container .col:not(:last-child) {
    margin-bottom: 40px;
    padding-bottom: 41px;
    position: relative;
  }
  footer .primary_container .col:not(:last-child):after {
    content: "";
    width: 100vw;
    height: 1px;
    background: var(--Gray-40);
    position: absolute;
    bottom: 0;
    left: -20px;
    right: -20px;
    margin: auto;
  }
  footer .ftr_logo {
    padding-top: 54px;
    margin-bottom: 38px;
  }
  footer .ftr_info .list {
    text-align: center;
  }
  footer .ftr_info .list .tel {
    display: block;
    margin-bottom: 9px;
    line-height: normal;
  }
  footer .ftr_info .list .time {
    width: 259px;
    display: block;
    margin: auto;
  }
  footer .ftr_info .list .first {
    margin-bottom: 47px;
  }
  footer .ftr_info .list .access {
    font-size: 14px;
    letter-spacing: 0.56px;
    text-align: left;
    padding-left: 3px;
    margin-bottom: 11px;
  }
  footer .ftr_info .list .map {
    text-align: left;
  }
  footer .ftr_info .list .map a {
    font-size: 14px;
    letter-spacing: 0.56px;
    padding-left: 31px;
  }
  footer .ftr_info .list .map a:before {
    left: 6px;
  }
  footer .secondary_container {
    margin-bottom: 78px;
  }
  footer .ftr_bnr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 101px;
  }
  footer .copyright {
    position: absolute;
    bottom: 100px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    font-size: 12px;
    letter-spacing: 0.48px;
    width: 100%;
    text-align: center;
  }
}
@media (min-width: 768px) {
  footer .type_right h3 {
    padding: 8px 0;
  }
  footer .footer_inner {
    display: grid;
    grid-template-columns: minmax(250px, 1fr) minmax(0, 1280px);
  }
  footer .footer_inner .image_column {
    background: url(../img/common/footer_img.jpg) no-repeat center right/cover;
    position: relative;
  }
  footer .footer_inner .image_column h2 {
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-size: 80px;
    font-weight: 200;
    line-height: 100%;
    letter-spacing: 3.2px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: 40px;
    right: 24px;
    padding: 0;
    border: 0;
    padding: 0;
    background: transparent;
  }
  footer .footer_inner .image_column h2:before,
  footer .footer_inner .image_column h2:after {
    display: none;
  }
  footer .footer_inner .primary_container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 0 clamp(50px, 50px + 61 * (100vw - 1254px) / 666, 111px);
    border-bottom: solid 1px var(--Gray-40);
  }
  footer .footer_inner .primary_container .col {
    padding: 81px 0 56px;
  }
  footer .footer_inner .primary_container .col:nth-child(odd) {
    position: relative;
    padding-right: 63px;
  }
  footer .footer_inner .primary_container .col:nth-child(odd):after {
    content: "";
    width: 1px;
    height: 100%;
    background: var(--Gray-40);
    position: absolute;
    top: 0;
    right: 7px;
  }
  footer .footer_inner .primary_container .col:nth-child(even) {
    padding-left: 48px;
  }
  footer .footer_inner .secondary_container {
    padding: 67px clamp(50px, 50px + 61 * (100vw - 1254px) / 666, 111px) 56px;
    display: grid;
    grid-template-columns: 1fr 475px;
    gap: 56px;
    margin-bottom: 62px;
  }
  footer .footer_inner .tag_list li {
    font-size: clamp(13px, 13px + 3 * (100vw - 1254px) / 666, 16px);
  }
  footer .footer_inner .last_container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 111px 56px;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  footer .footer_inner .last_container .ftr_bnr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 16px;
  }
  footer .ftr_info .list .first {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
    margin-bottom: 4px;
  }
  footer .ftr_logo {
    padding: 11px 0 0 54px;
  }
}
.list_list dd a {
  color: #1C1E2B;
  text-decoration: none;
}

.list_list dd a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .list_list dt {
    padding: 0.5em 0 0;
  }
  .list_list dd {
    padding: 0 0 0.5em;
  }
}
@media (min-width: 768px) {
  .list_list dt {
    float: left;
  }
  .list_list dd {
    padding-left: 120px;
  }
}
.loopslider_wrap {
  overflow: hidden;
}

.loopslider {
  -webkit-animation: loopslider 60s linear infinite;
  animation: loopslider 60s linear infinite;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 8800px;
  height: 100%;
}

.loopslider .loopslider_item {
  padding: 0 20px;
}

.loopslider .loopslider_item img {
  border-radius: 24px;
}

@-webkit-keyframes loopslider {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-4400px);
    transform: translateX(-4400px);
  }
}
@keyframes loopslider {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-4400px);
    transform: translateX(-4400px);
  }
}
.img_slider {
  max-width: 1040px;
  margin: auto;
}

.img_slider img {
  border-radius: 8px !important;
}

.img_slider .img_slide_thumb {
  margin-top: 72px;
}

.img_slider .img_slide_thumb .item {
  border-radius: 4px;
}

.img_slider .img_slide_thumb .splide__track--nav > .splide__list > .splide__slide {
  border: 0;
}

.img_slider .img_slide_thumb img {
  padding: 0 2px;
  border-radius: 4px !important;
}

.img_slider .img_slide_main .img_slider_title {
  color: var(--Text-Black);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.64px;
  padding-top: 6px;
  display: inline-block;
}

.img_slider .splide__arrow--prev,
.img_slider .splide__arrow--next {
  top: calc(100% + 8px);
  opacity: 1;
}

.img_slider .splide__arrow--prev img,
.img_slider .splide__arrow--next img {
  border-radius: 4px !important;
}

.img_slider .splide__arrow--prev {
  left: auto;
  right: 72px;
}

.img_slider .splide__arrow--next {
  right: 0;
}

.img_slider .splide__arrow--next img {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

@media (max-width: 767px) {
  .img_slider .splide__arrow {
    top: calc(100% + 6px);
  }
  .img_slider .splide__arrow img {
    width: 56px;
  }
  .img_slider .splide__arrow--prev {
    right: 65px;
  }
  .img_slider .img_slide_thumb {
    margin-top: 58px;
  }
  .img_slider .img_slide_main .img_slider_title {
    font-size: 14px;
    letter-spacing: 0.56px;
  }
}
body:not(.home) {
  background: url(../img/common/body_pattern_bg.svg) repeat left top;
}

@media (max-width: 767px) {
  body:not(.home) {
    background: url(../img/common/body_pattern_bg_sp.svg) repeat left top;
  }
}
body:not(.home) section p {
  line-height: 180%;
}

body:not(.home) section a {
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 1.28px;
  text-decoration-style: solid;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
}

body:not(.home) section .bg {
  letter-spacing: 1.28px;
  font-weight: 500;
  background: var(--Pink-90);
}

body:not(.home) section .note {
  color: var(--Pink-50);
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-weight: 500;
  letter-spacing: 1.28px;
}

@media (min-width: 768px) {
  body:not(.home) .mce-content-body {
    width: 1200px;
  }
  body:not(.home) section p {
    font-weight: 400;
    letter-spacing: 0.64px;
  }
  body:not(.home) section .container {
    max-width: 1040px;
    width: 100%;
    margin: auto;
  }
  body:not(.home) section img {
    border-radius: 4px;
  }
  body:not(.home) p + .btnstyle {
    margin-top: 43px;
  }
}
@media (max-width: 767px) {
  body:not(.home) section p {
    font-size: 14px;
    letter-spacing: 0.56px;
  }
  body:not(.home) section p + .btnstyle {
    margin-top: 36px;
  }
}
@media (min-width: 768px) {
  .pc_mb20 {
    margin-bottom: 20px !important;
  }
  .pc_mb16 {
    margin-bottom: 16px !important;
  }
  .pc_mb12 {
    margin-bottom: 12px !important;
  }
  .pc_mb40 {
    margin-bottom: 40px !important;
  }
}
.fw500 {
  font-weight: 500 !important;
}

@media (min-width: 768px) {
  .pcbr {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .spbr {
    display: block !important;
  }
}
.access_time_img {
  max-width: 768px;
  width: 100%;
  margin: clamp(30px, 3.98vw, 50px) auto 0;
}

.link_list li a {
  background: #fff;
  padding: 10px 60px 10px 18px;
  color: var(--Blue-30);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.96px;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 108px;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.link_list li a:before {
  content: "";
  background: var(--Cerulean-95);
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: -1;
}

.link_list li a .ic {
  width: 72px;
  display: block;
}

.link_list li a .ttl {
  width: calc(100% - 102px);
  text-align: center;
  display: block;
}

.link_list li a .arrow {
  overflow: hidden;
  position: absolute;
  width: 16px;
  top: 0;
  bottom: 0;
  right: 32px;
  margin: auto;
}

.link_list li a .arrow:before,
.link_list li a .arrow:after {
  content: "";
  width: 16px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  right: 0;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
}

.link_list li a .arrow:before {
  background: url(../img/common/ic_lightblue.svg) no-repeat center/cover;
}

.link_list li a .arrow:after {
  background: url(../img/common/ic_lightblue.svg) no-repeat center/cover;
  -webkit-transform: translateX(-160%);
  transform: translateX(-160%);
}

.link_list li a.type_pink {
  color: var(--Pink-50);
}

.link_list li a.type_pink:before {
  background: var(--Pink-95);
}

.link_list li a.type_pink .arrow:before,
.link_list li a.type_pink .arrow:after {
  background: url(../img/common/ic_pink.svg) no-repeat center/cover;
}

@media (max-width: 767px) {
  .link_list li:not(:last-child) {
    margin-bottom: 16px;
  }
  .link_list li a {
    min-height: 80px;
    padding: 10px 60px 10px 12px;
  }
  .link_list li a .ttl {
    font-size: 18px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.72px;
    width: calc(100% - 64px);
  }
  .link_list li a .ic {
    width: 56px;
  }
  .link_list li a .arrow {
    right: 20px;
  }
  .link_list li a:before {
    right: calc(100% - 80px);
  }
}
@media (min-width: 768px) {
  .link_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .link_list li a:before {
    right: calc(100% - 108px);
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  .link_list li a:hover {
    opacity: 1;
  }
  .link_list li a:hover img {
    opacity: 1;
  }
  .link_list li a:hover:before {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
    right: 0;
  }
  .link_list li a:hover .arrow:before,
  .link_list li a:hover .arrow:after {
    -webkit-transition: background 0.3s ease;
    transition: background 0.3s ease;
  }
  .link_list li a:hover .arrow:before {
    -webkit-animation-name: transformButtonRightLeft;
    animation-name: transformButtonRightLeft;
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
  }
  .link_list li a:hover .arrow:after {
    background: url(../img/common/ic_lightblue.svg) no-repeat center/cover;
    -webkit-animation-name: transformButtonLeftRight;
    animation-name: transformButtonLeftRight;
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
  }
  .link_list li a.type_pink .arrow:after {
    background: url(../img/common/ic_pink.svg) no-repeat center/cover;
  }
}
@-webkit-keyframes transformButtonLeftRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
}
@keyframes transformButtonLeftRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
}
@-webkit-keyframes transformButtonRightLeft {
  0% {
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes transformButtonRightLeft {
  0% {
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@-webkit-keyframes transformButtonLeftRight2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
}
@keyframes transformButtonLeftRight2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
}
@-webkit-keyframes transformButtonRightLeft2 {
  0% {
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes transformButtonRightLeft2 {
  0% {
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.top_common_bg01_container {
  position: relative;
  overflow: hidden;
}

.top_common_bg01_container:before {
  content: "";
  position: absolute;
  top: 0;
}

@media (max-width: 767px) {
  .top_common_bg01_container:before {
    background: url(../img/top/top_bg01_sp.png) no-repeat center;
    right: 0;
    width: 168px;
    height: 133px;
  }
}
@media (min-width: 768px) {
  .top_common_bg01_container:before {
    right: 1652px;
    background: url(../img/top/top_bg01.png) repeat center right;
    width: 268px;
    height: 1798px;
  }
}
@media (min-width: 1920px) {
  .top_common_bg01_container:before {
    right: calc(100% - 13.96vw);
    width: 13.96vw;
  }
}
.top_news {
  padding: 144px 0 124px;
  position: relative;
}

.top_news .tab_btn_wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 0 8px;
  border-bottom: 2px solid var(--Gray-60);
  margin-bottom: 30px;
}

.top_news .tab_btn {
  display: block;
  text-align: center;
  color: var(--Gray-50);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 20px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.8px;
  padding: 18px 8px 14px;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_news .tab_btn:hover {
  color: var(--Gray-20);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_news .tab_btn.active {
  border-radius: 8px 8px 0 0;
  background: var(--Gray-30);
  color: #fff;
}

.top_news .tab_item {
  display: none;
}

.top_news .tab_item.active {
  display: block;
}

.top_news h2 {
  color: var(--Gray-30);
  padding: 0;
  text-align: left;
}

.top_news h2:before {
  display: none;
}

.top_news h2 .en {
  font-family: "Poppins", sans-serif;
  font-size: 72px;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 2.88px;
}

.top_news h2 .sub {
  color: var(--Blue-30);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 1.44px;
  padding-left: 28px;
  position: relative;
  display: block;
}

.top_news h2 .sub:before {
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: linear-gradient(315deg, #00A0E9 27.19%, #004098 101.56%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 4px;
  margin: auto;
}

.top_news .button {
  margin-top: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 6px;
  padding-right: 3px;
}

.top_news .button a {
  color: var(--Gray-30);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.64px;
  text-decoration: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_news .button .arrow_wrapper {
  width: 24px;
  height: 24px;
  border-radius: 16px;
  background: var(--Gray-40);
  display: inline-block;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_news .button .arrow_wrapper .arrow {
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.top_news .button .arrow_wrapper .arrow:before,
.top_news .button .arrow_wrapper .arrow:after {
  content: "";
  width: 13px;
  height: 8px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  right: 5px;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
}

.top_news .button .arrow_wrapper .arrow:before {
  background: url(../img/common/ic_white.svg) no-repeat center/cover;
}

.top_news .button .arrow_wrapper .arrow:after {
  background: url(../img/common/ic_white.svg) no-repeat center/cover;
  right: 34px;
}

.top_news .button:hover {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_news .button:hover a {
  color: var(--Pink-50);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_news .button:hover .arrow_wrapper {
  background: var(--Pink-60);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

.top_news .button:hover .arrow:before,
.top_news .button:hover .arrow:after {
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.top_news .button:hover .arrow:before {
  -webkit-animation-name: transformNewsLeftRight2;
  animation-name: transformNewsLeftRight2;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.top_news .button:hover .arrow:after {
  -webkit-animation-name: transformNewsRightLeft2;
  animation-name: transformNewsRightLeft2;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.top_news .list_list li {
  padding: 14px 72px 16px 23px;
  border-radius: 4px;
  background: var(--Gray-95);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  position: relative;
}

.top_news .list_list li:before {
  content: "";
  width: 1px;
  height: calc(100% - 26px);
  background: var(--Gray-80);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 60px;
  margin: auto;
}

.top_news .list_list li:not(:last-child) {
  margin-bottom: 15px;
}

.top_news .list_list li .date {
  color: var(--Gray-30);
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 110%;
  padding: 2px 4px;
  display: inline-block;
}

.top_news .list_list li .date .year {
  font-size: 14px;
  display: block;
}

.top_news .list_list li a {
  overflow: hidden;
  color: var(--Text-Black);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.64px;
  text-decoration: none;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  padding-right: 12px;
}

.top_news .list_list li .cat_name {
  padding: 2px 16px 4px 16px;
  border-radius: 4px;
  background: #fff;
  text-align: center;
}

.top_news .list_list li .arrow_wrapper {
  width: 20px;
  height: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 29px;
  margin: auto;
  overflow: hidden;
}

.top_news .list_list li .arrow_wrapper .arrow {
  overflow: hidden;
}

.top_news .list_list li .arrow_wrapper .arrow:before,
.top_news .list_list li .arrow_wrapper .arrow:after {
  content: "";
  width: 16px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  right: 0;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
}

.top_news .list_list li .arrow_wrapper .arrow:before {
  background: url(../img/common/ic_gray.svg) no-repeat center/cover;
}

.top_news .list_list li .arrow_wrapper .arrow:after {
  background: url(../img/common/ic_gray.svg) no-repeat center/cover;
  right: 25px;
}

.top_news .list_list li:hover {
  background: var(--Gray-90);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_news .list_list li:hover .arrow_wrapper {
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.top_news .list_list li:hover .arrow:before,
.top_news .list_list li:hover .arrow:after {
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.top_news .list_list li:hover .arrow:before {
  -webkit-animation-name: transformNewsLeftRight;
  animation-name: transformNewsLeftRight;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.top_news .list_list li:hover .arrow:after {
  -webkit-animation-name: transformNewsRightLeft;
  animation-name: transformNewsRightLeft;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

@media (max-width: 767px) {
  .top_news {
    padding: 74px 0 124px;
  }
  .top_news h2 {
    padding-left: 8px;
    margin-bottom: 40px;
  }
  .top_news h2 .en {
    font-size: 56px;
    letter-spacing: normal;
  }
  .top_news h2 .sub {
    font-size: 18px;
    letter-spacing: 1.08px;
    padding-top: 3px;
  }
  .top_news h2 .sub:before {
    top: 3px;
  }
  .top_news .tab_btn_wrap {
    margin-bottom: 24px;
  }
  .top_news .tab_btn {
    font-size: 14px;
    letter-spacing: 0.56px;
    padding: 13px 8px 9px;
  }
  .top_news .list_list li {
    padding: 9px 44px 12px 16px;
  }
  .top_news .list_list li:before {
    right: 39px;
  }
  .top_news .list_list li:not(:last-child) {
    margin-bottom: 11px;
  }
  .top_news .list_list li .date {
    font-size: 18px;
    line-height: 110%;
    letter-spacing: normal;
  }
  .top_news .list_list li .date .year {
    font-size: 12px;
  }
  .top_news .list_list li .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
    margin-bottom: 4px;
  }
  .top_news .list_list li .wrapper .cat_name {
    width: 98px;
    font-size: 14px;
    letter-spacing: 0.56px;
    padding: 3px 16px 1px 17px;
    height: 27px;
  }
  .top_news .list_list li a {
    font-size: 14px;
    line-height: 180%;
    letter-spacing: 0.56px;
    padding-right: 7px;
  }
  .top_news .list_list li .arrow_wrapper {
    right: 12px;
  }
  .top_news .button {
    margin-top: 28px;
  }
  .top_news .button a {
    font-size: 16px;
    letter-spacing: 0.64px;
  }
}
@media (min-width: 768px) {
  .top_news .container {
    width: 1202px;
  }
  .top_news .post_inner {
    display: grid;
    grid-template-columns: 199px 1fr;
    gap: 66px;
  }
  .top_news .headline {
    padding-top: 95px;
  }
  .top_news h2 .sub {
    -webkit-transform: translate(1px, 7px);
    transform: translate(1px, 7px);
  }
  .top_news .list_list li .post_wrap {
    display: grid;
    grid-template-columns: 151px 1fr;
    gap: 40px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .top_news .list_list li .wrapper {
    display: grid;
    grid-template-columns: 53px 98px;
    gap: 16px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@-webkit-keyframes transformNewsLeftRight {
  0% {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
  }
  100% {
    -webkit-transform: translateX(17px);
    transform: translateX(17px);
  }
}
@keyframes transformNewsLeftRight {
  0% {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
  }
  100% {
    -webkit-transform: translateX(17px);
    transform: translateX(17px);
  }
}
@-webkit-keyframes transformNewsRightLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(25px);
    transform: translateX(25px);
  }
}
@keyframes transformNewsRightLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(25px);
    transform: translateX(25px);
  }
}
@-webkit-keyframes transformNewsLeftRight2 {
  0% {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
  }
  100% {
    -webkit-transform: translateX(26px);
    transform: translateX(26px);
  }
}
@keyframes transformNewsLeftRight2 {
  0% {
    -webkit-transform: translateX(5px);
    transform: translateX(5px);
  }
  100% {
    -webkit-transform: translateX(26px);
    transform: translateX(26px);
  }
}
@-webkit-keyframes transformNewsRightLeft2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(29px);
    transform: translateX(29px);
  }
}
@keyframes transformNewsRightLeft2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(29px);
    transform: translateX(29px);
  }
}
@media (max-width: 767px) {
  .top_loopslider {
    position: relative;
  }
  .top_loopslider:before {
    content: "";
    width: 257px;
    height: 403px;
    background: url(../img/top/top_bg02_sp.png) no-repeat center/cover;
    position: absolute;
    bottom: -123px;
    left: 0;
  }
}
.top_greeting {
  padding: 120px 0 80px;
}

.top_greeting h2 {
  color: var(--Blue-40);
  font-family: "Poppins", sans-serif;
  font-size: 120px;
  font-weight: 200;
  line-height: 100%;
  letter-spacing: 4.8px;
  padding: 0;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin: 0;
}

.top_greeting h2:before {
  display: none;
}

.top_greeting h3 {
  border: 0;
  padding: 0;
  text-align: left;
  color: var(--Blue-20);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 2.4px;
  margin-bottom: 56px;
}

.top_greeting h3:after,
.top_greeting h3:before {
  display: none;
}

.top_greeting h3 .sub {
  position: relative;
  color: var(--Pink-50);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 1.08px;
  display: block;
  position: relative;
  padding-left: 24px;
  margin-bottom: 33px;
}

.top_greeting h3 .sub:before {
  content: "";
  border: 0;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: linear-gradient(315deg, #F4B4D0 28.51%, #D82A77 98.26%);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

.top_greeting .txt_wrap p {
  line-height: 180%;
  letter-spacing: 0.64px;
}

.top_greeting .txt_wrap p:not(:last-child) {
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .top_greeting {
    padding: 200px 0 118px;
    position: relative;
  }
  .top_greeting .primary_container {
    padding: 0 10px;
  }
  .top_greeting .headline_block {
    position: absolute;
    right: 11px;
    bottom: calc(100% - 145px);
  }
  .top_greeting h2 {
    font-size: 96px;
    line-height: 100%;
    letter-spacing: normal;
  }
  .top_greeting h3 {
    font-size: 28px;
    letter-spacing: 1.68px;
    margin-bottom: 39px;
  }
  .top_greeting h3 .sub {
    font-size: 16px;
    letter-spacing: 0.96px;
    padding-left: 22px;
    margin-bottom: 18px;
  }
  .top_greeting h3 .sub:before {
    width: 14px;
    height: 14px;
    left: 0;
    border-radius: 2px;
  }
  .top_greeting .txt_wrap p {
    font-size: 14px;
    letter-spacing: 0.56px;
  }
  .top_greeting .txt_wrap p:not(:last-child) {
    margin-bottom: 24px;
  }
}
@media (min-width: 768px) {
  .top_greeting {
    position: relative;
  }
  .top_greeting:after {
    content: "";
    width: 627px;
    height: 987px;
    position: absolute;
    bottom: 0;
    left: 1293px;
    background: url(../img/top/top_bg02.png) no-repeat center/cover;
    z-index: -1;
  }
  .top_greeting .container {
    width: 1255px;
  }
  .top_greeting h2 {
    -webkit-transform: translate(0, -267px);
    transform: translate(0, -267px);
  }
  .top_greeting .primary_container {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 148px;
  }
}
@media (min-width: 1920px) {
  .top_greeting:after {
    left: auto;
    right: 0;
  }
}
.common_parts {
  padding: 48px 0 159px;
  position: relative;
  z-index: 1;
}

.common_parts:before {
  content: "";
  width: calc(100% - 80px);
  height: 100%;
  border-radius: 40px 0 0 40px;
  background: linear-gradient(105deg, #004098 0%, #008CCC 100%);
  position: absolute;
  right: 0;
  top: 0;
  z-index: -2;
}

.common_parts .primary_container {
  padding: 0 0 24px;
  position: relative;
  margin-bottom: 48px;
}

.common_parts .primary_container:after {
  content: "";
  width: calc(100% - 216px);
  height: 1px;
  background: var(--Blue-80);
  position: absolute;
  bottom: 41px;
  left: 0;
}

.common_parts .doctor_img {
  width: 184px;
}

.common_parts .doctor-info {
  margin-bottom: 39px;
  width: 183px;
}

.common_parts .doctor-info .doctor-title {
  color: #fff;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 18px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.72px;
  margin: 0 0 15px;
  text-align: center;
  padding: 8px;
  border-bottom: 1px solid var(--Blue-80);
}

.common_parts .doctor-info .doctor-name {
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0 15px;
  -webkit-transform: translate(1px, -8px);
  transform: translate(1px, -8px);
}

.common_parts .doctor-info .doctor-name .doctor-position {
  padding: 8px 12px;
  border-radius: 2px;
  background: var(--Cerulean-95);
  color: var(--Blue-30);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 18px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.72px;
}

.common_parts .doctor-info .doctor-name .name {
  font-size: 24px;
  letter-spacing: 0.96px;
  color: #fff;
}

.common_parts .doctor-info .doctor-name .name ruby rt {
  font-size: 12px;
  letter-spacing: -0.48px;
  line-height: 150%;
  padding-bottom: 5px;
}

.common_parts .doctor-info .doctor-name .name ruby .rt_txt {
  opacity: 0;
}

.common_parts h2 {
  display: table;
  color: #fff;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 48px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 7.68px;
  padding: 0 0 18px 48px;
  text-align: left;
  margin-bottom: 0;
}

.common_parts h2:before {
  width: 8px;
  height: 100%;
  border-radius: 4px;
  background: var(--Blue-80);
  right: auto;
  left: 0;
}

.common_parts h2 .en {
  color: var(--Blue-80);
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.4px;
  display: block;
  padding-top: 5px;
}

.common_parts .main_container {
  margin-bottom: 72px;
}

.common_parts .main_container .splide__track--nav > .splide__list > .splide__slide {
  border: 0;
}

.common_parts .last_container h3 {
  color: #fff;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 1.44px;
  border-bottom: 1px solid var(--Blue-80);
  border-top: 0;
  text-align: left;
  padding: 0 0 15px 43px;
  margin-bottom: 38px;
}

.common_parts .last_container h3:after {
  display: none;
}

.common_parts .last_container h3:before {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: var(--Cerulean-40);
  right: auto;
  left: 16px;
  top: 11px;
}

.common_parts.type_pink:before {
  content: "";
  width: calc(100% - 80px);
  height: 100%;
  border-radius: 0 40px 40px 0;
  background: linear-gradient(292deg, #EF81B1 0%, #D82A77 100%);
  position: absolute;
  right: auto;
  left: 0;
  top: 0;
  z-index: -2;
}

.common_parts.type_pink h2:before {
  background: var(--Pink-80);
}

.common_parts.type_pink h2 .en {
  color: var(--Pink-80);
}

.common_parts.type_pink .doctor-info {
  width: 168px;
}

.common_parts.type_pink .doctor-info .doctor-title {
  border-color: var(--Pink-90);
}

.common_parts.type_pink .primary_container:after {
  background: var(--Pink-90);
}

.common_parts.type_pink .main_container .thumbnail_wrap .link .en {
  color: var(--Pink-90);
}

@media (max-width: 767px) {
  .common_parts {
    padding: 48px 0 78px;
  }
  .common_parts:before {
    width: 100%;
    border-radius: 24px 0 0 0;
    background: linear-gradient(105deg, #004098 0%, #008CCC 100%);
  }
  .common_parts .primary_container {
    position: relative;
    padding: 0 0 8px;
    margin-bottom: 57px;
  }
  .common_parts .primary_container:before {
    content: "";
    width: 6px;
    height: 100%;
    border-radius: 4px;
    background: var(--Blue-80);
    position: absolute;
    top: 0;
    left: 8px;
  }
  .common_parts .primary_container:after {
    display: none;
  }
  .common_parts .primary_container .doctor_img {
    width: 120px;
  }
  .common_parts .primary_container .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
    gap: 8px;
    margin-top: -34px;
  }
  .common_parts h2 {
    font-size: 32px;
    letter-spacing: 5.12px;
    padding: 0 0 18px 42px;
  }
  .common_parts h2:before {
    display: none;
  }
  .common_parts h2 .en {
    font-size: 12px;
    letter-spacing: 0.24px;
  }
  .common_parts .doctor-info {
    margin-bottom: 2px;
    width: 156px;
  }
  .common_parts .doctor-info .doctor-title {
    padding: 7px 0;
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 0.56px;
  }
  .common_parts .doctor-info .doctor-name {
    -webkit-transform: translate(-3px, -7px);
    transform: translate(-3px, -7px);
  }
  .common_parts .doctor-info .doctor-name .doctor-position {
    padding: 4px 12px;
    border-radius: 2px;
    background: var(--Cerulean-95);
    font-size: 14px;
    letter-spacing: 0.56px;
  }
  .common_parts .doctor-info .doctor-name .name {
    font-size: 18px;
    letter-spacing: 0.72px;
    -webkit-transform: translate(-4px, 0);
    transform: translate(-4px, 0);
  }
  .common_parts .doctor-info .doctor-name .name ruby rt {
    font-size: 9px;
    letter-spacing: 0.36px;
  }
  .common_parts .main_container {
    margin-bottom: 60px;
  }
  .common_parts .main_container .splide {
    visibility: visible;
  }
  .common_parts .main_container .splide__list {
    display: block;
  }
  .common_parts .main_container .thumbnail_wrap .splide__list li .link {
    display: grid;
    grid-template-columns: 80px 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
    border-top: 1px solid var(--Blue-60);
    padding: 18px 0 20px;
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.72px;
  }
  .common_parts .main_container .thumbnail_wrap .splide__list li .link .en {
    font-size: 12px;
    font-weight: 300;
    line-height: 150%;
    letter-spacing: 1px;
    display: block;
    -webkit-transform: translate(0, 3px);
    transform: translate(0, 3px);
  }
  .common_parts .main_container .thumbnail_wrap .splide__list li .link img {
    border-radius: 4px;
  }
  .common_parts .main_container .thumbnail_wrap .splide__list li .link .arrow {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    border-radius: 4px;
    border: 1px solid var(--Blue-90);
  }
  .common_parts .main_container .thumbnail_wrap .splide__list li .link .arrow:before {
    content: "";
    width: 16px;
    height: 10px;
    background: url(../img/common/ic_blue2.svg) no-repeat center/cover;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 12px;
    margin: auto;
  }
  .common_parts .main_container .thumbnail_wrap .splide__list li:last-child a {
    border-bottom: 1px solid var(--Blue-60);
  }
  .common_parts .last_container h3 {
    font-size: 20px;
    letter-spacing: 1.2px;
    padding: 0 0 15px 36px;
    margin-bottom: 6px;
    border: 0;
  }
  .common_parts .last_container h3:before {
    left: 9px;
    top: 5px;
  }
  .common_parts.type_pink:before {
    border-radius: 0 24px 0 0;
    background: linear-gradient(292deg, #EF81B1 0%, #D82A77 100%);
    width: 100%;
  }
  .common_parts.type_pink .primary_container {
    margin-bottom: 57px;
  }
  .common_parts.type_pink .primary_container:before {
    background: var(--Pink-80);
  }
  .common_parts.type_pink .doctor-info {
    width: 122px;
  }
  .common_parts.type_pink .doctor-info .doctor-name .name {
    -webkit-transform: translate(3px, 0);
    transform: translate(3px, 0);
  }
  .common_parts.type_pink .main_container .thumbnail_wrap .splide__list li .link {
    border-color: var(--Pink-80);
  }
  .common_parts.type_pink .main_container .thumbnail_wrap .splide__list li .link .arrow {
    border-color: var(--Pink-90);
  }
  .common_parts.type_pink .main_container .thumbnail_wrap .splide__list li .link .arrow:before {
    background: url(../img/common/ic_pink2.svg) no-repeat center/cover;
  }
  .common_parts.type_pink .last_container h3:before {
    background: var(--Pink-80);
  }
}
@media (min-width: 768px) {
  .common_parts .primary_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .common_parts .primary_container .headline {
    padding-bottom: 41px;
  }
  .common_parts .primary_container .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 38px;
  }
  .common_parts .main_container .wrapper {
    display: grid;
    grid-template-columns: 588px 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 54px;
  }
  .common_parts .main_container .wrapper img {
    border-radius: 16px;
  }
  .common_parts .main_container .main_carousel_wrap {
    padding: 24px 0;
  }
  .common_parts .main_container .thumbnail_wrap .link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.96px;
    text-decoration: none;
    padding: 45px 100px 44px 32px;
    border-bottom: 1px solid var(--Blue-60);
    position: relative;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .common_parts .main_container .thumbnail_wrap .link:before,
  .common_parts .main_container .thumbnail_wrap .link:after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  .common_parts .main_container .thumbnail_wrap .link:before {
    background: var(--Blue-60);
  }
  .common_parts .main_container .thumbnail_wrap .link:after {
    width: 0;
    background: #fff;
    opacity: 0;
  }
  .common_parts .main_container .thumbnail_wrap .link .en {
    display: block;
    color: var(--Blue-80);
    -webkit-font-feature-settings: "halt" on;
    font-feature-settings: "halt" on;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 150%;
    letter-spacing: 0.56px;
  }
  .common_parts .main_container .thumbnail_wrap .link .arrow {
    width: 80px;
    height: 80px;
    border-radius: 4px;
    background: var(--Cerulean-80);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .common_parts .main_container .thumbnail_wrap .link .arrow:before {
    content: "";
    width: 16px;
    height: 10px;
    background: url(../img/common/ic_lightblue.svg) no-repeat center/cover;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
  }
  .common_parts .main_container .thumbnail_wrap .link .ttl {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .common_parts .main_container .thumbnail_wrap .link:hover .ttl {
    -webkit-transform: translateX(8px);
    transform: translateX(8px);
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .common_parts .main_container .thumbnail_wrap .link:hover:after {
    width: 100%;
    opacity: 1;
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }
  .common_parts .main_container .thumbnail_wrap .link:hover .arrow {
    background: #fff;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .common_parts .main_container .thumbnail_wrap .splide__list {
    display: block;
    margin-bottom: 48px !important;
  }
  .common_parts .last_container .link_list {
    padding: 0 28px;
  }
  .common_parts.type_pink .main_container {
    margin-bottom: 47px;
  }
  .common_parts.type_pink .main_container .thumbnail_wrap .link {
    border-color: var(--Pink-80, #F1A7C8);
  }
  .common_parts.type_pink .main_container .thumbnail_wrap .link:before {
    background: var(--Pink-80, #F1A7C8);
  }
  .common_parts.type_pink .main_container .thumbnail_wrap .link .arrow {
    background: var(--Pink-95, #FAEAF1);
  }
  .common_parts.type_pink .main_container .thumbnail_wrap .link .arrow:before {
    background: url(../img/common/ic_pink.svg) no-repeat center/cover;
  }
  .common_parts.type_pink .main_container .thumbnail_wrap .link:hover .arrow {
    background: #fff;
  }
  .common_parts.type_pink .last_container h3 {
    border-color: var(--Pink-90);
  }
  .common_parts.type_pink .last_container h3:before {
    background: var(--Pink-90);
  }
}
@media (min-width: 768px) and (max-width: 1550px) {
  .common_parts:before {
    width: 100%;
  }
  .common_parts.type_pink:before {
    width: 100%;
  }
}
.top_Orthopedicsurgery:after {
  content: "";
  background: url(../img/top/top_os_bg.png) no-repeat center/cover;
  width: 1754px;
  height: 839px;
  position: absolute;
  bottom: 0;
  left: 166px;
  z-index: -1;
}

@media (max-width: 767px) {
  .top_Orthopedicsurgery:after {
    background: url(../img/top/top_os_bg_sp.png) no-repeat center/cover;
    width: 390px;
    height: 875px;
    left: auto;
    right: 0;
  }
}
@media (min-width: 1920px) {
  .top_Orthopedicsurgery:after {
    right: 0;
    left: auto;
  }
}
.top_diseases_Symptoms {
  padding: 160px 0 153px;
  position: relative;
  z-index: 0;
}

.top_diseases_Symptoms h2 {
  padding: 0;
  color: var(--Gray-90);
  font-family: "Poppins", sans-serif;
  font-size: 96px;
  font-weight: 200;
  line-height: 100%;
  letter-spacing: 3.84px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  right: 1600px;
  top: 27px;
  margin: 0;
}

.top_diseases_Symptoms h2:before {
  display: none;
}

.top_diseases_Symptoms h2 .ttl1,
.top_diseases_Symptoms h2 .ttl2 {
  display: block;
  white-space: nowrap;
}

.top_diseases_Symptoms h2 .ttl1 {
  -webkit-transform: translate(0, 197px);
  transform: translate(0, 197px);
}

.top_diseases_Symptoms h2 .ttl2 {
  -webkit-transform: translate(0, 377px);
  transform: translate(0, 377px);
}

@media (min-width: 1920px) {
  .top_diseases_Symptoms h2 {
    right: auto;
    left: 36px;
  }
}
.top_diseases_Symptoms h3 {
  color: var(--Blue-20);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 1.68px;
  border: 0;
  padding: 0;
  text-align: center;
}

.top_diseases_Symptoms h3:before,
.top_diseases_Symptoms h3:after {
  display: none;
}

.top_diseases_Symptoms h3 .search {
  display: table;
  color: var(--Cerulean-50);
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 130%;
  letter-spacing: 0.32px;
  padding-left: 24px;
  position: relative;
  margin: 0 auto 18px;
}

.top_diseases_Symptoms h3 .search:before {
  content: "";
  width: 18px;
  height: 17px;
  background: url(../img/top/ic_search.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 3px;
  left: 2px;
  margin: auto;
}

.top_diseases_Symptoms h3 .search .num {
  font-size: 24px;
  letter-spacing: 0.48px;
}

.top_diseases_Symptoms .menu_list li a {
  min-height: 75px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 14px;
  border-radius: 4px;
  background: #fff;
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 69, 109, 0.1);
  box-shadow: 0 0 20px 0 rgba(0, 69, 109, 0.1);
  padding: 0 55px 0 10px;
  text-decoration: none;
  color: var(--Blue-20);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 18px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.72px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_diseases_Symptoms .menu_list li a:after {
  content: "";
  width: 1px;
  height: calc(100% - 24px);
  background: var(--Gray-90);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 47px;
  margin: auto;
}

.top_diseases_Symptoms .menu_list li a .ic {
  width: 56px;
  height: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 4px;
  background: var(--Gray-95);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_diseases_Symptoms .menu_list li a .arrow {
  overflow: hidden;
  position: absolute;
  width: 16px;
  top: 0;
  bottom: 0;
  right: 16px;
  margin: auto;
}

.top_diseases_Symptoms .menu_list li a .arrow:before,
.top_diseases_Symptoms .menu_list li a .arrow:after {
  content: "";
  width: 16px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  right: 0;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
}

.top_diseases_Symptoms .menu_list li a .arrow:before {
  background: url(../img/common/ic_lightblue.svg) no-repeat center/cover;
}

.top_diseases_Symptoms .menu_list li a .arrow:after {
  background: url(../img/common/ic_lightblue.svg) no-repeat center/cover;
  -webkit-transform: translateX(-160%);
  transform: translateX(-160%);
}

.top_diseases_Symptoms .menu_list li a:hover {
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  background: var(--Cerulean-95);
}

.top_diseases_Symptoms .symptoms_menu_list li a {
  text-decoration: none;
  color: var(--Blue-20);
  text-align: center;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.72px;
  padding: 24px 0 64px;
  border-radius: 8px;
  background: var(--Blue-90);
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 69, 109, 0.1);
  box-shadow: 0 0 20px 0 rgba(0, 69, 109, 0.1);
  position: relative;
  display: block;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_diseases_Symptoms .symptoms_menu_list li a .image {
  width: 161px;
  display: block;
  margin: 0 auto 16px;
}

.top_diseases_Symptoms .symptoms_menu_list li a .ttl {
  display: block;
}

.top_diseases_Symptoms .symptoms_menu_list li a .arrow {
  overflow: hidden;
  position: absolute;
  width: 32px;
  height: 32px;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
  background: #fff;
  display: block;
  border-radius: 50%;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_diseases_Symptoms .symptoms_menu_list li a .arrow:before,
.top_diseases_Symptoms .symptoms_menu_list li a .arrow:after {
  content: "";
  width: 16px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  right: 0;
  left: 0;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
}

.top_diseases_Symptoms .symptoms_menu_list li a .arrow:before {
  background: url(../img/common/ic_blue.svg) no-repeat center/cover;
}

.top_diseases_Symptoms .symptoms_menu_list li a .arrow:after {
  background: url(../img/common/ic_blue.svg) no-repeat center/cover;
  -webkit-transform: translateX(-160%);
  transform: translateX(-160%);
}

.top_diseases_Symptoms .symptoms_menu_list li a:hover {
  background: var(--Blue-80, #AFC7E9);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.top_diseases_Symptoms .symptoms_menu_list li a.special {
  letter-spacing: normal;
  font-size: 17px;
}

.top_diseases_Symptoms .disease_container {
  margin-bottom: 165px;
}

.top_diseases_Symptoms .disease_container h3 {
  text-align: left;
}

.top_diseases_Symptoms .disease_container h3 .search {
  margin-left: 0;
}

.top_diseases_Symptoms .symptoms_ttl {
  margin-bottom: 56px;
}

@media (max-width: 767px) {
  .top_diseases_Symptoms {
    padding: 86px 0 127px;
  }
  .top_diseases_Symptoms:before,
  .top_diseases_Symptoms:after {
    content: "";
    position: absolute;
    z-index: -1;
  }
  .top_diseases_Symptoms:before {
    background: url(../img/top/top_bg03_sp.png) no-repeat center/cover;
    width: 121px;
    height: 537px;
    top: 0;
    right: 0;
  }
  .top_diseases_Symptoms:after {
    background: url(../img/top/top_bg04_sp.png) no-repeat center/cover;
    width: 390px;
    height: 268px;
    bottom: 65px;
    left: 0;
  }
  .top_diseases_Symptoms .container {
    max-width: calc(100% - 20px);
  }
  .top_diseases_Symptoms h3 {
    font-size: 24px;
    letter-spacing: 1.44px;
  }
  .top_diseases_Symptoms h3 .search {
    font-size: 12px;
    letter-spacing: 0.24px;
    margin: 0 auto 7px;
    padding-left: 25px;
  }
  .top_diseases_Symptoms h3 .search:before {
    bottom: 3px;
  }
  .top_diseases_Symptoms h3 .search .num {
    font-size: 20px;
    letter-spacing: 0.4px;
  }
  .top_diseases_Symptoms .disease_container {
    margin-bottom: 101px;
  }
  .top_diseases_Symptoms .disease_container .headline {
    padding-left: 31px;
    margin-bottom: 40px;
  }
  .top_diseases_Symptoms .disease_container .headline h3 {
    margin: 0;
  }
  .top_diseases_Symptoms .menu_list li:not(:last-child) {
    margin-bottom: 16px;
  }
  .top_diseases_Symptoms .menu_list li a {
    font-size: 15px;
    letter-spacing: 1.8px;
    min-height: 68px;
    gap: 12px;
  }
  .top_diseases_Symptoms .menu_list li a .ic {
    width: 48px;
    height: 48px;
  }
  .top_diseases_Symptoms .menu_list li a .ic img {
    width: 35px;
  }
  .top_diseases_Symptoms .menu_list li a.special {
    letter-spacing: 0.6px;
  }
  .top_diseases_Symptoms .type_symptoms {
    max-width: 100%;
  }
  .top_diseases_Symptoms .symptoms_ttl {
    margin-bottom: 40px;
  }
  .top_diseases_Symptoms .symptoms_container {
    padding: 0 0 0 20px;
  }
  .top_diseases_Symptoms .symptoms_container .symptoms_menu_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
    margin: 0;
  }
  .top_diseases_Symptoms .symptoms_container .symptoms_menu_list li a {
    font-size: 16px;
    letter-spacing: 0.64px;
    width: 200px;
  }
  .top_diseases_Symptoms .symptoms_container .symptoms_menu_list li a .image {
    width: 142px;
  }
  .top_diseases_Symptoms .scroll-hint-icon {
    top: calc(50% - 50px);
    left: calc(50% - 70px);
  }
}
@media (min-width: 768px) {
  .top_diseases_Symptoms:before,
  .top_diseases_Symptoms:after {
    content: "";
    position: absolute;
    z-index: -1;
  }
  .top_diseases_Symptoms:before {
    background: url(../img/top/top_bg03.png) repeat center;
    width: 493px;
    height: 537px;
    left: 1427px;
    top: 0;
  }
  .top_diseases_Symptoms:after {
    background: url(../img/top/top_bg04.png) repeat center;
    width: 448px;
    height: 537px;
    right: 1472px;
    bottom: 0;
  }
  .top_diseases_Symptoms .menu_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .top_diseases_Symptoms .menu_list li a:hover {
    opacity: 1;
  }
  .top_diseases_Symptoms .menu_list li a:hover img {
    opacity: 1;
  }
  .top_diseases_Symptoms .menu_list li a:hover:before {
    -webkit-transition: 0.2s ease-in;
    transition: 0.2s ease-in;
    right: 0;
  }
  .top_diseases_Symptoms .menu_list li a:hover .ic {
    background: #fff;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .top_diseases_Symptoms .menu_list li a:hover .arrow:before,
  .top_diseases_Symptoms .menu_list li a:hover .arrow:after {
    -webkit-transition: background 0.2s ease;
    transition: background 0.2s ease;
  }
  .top_diseases_Symptoms .menu_list li a:hover .arrow:before {
    -webkit-animation-name: transformButtonRightLeft;
    animation-name: transformButtonRightLeft;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .top_diseases_Symptoms .menu_list li a:hover .arrow:after {
    background: url(../img/common/ic_lightblue.svg) no-repeat center/cover;
    -webkit-animation-name: transformButtonLeftRight;
    animation-name: transformButtonLeftRight;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
  }
  .top_diseases_Symptoms .symptoms_menu_list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px 16px;
  }
  .top_diseases_Symptoms .symptoms_menu_list li a:hover {
    opacity: 1;
  }
  .top_diseases_Symptoms .symptoms_menu_list li a:hover img {
    opacity: 1;
  }
  .top_diseases_Symptoms .symptoms_menu_list li a:hover:before {
    -webkit-transition: 0.2s ease-in;
    transition: 0.2s ease-in;
    right: 0;
  }
  .top_diseases_Symptoms .symptoms_menu_list li a:hover .ic {
    background: #fff;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .top_diseases_Symptoms .symptoms_menu_list li a:hover .arrow {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .top_diseases_Symptoms .symptoms_menu_list li a:hover .arrow:before,
  .top_diseases_Symptoms .symptoms_menu_list li a:hover .arrow:after {
    -webkit-transition: background 0.2s ease;
    transition: background 0.2s ease;
  }
  .top_diseases_Symptoms .symptoms_menu_list li a:hover .arrow:before {
    -webkit-animation-name: transformButtonRightLeft2;
    animation-name: transformButtonRightLeft2;
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
  }
  .top_diseases_Symptoms .symptoms_menu_list li a:hover .arrow:after {
    background: url(../img/common/ic_blue.svg) no-repeat center/cover;
    -webkit-animation-name: transformButtonLeftRight2;
    animation-name: transformButtonLeftRight2;
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
  }
  .top_diseases_Symptoms .disease_container {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 93px;
    padding-left: 31px;
  }
  .top_diseases_Symptoms .disease_container h3 {
    padding-top: 29px;
  }
}
@media (min-width: 1921px) {
  .top_diseases_Symptoms:before {
    right: 0;
    left: auto;
  }
  .top_diseases_Symptoms:after {
    left: 0;
    right: auto;
  }
}
.top_otolaryngology {
  position: relative;
}

.top_otolaryngology:after {
  content: "";
  background: url(../img/top/top_otolaryngology_bg.png) no-repeat center/cover;
  width: 1840px;
  height: 810px;
  position: absolute;
  bottom: 0;
  right: 80px;
  z-index: -1;
}

.top_otolaryngology .primary_container {
  margin-bottom: 23px;
}

.top_otolaryngology .main_container .thumbnail_wrap .splide__list {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  .top_otolaryngology:after {
    background: url(../img/top/top_otolaryngology_bg_sp.png) no-repeat center/cover;
    width: 390px;
    height: 880px;
    left: auto;
    right: 0;
  }
}
@media (min-width: 1921px) {
  .top_otolaryngology:after {
    right: auto;
    left: 0;
  }
}
.top_features {
  padding: 122px 0 200px;
  position: relative;
}

.top_features:before {
  content: "";
  background: url(../img/top/top_bg05.png) no-repeat center/cover;
  width: 313px;
  height: 853px;
  position: absolute;
  top: 0;
  right: 1607px;
}

.top_features h2 {
  margin-bottom: 58px;
}

.top_features .features_splide {
  position: relative;
}

.top_features .features_splide .splide__pagination {
  position: absolute;
  top: 35px;
  left: calc(100% - 213px);
  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-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 11px;
  counter-reset: slide-num;
  width: 52px;
  height: 250px;
}

.top_features .features_splide .splide__pagination li {
  height: auto;
}

.top_features .features_splide .splide__pagination li button.is-active {
  height: 32px;
  width: 52px;
  background: #fff;
  border-radius: 28px 0 0 28px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.top_features .features_splide .splide__pagination li button.is-active:before {
  color: var(--Gray-30);
}

.top_features .features_splide .splide__arrows .splide__arrow {
  width: 80px;
  height: 80px;
  background: #fff;
  opacity: 1;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  border-radius: 4px;
}

.top_features .features_splide .splide__arrows .splide__arrow:before {
  content: "";
  width: 16px;
  height: 10px;
  background: url(../img/top/arrow_slider.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

.top_features .features_splide .splide__arrows .splide__arrow svg {
  display: none;
}

.top_features .features_splide .splide__arrows .splide__arrow:hover {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  background: #454854;
}

.top_features .features_splide .splide__arrows .splide__arrow:hover:before {
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  width: 20px;
  height: 12px;
  background: url(../img/top/arrow_slider_h.svg) no-repeat center/cover;
}

.top_features .features_splide .splide__arrows .splide__arrow.splide__arrow--prev {
  -webkit-transform: translateY(-50%) scale(-1, 1);
  transform: translateY(-50%) scale(-1, 1);
  left: 108px;
}

.top_features .features_splide .splide__arrows .splide__arrow.splide__arrow--next {
  right: 108px;
}

.top_features .counter {
  background: none;
  width: auto;
  height: auto;
  border: 0;
  padding: 0;
  line-height: 1;
  position: absolute;
  top: 40px;
  right: 0;
  width: 52px;
}
.top_features .counter li {
  text-align: center;
  width: 100%;
  height: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.top_features .counter li:not(:last-child) {
  margin-bottom: 13px;
}
.top_features .counter li.is-active {
  background: #fff;
  border-radius: 28px 0 0 28px;
  height: 32px;
}
.top_features .counter li.is-active button {
  color: #454854;
  cursor: default;
}
.top_features .counter li.is-active button:hover {
  opacity: 1;
}

.top_features .counter button {
  color: #fff;
  text-align: center;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 100%;
  background: transparent;
  border: 0;
  cursor: default;
}

.top_features .counter::before {
  color: #fff;
  text-align: center;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 100%;
}

.top_features .counter:hover {
  opacity: 1;
}
.top_features .counter:hover button {
  opacity: 1;
}

.top_features .feature_contents {
  width: 640px;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 40px 0 64px 121px;
  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-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.top_features .feature_contents .features_number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.top_features .feature_contents .num {
  color: #fff;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 136px;
  font-weight: 500;
  line-height: 100%;
}

.top_features .feature_contents .en {
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.48px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.top_features .feature_contents h3 {
  border: 0;
  padding: 0;
  text-align: left;
  letter-spacing: 2.4px;
  margin-bottom: 30px;
}

.top_features .feature_contents h3:before,
.top_features .feature_contents h3:after {
  display: none;
}

.top_features .feature_contents h3 .title {
  padding: 6px 9px 11px 12px;
  background: var(--Text-White, #FFF);
  display: inline-block;
  color: var(--Gray-30);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 100%;
}

.top_features .feature_contents h4 {
  color: #FFF;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 1.08px;
  padding: 0 0 0 21px;
  position: relative;
  margin: 0 auto 18px;
  border: 0;
}

.top_features .feature_contents h4:before {
  content: "";
  width: 12px;
  height: 12px;
  background: var(--Gray-80);
  border-radius: 50%;
  position: absolute;
  top: 9px;
  left: 0;
}

.top_features .contents .txt_wrap {
  color: #fff;
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 18px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.72px;
}

.top_features .contents .txt_wrap:not(:last-child) {
  margin-bottom: 33px;
}

.top_features .contents .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 7px;
}

.top_features .contents .list li {
  padding: 2px 8px;
  border-radius: 2px;
  background: var(--Gray-95);
  color: var(--Text-Black);
  -webkit-font-feature-settings: "halt" on;
  font-feature-settings: "halt" on;
  font-size: 16px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.64px;
}

.top_features .splide__slide {
  height: 640px;
}

.top_features .splide__slide img {
  border-radius: 24px;
}

@media (min-width: 768px) {
  .top_features .splide__slide {
    height: 640px;
  }
  .top_features .splide__slide img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
@media (max-width: 767px) {
  .top_features {
    padding: 80px 0 169px;
  }
  .top_features:before {
    background: url(../img/top/top_bg05_sp.png) no-repeat center/cover;
    right: clamp(86px, 22.05vw, 265px);
    top: 244px;
    width: 493px;
    height: 808px;
  }
  .top_features h2 {
    margin-bottom: 87px;
  }
  .top_features .features_splide .splide__slide {
    height: 640px;
  }
  .top_features .features_splide .splide__slide img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .top_features .features_splide .splide__arrows .splide__arrow.splide__arrow--prev {
    left: calc(50% - 84px);
  }
  .top_features .features_splide .splide__arrows .splide__arrow.splide__arrow--next {
    right: calc(50% - 84px);
  }
  .top_features .features_splide .splide__arrows .splide__arrow.splide__arrow {
    top: calc(100% + 8px);
    -webkit-box-shadow: 0 0 80px 0 rgba(26, 26, 26, 0.15);
    box-shadow: 0 0 80px 0 rgba(26, 26, 26, 0.15);
  }
  .top_features .feature_contents {
    padding: 24px 24px 80px 24px;
    width: 100%;
  }
  .top_features .feature_contents .num {
    font-size: 120px;
  }
  .top_features .feature_contents .en {
    font-size: 20px;
    letter-spacing: 0.4px;
  }
  .top_features .feature_contents .features_number {
    padding-left: 8px;
  }
  .top_features .feature_contents h3 {
    margin-bottom: 16px;
  }
  .top_features .feature_contents h3 .title {
    font-size: 28px;
    letter-spacing: 1.68px;
    padding: 4px 8px 7px 8px;
  }
  .top_features .contents .txt_wrap {
    font-size: 16px;
    letter-spacing: 0.64px;
  }
  .top_features .counter {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 1254px) {
  .top_features .features_splide .splide__pagination {
    left: calc(100% - 140px);
  }
  .top_features .features_splide .splide__arrows .splide__arrow.splide__arrow--prev {
    left: 32px;
  }
  .top_features .features_splide .splide__arrows .splide__arrow.splide__arrow--next {
    right: 32px;
  }
}
@media (min-width: 1921px) {
  .top_features:before {
    left: 0;
    right: auto;
  }
}
.mce-content-body {
  /* 月間予約カレンダー、複合カレンダー、時間割カレンダー、リストカレンダー、ミックスカレンダー、月リストカレンダー */
  /* 指定日予約状況表示 */
  /* ミックスカレンダーデイリー */
  /* 予約フォーム */
  /* Ver.1.34.2 オプション選択肢料金非表示設定 */
  /* 予約フォーム料金表 */
  /* 予約フォーム　同意書　送信ボタン */
  /* 予約フォーム オプション表示項目 */
  /* 予約確認 キャンセル */
}

.mce-content-body .list-monthly-calendar,
.mce-content-body .mix-calendar,
.mce-content-body .list-calendar,
.mce-content-body .timetbale-calendar,
.mce-content-body .multiple-calendar,
.mce-content-body .monthly-calendar {
  margin-bottom: 1.5em;
}

.mce-content-body .list-calendar h3,
.mce-content-body .timetable-calendar h3,
.mce-content-body .multiple-calendar h3,
.mce-content-body .monthly-calendar h3 {
  font-size: 1.1em;
  margin: 0.5em 0;
}

.mce-content-body .calendar-caption {
  font-size: 1.2em;
}

.mce-content-body .mix-calendar th,
.mce-content-body .timetable-calendar th,
.mce-content-body .multiple-calendar th,
.mce-content-body .monthly-calendar th {
  font-size: 1.1em;
}

.mce-content-body .monthly-prev-next {
  font-size: 1em;
}

.mce-content-body .calendar-time-mark,
.mce-content-body .calendar-mark,
.mce-content-body .calendar-time-disable {
  font-size: 1.4em;
}

.mce-content-body .calendar-time-mark {
  line-height: 1.5em;
}

.mce-content-body .calendar-time-mark .time-string,
.mce-content-body .calendar-mark .article-name {
  font-size: 0.8em;
}

.mce-content-body .day-calendar {
  margin-bottom: 1.5em;
}

.mce-content-body .day-calendar h3 {
  font-size: 1.1em;
}

.mce-content-body .day-calendar th,
.mce-content-body .day-calendar td {
  font-size: 1em;
}

.mce-content-body th.day-left {
  line-height: 2.5em;
}

.mce-content-body td.day-right {
  font-size: 1.5em;
}

.mce-content-body .day-mix-calendar {
  margin-bottom: 1.5em;
}

.mce-content-body .day-mix-calendar th,
.mce-content-body .day-mix-calendar td {
  font-size: 1em;
}

.mce-content-body .mix-dayrow.space-line {
  height: 1em;
}

.mce-content-body .content-form {
  margin-bottom: 1em;
}

.mce-content-body .content-form .form-message {
  margin-bottom: 1em;
  padding: 0.5em;
}

.mce-content-body .content-form fieldset {
  margin: 0 0 1.5em 0;
}

.mce-content-body .content-form legend {
  font-size: 1.1em;
}

.mce-content-body .content-form th {
  font-size: 1em;
  line-height: 2.2em;
}

.mce-content-body .content-form td {
  font-size: 0.9em;
}

.mce-content-body .content-form input,
.mce-content-body .content-form textarea {
  font-size: 1em;
}

.mce-content-body .content-text.small {
  width: 3em;
}

.mce-content-body .input-number {
  margin-right: 1em;
}

.mce-content-body .content-form .booking-seimei {
  width: 3em;
}

.mce-content-body .bill-details td {
  padding-right: 0.5em;
}

.mce-content-body .bill-total,
.mce-content-body .bill-tax {
  padding-right: 1.5em;
}

.mce-content-body #terms-conditions,
.mce-content-body #accedence-box,
.mce-content-body #button-message {
  margin: 1em 0;
}

.mce-content-body .content-form input.booking-option-number {
  width: 3em;
}

.mce-content-body .content-form label.field-item {
  margin-right: 0.4em;
}

.mce-content-body .content-form label.field-item input {
  margin-right: 0.15em;
}

.mce-content-body .content-form select {
  font-size: 1em;
  padding: 0.1em 0.15em;
}

.mce-content-body .subscription-title {
  font-size: 1.2em;
}

/*# sourceMappingURL=bond.css.map */

.page-name-sas .page_title_wrap .page_title .en{
    text-transform: uppercase;
}