@charset "UTF-8";

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

.card-layout--primary:not(:last-child) {
  margin-bottom: 123px;
}

.card-layout--secondary:not(:last-child) {
  margin-bottom: 77px;
}

.card-layout--secondary-small:not(:last-child) {
  margin-bottom: 77px;
}

@media (max-width: 767px) {
  .card-layout--primary:not(:last-child) {
    margin-bottom: 60px;
  }
}

@media (min-width: 768px) {
  .card-layout--primary {
    display: grid;
    grid-template-columns: 417px 1fr;
    gap: 60px;
  }

  .card-layout--primary.reverse {
    grid-template-columns: 1fr 417px;
  }

  .card-layout--primary.reverse .col:nth-child(1) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .card-layout--primary.reverse .col:nth-child(2) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .card-layout--secondary {
    display: grid;
    grid-template-columns: 405px 1fr;
    gap: 60px;
  }

  .card-layout--secondary.reverse {
    grid-template-columns: 1fr 405px;
  }

  .card-layout--secondary.reverse .col:nth-child(1) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .card-layout--secondary.reverse .col:nth-child(2) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .card-layout--secondary-small {
    display: grid;
    grid-template-columns: 330px 1fr;
    gap: 60px;
  }

  .card-layout--secondary-small.reverse {
    grid-template-columns: 1fr 330px;
  }

  .card-layout--secondary-small.reverse .col:nth-child(1) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .card-layout--secondary-small.reverse .col:nth-child(2) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

@media (max-width: 767px) {
  .card-layout--primary .col:not(:last-child) {
    margin-bottom: 30px;
  }

  .card-layout--secondary h4 {
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 1.28px;
    color: var(--green_03);
    margin-bottom: 10px;
  }

  .card-layout--secondary .col:not(:last-child) {
    margin-bottom: 30px;
  }

  .card-layout--secondary-small:not(:last-child) {
    margin-bottom: 40px;
  }

  .card-layout--secondary-small h4 {
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 1.28px;
    color: var(--green_03);
    margin-bottom: 10px;
  }

  .card-layout--secondary-small .col:not(:last-child) {
    margin-bottom: 30px;
  }
}

.box-bg,
.box-border {
  padding: 46px 50px;
  border-radius: 20px;
}

.box-bg:not(:last-child),
.box-border:not(:last-child) {
  margin-bottom: 80px;
}

.box-bg>h4,
.box-border>h4 {
  font-size: 20px;
  line-height: 160%;
  letter-spacing: 0.8px;
  padding: 0 0 14px 34px;
  border-bottom: 1px solid #41987D;
  margin-bottom: 28px;
}

.box-bg>h4:before,
.box-border>h4:before {
  width: 20px;
  background: url(../img/common/ic_h4_tt.svg) no-repeat center/cover;
}

.box-bg p:not(:last-child),
.box-border p:not(:last-child) {
  margin-bottom: 40px;
}

.box-bg .box-bg,
.box-border .box-bg {
  margin-top: 0;
  padding: 30px 40px;
}

.box-bg .box-bg>h5,
.box-border .box-bg>h5 {
  background: transparent;
  color: var(--green_03);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.44px;
  padding: 0 0 0 16px;
  position: relative;
}

.box-bg .box-bg>h5:before,
.box-border .box-bg>h5:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #B2E382;
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.box-bg {
  background: var(--bg_beiju);
}

.box-bg .box-bg {
  background: #fff;
}

.box-border {
  border: 1px solid var(--green_03);
}

.box-border .box-bg {
  background: #FAF9F4;
}

*:not(h3, h4)+.box-bg,
*:not(h3, h4)+.box-border {
  margin-top: 120px;
}

.box-bg+.box-bg,
.box-bg+.box-border,
.box-border+.box-bg,
.box-border+.box-border {
  margin-top: 80px;
}

@media (max-width: 767px) {

  .box-bg,
  .box-border {
    padding: 25px 24px;
    border-radius: 10px;
  }

  .box-bg:not(:last-child),
  .box-border:not(:last-child) {
    margin-bottom: 40px;
  }

  .box-bg>h4,
  .box-border>h4 {
    font-size: 16px;
    letter-spacing: 0.64px;
    padding: 0 0 11px 30px;
    margin-bottom: 26px;
  }

  .box-bg>h4:before,
  .box-border>h4:before {
    width: 16px;
    height: 8px;
  }

  .box-bg p:not(:last-child),
  .box-border p:not(:last-child) {
    margin-bottom: 35px;
  }

  .box-bg p+.box-bg,
  .box-border p+.box-bg {
    margin-top: 0;
  }

  .box-bg .box-bg,
  .box-bg .boxborder,
  .box-border .box-bg,
  .box-border .boxborder {
    padding: 20px;
    border-radius: 10px;
  }

  .box-bg .box-bg h5,
  .box-bg .boxborder h5,
  .box-border .box-bg h5,
  .box-border .boxborder h5 {
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 1.28px;
    margin-bottom: 11px;
  }

  *+.box-bg,
  *+.box-border {
    margin-top: 60px;
  }

  .box-bg+.box-bg,
  .box-bg+.box-border,
  .box-border+.box-bg,
  .box-border+.box-border {
    margin-top: 58px;
  }
}

.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%;
}

div.clearfix {
  margin-bottom: 60px;
}

@media (min-width: 768px) {
  div.clearfix {
    margin-bottom: 120px;
  }
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

.link_anchor {
  padding: 20px 0 48px 0;
  background: var(--bg_beiju);
  position: relative;
  margin: 0 !important;
}

.link_anchor:before,
.link_anchor:after {
  content: "";
  width: 100vw;
  height: 100%;
  background: var(--bg_beiju);
  position: absolute;
  top: 0;
}

.link_anchor:before {
  right: 100%;
}

.link_anchor:after {
  left: 100%;
}

.link_anchor li a {
  color: var(--txt_main);
  font-size: 16px;
  line-height: 140%;
  letter-spacing: 0.64px;
  padding: 14px 12px 12px 12px;
  border-radius: 10px;
  border: 1px dashed var(--gray_01);
  background: #FFF;
  text-decoration: none;
  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: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 68px;
  position: relative;
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
}

.link_anchor li a:before,
.link_anchor li a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.link_anchor li a:before {
  width: 28px;
  height: 28px;
  border-radius: 60px;
  background: var(--green_03);
  right: 14px;
}

.link_anchor li a:after {
  width: 10px;
  height: 11px;
  background: url(../img/common/ic_arrow_white.svg) no-repeat center/cover;
  right: 23px;
}

@media (max-width: 767px) {
  .link_anchor {
    padding: 15px 0 40px;
  }

  .link_anchor li:not(:last-child) {
    margin-bottom: 12px;
  }

  .link_anchor li a {
    min-height: 54px;
    padding: 16px 40px 15px 12px;
    font-size: 15px;
    letter-spacing: 0.6px;
  }

  .link_anchor li a:before {
    width: 22px;
    height: 22px;
    right: 13px;
  }

  .link_anchor li a:after {
    width: 9px;
    height: 8px;
    right: 19px;
  }
}

@media (min-width: 768px) {
  .link_anchor {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 12px;
    margin-left: -49px !important;
    margin-right: -49px !important;
  }

  .link_anchor.link_col_3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px 21px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .link_anchor li a {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .link_anchor li a:before,
  .link_anchor li a:after {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .link_anchor li a:hover {
    background: #E0FACD;
    color: var(--green_03);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .link_anchor li a:hover:before {
    -webkit-transform: scale(0.9285);
    transform: scale(0.9285);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .link_anchor li a:hover:after {
    width: 11px;
    height: 10px;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    right: 22px;
  }
}

.ul_button_type li {
  padding: 13px 16px 15px 34px;
  border-radius: 5px;
  border: 1px dashed var(--gray_01);
  background: var(--bg_green_01);
  color: var(--txt_main);
  font-size: 17px;
  line-height: 160%;
  letter-spacing: 0.68px;
  position: relative;
}

.ul_button_type li:not(:last-child) {
  margin-bottom: 20px;
}

.ul_button_type li:before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--green_01);
  border-radius: 50%;
  position: absolute;
  top: 25px;
  left: 15px;
}

.ul_circle li {
  color: var(--txt_main);
  font-size: 17px;
  line-height: 160%;
  letter-spacing: 0.68px;
  position: relative;
  padding: 0 0 0 20px;
}

.ul_circle li:not(:last-child) {
  margin-bottom: 7px;
}

.ul_circle li:before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--green_01);
  position: absolute;
  top: 10px;
  left: 0;
  border-radius: 50%;
}

.ul_check li {
  color: var(--txt_main);
  font-size: 17px;
  line-height: 160%;
  letter-spacing: 0.68px;
  position: relative;
  padding: 0 0 0 34px;
}

.ul_check li:not(:last-child) {
  margin-bottom: 10px;
}

.ul_check li:before {
  content: "";
  width: 23px;
  height: 22px;
  background: url(../img/common/ic_check.svg) no-repeat center/cover;
  position: absolute;
  top: 4px;
  left: 0;
}

.ol_circle {
  counter-reset: my-count;
}

.ol_circle li {
  padding: 19px 18px 19px 63px;
  border-radius: 5px;
  border: 1px dashed var(--gray_01);
  background: var(--bg_green_01);
  counter-increment: my-count;
  position: relative;
  color: var(--txt_main);
  font-size: 17px;
  line-height: 160%;
  letter-spacing: 0.68px;
}

.ol_circle li:not(:last-child) {
  margin-bottom: 19px;
}

.ol_circle li:before {
  content: counter(my-count, decimal-leading-zero);
  color: var(--green_03);
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 1px;
  position: absolute;
  top: 20px;
  left: 17px;
}

@media (max-width: 767px) {
  .ul_button_type li {
    padding: 10px 9px 8px 27px;
    border-radius: 5px;
    font-size: 15px;
    line-height: 160%;
    letter-spacing: 0.6px;
  }

  .ul_button_type li:before {
    top: 19px;
    left: 9px;
  }

  .ul_button_type li:not(:last-child) {
    margin-bottom: 10px;
  }

  .ul_circle li {
    font-size: 17px;
    letter-spacing: 0.6px;
    padding: 0 0 0 18px;
  }

  .ul_circle li:not(:last-child) {
    margin-bottom: 10px;
  }

  .ul_circle li:before {
    top: 8px;
  }

  .ul_check li {
    font-size: 17px;
    line-height: 160%;
    letter-spacing: 0.6px;
    padding-left: 28px;
  }

  .ul_check li:not(:last-child) {
    margin-bottom: 8px;
  }

  .ul_check li:before {
    width: 20px;
    height: 19px;
  }

  .ol_circle li {
    font-size: 15px;
    letter-spacing: 0.6px;
    padding: 11px 10px 8px 50px;
    line-height: 158%;
  }

  .ol_circle li:before {
    font-size: 18px;
    letter-spacing: 0.72px;
    top: 15px;
    left: 14px;
  }
}

@media (min-width: 768px) {
  .ul_button_type.list_columns_2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 21px 20px;
  }

  .ul_button_type.list_columns_2 li {
    -ms-flex-item-align: start;
    align-self: start;
  }

  .ul_button_type.list_columns_2 li:not(:last-child) {
    margin-bottom: 0;
  }

  .ul_button_type.list_columns_3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 21px 20px;
  }

  .ul_button_type.list_columns_3 li {
    -ms-flex-item-align: start;
    align-self: start;
  }

  .ul_button_type.list_columns_3 li:not(:last-child) {
    margin-bottom: 0;
  }

  .ul_button_type.list_columns_4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 20px;
  }

  .ul_button_type.list_columns_4 li {
    -ms-flex-item-align: start;
    align-self: start;
  }

  .ul_button_type.list_columns_4 li:not(:last-child) {
    margin-bottom: 0;
  }

  .ul_circle.list_columns_2,
  .ul_circle.list_columns_3,
  .ul_circle.list_columns_4,
  .ul_check.list_columns_2,
  .ul_check.list_columns_3,
  .ul_check.list_columns_4 {
    gap: 10px 22px;
    display: grid;
  }

  .ul_circle.list_columns_2 li:not(:last-child),
  .ul_circle.list_columns_3 li:not(:last-child),
  .ul_circle.list_columns_4 li:not(:last-child),
  .ul_check.list_columns_2 li:not(:last-child),
  .ul_check.list_columns_3 li:not(:last-child),
  .ul_check.list_columns_4 li:not(:last-child) {
    margin-bottom: 0;
  }

  .ul_circle.list_columns_2,
  .ul_check.list_columns_2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .ul_circle.list_columns_3,
  .ul_check.list_columns_3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .ul_circle.list_columns_4,
  .ul_check.list_columns_4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

table {
  width: 100%;
  border-collapse: collapse;
}

table.table_timetable {
  border-collapse: separate;
  border-spacing: 0 6px;
}

table.table_timetable th,
table.table_timetable td {
  font-weight: 400;
}

table.table_timetable th:first-child {
  width: 114px;
}

table.table_timetable thead th,
table.table_timetable thead td {
  padding: 10px 8px 8px 8px;
  border-radius: 5px;
  background: var(--green_01);
  font-size: 17px;
  line-height: 100%;
  letter-spacing: 1.36px;
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
}

table.table_timetable tbody tr {
  margin-bottom: 20px;
}

table.table_timetable tbody th,
table.table_timetable tbody td {
  padding: 11px 8px;
  background: #FFF;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  line-height: 100%;
  letter-spacing: 0.34px;
}

table.table_timetable tbody th:first-child,
table.table_timetable tbody td:first-child {
  border-radius: 5px 0 0 5px;
}

table.table_timetable tbody th:last-child,
table.table_timetable tbody td:last-child {
  border-radius: 0 5px 5px 0;
}

table.table_timetable tbody td {
  text-align: center;
}

table.table_timetable tbody .week th,
table.table_timetable tbody .week td {
  background: transparent;
  padding: 11px 8px 6px;
}

@media (max-width: 767px) {

  table.table_timetable thead th,
  table.table_timetable thead td {
    font-size: 15px;
    letter-spacing: 1.2px;
    padding: 11px 8px 7px 8px;
  }

  table.table_timetable tbody th,
  table.table_timetable tbody td {
    font-size: 14px;
    letter-spacing: 0.28px;
  }

  table.table_timetable tbody th:first-child {
    width: 90px;
  }

  table.table_timetable tbody .week th,
  table.table_timetable tbody .week td {
    padding: 13px 8px 6px;
    font-size: 15px;
  }
}

table.table:not(:last-child) {
  margin-bottom: 80px;
}

table.table thead th,
table.table thead td {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.72px;
  background: var(--green_03);
  padding: 14px 5px;
}

table.table tbody th,
table.table tbody td {
  color: var(--txt_main);
  font-size: 17px;
  line-height: 160%;
  letter-spacing: 0.68px;
  border-top: 1px solid var(--gray_01);
  border-bottom: 1px solid var(--gray_01);
  vertical-align: top;
}

table.table tbody th {
  padding: 14px 26px;
  background: #EEFAE6;
  text-align: left;
  font-weight: 500;
}

table.table tbody td {
  padding: 16px 24px;
  background: #fff;
}

table.table.table_menu th,
table.table.table_menu td {
  padding: 15px 24px 15px 26px;
}

table.table.table_menu th:first-child {
  width: 67.2%;
}

table.table.table_menu td {
  text-align: right;
}

table.table.table_fixed {
  table-layout: fixed;
}

table.table.table_fixed tbody th,
table.table.table_fixed tbody td {
  padding: 23px 24px;
}

table.table:not(.table_menu) tbody td {
  border-right: solid 1px var(--gray_01);
}

table.table:not(.table_menu) tbody td:last-child {
  border-right: 0;
}

table.table.td_center tbody td {
  text-align: center;
}

@media (max-width: 767px) {
  table.table:not(:last-child) {
    margin-bottom: 60px;
  }

  table.table thead th,
  table.table thead td {
    text-align: left;
    padding: 6px 12px;
    font-size: 15px;
    line-height: 180%;
    letter-spacing: 0.6px;
  }

  table.table tbody th,
  table.table tbody td {
    font-size: 15px;
    letter-spacing: 0.6px;
    vertical-align: middle;
    padding: 11px 12px;
  }

  table.table:not(.table_fixed, .table_menu) th:first-child,
  table.table:not(.table_fixed, .table_menu) td:first-child {
    width: 150px;
  }

  table.table.table_menu tbody th,
  table.table.table_menu tbody td {
    padding: 12px;
    font-size: 15px;
    line-height: 180%;
    letter-spacing: 0.6px;
  }

  table.table.table_fixed tbody th,
  table.table.table_fixed tbody td {
    padding: 11px 12px;
  }
}

@media (min-width: 768px) {

  table.table:not(.table_fixed, .table_menu) th:first-child,
  table.table:not(.table_fixed, .table_menu) td:first-child {
    width: 300px;
  }
}

.consul {
  color: var(--green_03);
}

.consul2 {
  color: #5298d6 !important;
}

.scroll-hint-shadow-wrap:not(:last-child) {
  margin-bottom: 60px;
}

@media (max-width: 767px) {
  .scroll-hint-shadow-wrap:not(:last-child) {
    margin-bottom: 20px;
  }
}

.js-scrollable,
.js-scrollable_pc {
  margin-bottom: 1em;
}

.js-scrollable table,
.js-scrollable_pc table {
  margin-bottom: 21px !important;
}

.js-scrollable .scroll-hint-icon,
.js-scrollable_pc .scroll-hint-icon {
  padding: 20px 5px 10px;
}

@media (max-width: 767px) {
  .scroll-hint-shadow-wrap {
    margin-right: -20px;
    padding-right: 20px;
  }

  .js-scrollable {
    margin-right: -20px;
    padding-right: 20px;
  }

  .js-scrollable table {
    width: auto;
    min-width: 768px;
  }

  .js-scrollable table.table_fixed {
    width: 100%;
  }

  .js-scrollable table.sp-width-small {
    min-width: 420px;
    width: 100%;
  }

  .js-scrollable table.sp-width-small tbody th,
  .js-scrollable table.sp-width-small tbody td {
    padding: 20px 12px;
  }
}

.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;
  }
}

.time-notes {
  border-radius: 5px;
  border: 1px dashed var(--gray_01);
  background: var(--bg_green_01);
  padding: 8px 11px 7px 11px;
  display: table;
}

.time-notes p {
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.64px;
}

@media (max-width: 767px) {
  .sp-negative-box {
    margin-left: -50px;
  }
}

@media (max-width: 389px) {
  .sp-negative-box {
    margin-left: -60px;
  }
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

.box_faq:not(:last-child) {
  margin-bottom: 30px;
}

.box_faq .question {
  border-radius: 10px;
  background: -webkit-gradient(linear, left top, right top, from(#1AB584), color-stop(91.1%, #A0E292));
  background: linear-gradient(90deg, #1AB584 0%, #A0E292 91.1%);
  position: relative;
}

.box_faq .question:before {
  content: "Q";
  color: #fff;
  text-align: center;
  font-family: "Urbanist", sans-serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 2.4px;
  position: absolute;
  top: 50%;
  left: 26px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.box_faq .question:after {
  content: "";
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 26px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.box_faq .question .faq_title {
  color: #FFF;
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.8px;
  padding: 19px 76px 19px 76px;
  position: relative;
  cursor: pointer;
}

.box_faq .question .faq_title:before,
.box_faq .question .faq_title:after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 34px;
  width: 14px;
  height: 2px;
  background: var(--green_03);
  z-index: 1;
}

.box_faq .question .faq_title:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  top: calc(50% - 1px);
}

.box_faq .answer {
  margin-top: 20px;
  padding: 0 26px 0 79px;
  position: relative;
  display: none;
}

.box_faq .answer:before {
  content: "A";
  color: var(--green_03);
  font-family: "Urbanist", sans-serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 2.4px;
  position: absolute;
  top: 1px;
  left: 28px;
}

.box_faq.open .question .faq_title:after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

@media (max-width: 767px) {
  .box_faq:not(:last-child) {
    margin-bottom: 26px;
  }

  .box_faq .question:before {
    font-size: 26px;
    letter-spacing: 2.08px;
    left: 16px;
  }

  .box_faq .question:after {
    right: 10px;
  }

  .box_faq .question .faq_title {
    padding: 12px 54px 12px 51px;
    font-size: 17px;
    line-height: 160%;
    letter-spacing: 0.68px;
  }

  .box_faq .question .faq_title:before,
  .box_faq .question .faq_title:after {
    right: 19px;
  }

  .box_faq .answer {
    margin-top: 26px;
    padding: 0 0 0 49px;
  }

  .box_faq .answer:before {
    font-size: 26px;
    letter-spacing: 2.08px;
    left: 16px;
  }
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

.flow-box {
  counter-reset: flow-counter;
}

.flow-box:not(:last-child) {
  margin-bottom: 120px;
}

.flow-box .flow-block {
  counter-increment: flow-counter;
  max-width: 987px;
  width: 100%;
  margin-left: auto;
  position: relative;
}

.flow-box .flow-block:not(:last-child) {
  margin-bottom: 27px;
}

.flow-box .flow-block:first-child .title:before {
  right: calc(100% + 55px);
}

.flow-box .flow-block:before {
  content: "";
  width: 1px;
  height: calc(100% - 83px);
  background: var(--green_03);
  position: absolute;
  top: 80px;
  right: calc(100% + 72px);
}

.flow-box .flow-block .title {
  color: var(--green_03, #31AF88);
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
  font-size: 22px;
  line-height: 160%;
  letter-spacing: 1.76px;
  padding: 22.5px 0;
  position: relative;
  z-index: 0;
  margin-bottom: 10px;
  border: 0;
  background: transparent;
  text-align: left;
}

.flow-box .flow-block .title:before {
  content: counter(flow-counter, decimal-leading-zero);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: calc(100% + 52px);
  margin: auto;
  color: #fff;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 1.28px;
  z-index: -1;
}

.flow-box .flow-block .title:after {
  content: "";
  width: 80px;
  height: 80px;
  background: var(--green_03);
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: calc(100% + 34px);
  z-index: -2;
}

.flow-box .flow-block .box-bg {
  margin-top: 0;
  padding: 42px 40px 42px 36px;
}

.flow-box .flow-block .box-bg h4 {
  padding: 0;
  margin-bottom: 28px;
  border: 0;
  letter-spacing: 1.6px;
}

.flow-box .flow-block .box-bg h4:before {
  display: none;
}

.flow-box .flow-block .box-bg .box-bg {
  margin-top: 60px;
  padding: 30px 40px;
}

@media (max-width: 767px) {
  .flow-box:not(:last-child) {
    margin-bottom: 58px;
  }

  .flow-box .flow-block {
    width: 82%;
  }

  .flow-box .flow-block:before {
    top: 50px;
    right: calc(100% + 37px);
    height: calc(100% - 50px);
  }

  .flow-box .flow-block:not(:last-child) {
    margin-bottom: 30px;
  }

  .flow-box .flow-block:first-child .title:before {
    right: calc(100% + 26px);
  }

  .flow-box .flow-block .title {
    font-size: 17px;
    letter-spacing: 1.36px;
    padding: 11.5px 0;
  }

  .flow-box .flow-block .title:before {
    font-size: 20.833px;
    line-height: 200%;
    letter-spacing: 0.833px;
    right: calc(100% + 24px);
  }

  .flow-box .flow-block .title:after {
    width: 50px;
    height: 50px;
    right: calc(100% + 13px);
  }

  .flow-box .flow-block .box-bg {
    padding: 22px 22px 22px 20px;
  }

  .flow-box .flow-block .box-bg h4 {
    margin-bottom: 12px;
    letter-spacing: 1.28px;
  }

  .flow-box .flow-block .box-bg .box-bg {
    padding: 20px;
    margin-top: -5px;
  }

  .flow-box .flow-block .box-bg .box-bg h5 {
    margin-bottom: 13px;
  }

  .flow-box .flow-block .box-bg .box-bg p {
    font-size: 14px;
    line-height: 180%;
    letter-spacing: 1.12px;
  }

  .flow-box .flow-block .card-layout--secondary .col:not(:last-child) {
    margin-bottom: 21px;
  }

  .flow-box .flow-block .card-layout--secondary h4 {
    color: var(--main_txt);
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 1.28px;
    margin-bottom: 11px;
  }
}

.number-container {
  counter-reset: number-counter;
}

.number-container:not(:last-child) {
  margin-bottom: 120px;
}

.number-container__block {
  padding: 46px 50px;
  border-radius: 20px;
  background: var(--bg_beiju);
}

.number-container__block:first-child .title:after {
  left: 22px;
}

.number-container__block:not(:last-child) {
  margin-bottom: 40px;
}

.number-container__block .title {
  position: relative;
  counter-increment: number-counter;
  color: var(--txt_main);
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 1.76px;
  padding: 21px 0 23px 110px;
  margin-bottom: 26px;
}

.number-container__block .title:before {
  content: "";
  width: 80px;
  height: 80px;
  border-radius: 45px;
  background: var(--green_03);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

.number-container__block .title:after {
  content: counter(number-counter, decimal-leading-zero);
  width: auto;
  color: #fff;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 1.28px;
  position: absolute;
  top: 50%;
  left: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .number-container:not(:last-child) {
    margin-bottom: 58px;
  }

  .number-container__block {
    padding: 24px;
  }

  .number-container__block:first-child .title:after {
    left: 13px;
  }

  .number-container__block .title {
    font-size: 17px;
    letter-spacing: 1.36px;
    min-height: 54px;
    padding: 0 0 0 62px;
    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: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .number-container__block .title:before {
    width: 50px;
    height: 50px;
  }

  .number-container__block .title:after {
    font-size: 21px;
    letter-spacing: 0.833px;
    left: 12px;
  }
}

.flow-container {
  padding: 46px 50px;
  border-radius: 20px;
  background: var(--bg_beiju);
}

.flow-container:not(:last-child) {
  margin-bottom: 80px;
  position: relative;
}

.flow-container:not(:last-child):after {
  content: "";
  width: 60px;
  height: 15px;
  background: var(--green_03);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: absolute;
  top: calc(100% + 35px);
  left: 0;
  right: 0;
  margin: auto;
}

.flow-container .title {
  position: relative;
  color: var(--txt_main);
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 1.76px;
  padding: 0 0 10px;
  margin-bottom: 26px;
  background: transparent;
  border: 0;
  border-bottom: solid 1px var(--green_03);
  border-radius: 0;
  text-align: left;
}

.flow-container .title:before,
.flow-container .title:after {
  display: none;
}

.flow-container .box-border {
  background: #fff;
}

@media (max-width: 767px) {
  .flow-container {
    padding: 26px 30px;
  }

  .flow-container .title {
    font-size: 17px;
    letter-spacing: 1.36px;
    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: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

.footer .footer-info {
  padding: 100px 0 78px;
  background: var(--bg_beiju);
  position: relative;
  z-index: 0;
}

.footer .footer-info:after {
  content: "";
  width: 665px;
  height: 564px;
  background: url(../img/common/logo-mark.svg) no-repeat center/cover;
  position: absolute;
  bottom: 0;
  right: 20px;
  z-index: -1;
}

.footer .footer-info__logo {
  margin-bottom: 30px;
}

.footer .footer-info__list {
  margin-bottom: 23px;
}

.footer .footer-info__list .address {
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  line-height: 160%;
  letter-spacing: 0.68px;
  margin-bottom: 17px;
}

.footer .footer-info__list .tel {
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 1.28px;
}

.footer .footer-info__list .tel a {
  font-size: 29px;
  letter-spacing: 2.32px;
  padding-left: 11px;
}

.footer .footer-info .diagnosis-list {
  display: grid;
  grid-template-columns: 91px 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px dashed var(--gray_01);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 30px;
}

.footer .footer-info .diagnosis-list dt,
.footer .footer-info .diagnosis-list dd {
  height: 100%;
}

.footer .footer-info .diagnosis-list dt {
  padding: 4px 5px 4px 9px;
  border-right: 1px dashed var(--gray_01);
  background: var(--bg_green_01);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 17px;
  line-height: 180%;
  letter-spacing: 0.68px;
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
}

.footer .footer-info .diagnosis-list dt .ttl {
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
}

.footer .footer-info .diagnosis-list dd {
  background: #FFF;
  padding: 10px 10px 7px 13px;
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 15px;
  line-height: 160%;
  letter-spacing: 0.6px;
}

.footer .footer-info .table_timetable {
  margin-bottom: 14px;
}

.footer .footer-info .access_method {
  margin-bottom: 30px;
}

.footer .footer-info .access_method__station {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  line-height: 160%;
  letter-spacing: 1.36px;
  margin: 16px 0 20px;
}

.footer .footer-info .access_method__btn a {
  padding: 8px 8px;
  border-radius: 5px;
  border: 1px dashed var(--gray_01);
  background: #fff;
  -webkit-box-shadow: 4px 4px 15px 0 rgba(63, 71, 80, 0.1);
  box-shadow: 4px 4px 15px 0 rgba(63, 71, 80, 0.1);
  display: block;
  text-decoration: none;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: normal;
}

.footer .footer-info .access_method__btn a .ic {
  padding-left: 29px;
  position: relative;
}

.footer .footer-info .access_method__btn a .ic:before {
  content: "";
  width: 16px;
  height: 22px;
  background: url(../img/common/ic_access.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.footer .footer-info .external_banners {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.footer .footer-info .external_banners li {
  text-align: center;
}

.footer .footer-info .external_banners li img {
  outline: 1px solid #CEC9C6;
}

.footer .footer-info .external_banners a {
  text-decoration: none;
}

.footer .footer-info .external_banners .txt {
  text-align: center;
  -webkit-font-feature-settings: "pwid" on, "palt" on, "pkna" on;
  font-feature-settings: "pwid" on, "palt" on, "pkna" on;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 12px;
  line-height: 140%;
  letter-spacing: normal;
  display: block;
  margin-top: 11px;
  white-space: nowrap;
}

.footer .footer-info .row {
  margin-bottom: 89px;
}

@media (min-width: 768px) {
  .footer .footer-info .container {
    width: 1140px;
  }

  .footer .footer-info .container .row {
    display: grid;
    grid-template-columns: repeat(2, 510px);
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .footer .footer-info .conversion-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
  }

  .footer .footer-info .conversion-list li a {
    width: 100%;
    border-radius: 5px;
    border: 2px solid #FFF;
    height: 86px;
    padding: 0 0 4px;
    -webkit-box-shadow: 0 4px 10px 0 rgba(63, 71, 80, 0.1);
    box-shadow: 0 4px 10px 0 rgba(63, 71, 80, 0.1);
    position: relative;
    font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
  }

  .footer .footer-info .conversion-list li a:after {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #fff;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    position: absolute;
    bottom: 5px;
    right: 5px;
  }

  .footer .footer-info .conversion-list__web a .ic:before {
    top: 5px;
    width: 24px;
    height: 25px;
  }

  .footer .footer-info .conversion-list__online a .ic:before {
    top: 3px;
    width: 28px;
    height: 25px;
  }

  .footer .footer-info .conversion-list__line a .ic:before {
    top: 5px;
    width: 27px;
    height: 26px;
  }

  .footer .footer-info .external_banners {
    grid-template-columns: repeat(2, 154px);
    gap: 14px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .footer .footer-info .access_method__btn a {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .footer .footer-info .access_method__btn a:hover {
    background: #EEFAE6;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    color: #31AF88;
  }

  .footer .footer-info .external_banners a img {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .footer .footer-info .external_banners a:hover img {
    opacity: 0.7;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
}

.footer .footer-visual {
  height: 780px;
  background: url(../img/common/bg-footer.jpg) no-repeat center/cover;
}

.footer .footer-visual .loopText {
  font-size: 105px;
  line-height: 180%;
  letter-spacing: 14.7px;
}

@media (max-width: 767px) {
  .footer {
    overflow: hidden;
  }

  .footer .footer-info {
    padding: 61px 0 50px;
  }

  .footer .footer-info:after {
    width: 336px;
    height: 525px;
    right: auto;
    left: 54px;
    bottom: 0;
    background: url(../img/common/logo-mark_sp.svg) no-repeat center/cover;
  }

  .footer .footer-info .container {
    max-width: calc(100% - 40px);
  }

  .footer .footer-info__logo {
    margin-bottom: 23px;
  }

  .footer .footer-info__list {
    margin-bottom: 16px;
  }

  .footer .footer-info__list .address {
    font-size: 15px;
    line-height: 160%;
    letter-spacing: 0.6px;
    margin-bottom: 5px;
  }

  .footer .footer-info__list .tel {
    font-size: 14px;
    line-height: 150%;
    letter-spacing: 1.12px;
  }

  .footer .footer-info__list .tel a {
    font-size: 28px;
    line-height: 150%;
    letter-spacing: 2.24px;
    padding-left: 9px;
  }

  .footer .footer-info .diagnosis-list {
    grid-template-columns: 100%;
    margin-bottom: 22px;
  }

  .footer .footer-info .diagnosis-list dt {
    display: block;
    padding: 5px 10px 1px;
    text-align: center;
    font-size: 15px;
    line-height: 180%;
    letter-spacing: 0.6px;
    border: 0;
    border-bottom: 1px dashed var(--gray_01);
  }

  .footer .footer-info .diagnosis-list dd {
    font-size: 14px;
    line-height: 159%;
    letter-spacing: 0.56px;
    padding: 10px 10px 8px 13px;
  }

  .footer .footer-info .time-notes {
    padding: 9px 11px 7px 13px;
  }

  .footer .footer-info .time-notes p {
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0.56px;
  }

  .footer .footer-info .access_method__station {
    font-size: 15px;
    letter-spacing: 1.2px;
    margin: 16px 0 18px;
  }

  .footer .footer-info .access_method__btn a {
    font-size: 15px;
    padding: 12px 8px 10px;
  }

  .footer .footer-info .access_method__btn a .ic {
    padding-left: 17px;
  }

  .footer .footer-info .access_method__btn a .ic:before {
    left: -11px;
  }

  .footer .footer-info .conversion-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
  }

  .footer .footer-info .conversion-list li a {
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0.96px;
    padding: 15px 0;
    height: 86px;
    border-radius: 5px;
    border: 2px solid #FFF;
    -webkit-box-shadow: 0 4px 10px 0 rgba(63, 71, 80, 0.1);
    box-shadow: 0 4px 10px 0 rgba(63, 71, 80, 0.1);
    width: 100%;
    position: relative;
    font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
  }

  .footer .footer-info .conversion-list li a:after {
    content: "";
    width: 10px;
    height: 10px;
    background: #E6F7FA;
    position: absolute;
    bottom: 5px;
    right: 5px;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  }

  .footer .footer-info .conversion-list li a .ic:before {
    top: 0;
  }

  .footer .footer-info .conversion-list li.conversion-list__web a .ic {
    padding-top: 36px;
  }

  .footer .footer-info .conversion-list li.conversion-list__web a .ic:before {
    top: 0;
    width: 24px;
    height: 25px;
  }

  .footer .footer-info .conversion-list li.conversion-list__online a .ic {
    padding-top: 36px;
  }

  .footer .footer-info .conversion-list li.conversion-list__online a .ic:before {
    top: 0;
    width: 28px;
    height: 25px;
  }

  .footer .footer-info .conversion-list li.conversion-list__line {
    width: 100%;
  }

  .footer .footer-info .conversion-list li.conversion-list__line a {
    width: 100%;
    height: 62px;
    position: relative;
  }

  .footer .footer-info .conversion-list li.conversion-list__line a:before {
    content: "";
    width: 25px;
    height: 24px;
    background: url(../img/common/ic_line_black.svg) no-repeat center/cover;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 27px;
    margin: auto;
  }

  .footer .footer-info .conversion-list li.conversion-list__line a .ic {
    padding: 0;
  }

  .footer .footer-info .conversion-list li.conversion-list__line a .ic:before {
    display: none;
  }

  .footer .footer-info .conversion-list__web,
  .footer .footer-info .conversion-list__online {
    width: calc(50% - 5px);
  }

  .footer .footer-info .row {
    margin-bottom: 40px;
  }

  .footer .footer-info .row .col:not(:last-child) {
    margin-bottom: 30px;
  }

  .footer .footer-info .external_banners {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .footer .footer-info .external_banners li img {
    width: 100%;
  }

  .footer .footer-info .external_banners li .txt {
    margin-top: 9px;
  }

  .footer .footer-visual {
    height: 430px;
    background: url(../img/common/bg-footer_sp.jpg) no-repeat center/cover;
    padding-top: 125px;
  }

  .footer .footer-visual .loopWrapper {
    margin-bottom: 81px;
  }

  .footer .footer-visual .loopText {
    font-size: 60px;
    letter-spacing: 8.4px;
  }
}

@media (min-width: 768px) {
  .footer .loopWrapper {
    padding: 295px 0 238px;
  }
}

.copyright {
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.96px;
  padding: 16px 0 30px 0;
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

.list_list dd a {
  color: #22262e;
  text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
  .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;
  }
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

.loopslider_wrap {
  overflow: hidden;
}

.loopslider {
  -webkit-animation: loopslider 120s linear infinite;
  animation: loopslider 120s linear infinite;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 3816px;
  height: 100%;
}

.loopslider .loopslider_item {
  margin: 0 8px;
}

.loopslider .loopslider_item:nth-child(even) {
  margin-top: 40px;
}

.loopslider img {
  border-radius: 10px;
  -webkit-box-shadow: 0 0 40px 0 rgba(63, 71, 80, 0.2);
  box-shadow: 0 0 40px 0 rgba(63, 71, 80, 0.2);
}

@-webkit-keyframes loopslider {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-1908px);
    transform: translateX(-1908px);
  }
}

@keyframes loopslider {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-1908px);
    transform: translateX(-1908px);
  }
}

@media (min-width: 768px) {
  .loopslider {
    -webkit-animation: loopslider 100s linear infinite;
    animation: loopslider 100s linear infinite;
    width: 9360px;
  }

  .loopslider .loopslider_item {
    margin: 0 25px;
  }

  .loopslider .loopslider_item:nth-child(even) {
    margin-top: 100px;
  }

  @-webkit-keyframes loopslider {
    0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }

    100% {
      -webkit-transform: translateX(-4680px);
      transform: translateX(-4680px);
    }
  }

  @keyframes loopslider {
    0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }

    100% {
      -webkit-transform: translateX(-4680px);
      transform: translateX(-4680px);
    }
  }
}

.img_slider {
  max-width: 850px;
  margin: auto;
}

.img_slider img {
  border-radius: 0;
}

.img_slider .img_slide_thumb {
  margin-top: 10px;
}

.img_slider .img_slide_thumb img {
  padding: 0 2px;
}

.img_slider .img_slide_main .item {
  position: relative;
}

.img_slider .img_slide_main .img_slider_title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.7);
  padding: 15px 10px;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}

@media (min-width: 768px) {
  .img_slider .img_slide_thumb img {
    padding: 0 5px;
  }
}

@media (min-width: 768px) {
  .pcbr {
    display: block !important;
  }
}

@media (max-width: 767px) {
  .spbr {
    display: block !important;
  }

  .tablet-hide {
    display: block !important;
  }
}

@media (min-width: 1225px) {
  .pcbr02 {
    display: block !important;
  }

  .sp02 {
    display: none !important;
  }
}

@media (max-width: 1224px) {
  .spbr02 {
    display: block !important;
  }

  .pc02 {
    display: none !important;
  }
}

@media (max-width: 1224px) {
  .pc03 {
    display: none !important;
  }

  .tablet-hide {
    display: block !important;
  }
}

@media (min-width: 1225px) {
  .sp03 {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .row .col:not(:last-child) {
    margin-bottom: 25px;
  }

  .spmb0 {
    margin-bottom: 0 !important;
  }

  .spmb-sample {
    margin-bottom: 27px !important;
  }

  .image_small {
    width: 50%;
  }
}

@media (min-width: 768px) {
  .pcmb0 {
    margin-bottom: 0 !important;
  }

  .image_small {
    max-width: 20%;
  }
}

.mb3 {
  margin-bottom: 30px !important;
}

.loopWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  white-space: nowrap;
}

.loopWrapper:not(.main-bottom) .loopText {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(44.14%, rgba(255, 255, 255, 0.2)), color-stop(73.68%, rgba(255, 255, 255, 0.8)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 44.14%, rgba(255, 255, 255, 0.8) 73.68%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.loopWrapper .loopText {
  margin: 0;
  display: inline-block;
  font-family: "Urbanist", sans-serif;
  font-weight: 300;
  -webkit-animation: loop-animation 40s linear infinite;
  animation: loop-animation 40s linear infinite;
}

@-webkit-keyframes loop-animation {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes loop-animation {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

.u-docotr-primary .greeting-block:not(:last-child) {
  margin-bottom: 100px;
}

.u-docotr-primary .greeting-block img {
  border-radius: 20px;
}

.u-docotr-primary .profile-block {
  padding: 59px 50px 44px;
  border-radius: 20px;
  background: var(--bg_beiju);
}

.u-docotr-primary .profile-block h4:before {
  width: 3px;
  height: 28px;
  background: url(../img/common/ic_h4_ttl2.svg) no-repeat center/cover;
  top: 0;
  bottom: 0;
}

.u-docotr-primary .ul_circle li {
  font-size: 16px;
  letter-spacing: 0.64px;
  padding: 0 0 0 17px;
}

.u-docotr-primary .ul_circle.type_line li {
  padding: 9px 0 15px 27px;
  border-bottom: 1px dashed var(--gray_01);
}

.u-docotr-primary .ul_circle.type_line li:before {
  top: 19px;
  left: 7px;
}

@media (max-width: 767px) {
  .u-docotr-primary .greeting-block:not(:last-child) {
    margin-bottom: 47px;
  }

  .u-docotr-primary .greeting-block .col:not(:last-child) {
    margin-bottom: 32px;
  }

  .u-docotr-primary .greeting-block p {
    font-size: 15px;
    line-height: 180%;
    letter-spacing: 1.2px;
  }

  .u-docotr-primary .doctor-image {
    margin-top: 39px;
    height: 330px;
    width: 276px;
    margin-left: auto;
    margin-right: auto;
  }

  .u-docotr-primary .doctor-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .u-docotr-primary .profile-block {
    padding: 35px 20px 20px 19px;
    border-radius: 10px;
  }

  .u-docotr-primary .profile-block .col:not(:last-child) {
    margin: 0;
  }

  .u-docotr-primary .profile-block h4 {
    font-size: 17px;
    line-height: 140%;
    letter-spacing: 1.36px;
    margin-bottom: 10px;
  }

  .u-docotr-primary .profile-block h4:before {
    height: 100%;
    left: 1px;
  }

  .u-docotr-primary .profile-block .ul_circle li {
    padding: 8px 5px 0px 17px;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.56px;
  }

  .u-docotr-primary .profile-block .ul_circle li:not(:last-child) {
    margin: 0;
  }

  .u-docotr-primary .profile-block .ul_circle.sp_list_columns_2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 7px;
  }

  .u-docotr-primary .profile-block .ul_circle.sp_list_columns_2 li {
    font-size: 14px;
    line-height: 144%;
    letter-spacing: 0.56px;
    padding: 11px 0px 0 17px;
  }

  .u-docotr-primary .profile-block .ul_circle.sp_list_columns_2 li:before {
    top: 20px;
  }

  .u-docotr-primary .profile-block .ul_circle.type_line li {
    padding: 13px 5px 14px 29px;
    font-size: 15px;
    line-height: 160%;
    letter-spacing: 0.6px;
  }

  .u-docotr-primary .profile-block .ul_circle.type_line li:before {
    top: 23px;
    left: 9px;
  }

  .u-docotr-primary .profile-block__second {
    margin-bottom: 54px;
  }

  .u-docotr-primary .profile-block__third h4 {
    margin-bottom: 13px;
  }

  .u-docotr-primary .profile-block__third .ul_circle li:before {
    top: 15px;
  }
}

@media (min-width: 768px) {
  .u-docotr-primary .greeting-block {
    display: grid;
    grid-template-columns: 1fr 330px;
    gap: 60px;
  }

  .u-docotr-primary .greeting-block.reverse .col:nth-child(1) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .u-docotr-primary .greeting-block.reverse .col:nth-child(2) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .u-docotr-primary .ul_circle {
    gap: 11px 13px;
  }

  .u-docotr-primary .profile-block .row {
    display: grid;
    grid-template-columns: 163px 1fr;
    gap: 20px;
  }
}

.u-docotr-secondary h3.name_title {
  padding: 0 0 11px 4px;
  background: transparent;
  color: var(--txt_main);
  font-size: 22px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.88px;
  border: 0;
  border-bottom: 1px dashed var(--gray_01);
  border-radius: 0;
  text-align: left;
  margin-bottom: 29px;
}

.u-docotr-secondary h3.name_title .sub {
  display: block;
  font-size: 16px;
  letter-spacing: 0.64px;
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
}

.u-docotr-secondary h3.name_title .en {
  color: var(--green_05);
  font-family: "Urbanist", sans-serif;
  font-size: 19px;
  letter-spacing: 0.76px;
  padding-left: 24px;
}

.u-docotr-secondary .primary-container img {
  border-radius: 19px;
}

.u-docotr-secondary .profile-block__container:not(:last-child) {
  margin-bottom: 30px;
}

.u-docotr-secondary .profile-block__container h4 {
  margin-top: 18px;
  line-height: 140%;
}

.u-docotr-secondary .profile-block__container h4:before {
  width: 3px;
  height: 100%;
  background: url(../img/common/ic_h4_ttl2.svg) no-repeat center/cover;
  top: 0;
  bottom: 0;
}

.u-docotr-secondary .profile-block__container .ul_circle li {
  font-size: 16px;
  line-height: 160%;
  letter-spacing: 0.64px;
}

.u-docotr-secondary .profile-block__container .ul_circle li:not(:last-child) {
  margin-bottom: 10px;
}

.u-docotr-secondary .profile-block__container .table_info {
  width: 100%;
}

.u-docotr-secondary .profile-block__container .table_info th,
.u-docotr-secondary .profile-block__container .table_info td {
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0.64px;
  border-bottom: 1px dashed var(--gray_01);
}

.u-docotr-secondary .profile-block__container .table_info th {
  padding: 15px 0 16px 8px;
  text-align: left;
  white-space: nowrap;
  width: 1px;
}

.u-docotr-secondary .profile-block__container .table_info td {
  padding: 15px 0 16px 30px;
}

@media (max-width: 767px) {
  .u-docotr-secondary h3.name_title {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.72px;
    padding: 0 0 6px 4px;
  }

  .u-docotr-secondary h3.name_title .sub {
    font-size: 13px;
    letter-spacing: 0.52px;
  }

  .u-docotr-secondary h3.name_title .en {
    padding-left: 20px;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0.56px;
  }

  .u-docotr-secondary .primary-container .col:not(:last-child) {
    margin-bottom: 31px;
  }

  .u-docotr-secondary .profile-block__container:not(:last-child) {
    margin-bottom: 49px;
  }

  .u-docotr-secondary .profile-block__container .col:not(:last-child) {
    margin-bottom: 21px;
  }

  .u-docotr-secondary .profile-block__container h4 {
    font-size: 17px;
    letter-spacing: 1.36px;
    padding-left: 15px;
    margin-bottom: 23px;
  }

  .u-docotr-secondary .profile-block__container .table_info {
    margin-top: 26px;
  }

  .u-docotr-secondary .profile-block__container .table_info tr:first-child th,
  .u-docotr-secondary .profile-block__container .table_info tr:first-child td {
    padding-top: 0;
  }

  .u-docotr-secondary .profile-block__container .table_info th,
  .u-docotr-secondary .profile-block__container .table_info td {
    font-size: 15px;
    letter-spacing: 0.6px;
  }

  .u-docotr-secondary .profile-block__container .table_info th {
    padding: 15px 10px 13px 6px;
  }

  .u-docotr-secondary .profile-block__container .table_info td {
    padding: 15px 4px 13px 14px;
  }

  .u-docotr-secondary .profile-block__container .ul_circle li {
    font-size: 14px;
    letter-spacing: 0.56px;
    line-height: 150%;
    padding: 0 0 0 16px;
  }

  .u-docotr-secondary .profile-block__container .ul_circle li:not(:last-child) {
    margin-bottom: 6px;
  }
}

@media (min-width: 768px) {
  .u-docotr-secondary .primary-container {
    display: grid;
    grid-template-columns: 310px 1fr;
    gap: 80px;
  }

  .u-docotr-secondary .profile-block__container {
    display: grid;
    grid-template-columns: 163px 1fr;
    gap: 20px;
  }
}

.page-name-clinic #main .table_timetable:not(:last-child) {
  margin-bottom: 20px;
}

.page-name-clinic #main .table_timetable th:first-child {
  width: 174px;
}

.page-name-clinic #main .table_timetable thead th {
  font-size: 20px;
  letter-spacing: 2px;
  padding: 14px 8px;
  border-radius: 10px;
  background: var(--green_03);
  color: #fff;
}

.page-name-clinic #main .table_timetable tbody .week th,
.page-name-clinic #main .table_timetable tbody .week td {
  padding: 18px 0 12px;
  background: transparent;
}

.page-name-clinic #main .table_timetable tbody th,
.page-name-clinic #main .table_timetable tbody td {
  background: var(--bg_beiju);
  padding: 18px 0;
}

.page-name-clinic #main .table_timetable tbody th:first-child,
.page-name-clinic #main .table_timetable tbody td:first-child {
  border-radius: 5px 0 0 5px;
}

.page-name-clinic #main .table_timetable tbody th:last-child,
.page-name-clinic #main .table_timetable tbody td:last-child {
  border-radius: 0 5px 5px 0;
}

@media (max-width: 767px) {
  .page-name-clinic #main .table_timetable thead {
    background: var(--green_03);
  }

  .page-name-clinic #main .table_timetable thead th,
  .page-name-clinic #main .table_timetable thead td {
    font-size: 15px;
    letter-spacing: 1.2px;
    padding: 11px 8px 8px 8px;
    border-radius: 5px;
  }

  .page-name-clinic #main .table_timetable tbody th:first-child {
    width: 90px;
  }

  .page-name-clinic #main .table_timetable tbody th,
  .page-name-clinic #main .table_timetable tbody td {
    padding: 11px 0;
  }

  .page-name-clinic #main .table_timetable tbody .week th,
  .page-name-clinic #main .table_timetable tbody .week td {
    padding: 12px 0 6px;
    font-size: 15px;
  }

  .page-name-clinic #main .time-notes {
    padding: 9px 12px 9px 13px;
  }

  .page-name-clinic #main .time-notes p {
    font-size: 14px;
    letter-spacing: 0.56px;
  }
}

.page-name-clinic .page_title_wrap {
  background: url(../img/common/clinic_under_title.jpg) no-repeat center/cover;
}

@media (max-width: 767px) {
  .page-name-clinic .page_title_wrap {
    background: url(../img/common/clinic_under_title_sp.jpg) no-repeat center/cover;
  }
}

.page-name-clinic .mce-content-body {
  width: 100%;
  max-width: 100%;
}

.page-name-clinic h2 {
  margin-bottom: 78px;
}

.page-name-clinic .section {
  padding: 150px 0 140px;
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 767px) {
  .page-name-clinic .section {
    padding: 56px 0 80px;
  }

  .page-name-clinic h2 {
    padding-top: 40px;
    margin-bottom: 49px;
  }
}

.u-clinic-info {
  border-bottom: solid 1px var(--green_02);
}

.u-clinic-info h2 {
  color: var(--txt_main);
  text-align: left;
  margin-bottom: 70px;
  padding: 0;
}

.u-clinic-info h2:before {
  display: none;
}

.u-clinic-info h2 .en {
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-family: "Urbanist", sans-serif;
  font-size: 66px;
  font-weight: 300;
  line-height: 140%;
  letter-spacing: 5.28px;
  display: block;
}

.u-clinic-info h2 .jp {
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 4px;
  padding-left: 34px;
  position: relative;
}

.u-clinic-info h2 .jp:before {
  content: "";
  width: 20px;
  height: 10px;
  background: url(../img/common/ic_ttl.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.u-clinic-info .info {
  width: 100%;
}

.u-clinic-info .info th,
.u-clinic-info .info td {
  border-bottom: 1px dashed var(--gray_01);
}

.u-clinic-info .info th {
  padding: 21px 5px 21px 16px;
  color: var(--green_03);
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 180%;
  letter-spacing: 1.36px;
  text-align: left;
  width: 150px;
}

.u-clinic-info .info td {
  padding: 21px 5px 21px 24px;
  font-size: 17px;
  line-height: 180%;
  letter-spacing: 0.68px;
}

.u-clinic-info a[href^="tel:"] {
  font-size: 20px;
  letter-spacing: 0.8px;
  text-decoration: none;
  color: var(--txt_main);
}

@media (max-width: 767px) {
  .u-clinic-info {
    padding-bottom: 80px;
  }

  .u-clinic-info h2 {
    text-align: center;
    padding-left: 3px;
    margin-bottom: 35px;
  }

  .u-clinic-info h2 .en {
    font-size: 33px;
    letter-spacing: 2.64px;
  }

  .u-clinic-info h2 .jp {
    font-size: 18px;
    line-height: 150%;
    letter-spacing: 2.16px;
    padding-left: 28px;
    display: inline-block;
    -webkit-transform: translate(-12px, 0px);
    transform: translate(-12px, 0px);
  }

  .u-clinic-info h2 .jp:before {
    width: 16px;
    height: 8px;
    left: 3px;
  }

  .u-clinic-info .contents-inner {
    width: calc(100% - 40px);
    margin: -60px auto 0;
    padding: 49px 10px 0;
    background: #fff;
    position: relative;
    z-index: 1;
    border-radius: 10px 10px 0 0;
  }

  .u-clinic-info .contents-inner:before {
    content: "";
    width: 100%;
    height: 15px;
    background: url(../img/common/u-clinic-info_bg_sp.svg) repeat left top;
    position: absolute;
    top: 0;
    left: 0;
  }

  .u-clinic-info .info th {
    padding: 18px 0 15px 10px;
    font-size: 15px;
    letter-spacing: 1.2px;
    width: 88px;
  }

  .u-clinic-info .info td {
    padding: 18px 10px 15px 0;
    font-size: 15px;
    line-height: 160%;
    letter-spacing: 0.6px;
  }

  .u-clinic-info .info td a[href^="tel:"] {
    margin-top: -10px;
    display: inline-block;
  }

  .u-clinic-info a[href^="tel:"] {
    font-size: 17px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 0.68px;
  }
}

@media (min-width: 768px) {
  .u-clinic-info .info-container {
    display: grid;
    grid-template-columns: 30.2% 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 60px;
  }

  .u-clinic-info .info-container h2 {
    margin-top: -14px;
  }

  .u-clinic-info .info-container .image {
    height: 875px;
    position: relative;
  }

  .u-clinic-info .info-container .image:after {
    content: "";
    width: 60px;
    height: 100%;
    background: url(../img/common/u-clinic-info_bg.svg) repeat left top/cover;
    position: absolute;
    top: 0;
    left: 100%;
  }

  .u-clinic-info .info-container .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .u-clinic-info .info-container .contents-inner {
    margin-left: 140px;
    max-width: 650px;
    width: 100%;
  }
}

.u-clinic-access .accecc-box {
  margin: 0;
}

@media (max-width: 767px) {
  .u-clinic-access .googlemap {
    padding-top: 430px;
  }

  .u-clinic-access .map {
    margin: 30px auto 21px;
  }
}

@media (min-width: 768px) {
  .u-clinic-access .googlemap {
    padding-top: 540px;
  }

  .u-clinic-access .map {
    max-width: 736px;
    width: 100%;
    margin: 40px auto 22px;
  }
}

.section.u-clinic-facility {
  padding-bottom: 194px;
}

@media (max-width: 767px) {
  .section.u-clinic-facility {
    padding-bottom: 102px;
  }
}

.u-clinic-facility .splide .splide__slide {
  border-radius: 10px;
  margin-bottom: 28px;
  position: relative;
}

.u-clinic-facility .splide .splide__slide img {
  border-radius: 10px;
  -webkit-box-shadow: 0 4px 8px 0 rgba(63, 71, 80, 0.3);
  box-shadow: 0 4px 8px 0 rgba(63, 71, 80, 0.3);
}

.u-clinic-facility .splide .splide__slide figcaption {
  position: absolute;
  bottom: 0;
  text-align: center;
  padding: 17px 10px 15px 10px;
  background: rgba(255, 255, 255, 0.95);
  color: var(--green_03);
  text-align: center;
  font-size: 16px;
  line-height: 160%;
  letter-spacing: 0.64px;
  width: 100%;
  border-radius: 0 0 10px 10px;
}

.u-clinic-facility .splide__arrows svg {
  display: none;
}

.u-clinic-facility .splide__arrows .splide__arrow {
  width: 55px;
  height: 55px;
  background: var(--green_03);
  border-radius: 50%;
  opacity: 1;
}

.u-clinic-facility .splide__arrows .splide__arrow:before {
  content: "";
  width: 15px;
  height: 13px;
  background: url(../img/common/ic_arrow_white.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.u-clinic-facility .splide__arrows .splide__arrow--prev:before {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.u-clinic-facility .splide__pagination {
  bottom: -35px;
}

.u-clinic-facility .splide__pagination__page {
  width: 12px;
  height: 12px;
  opacity: 1;
  background: var(--gray_02);
  margin: 0 8px;
}

.u-clinic-facility .splide__pagination__page.is-active {
  background: var(--green_03);
}

@media (min-width: 768px) {
  .u-clinic-facility .splide__arrows svg {
    display: none;
  }

  .u-clinic-facility .splide__arrows .splide__arrow {
    left: 0;
    right: 0;
    margin: auto;
    top: calc(50% - 12px);
  }

  .u-clinic-facility .splide__arrows .splide__arrow--prev {
    left: -680px;
  }

  .u-clinic-facility .splide__arrows .splide__arrow--next {
    right: -680px;
  }
}

@media (max-width: 767px) {
  .u-clinic-facility .splide .splide__slide {
    margin-bottom: 15px;
  }

  .u-clinic-facility .splide .splide__slide figcaption {
    font-size: 13px;
    line-height: 160%;
    letter-spacing: 0.52px;
    padding: 6px 5px;
  }

  .u-clinic-facility .splide__arrows .splide__arrow {
    width: 38px;
    height: 38px;
    top: calc(50% - 7px);
  }

  .u-clinic-facility .splide__arrows .splide__arrow:before {
    width: 10px;
    height: 9px;
  }

  .u-clinic-facility .splide__arrows .splide__arrow--prev {
    left: 16px;
  }

  .u-clinic-facility .splide__arrows .splide__arrow--next {
    right: 16px;
  }

  .u-clinic-facility .splide__pagination {
    bottom: -25px;
  }

  .u-clinic-facility .splide__pagination__page {
    width: 8px;
    height: 8px;
    margin: 0 6px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .u-clinic-facility .splide__arrows .splide__arrow {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .u-clinic-facility .splide__arrows .splide__arrow:before {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .u-clinic-facility .splide__arrows .splide__arrow:hover {
    background: #4DC9A2;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .u-clinic-facility .splide__arrows .splide__arrow--prev:hover:before {
    -webkit-transform: translateX(-3px) scale(-1, 1);
    transform: translateX(-3px) scale(-1, 1);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }

  .u-clinic-facility .splide__arrows .splide__arrow--next:hover:before {
    -webkit-transform: translateX(3px);
    transform: translateX(3px);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

.top-information {
  padding: 101px 0 100px;
  position: relative;
  z-index: 0;
}

.top-information:before {
  content: "";
  width: 120px;
  height: 100%;
  background: url(../img/common/cross_pattern.svg) repeat left top;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.top-information .new-open-container {
  border-radius: 46px;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(2%, #95D8E7), color-stop(4%, #B0E5BD), color-stop(96%, #B0E5BD), color-stop(98%, #95D8E7));
  background: linear-gradient(0deg, #95D8E7 2%, #B0E5BD 4%, #B0E5BD 96%, #95D8E7 98%);
  padding: 10px;
}

.top-information .new-open-container:not(:last-child) {
  margin-bottom: 80px;
}

.top-information .new-open-container h2 {
  padding: 0 0 12px;
  color: var(--green_03);
  font-size: 30px;
  line-height: 170%;
  letter-spacing: 2.4px;
  border-bottom: 1px dashed var(--gray_01);
  margin-bottom: 30px;
}

.top-information .new-open-container h2:before {
  display: none;
}

.top-information .new-open-container__inner {
  background: #fff;
  padding: 50px 70px;
}

.top-information .new-open-container__inner p {
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-size: 17px;
  line-height: 175%;
  letter-spacing: 1.36px;
}

.top-information .post-container h2 {
  padding: 0;
  text-align: left;
  margin-bottom: 34px;
}

.top-information .post-container h2:before {
  display: none;
}

.top-information .post-container h2 .en {
  color: var(--brown_01);
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-family: "Urbanist", sans-serif;
  font-size: 52px;
  font-weight: 300;
  line-height: 100%;
  letter-spacing: 2.08px;
  display: block;
  padding-bottom: 14px;
}

.top-information .post-container h2 .sub {
  color: var(--gray_01);
  font-size: 18px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 1.44px;
  display: block;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
}

.top-information .post-container .list_list:not(:last-child) {
  margin-bottom: 29px;
}

.top-information .post-container .list_list li {
  padding: 16px 24px;
  border-radius: 10px;
  background: var(--bg_green_01);
}

.top-information .post-container .list_list li:not(:last-child) {
  margin-bottom: 12px;
}

.top-information .post-container .list_list li .item_info {
  display: block;
  padding-bottom: 4px;
}

.top-information .post-container .list_list li .date {
  color: var(--gray_01);
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: 0.78px;
}

.top-information .post-container .list_list li .date .date-day {
  font-size: 19px;
  letter-spacing: 1.14px;
}

.top-information .post-container .list_list li .category-name {
  padding: 4px 15px 6px;
  border-radius: 25px;
  background: var(--green_01);
  color: var(--txt_main);
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.6px;
  margin-left: 11px;
  display: inline-block;
}

.top-information .post-container .btnstyle {
  text-align: right;
}

.top-information .post-container .btnstyle a {
  padding: 18px 66px 16px 36px;
  text-align: left;
  border-radius: 32px;
  background: var(--green_05);
  border: 0;
  min-width: 270px;
  font-size: 18px;
  font-weight: 500;
  font-family: "Urbanist", sans-serif;
}

.top-information .post-container .btnstyle a:before {
  background: #FFF;
}

.top-information .post-container .btnstyle a:after {
  background: url(../img/common/ic_arrow_green.svg) no-repeat center/cover;
}

.top-information .post-container .type_blue .list_list:not(:last-child) {
  margin-bottom: 35px;
}

.top-information .post-container .type_blue .list_list li {
  background: var(--bg_blue_01);
  padding: 15px 24px 12px;
}

.top-information .post-container .type_blue .btnstyle a {
  background: #6DCAF2;
}

.top-information .post-container .type_blue .btnstyle a:after {
  background: url(../img/common/ic_arrow_blue2.svg) no-repeat center/cover;
}

@media (hover: hover) and (pointer: fine) {
  .top-information .list_list li {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }

  .top-information .list_list li .category-name {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }

  .top-information .list_list li:hover {
    background: #E0FACD;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .top-information .list_list li:hover .category-name {
    background: var(--green_03);
    color: #fff;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .top-information .list_list li a:hover {
    text-decoration: underline;
  }

  .top-information .btnstyle a:hover {
    background: var(--green_03);
    color: #fff;
  }

  .top-information .btnstyle a:hover:after {
    background: url(../img/common/ic_arrow_green2.svg) no-repeat center/cover;
  }

  .top-information .type_blue .list_list li:hover {
    background: #BFE4EC;
  }

  .top-information .type_blue .btnstyle a:hover {
    background: var(--blue_04);
    color: #fff;
  }
}

@media (max-width: 767px) {
  .top-information {
    padding: 40px 0 30px;
  }

  .top-information::before {
    width: 100%;
    height: 213px;
  }

  .top-information .new-open-container:not(:last-child) {
    margin-bottom: 61px;
  }

  .top-information .new-open-container__inner {
    padding: 35px 20px 30px 20px;
  }

  .top-information .new-open-container__inner p {
    font-size: 15px;
    line-height: 174%;
    letter-spacing: 1.2px;
  }

  .top-information .new-open-container h2 {
    font-size: 21px;
    line-height: 170%;
    letter-spacing: 1.3px;
    padding-bottom: 10px;
  }

  .top-information .post-container .col {
    position: relative;
  }

  .top-information .post-container .col:not(:last-child) {
    margin-bottom: 60px;
  }

  .top-information .post-container h2 {
    padding-left: 10px;
    margin-bottom: 23px;
  }

  .top-information .post-container h2 .en {
    font-size: 40px;
    letter-spacing: 1.6px;
  }

  .top-information .post-container h2 .sub {
    font-size: 16px;
    letter-spacing: 1.28px;
  }

  .top-information .post-container .list_list li {
    padding: 15px 20px 15px;
  }

  .top-information .post-container .list_list li:not(:last-child) {
    margin-bottom: 11px;
  }

  .top-information .post-container .list_list li .item_info {
    padding-bottom: 7px;
  }

  .top-information .post-container .list_list li a {
    line-height: 161%;
    display: inline-block;
  }

  .top-information .post-container .list_list li .date .date-day {
    font-size: 17px;
    letter-spacing: 1.02px;
  }

  .top-information .post-container .list_list li .category-name {
    font-size: 12px;
    letter-spacing: 0.48px;
    padding: 5px 16px 4px;
    margin-left: 7px;
    min-width: 100px;
  }

  .top-information .post-container .type_blue .list_list li {
    padding: 15px 20px 15px;
  }

  .top-information .post-container .type_blue .list_list li .item_info {
    padding-bottom: 4px;
  }

  .top-information .post-container .btnstyle {
    position: absolute;
    top: 10px;
    right: 0;
  }

  .top-information .post-container .btnstyle a {
    padding: 14px 14px 12px 30px;
    min-width: 170px;
    font-size: 16px;
    letter-spacing: 0.96px;
  }

  .top-information .post-container .btnstyle a:before {
    width: 26px;
    height: 26px;
    right: 14px;
  }

  .top-information .post-container .btnstyle a:after {
    width: 8px;
    height: 8px;
    right: 23px;
  }
}

@media (min-width: 768px) {
  .top-information .container {
    width: 1200px;
  }

  .top-information .post-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 70px;
  }
}

.top_menu {
  position: relative;
  padding-bottom: 150px;
  z-index: 0;
}

.top_menu:before {
  content: "";
  width: 604px;
  height: 593px;
  position: absolute;
  bottom: 35px;
  right: 0;
  background: url(../img/common/logo-mark-menu.svg) no-repeat center/cover;
  z-index: -1;
}

.top_menu .ttl_wrapper {
  position: relative;
}

.top_menu .ttl_wrapper h2 {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 60px 142px 169px 330px;
  margin: 0;
  border-radius: 0 110px 0 0;
  background: #FFF;
}

.top_menu .ttl_wrapper figure {
  max-height: 760px;
  overflow: hidden;
}

.top_menu .ttl_wrapper figure img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.top_menu .menu-container .col {
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 0 30px 0 rgba(51, 48, 47, 0.1);
  box-shadow: 0 0 30px 0 rgba(51, 48, 47, 0.1);
  background: #fff;
}

.top_menu .menu-container figure {
  position: relative;
}

.top_menu .menu-container figure figcaption {
  display: table;
  color: #fff;
  text-align: center;
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
  font-weight: 400;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  padding: 10px 0 0 0;
}

.top_menu .menu-container figure figcaption .jp {
  text-shadow: 0 0 6px rgba(63, 71, 80, 0.5);
  font-size: 36px;
  letter-spacing: 10.8px;
  display: inline-block;
  padding-bottom: 10px;
  line-height: 100%;
  margin-bottom: 19px;
  position: relative;
  -webkit-transform: translate(5px, 8px);
  transform: translate(5px, 8px);
}

.top_menu .menu-container figure figcaption .jp:after {
  content: "";
  width: calc(100% - 10px);
  height: 2px;
  background: #fff;
  position: absolute;
  bottom: 2px;
  left: 0;
}

.top_menu .menu-container figure figcaption .en {
  text-shadow: 0 0 6px rgba(63, 71, 80, 0.5);
  font-family: "Urbanist", sans-serif;
  font-size: 18px;
  letter-spacing: 1.44px;
  display: block;
  line-height: 100%;
}

.top_menu .menu-container .contents {
  padding: 45px 59px 54px 60px;
}

.top_menu .menu-container .contents p {
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-size: 17px;
  line-height: 175%;
  letter-spacing: 1.36px;
}

.top_menu .menu-container .contents p:not(:last-child) {
  margin-bottom: 20px;
}

.top_menu .menu-container .contents .link_list li a {
  padding: 22px 8px 19px 7px;
  border-top: 1px dashed var(--gray_01);
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
  color: var(--txt_main);
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-family: "YakuHanJP", "LINE Seed JP_OTF", sans-serif;
  font-size: 19px;
  line-height: 140%;
  letter-spacing: 1.52px;
  position: relative;
}

.top_menu .menu-container .contents .link_list li a:before,
.top_menu .menu-container .contents .link_list li a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

.top_menu .menu-container .contents .link_list li a:before {
  width: 30px;
  height: 30px;
  border-radius: 60px;
  background: var(--bg_blue_01);
  right: 8px;
}

.top_menu .menu-container .contents .link_list li a:after {
  width: 11px;
  height: 10px;
  background: url(../img/common/ic_arrow_blue3.svg) no-repeat center/cover;
  right: 17px;
}

.top_menu .menu-container .contents .link_list li a .img {
  width: 100px;
  display: inline-block;
}

.top_menu .menu-container .contents .link_list li a .img img {
  border-radius: 5px;
}

.top_menu .menu-container .contents .link_list li.thum a {
  padding: 21px 8px 18px 7px;
}

.top_menu .menu-container .contents .link_list li:last-child a {
  border-bottom: 1px dashed var(--gray_01);
}

.top_menu .menu-container .contents .link_list.type_green li a:before {
  background: var(--bg_green_01);
}

.top_menu .menu-container .contents .link_list.type_green li a:after {
  background: url(../img/common/ic_arrow_green2.svg) no-repeat center/cover;
}

@media (max-width: 767px) {
  .top_menu {
    padding-bottom: 80px;
  }

  .top_menu:before {
    bottom: 354px;
    width: 324px;
    height: 425px;
    background: url(../img/common/logo-mark-menu_sp.svg) no-repeat center/cover;
  }

  .top_menu .ttl_wrapper h2 {
    padding: 20px 59px 70px 40px;
    border-radius: 0 50px 0 0;
  }

  .top_menu .ttl_wrapper h2 .en {
    padding-bottom: 3px;
  }

  .top_menu .ttl_wrapper h2 .sub {
    font-size: 18px;
    line-height: 150%;
    letter-spacing: 2.88px;
    padding-left: 25px;
    -webkit-transform: translate(0, -1px);
    transform: translate(0, -1px);
  }

  .top_menu .ttl_wrapper h2 .sub:before {
    width: 16px;
    height: 8px;
    top: 9px;
  }

  .top_menu .menu-container {
    margin-top: -41px;
  }

  .top_menu .menu-container .col:not(:last-child) {
    margin-bottom: 40px;
  }

  .top_menu .menu-container figure figcaption .jp {
    font-size: 26px;
    letter-spacing: 7.8px;
    -webkit-transform: translate(5px, 1px);
    transform: translate(5px, 1px);
    margin-bottom: 9px;
  }

  .top_menu .menu-container figure figcaption .en {
    font-size: 15px;
    letter-spacing: 1.2px;
  }

  .top_menu .menu-container .contents {
    padding: 24px;
  }

  .top_menu .menu-container .contents p {
    font-size: 15px;
    line-height: 180%;
    letter-spacing: 1.2px;
  }

  .top_menu .menu-container .contents .link_list li a {
    font-size: 17px;
    line-height: 140%;
    letter-spacing: 1.36px;
    padding: 19px 8px 16px 6px;
  }

  .top_menu .menu-container .contents .link_list li a:before {
    right: 5px;
    width: 29px;
    height: 29px;
  }

  .top_menu .menu-container .contents .link_list li a:after {
    right: 14px;
  }

  .top_menu .menu-container .contents .link_list li.thum a {
    padding: 14px 8px 12px 7px;
  }

  .top_menu .menu-container .contents .link_list li.thum a .img {
    width: 70px;
  }
}

@media (min-width: 768px) {
  .top_menu .container {
    width: 1200px;
  }

  .top_menu .menu-container {
    margin-top: -88px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
    position: relative;
    z-index: 1;
  }
}

@media (hover: hover) and (pointer: fine) {
  .top_menu .menu-container .link_list li a {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }

  .top_menu .menu-container .link_list li a:before,
  .top_menu .menu-container .link_list li a:after {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }

  .top_menu .menu-container .link_list li a:hover {
    padding-left: 15px;
    background: var(--bg_blue_01);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .top_menu .menu-container .link_list li a:hover:before {
    background: #7FC3E8;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .top_menu .menu-container .link_list li a:hover:after {
    background: url(../img/common/ic_arrow_white2.svg) no-repeat center;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .top_menu .menu-container .link_list.type_green li a:hover {
    background: #EEFAE6;
    padding-left: 15px;
  }

  .top_menu .menu-container .link_list.type_green li a:hover:before {
    background: #98D65A;
  }

  .top_menu .menu-container .link_list.type_green li a:hover:after {
    background: url(../img/common/ic_arrow_white2.svg) no-repeat center;
  }
}

.top_daySurgery {
  position: relative;
  counter-reset: number-counter;
}

.top_daySurgery .primary_container {
  height: 100vh;
  width: 100%;
  z-index: 1;
}

@media (min-width: 1921px),
(min-height: 1060px) {
  .top_daySurgery .primary_container {
    max-height: 869px;
  }
}

.top_daySurgery .primary_container .parallax-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 1px);
  clip-path: inset(0);
}

.top_daySurgery .primary_container .parallax-bg:after {
  content: "";
  position: fixed;
  top: 110px;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/top/day_surgery-parallax.jpg);
  background-size: cover;
  background-position: center;
  z-index: -1;
}

.top_daySurgery .primary_container .contents {
  position: relative;
  border-radius: 0 0 50px 50px;
  background: rgba(255, 255, 255, 0.95);
  -webkit-box-shadow: 0 0 30px 0 rgba(51, 48, 47, 0.1);
  box-shadow: 0 0 30px 0 rgba(51, 48, 47, 0.1);
  width: 100%;
}

.top_daySurgery .primary_container .contents p {
  font-size: 17px;
  line-height: 187%;
  letter-spacing: 1.36px;
}

.top_daySurgery .primary_container h2.top_ttl {
  margin-bottom: 70px;
}

.top_daySurgery .primary_container h2.top_ttl .en {
  font-size: 76px;
  letter-spacing: 6.08px;
  padding-bottom: 27px;
}

.top_daySurgery .primary_container h2.top_ttl .sub {
  line-height: 150%;
  letter-spacing: 3px;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
}

.top_daySurgery .stack-container {
  background: #fff;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 2;
}

.top_daySurgery .stack-container .contents {
  padding: 141px 8px 0 0;
  max-width: 540px;
  width: 100%;
  margin: auto;
}

.top_daySurgery .stack-container h3 {
  background: transparent;
  padding: 25px 0 0 0;
  border: 0;
  font-size: 40px;
  line-height: 150%;
  letter-spacing: 6.4px;
  text-align: left;
  margin-bottom: 61px;
  counter-increment: number-counter;
  position: relative;
  z-index: 0;
}

.top_daySurgery .stack-container h3:before {
  content: counter(number-counter, decimal-leading-zero);
  color: #F6F6F6;
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-family: "Montserrat", sans-serif;
  font-size: 180px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 7.2px;
  z-index: -1;
  position: absolute;
  top: -40px;
  right: -14px;
}

.top_daySurgery .stack-container h3 .ic {
  display: inline-block;
  position: absolute;
  top: 0;
  line-height: 1;
  font-size: 0;
}

.top_daySurgery .stack-container h3 .ttl {
  display: inline-block;
  border-bottom: 1px dashed var(--gray_01);
  padding-bottom: 4px;
  margin-bottom: 18px;
}

.top_daySurgery .stack-container h3 .en {
  color: var(--gray_01);
  font-family: "Urbanist", sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 140%;
  letter-spacing: 1.6px;
  display: block;
}

.top_daySurgery .stack-container .txt_inner:not(:last-child) {
  margin-bottom: 39px;
}

.top_daySurgery .stack-container .button_list li {
  margin-right: 2px;
}

.top_daySurgery .stack-container .button_list li:not(:last-child) {
  margin-bottom: 21px;
}

.top_daySurgery .stack-container .btnstyle a {
  min-width: auto;
  width: 100%;
  letter-spacing: 1.2px;
  border-radius: 10px;
  text-align: left;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
}

.top_daySurgery .stack-container:nth-child(even) .btnstyle a {
  background: #F6FAF4;
}

.top_daySurgery .stack-container:nth-child(odd) {
  background: #FAF9F4;
}

.top_daySurgery .stack-container:nth-child(odd) h3:before {
  color: #fff;
}

.top_daySurgery .stack-container:nth-child(odd) .btnstyle a:before {
  background: #37AEE1;
}

@media (max-width: 767px) {
  .top_daySurgery .primary_container {
    height: 100%;
    background: #F4FAFA;
  }

  .top_daySurgery .primary_container .container {
    padding-top: 200px;
    max-width: calc(100% - 20px);
  }

  .parallax-bg-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 320px;
    clip-path: inset(0);
    overflow: hidden;
  }

  .top_daySurgery .primary_container .parallax-bg {
    width: 110vw;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    /* 画面の真ん中に強制的に固定 */
    background-image: url(../img/top/daysurgery-parallax_sp.jpg);
    background-size: cover;
    background-position: center;
    pointer-events: none;
  }

  .top_daySurgery .primary_container .parallax-bg:after {
    display: none;
  }

  .top_daySurgery .primary_container h2.top_ttl {
    text-align: center;
    display: table;
    margin: 0 auto 40px;
  }

  .top_daySurgery .primary_container h2.top_ttl .en {
    font-size: 40px;
    letter-spacing: 3.2px;
    padding-bottom: 15px;
  }

  .top_daySurgery .primary_container h2.top_ttl .sub {
    font-size: 18px;
    letter-spacing: 2.16px;
    padding-left: 17px;
    display: table;
    margin: auto;
  }

  .top_daySurgery .primary_container h2.top_ttl .sub:before {
    width: 16px;
    height: 8px;
    top: 10px;
    left: -9px;
  }

  .top_daySurgery .primary_container .contents {
    padding: 50px 26px 30px 26px;
    border-radius: 20px;
    position: relative;
    z-index: 0;
    overflow: hidden;
  }

  .top_daySurgery .primary_container .contents:before {
    content: "";
    width: 100%;
    height: 16px;
    background: url(../img/common/cross_pattern2.svg) repeat left top;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }

  .top_daySurgery .primary_container .contents p {
    font-size: 15px;
    line-height: 180%;
    letter-spacing: 1.2px;
  }

  .top_daySurgery .stack-container .contents {
    padding: 20px 20px 60px;
  }

  .top_daySurgery .stack-container h3 {
    line-height: 135%;
    padding-top: 15px;
    font-size: 24px;
    margin-bottom: 20px;
  }

  .top_daySurgery .stack-container h3:before {
    font-size: 90px;
    top: 0;
  }

  .top_daySurgery .stack-container h3 .ic {
    width: 30px;
  }

  .top_daySurgery .stack-container h3 .ttl {
    margin-bottom: 10px;
  }

  .top_daySurgery .stack-container h3 .en {
    font-size: 12px;
  }

  .top_daySurgery .stack-container h3 .spsmall {
    font-size: 70%;
  }

  .top_daySurgery .stack-container .button_list li:not(:last-child) {
    margin-bottom: 10px;
  }

  .top_daySurgery .stack-container .txt_inner:not(:last-child) {
    margin-bottom: 20px;
  }
}

@media (min-width: 768px) {
  .top_daySurgery .primary_container .container {
    width: 1540px;
  }

  .top_daySurgery .primary_container .contents {
    padding: 153px 114px 100px 120px;
    max-width: 710px;
    margin-left: auto;
    position: relative;
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
  }

  .top_daySurgery .primary_container .contents:before {
    content: "";
    width: 100%;
    height: 30px;
    background: url(../img/common/cross_pattern.svg) repeat left top;
    position: absolute;
    top: 0;
    left: 0;
  }

  .top_daySurgery .stack-container h3 .ttl {
    white-space: nowrap;
  }

  .top_daySurgery .stack-container .row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .top_daySurgery .stack-container .row figure {
    height: 800px;
  }

  .top_daySurgery .stack-container .row figure img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .top_daySurgery .stack-container .btnstyle a {
    font-size: 20px;
    padding: 24px 66px 25px 31px;
  }

  .top_daySurgery .stack-container .btnstyle a:before {
    right: 27px;
  }

  .top_daySurgery .stack-container .btnstyle a:after {
    right: 39px;
  }

  .top_daySurgery .stack-container.hemorrhoids .row figure {
    height: 900px;
  }
}

@media (min-width: 768px) and (max-width: 1530px) {
  .top_daySurgery .stack-container .row {
    grid-template-columns: 1fr 780px;
  }

  .top_daySurgery .stack-container .row .col:last-child {
    margin: 0 120px;
  }
}

@media (max-width: 389px) {
  .top_daySurgery .primary_container .container {
    padding-top: 120px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .top_daySurgery .stack-container:nth-child(even) .btnstyle a:hover {
    background: #EEFAE6;
    color: var(--green_03);
  }

  .top_daySurgery .stack-container:nth-child(odd) .btnstyle a:hover {
    background: #E6F7FA;
    color: #23539F;
  }
}

.top_treatedDiseases {
  padding: 130px 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#F4FAFA), to(#DDEFF0));
  background: linear-gradient(180deg, #F4FAFA 0%, #DDEFF0 100%);
  overflow: hidden;
}

.top_treatedDiseases h2.top_ttl {
  text-align: center;
}

.top_treatedDiseases h2.top_ttl .en {
  padding-bottom: 28px;
}

.top_treatedDiseases h2.top_ttl .sub {
  display: table;
  margin: auto;
  font-size: 33px;
  line-height: 150%;
  letter-spacing: 5.28px;
}

.top_treatedDiseases .treated-diseases_menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.top_treatedDiseases .treated-diseases_menu li {
  position: relative;
  border-radius: 20px;
  border: 2px solid #FFF;
  -webkit-box-shadow: 0 0 30px 0 rgba(51, 48, 47, 0.2);
  box-shadow: 0 0 30px 0 rgba(51, 48, 47, 0.2);
  overflow: hidden;
  position: relative;
}

.top_treatedDiseases .treated-diseases_menu li a {
  width: 100%;
  height: 100%;
  text-decoration: none;
  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: relative;
  color: #fff;
}

.top_treatedDiseases .treated-diseases_menu li a:before {
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(135, 208, 223, 0)), to(rgba(0, 181, 226, 0.6)));
  background: linear-gradient(180deg, rgba(135, 208, 223, 0) 0%, rgba(0, 181, 226, 0.6) 100%);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  z-index: 1;
}

.top_treatedDiseases .treated-diseases_menu li a:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}

.top_treatedDiseases .treated-diseases_menu li a .ttl {
  position: absolute;
  top: calc(50% - 7px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  font-size: 30px;
  font-weight: 500;
  line-height: 133%;
  letter-spacing: 2.4px;
  width: 100%;
  z-index: 2;
  text-shadow: 0 0 10px rgba(39, 45, 53, 0.7);
}

.top_treatedDiseases .treated-diseases_menu li a .ttl .en {
  display: block;
  font-family: "Urbanist", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 1.44px;
}

.top_treatedDiseases .treated-diseases_menu li a .arrow {
  width: 54px;
  height: 54px;
  border-radius: 80px;
  outline: 3px solid rgba(255, 255, 255, 0.7);
  background: #fff;
  position: absolute;
  bottom: 18px;
  right: 18px;
  z-index: 1;
}

.top_treatedDiseases .treated-diseases_menu li a .arrow:after {
  content: "";
  width: 15px;
  height: 13px;
  background: url(../img/common/ic_arrow_blue2.svg) no-repeat center/cover;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}

@media (max-width: 767px) {
  .top_treatedDiseases {
    padding: 60px 0 79px;
  }

  .top_treatedDiseases h2.top_ttl {
    margin-bottom: 40px;
    position: relative;
    z-index: 0;
  }

  .top_treatedDiseases h2.top_ttl:after {
    content: "";
    width: 137px;
    height: 137px;
    background: url(../img/top/top-td_bg01_sp.svg) no-repeat center/cover;
    position: absolute;
    top: -4px;
    left: calc(100% - 76px);
    z-index: -1;
  }

  .top_treatedDiseases h2.top_ttl .en {
    font-size: 38px;
    letter-spacing: 3.04px;
    padding-bottom: 2px;
  }

  .top_treatedDiseases h2.top_ttl .sub {
    font-size: 18px;
    line-height: 150%;
    letter-spacing: 2.88px;
    padding-left: 28px;
  }

  .top_treatedDiseases h2.top_ttl .sub:before {
    width: 16px;
    height: 8px;
    top: 10px;
    left: 2px;
  }

  .top_treatedDiseases .treated-diseases_menu {
    gap: 18px;
    position: relative;
    z-index: 0;
  }

  .top_treatedDiseases .treated-diseases_menu:after {
    content: "";
    width: 218px;
    height: 218px;
    background: url(../img/top/top-td_bg02_sp.svg) no-repeat center/cover;
    position: absolute;
    top: calc(100% - 59px);
    left: calc(100% - 117px);
    z-index: -1;
  }

  .top_treatedDiseases .treated-diseases_menu li {
    border-radius: 10px;
  }

  .top_treatedDiseases .treated-diseases_menu li a .ttl {
    font-size: 20px;
    line-height: 130%;
    letter-spacing: 1.6px;
  }

  .top_treatedDiseases .treated-diseases_menu li a .ttl .en {
    font-size: 14px;
    letter-spacing: 1.12px;
    -webkit-transform: translate(1px, 6px);
    transform: translate(1px, 6px);
  }

  .top_treatedDiseases .treated-diseases_menu li a .arrow {
    width: 26px;
    height: 26px;
    outline: 2px solid rgba(255, 255, 255, 0.7);
    bottom: 8px;
    right: 8px;
  }

  .top_treatedDiseases .treated-diseases_menu li a .arrow:after {
    width: 12px;
    height: 11px;
  }
}

@media (min-width: 768px) {
  .top_treatedDiseases .container {
    width: 1200px;
  }

  .top_treatedDiseases h2 {
    margin-bottom: 81px;
  }

  .top_treatedDiseases h2.top_ttl {
    padding-left: 6px;
    position: relative;
    z-index: 0;
  }

  .top_treatedDiseases h2.top_ttl:after {
    content: "";
    width: 230px;
    height: 230px;
    background: url(../img/top/top-td_bg01.svg) no-repeat center/cover;
    position: absolute;
    left: calc(100% - 197px);
    top: -54px;
    z-index: -1;
  }

  .top_treatedDiseases h2.top_ttl .sub:before {
    top: 20px;
    left: -1px;
  }

  .top_treatedDiseases .treated-diseases_menu {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 36px 20px;
    position: relative;
    z-index: 0;
  }

  .top_treatedDiseases .treated-diseases_menu:after {
    content: "";
    width: 775px;
    height: 775px;
    background: url(../img/top/top-td_bg02.svg) no-repeat center/cover;
    position: absolute;
    top: -150px;
    left: calc(100% - 140px);
    z-index: -1;
  }

  .top_treatedDiseases .treated-diseases_menu li {
    aspect-ratio: 4/3;
    width: 100%;
  }

  .top_treatedDiseases .treated-diseases_menu li img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .top_treatedDiseases .treated-diseases_menu li a .ttl {
    top: calc(50% + 1px);
  }

  .top_treatedDiseases .treated-diseases_menu li a .ttl .en {
    padding-top: 11px;
  }

  .top_treatedDiseases .treated-diseases_menu .span-3 {
    grid-column: span 4;
    height: 300px;
  }

  .top_treatedDiseases .treated-diseases_menu .span-4 {
    grid-column: span 3;
    height: 260px;
  }

  .top_treatedDiseases .treated-diseases_menu .span-4 a .ttl {
    font-size: 28px;
    letter-spacing: 1.12px;
  }

  .top_treatedDiseases .treated-diseases_menu .span-4 a .ttl .en {
    font-size: 16px;
    letter-spacing: 1.28px;
    padding-top: 15px;
  }

  .top_treatedDiseases .treated-diseases_menu .span-4 a .arrow {
    width: 40px;
    height: 40px;
    right: 14px;
    bottom: 14px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .top_treatedDiseases .treated-diseases_menu li a img {
    -webkit-transition: 0.5s ease-in;
    transition: 0.5s ease-in;
  }

  .top_treatedDiseases .treated-diseases_menu li a .arrow {
    -webkit-transition: 0.5s ease-in;
    transition: 0.5s ease-in;
  }

  .top_treatedDiseases .treated-diseases_menu li a .arrow:after {
    -webkit-transition: 0.5s ease-in;
    transition: 0.5s ease-in;
  }

  .top_treatedDiseases .treated-diseases_menu li a:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    opacity: 1;
  }

  .top_treatedDiseases .treated-diseases_menu li a:hover:after {
    background: rgba(60, 172, 179, 0.85);
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    opacity: 0.9;
  }

  .top_treatedDiseases .treated-diseases_menu li a:hover .arrow {
    outline: 3px solid rgba(255, 255, 255, 0.7);
    background: var(--blue_04);
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    -webkit-transform: scale(0.9259);
    transform: scale(0.9259);
  }

  .top_treatedDiseases .treated-diseases_menu li a:hover .arrow:after {
    background-image: url(../img/common/ic_arrow_white.svg);
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }

  .top_treatedDiseases .treated-diseases_menu li.span-4 a:hover .arrow {
    -webkit-transform: translate(0.9);
    transform: translate(0.9);
  }
}

@property --grad-color1 {
  syntax: "<color>";
  initial-value: #51C4A0;
  inherits: false;
}

@property --grad-color2 {
  syntax: "<color>";
  initial-value: #A0E292;
  inherits: false;
}

.top_feature .feature-item {
  background: #FFF;
  -webkit-box-shadow: 8px 8px 20px 0 rgba(63, 71, 80, 0.3);
  box-shadow: 8px 8px 20px 0 rgba(63, 71, 80, 0.3);
  overflow: hidden;
  border-radius: 16px;
  position: relative;
}

.top_feature .feature-item .link {
  text-decoration: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.top_feature .feature-item h3 {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--txt_main);
  text-align: center;
  font-size: 19px;
  font-weight: 400;
  line-height: 182%;
  letter-spacing: 1.52px;
  position: static;
  margin-bottom: 23px;
}

.top_feature .feature-item h3 .color {
  color: var(--green_03);
}

.top_feature .feature-item h3 .feature {
  width: 64px;
  height: 64px;
  border-radius: 16px 0 30px 0;
  color: #fff;
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  font-family: "Urbanist", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.48px;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.top_feature .feature-item h3 .feature__num {
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  letter-spacing: 1.92px;
  display: block;
  padding-top: 17px;
  -webkit-transform: translate(0, -6px);
  transform: translate(0, -6px);
}

.top_feature .feature-item .contents {
  padding: 30px 24px;
}

.top_feature .feature-item .contents:after {
  content: "";
  width: 100%;
  height: 15px;
  background: url(../img/common/cross_pattern2.svg) repeat left top;
  position: absolute;
  bottom: 0;
  left: 0;
}

.top_feature .feature-item .btnstyle a {
  font-size: 16px;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.96px;
  min-width: auto;
  width: 220px;
  padding: 12px 46px 8px 34px;
  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: 46px;
  background: #EEFAE6;
  margin: auto;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
}

.top_feature .feature-item .btnstyle a:before {
  width: 26px;
  height: 26px;
  right: 9px;
}

.top_feature .feature-item .btnstyle a:after {
  right: 18px;
  width: 8px;
  height: 7px;
}

.top_feature .feature-item:not(.span-12) h3 .feature:before,
.top_feature .feature-item:not(.span-12) h3 .feature:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.top_feature .feature-item:not(.span-12) h3 .feature:before {
  background: -webkit-gradient(linear, left top, right top, from(#51C4A0), color-stop(91.1%, #A0E292));
  background: linear-gradient(90deg, #51C4A0 0%, #A0E292 91.1%);
}

.top_feature .feature-item:not(.span-12) h3 .feature:after {
  background: -webkit-gradient(linear, left top, right top, from(#51D3EF), color-stop(91.1%, #A0E292));
  background: linear-gradient(90deg, #51D3EF 0%, #A0E292 91.1%);
  opacity: 0;
}

@media (max-width: 767px) {
  .top_feature {
    padding-bottom: 80px;
  }

  .top_feature .container {
    max-width: calc(100% - 52px);
  }

  .top_feature .tti_wrapper {
    margin-left: -26px;
    margin-right: -26px;
  }

  .top_feature h2.top_ttl {
    background: #fff;
    padding: 27px 57px 0 40px;
    border-radius: 0 50px 0 0;
    display: table;
    margin: -50px 0 50px;
  }

  .top_feature h2.top_ttl .en {
    padding-bottom: 2px;
  }

  .top_feature h2.top_ttl .sub {
    padding-left: 25px;
  }

  .top_feature h2.top_ttl .sub:before {
    top: 9px;
    left: 0;
    width: 16px;
    height: 8px;
  }

  .top_feature .feature-item:not(:last-child) {
    margin-bottom: 29px;
  }

  .top_feature .feature-item h3 {
    font-size: 20px;
    line-height: 170%;
    letter-spacing: 1.6px;
    -webkit-font-feature-settings: "palt" on;
    font-feature-settings: "palt" on;
    margin-bottom: 20px;
  }

  .top_feature .feature-item h3 .feature {
    width: 72px;
    height: 72px;
    font-size: 13px;
    letter-spacing: 0.52px;
    padding-bottom: 1px;
    z-index: 0;
  }

  .top_feature .feature-item h3 .feature:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: -webkit-gradient(linear, left top, right top, from(#51C4A0), color-stop(91.1%, #A0E292));
    background: linear-gradient(90deg, #51C4A0 0%, #A0E292 91.1%);
    z-index: -1;
  }

  .top_feature .feature-item h3 .feature__num {
    font-size: 28px;
    letter-spacing: 2.24px;
  }

  .top_feature .feature-item .contents {
    padding: 27px 10px 34px 10px;
  }

  .top_feature .feature-item .btnstyle a {
    font-size: 15px;
    letter-spacing: 0.9px;
    width: 230px;
    padding: 10px 46px 10px 34px;
    min-height: 44px;
  }

  .top_feature .feature-item .btnstyle a:before {
    width: 24px;
    height: 24px;
  }

  .top_feature .feature-item .btnstyle a:after {
    right: 17px;
  }
}

@media (min-width: 768px) {
  .top_feature {
    padding-bottom: 150px;
    position: relative;
  }

  .top_feature .parallax-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 1px);
    clip-path: inset(0);
  }

  .top_feature .parallax-bg:after {
    content: "";
    position: fixed;
    top: 110px;
    left: 0;
    width: clamp(196px, -495.556px + 50.185vw, 468px);
    height: 100%;
    background-image: url(../img/top/top_feature_image.jpg);
    background-size: cover;
    background-position: center;
    z-index: -1;
  }

  .top_feature .container {
    width: 1346px;
    max-width: 100%;
  }

  .top_feature .feature_container {
    display: grid;
    grid-template-columns: 197px 915px;
    gap: 0 160px;
  }

  .top_feature .tti_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
  }

  .top_feature .tti_wrapper h2.top_ttl {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 0 0 auto;
    padding: 149px 10px 100px 25px;
    background: #fff;
    border-radius: 0 0 0 90px;
    width: clamp(120px, -37.63px + 12.324vw, 199px);
    position: sticky;
    top: 0;
    left: 0;
  }

  .top_feature .tti_wrapper h2.top_ttl .en {
    font-size: 70px;
    line-height: 100%;
    letter-spacing: 5.6px;
  }

  .top_feature .tti_wrapper h2.top_ttl .sub {
    padding: 39px 16px 0 0;
  }

  .top_feature .tti_wrapper h2.top_ttl .sub:before {
    left: 10px;
  }

  .top_feature .main_block {
    padding-top: 150px;
  }

  .top_feature .main_block {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 31px 26px;
  }

  .top_feature .feature-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
  }

  .top_feature .feature-item.span-12 {
    grid-column: span 12;
    position: relative;
    border-radius: 20px;
  }

  .top_feature .feature-item.span-12 h3 {
    font-size: 24px;
    letter-spacing: 1.92px;
    text-align: left;
    line-height: 192%;
  }

  .top_feature .feature-item.span-12 h3 .feature {
    width: auto;
    height: auto;
    background: -webkit-gradient(linear, left top, right top, from(var(--grad-color1)), color-stop(91.1%, var(--grad-color2)));
    background: linear-gradient(90deg, var(--grad-color1) 0%, var(--grad-color2) 91.1%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    border-radius: 0;
    font-size: 25px;
    letter-spacing: 1px;
    top: -66px;
    left: 56px;
    transition: --grad-color1 0.5s ease-in-out, --grad-color2 0.5s ease-in-out;
  }

  .top_feature .feature-item.span-12 h3 .feature__num {
    -webkit-transform: none;
    transform: none;
    font-size: 97px;
    line-height: 97px;
    padding: 0 0 0 3px;
    margin-top: -3px;
    letter-spacing: 7.76px;
  }

  .top_feature .feature-item.span-12 .btnstyle a {
    font-size: 18px;
    letter-spacing: 1.08px;
    min-height: 60px;
    width: 270px;
    font-size: 18px;
    letter-spacing: 1.08px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 9px 46px 8px 34px;
  }

  .top_feature .feature-item.span-12 .btnstyle a:before {
    width: 36px;
    height: 36px;
    right: 19px;
  }

  .top_feature .feature-item.span-12 .btnstyle a:after {
    width: 11px;
    height: 10px;
    right: 31px;
  }

  .top_feature .feature-item.span-12 .contents {
    width: 430px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #fff;
    padding: 53px 80px 34px 80px;
    border-radius: 0 70px 0 0;
  }

  .top_feature .feature-item.span-4 {
    grid-column: span 4;
  }

  .top_feature .feature-item .contents {
    min-height: 198px;
    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-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }

  .top_feature .feature-item h3 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    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: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media (min-width: 768px) and (max-width: 1315px) {
  .top_feature .feature_container {
    gap: 0 128px;
  }
}

@media (hover: hover) and (pointer: fine) {

  .top_feature .feature-item h3:before,
  .top_feature .feature-item h3:after {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }

  .top_feature .feature-item figure {
    overflow: hidden;
  }

  .top_feature .feature-item figure img {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }

  .top_feature .feature-item .contents {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }

  .top_feature .feature-item.btnstyle a:before {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }

  .top_feature .feature-item:hover h3 .feature:before,
  .top_feature .feature-item:hover h3 .feature:after {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .top_feature .feature-item:hover h3 .feature:after {
    opacity: 1;
  }

  .top_feature .feature-item:hover figure img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .top_feature .feature-item:hover .contents {
    background: #FCFCF5;
    -webkit-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
  }

  .top_feature .feature-item:hover .btnstyle a {
    background: #E0FACD;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .top_feature .feature-item:hover .btnstyle a:before {
    -webkit-transform: scale(0.8333);
    transform: scale(0.8333);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .top_feature .feature-item:hover.span-12 h3 .feature {
    --grad-color1: #51D3EF;
    --grad-color2: #A0E292;
  }

  .top_feature .feature-item:hover:not(.span-12):hover h3 .feature:after {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }

  .top_feature .feature-item:hover:not(.span-12):hover .btnstyle a {
    color: var(--green_03);
  }
}

.top_greeting {
  padding: 150px 0 0;
}

.top_greeting h2.top_ttl {
  margin-bottom: 55px;
}

.top_greeting .txt_inner p {
  font-size: 17px;
  line-height: 182%;
  letter-spacing: 1.36px;
}

.top_greeting .txt_inner .name {
  font-size: 18px;
  line-height: 200%;
  letter-spacing: 0.72px;
  margin-top: 49px;
}

.top_greeting .txt_inner .name__large {
  font-size: 26px;
  letter-spacing: 1.04px;
  padding-left: 14px;
}

.top_greeting .image img {
  border-radius: 100px;
}

@media (max-width: 767px) {
  .top_greeting {
    padding: 100px 0 70px;
    overflow: hidden;
    position: relative;
    z-index: 0;
  }

  .top_greeting:before {
    content: "";
    width: 100%;
    height: 290px;
    background: url(../img/top/top-greeting_bg_sp.jpg) no-repeat center top/cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }

  .top_greeting .container {
    max-width: calc(100vw - 48px);
  }

  .top_greeting .image img {
    border-radius: 40px;
  }

  .top_greeting h2.top_ttl {
    padding-left: 10px;
    margin-bottom: 39px;
  }

  .top_greeting h2.top_ttl .en {
    padding-bottom: 1px;
  }

  .top_greeting h2.top_ttl .sub {
    padding-left: 26px;
  }

  .top_greeting h2.top_ttl .sub:before {
    width: 16px;
    height: 8px;
    top: 10px;
  }

  .top_greeting .card-container {
    position: relative;
    padding: 110px 0 373px;
    z-index: 0;
  }

  .top_greeting .card-container:before {
    content: "";
    width: 100vw;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: -24px;
    z-index: -1;
    border-radius: 110px 0 0 0;
  }

  .top_greeting .card-container:after {
    content: "";
    width: calc(100vw - 24px);
    height: 330px;
    background: url(../img/top/top-gt_bg03_sp.jpg) no-repeat center/cover;
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 40px 0 0 40px;
  }

  .top_greeting .card-container .col:not(:last-child) {
    margin-bottom: 42px;
  }

  .top_greeting .image_inner {
    position: relative;
    z-index: 0;
  }

  .top_greeting .image_inner:before,
  .top_greeting .image_inner:after {
    content: "";
    position: absolute;
    z-index: -1;
  }

  .top_greeting .image_inner:before {
    width: 160px;
    height: 160px;
    background: url(../img/top/top-gt_bg01_sp.svg) no-repeat center/cover;
    top: calc(100% - 13px);
    right: 61px;
  }

  .top_greeting .image_inner:after {
    width: 301px;
    height: 301px;
    background: url(../img/top/top-gt_bg02_sp.svg) no-repeat center/cover;
    bottom: calc(100% - 202px);
    left: calc(100% - 153px);
  }

  .top_greeting .txt_inner p {
    font-size: 15px;
    line-height: 180%;
    letter-spacing: 1.2px;
  }

  .top_greeting .txt_inner .name {
    text-align: right;
    font-size: 14px;
    letter-spacing: 0.56px;
    margin-top: 32px;
  }

  .top_greeting .txt_inner .name__large {
    font-size: 20px;
    letter-spacing: 0.8px;
    padding-left: 10px;
  }
}

@media (min-width: 768px) {
  .top_greeting {
    background: url(../img/top/top-greeting_bg.jpg) no-repeat center top/cover;
    overflow: hidden;
  }

  .top_greeting .container {
    width: 1200px;
  }

  .top_greeting h2.top_ttl {
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
  }

  .top_greeting h2.top_ttl .en {
    font-size: 76px;
    line-height: 140%;
    letter-spacing: 6.08px;
    padding-bottom: 25px;
  }

  .top_greeting h2.top_ttl .sub {
    padding-bottom: 26px;
    font-size: 25px;
    letter-spacing: 4px;
  }

  .top_greeting .card-container {
    display: grid;
    grid-template-columns: 551px 1fr;
    gap: 120px;
    padding: clamp(75px, -138.499px + 16.693vw, 182px) 0 clamp(63px, -110.593px + 13.573vw, 150px);
    position: relative;
    z-index: 0;
  }

  .top_greeting .card-container:before {
    content: "";
    width: 200vw;
    height: 100%;
    background: #fff;
    border-radius: 180px 0 0 0;
    position: absolute;
    left: -179px;
    top: 0;
    z-index: -1;
  }

  .top_greeting .card-container.reverse .col:nth-child(1) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .top_greeting .card-container.reverse .col:nth-child(2) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .top_greeting .image_inner {
    position: relative;
    z-index: 0;
  }

  .top_greeting .image_inner:before,
  .top_greeting .image_inner:after {
    content: "";
    position: absolute;
    z-index: -1;
  }

  .top_greeting .image_inner:before {
    width: 160px;
    height: 160px;
    background: url(../img/top/top-gt_bg01.svg) no-repeat center/cover;
    top: calc(100% - 50px);
    right: calc(100% - 99px);
  }

  .top_greeting .image_inner:after {
    width: 362px;
    height: 362px;
    background: url(../img/top/top-gt_bg02.svg) no-repeat center/cover;
    bottom: calc(100% - 233px);
    left: calc(100% - 123px);
  }

  .top_greeting .image_inner figure {
    position: relative;
    z-index: 0;
  }

  .top_greeting .image_inner figure:before {
    content: "";
    width: 742px;
    height: 643px;
    background: url(../img/top/top-gt_bg03.jpg) no-repeat center/cover;
    position: absolute;
    left: calc(100% - 382px);
    top: 130px;
    z-index: -1;
    border-radius: 100px 0 0 100px;
  }
}

@media (min-width: 1921px) {
  .top_greeting .image_inner figure:before {
    width: 43vw;
  }
}

@media (max-width: 767px) {
  .top_loopslider .loopslider_wrap {
    padding: 80px 0 78px;
    margin-top: -80px;
  }
}

@media (min-width: 768px) {
  .top_loopslider .loopslider_wrap {
    padding: 100px 0;
    margin-top: -96px;
  }
}

.fadeIn__con.wow {
  opacity: 0;
}

.fadeIn__con.animated {
  opacity: 1;
  -webkit-transition: 1s ease-in-out;
  transition: 1s ease-in-out;
}

@font-face {
  font-family: "LINE Seed JP_OTF";
  src: url("../fonts/LINESeedJP_OTF_Rg.otf") format("opentype");
  font-weight: 400;
}

.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 */