@charset "utf-8";

/* common
------------------------------------------------------------------*/
.content_low {
  padding: calc(60 / var(--break) * 100vw) 0 calc(200 / var(--break) * 100vw);
}
.main_page {
  background: url("images/page/bg_ttl_page.jpg") no-repeat center/cover;
  height: calc(450 / var(--break) * 100vw);
  padding-top: calc(92 / var(--break) * 100vw);
}
.page_main section:not(:last-child) {
  margin-bottom: calc(100 / var(--break) * 100vw);
}
.hdg2 .ja {
  margin-bottom: calc(2 / var(--break) * 100vw);
  text-shadow: 0 0 calc(6 / var(--break) * 100vw) #fff, 0 0 calc(6 / var(--break) * 100vw) #fff, 0 0 calc(6 / var(--break) * 100vw) #fff;
}
.hdg2 .en {
  min-width: calc(380 / var(--break) * 100vw);
  width: fit-content;
  padding-left: calc(30 / var(--break) * 100vw);
  padding-right: calc(30 / var(--break) * 100vw);
  min-height: calc(35 / var(--break) * 100vw);
}
.hdg3 {
  min-height: calc(120 / var(--break) * 100vw);
}
.hdg3 .deco {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
}
.hdg3 .deco::before, .hdg3 .deco::after {
  position: absolute;
  content: "";
  width: calc(120 / var(--break) * 100vw);
  height: calc(120 / var(--break) * 100vw);
  background: url("images/page/deco_hdg3.svg") no-repeat center/contain;
}
.hdg3 .deco::before {
  left: 0;
  top: 0;
}
.hdg3 .deco::after {
  right: 0;
  bottom: 0;
}
.hdg3::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: #f4c538;
  left: 0;
  bottom: 6px;
}
.is-win .hdg3 {
  padding-bottom: calc(25 / var(--break) * 100vw);
}
.hdg4 {
  background: #bd8e28;
  min-height: calc(100 / var(--break) * 100vw);
}
.hdg4::after {
  position: absolute;
  content: "";
  z-index: -1;
  width: calc(100% - 20 / var(--break) * 100vw);
  height: calc(100% - 20 / var(--break) * 100vw);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(59, 38, 0, 0.2);
}
.is-win .hdg4 {
  padding-bottom: calc(25 / var(--break) * 100vw);
}
.hdg5 {
  padding-left: calc(30 / var(--break) * 100vw);
}
.hdg5::before {
  position: absolute;
  content: "";
  width: calc(10 / var(--break) * 100vw);
  height: calc(30 / var(--break) * 100vw);
  top: calc(10 / var(--break) * 100vw);
  left: 0;
  background: url("images/page/deco_hdg5.svg") no-repeat center/contain;
}
.bg_common01 {
  background: #c1c0c9;
}
.bg_common01::before {
  position: absolute;
  content: "";
  z-index: -1;
  width: 100%;
  height: calc(230 / var(--break) * 100vw);
  background: #eaeaed;
  left: 0;
  top: 0;
}
.bg_fee01 {
  background: url("images/page/bg_fee01.jpg") no-repeat center/cover;
}
.box_common01::before {
  position: absolute;
  content: "";
  z-index: -1;
  width: 100%;
  height: calc(149 / var(--break) * 100vw);
  left: 0;
  top: 0;
  background: rgba(59, 38, 0, 0.1);
}
.box_common02 .copy {
  min-height: calc(70 / var(--break) * 100vw);
}
.box_common02 .content {
  border: 1px solid #152a63;
}
.box_common03 .ttl {
  background: rgba(59, 38, 0, 0.1);
}
.box_common04 .box_common03 {
  width: 90%;
  max-width: 1240px;
}
.box_flow01 {
  border: 1px solid #152a63;
}
.box_flow01:not(:last-child) {
  margin-bottom: calc(54 / var(--break) * 100vw);
}
.box_flow01:not(:last-child)::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(-35 / var(--break) * 100vw);
  border-style: solid;
  border-width: calc(15 / var(--break) * 100vw) calc(22.5 / var(--break) * 100vw) 0px calc(22.5 / var(--break) * 100vw);
  border-color: #152a63 transparent transparent transparent;
}
.content_common01 {
  margin-top: calc(-13 / var(--break) * 100vw);
}
.label_common01 {
  column-gap: calc(34 / var(--break) * 100vw);
}
.label_common01::before, .label_common01::after {
  content: "";
  flex: 1;
  height: 1px;
}
.label_common01::before {
  background: #bd8e28;
}
.label_common01::after {
  background: #000000;
}
.list_common01 {
  row-gap: calc(5 / var(--break) * 100vw);
}
.list_common01 li {
  width: calc(555 / 1140 * 100%);
  position: relative;
  padding-left: calc(30 / var(--break) * 100vw);
}
.list_common01 li::before {
  position: absolute;
  content: "";
  width: calc(12 / var(--break) * 100vw);
  height: calc(9 / var(--break) * 100vw);
  left: calc(4 / var(--break) * 100vw);
  top: calc(15 / var(--break) * 100vw);
  background: url("images/page/icn_check02.svg") no-repeat center/contain;
}
.row_common01 .col_img {
  width: calc(570 / 1140 * 100%);
}
.row_common01 .col_txt {
  width: calc(520 / 1140 * 100%);
}
.row_common02 .col_img {
  width: calc(700 / 1500 * 100%);
}
.row_common02 .col_txt {
  width: calc(740 / 1500 * 100%);
}
.row_common02 .col_txt .copy {
  line-height: calc(54 / 34);
  margin-top: calc(-13 / var(--break) * 100vw);
  padding-bottom: calc(22 / var(--break) * 100vw);
  background: linear-gradient(to right, #bd8e28 50%, #152a63 50%) left bottom/100% 2px no-repeat;
}
.row_common03 {
  column-gap: calc(37.5 / 1500 * 100%);
  row-gap: calc(41 / var(--break) * 100vw);
}
.row_common03 .col {
  width: calc(475 / 1500 * 100%);
}
.row_common03 .col .ttl {
  min-height: calc(60 / var(--break) * 100vw);
}
.row_common03 .col:nth-child(2n+1) .ttl {
  background: #3b2600;
}
.row_common03 .col:nth-child(2n) .ttl {
  background: #152a63;
}
.is-win .row_common03 .col .ttl {
  padding-bottom: calc(13 / var(--break) * 100vw);
}
.row_common04 {
  column-gap: calc(20 / 1240 * 100%);
  row-gap: calc(20 / var(--break) * 100vw);
}
.row_common04 .col {
  width: calc(400 / 1240 * 100%);
  border: 1px solid #bd8e28;
}
.row_common05 .col_img {
  width: calc(570 / 1500 * 100%);
}
.row_common05 .col_txt {
  width: calc(870 / 1500 * 100%);
  margin-top: calc(-12 / var(--break) * 100vw);
}
.row_common06 .col_img {
  width: calc(290 / 1400 * 100%);
}
.row_common06 .col_txt {
  width: calc(1060 / 1400 * 100%);
  margin-top: calc(-10 / var(--break) * 100vw);
}
.row_common07 {
  row-gap: calc(60 / var(--break) * 100vw);
}
.row_fee01 {
  column-gap: calc(20 / 1240 * 100%);
}
.row_fee01 .col {
  width: calc(295 / 1240 * 100%);
  background: rgba(0, 0, 0, 0.3);
  border: 2px solid #fff;
}
.row_fee01 .col .icn img {
  width: calc(178 / var(--break) * 100vw);
}
.row_fee01 .col .txt {
  line-height: calc(30 / 18);
}
.ttl_common01 {
  border-bottom: calc(10 / var(--break) * 100vw) solid #322d4b;
}
.ttl_flow01 {
  column-gap: calc(21 / var(--break) * 100vw);
  border-bottom: 1px solid #152a63;
}
.ttl_flow01 .num {
  width: calc(80 / var(--break) * 100vw);
  height: calc(80 / var(--break) * 100vw);
  padding-left: calc(3 / var(--break) * 100vw);
}
.ttl_flow01 .segment {
  flex: 1;
  padding-top: calc(17 / var(--break) * 100vw);
  padding-bottom: calc(17 / var(--break) * 100vw);
  padding-right: calc(20 / var(--break) * 100vw);
}
.is-win .ttl_flow01 .num {
  padding-bottom: calc(10 / var(--break) * 100vw);
}
@media (min-width: 768px) and (max-width: 1299px) {
  .row_common02 .col_txt .copy {
    font-size: calc(32 / var(--break) * 100vw);
  }
}
@media (max-width: 767px) {
  .main_page {
    height: calc(496 / var(--break) * 100vw);
  }
  .hdg2 .ja {
    text-shadow: 0 0 calc(20 / var(--break) * 100vw) #fff, 0 0 calc(20 / var(--break) * 100vw) #fff, 0 0 calc(20 / var(--break) * 100vw) #fff, 0 0 calc(20 / var(--break) * 100vw) #fff, 0 0 calc(20 / var(--break) * 100vw) #fff, 0 0 calc(20 / var(--break) * 100vw) #fff, 0 0 calc(20 / var(--break) * 100vw) #fff;
  }
  .hdg2 .en {
    min-height: calc(50 / var(--break) * 100vw);
  }
  .hdg3 {
    font-size: calc(46 / var(--break) * 100vw);
  }
  .hdg3::after {
    bottom: calc(6 / var(--break) * 100vw);
  }
  .hdg4 {
    font-size: calc(38 / var(--break) * 100vw);
  }
  .hdg5 {
    font-size: calc(34 / var(--break) * 100vw);
  }
  .hdg5::before {
    top: calc(15 / var(--break) * 100vw);
  }
  .content_low {
    padding: calc(50 / var(--break) * 100vw) 0 25vw;
  }
  .content_low .inner {
    max-width: calc(702 / var(--break) * 100vw);
  }
  .inner_main_page {
    max-width: calc(646 / var(--break) * 100vw);
  }
  .page_main section:not(:last-child) {
    margin-bottom: 20vw;
  }
  .main_page {
    background-image: url("images/page/bg_ttl_page_sp.jpg");
  }
  .hdg2 .ja {
    font-size: 1.5625rem;
    margin-bottom: calc(13 / var(--break) * 100vw);
  }
  .hdg2 .en {
    font-size: 0.9375rem;
  }
  .col_img {
    text-align: center;
  }
  .bg_common01::before {
    height: calc(275 / var(--break) * 100vw);
  }
  .box_common01 {
    padding-left: calc(40 / var(--break) * 100vw);
    padding-right: calc(40 / var(--break) * 100vw);
  }
  .box_common02 .copy {
    font-size: calc(38 / var(--break) * 100vw);
    min-height: calc(100 / var(--break) * 100vw);
  }
  .box_common02 .content {
    padding-left: calc(32 / var(--break) * 100vw);
    padding-right: calc(32 / var(--break) * 100vw);
  }
  .box_common03 .ttl {
    font-size: calc(34 / var(--break) * 100vw);
  }
  .box_common03 .txt {
    padding-left: calc(40 / var(--break) * 100vw);
    padding-right: calc(40 / var(--break) * 100vw);
  }
  .box_flow01 .content {
    padding-left: calc(40 / var(--break) * 100vw);
    padding-right: calc(40 / var(--break) * 100vw);
  }
  .content_common01 .copy {
    font-size: calc(36 / var(--break) * 100vw);
  }
  .copy_fee01 {
    font-size: calc(34 / var(--break) * 100vw);
  }
  .label_common01 {
    font-size: calc(60 / var(--break) * 100vw);
  }
  .list_common01 li {
    width: 100%;
    padding-left: calc(46 / var(--break) * 100vw);
  }
  .list_common01 li::before {
    width: calc(32 / var(--break) * 100vw);
    height: calc(24 / var(--break) * 100vw);
    left: 0;
    top: calc(21 / var(--break) * 100vw);
  }
  .row_common01 .col_img {
    width: 100%;
  }
  .row_common01 .col_txt {
    width: 100%;
  }
  .row_common01 .col_txt .ttl {
    padding-right: 0;
    font-size: calc(36 / var(--break) * 100vw);
    text-align: center;
  }
  .row_common02 .col_img {
    width: 100%;
    margin-bottom: 5vw;
  }
  .row_common02 .col_txt {
    width: 100%;
  }
  .row_common02 .col_txt .copy {
    font-size: calc(38 / var(--break) * 100vw);
    text-align: center;
  }
  .row_common02 .col_txt .txt {
    max-width: calc(646 / var(--break) * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  .row_common03 {
    row-gap: calc(30 / var(--break) * 100vw);
  }
  .row_common03 .col {
    width: 100%;
    max-width: calc(600 / var(--break) * 100vw);
  }
  .row_common03 .col .ttl {
    font-size: calc(34 / var(--break) * 100vw);
    min-height: calc(80 / var(--break) * 100vw);
  }
  .row_common04 .col {
    width: 100%;
  }
  .row_common04 .col .ttl {
    font-size: calc(36 / var(--break) * 100vw);
  }
  .row_common05 .col_img {
    width: 100%;
    margin-bottom: calc(35 / var(--break) * 100vw);
  }
  .row_common05 .col_txt {
    margin-top: 0;
    width: 100%;
  }
  .row_common05 .col_txt .copy {
    font-size: calc(38 / var(--break) * 100vw);
    text-align: center;
  }
  .row_common05 .col_txt .txt {
    max-width: calc(646 / var(--break) * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  .row_common06 {
    padding: 0 calc(40 / var(--break) * 100vw);
  }
  .row_common06 .col_img {
    width: 100%;
    margin-bottom: calc(20 / var(--break) * 100vw);
  }
  .row_common06 .col_txt {
    width: 100%;
    margin-top: 0;
  }
  .row_common07 {
    row-gap: calc(35 / var(--break) * 100vw);
  }
  .row_fee01 {
    column-gap: calc(22 / 702 * 100%);
    row-gap: calc(20 / var(--break) * 100vw);
  }
  .row_fee01 .col {
    width: calc(340 / 702 * 100%);
  }
  .row_fee01 .col .ttl {
    font-size: calc(34 / var(--break) * 100vw);
  }
  .ttl_common01 {
    font-size: calc(38 / var(--break) * 100vw);
  }
  .ttl_flow01 {
    column-gap: calc(24 / var(--break) * 100vw);
  }
  .ttl_flow01 .num {
    font-size: calc(50 / var(--break) * 100vw);
    width: calc(96 / var(--break) * 100vw);
    height: calc(96 / var(--break) * 100vw);
  }
  .ttl_flow01 .segment {
    font-size: calc(36 / var(--break) * 100vw);
  }
}

/* clinic
------------------------------------------------------------------*/
.bg_clinic01 {
  background: url("images/clinic/bg_clinic01.jpg") no-repeat center/cover;
}
.bg_clinic02 {
  z-index: -1;
  max-width: 1720px;
  width: 90%;
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}
.bg_clinic02 .content {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.bg_clinic02 .content::before {
  position: absolute;
  content: "";
  z-index: 2;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: calc(100 / var(--break) * 100vw) calc(100 / var(--break) * 100vw) 0px 0px;
  border-color: #bd8e28 transparent transparent transparent;
  left: calc(30 / var(--break) * 100vw);
  top: calc(30 / var(--break) * 100vw);
}
.bg_clinic02 .content::after {
  position: absolute;
  content: "";
  z-index: 1;
  width: calc(1610 / 1720 * 100%);
  height: calc(300 / 872 * 100%);
  background: rgba(193, 192, 201, 0.1);
  left: 0;
  bottom: 0;
}
.bg_clinic02::after {
  position: absolute;
  content: "";
  width: calc(1610 / 1720 * 100%);
  height: 100%;
  left: 0;
  top: 0;
  background: #152a63;
}
.bg_clinic02.pt02 .content::before {
  left: auto;
  right: calc(30 / var(--break) * 100vw);
  transform: scaleX(-1);
}
.bg_clinic02.pt02 .content::after {
  left: auto;
  right: 0;
}
.bg_clinic02.pt02::after {
  left: auto;
  right: 0;
}
.bg_clinic02.no02 .content::before, .bg_clinic02.no05 .content::before {
  border-color: #ffffff transparent transparent transparent;
}
.bg_clinic02.no02 .content::after, .bg_clinic02.no05 .content::after {
  background: rgba(21, 42, 99, 0.1);
  bottom: auto;
  top: 0;
}
.bg_clinic02.no02::after, .bg_clinic02.no05::after {
  background: #eaeaed;
}
.bg_clinic02.no02 .content::after {
  height: calc(300 / 980 * 100%);
}
.bg_clinic02.no05 .content::after {
  height: calc(300 / 660 * 100%);
}
.bg_clinic02.no03 .content::before {
  border-color: #ffffff transparent transparent transparent;
}
.bg_clinic02.no03 .content::after {
  background: rgba(21, 42, 99, 0.1);
  height: calc(300 / 660 * 100%);
}
.bg_clinic02.no03::after {
  background: #ab8923;
}
.bg_clinic02.no04 .content::after {
  background: rgba(193, 192, 201, 0.1);
  height: calc(300 / 1190 * 100%);
}
.box_clinic01 {
  border: 1px solid #fff;
  background: rgba(0, 0, 0, 0.5);
  max-width: calc(1240 / var(--break) * 100vw);
  width: 90%;
}
.box_clinic02 {
  border: 1px solid #000000;
}
.box_clinic02 .ttl {
  background: rgba(59, 38, 0, 0.1);
}
.box_clinic04 > .content {
  width: 90%;
  max-width: 1240px;
}
.circle_clinic01 {
  width: calc(300 / var(--break) * 100vw);
  height: calc(273 / var(--break) * 100vw);
  background: url("images/page/bg_common01.png") no-repeat center/contain;
}
.circle_clinic01 .txt {
  margin-top: calc(30 / var(--break) * 100vw);
}
.circle_clinic02 {
  width: calc(197 / var(--break) * 100vw);
  height: calc(197 / var(--break) * 100vw);
  background: url("images/page/bg_common02.png") no-repeat center/contain;
  left: calc(30 / var(--break) * 100vw);
  bottom: calc(30 / var(--break) * 100vw);
}
.content_clinic01 {
  margin-top: calc(-12 / var(--break) * 100vw);
}
.inner_clinic01 {
  max-width: calc(1240 / var(--break) * 100vw);
  width: 90%;
}
.row_clinic02 {
  margin-right: calc(50% - 50vw);
}
.row_clinic02.pt02 {
  margin-right: 0;
  margin-left: calc(50% - 50vw);
}
.row_clinic02 .col_img {
  width: calc(860 / 1820 * 100%);
}
.row_clinic02 .col_txt {
  width: calc(750 / 1820 * 100%);
  margin-top: calc(-15 / var(--break) * 100vw);
}
.row_clinic02.no03 .col_txt {
  margin-top: calc(25 / var(--break) * 100vw);
}
.row_clinic03 {
  margin-top: calc(-61 / var(--break) * 100vw);
  column-gap: calc(57 / var(--break) * 100vw);
}
.row_clinic04 .col {
  width: calc(640 / 1920 * 100%);
}
.row_clinic04 .col .content::before {
  position: absolute;
  content: "";
  width: 100%;
  height: calc(30 / var(--break) * 100vw);
  left: 0;
}
.row_clinic04 .col.no01 .content::before {
  background: rgba(193, 192, 201, 0.1);
  top: 0;
}
.row_clinic04 .col.no02 .content::before {
  background: rgba(21, 42, 99, 0.1);
  bottom: 0;
}
.row_clinic04 .col.no03 .content::before {
  background: rgba(21, 42, 99, 0.1);
  top: 0;
}
.row_clinic06 {
  column-gap: calc(20 / 1500 * 100%);
  row-gap: calc(40 / var(--break) * 100vw);
}
.row_clinic06 .col {
  width: calc(360 / 1500 * 100%);
}
.row_clinic06 .col .ttl {
  min-height: calc(66.6 / var(--break) * 100vw);
}
.row_clinic06 .col:nth-child(2n+1) .ttl {
  background: #3b2600;
}
.row_clinic06 .col:nth-child(2n) .ttl {
  background: #152a63;
}
.is-win .row_clinic06 .col .ttl {
  padding-bottom: calc(15 / var(--break) * 100vw);
}
.slide_clinic01 .slick-prev {
  background: url(images/page/arw_slide04.svg) no-repeat center/cover;
  width: calc(30 / var(--break) * 100vw);
  height: calc(54 / var(--break) * 100vw);
  transform: translate(0);
  top: 0;
  bottom: 0;
  margin: auto;
  left: -9%;
  z-index: 1;
}
.slide_clinic01 .slick-next {
  background: url(images/page/arw_slide04.svg) no-repeat center/cover;
  width: calc(30 / var(--break) * 100vw);
  height: calc(54 / var(--break) * 100vw);
  right: -9%;
  transform: translate(0) scaleX(-1);
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
}
.slide_clinic01 .slick-prev:before,
.slide_clinic01 .slick-next:before {
  display: none;
}
.slide_clinic01 .slide_thumbnail li {
  width: 18%;
  margin-right: 2.5%;
  margin-bottom: 2%;
  opacity: 0.5;
  transition: 0.3s;
}
.slide_clinic01 .slide_thumbnail li.thumbnail-current {
  opacity: 1;
}
.slide_clinic01 .slide_thumbnail li:nth-child(5n),
.slide_clinic01 .slide_thumbnail li:last-child {
  margin-right: 0;
}
.slide_clinic01 .slide_thumbnail li:hover {
  opacity: 1;
  transition: 0.3s;
  cursor: pointer;
}
@media (min-width: 768px) and (max-width: 1599px) {
  .bg_clinic02 .content::before {
    border-width: calc(100 / 1599 * 100vw) calc(100 / 1599 * 100vw) 0px 0px;
  }
  .bg_clinic02.no02 .content::after {
    height: calc(275 / 980 * 100%);
  }
  .bg_clinic02.no05 .content::after {
    height: calc(370 / 660 * 100%);
  }
  .box_clinic01 .ttl {
    font-size: calc(40 / 1599 * 100vw);
  }
  .circle_clinic01 {
    width: calc(300 / 1599 * 100vw);
    height: calc(273 / 1599 * 100vw);
  }
  .circle_clinic01 .txt {
    margin-top: calc(30 / 1599 * 100vw);
    font-size: calc(24 / 1599 * 100vw);
  }
  .copy_clinic01 {
    font-size: calc(40 / 1599 * 100vw);
  }
  .inner_clinic01 {
    max-width: calc(1050 / var(--break) * 100vw);
  }
  .row_clinic01 .col .txt {
    font-size: calc(30 / 1599 * 100vw);
  }
  .row_clinic02 .col_txt .copy {
    font-size: calc(34 / 1599 * 100vw);
    padding-top: calc(30 / var(--break) * 100vw);
  }
  .row_clinic03 {
    column-gap: calc(57 / 1599 * 100vw);
    margin-top: calc(9 / var(--break) * 100vw);
  }
  .row_clinic04 .col .content {
    padding-left: calc(50 / 1599 * 100vw);
    padding-right: calc(50 / 1599 * 100vw);
  }
  .row_clinic04 .col .content .copy {
    font-size: calc(32 / 1599 * 100vw);
  }
  .slide_clinic01 .slick-prev,
  .slide_clinic01 .slick-next {
    width: calc(30 / var(--break) * 100vw);
    height: calc(54 / var(--break) * 100vw);
  }
}
@media (min-width: 768px) and (max-width: 1299px) {
  .bg_clinic02 .content::after {
    width: 100%;
    height: calc(270 / 872 * 100%);
  }
  .bg_clinic02::after {
    width: 100%;
  }
  .bg_clinic02.no02 .content::after {
    height: calc(255 / 980 * 100%);
  }
  .bg_clinic02.no05 .content::after {
    height: calc(345 / 660 * 100%);
  }
  .box_clinic01 {
    max-width: calc(1280 / 1599 * 100vw);
  }
  .row_clinic02 .col_txt .copy {
    padding-top: calc(60 / var(--break) * 100vw);
  }
  .row_clinic03 {
    margin-top: calc(30 / var(--break) * 100vw);
  }
  .slide_clinic01 .slick-prev,
  .slide_clinic01 .slick-next {
    width: calc(30 / var(--break) * 100vw);
    height: calc(54 / var(--break) * 100vw);
  }
  .slide_clinic01 .slick-prev {
    left: 2%;
  }
  .slide_clinic01 .slick-next {
    right: 2%;
  }
}
@media (max-width: 767px) {
  .bg_clinic02 {
    width: 100%;
  }
  .bg_clinic02 .content::before {
    display: none;
  }
  .bg_clinic02 .content::after {
    width: 100%;
    height: calc(270 / 872 * 100%);
  }
  .bg_clinic02::after {
    width: 100%;
  }
  .bg_clinic02.no02 .content::after {
    height: calc(355 / 980 * 100%);
  }
  .bg_clinic02.no05 .content::after {
    height: calc(363 / 660 * 100%);
  }
  .bg_clinic02.no03 .content::after {
    height: calc(313 / 660 * 100%);
  }
  .box_clinic01 {
    width: 100%;
    max-width: calc(680 / var(--break) * 100vw);
  }
  .box_clinic01 .ttl {
    font-size: calc(38 / var(--break) * 100vw);
  }
  .box_clinic02 .ttl {
    font-size: calc(34 / var(--break) * 100vw);
  }
  .box_clinic02 .txt {
    padding-left: calc(40 / var(--break) * 100vw);
    padding-right: calc(40 / var(--break) * 100vw);
  }
  .circle_clinic01 .txt {
    font-size: calc(24 / var(--break) * 100vw);
  }
  .circle_clinic02 {
    left: calc(20 / var(--break) * 100vw);
    bottom: calc(20 / var(--break) * 100vw);
  }
  .circle_clinic02 .txt {
    font-size: calc(22 / var(--break) * 100vw);
  }
  .content_clinic01 {
    margin-top: 0;
  }
  .content_clinic01 .copy {
    font-size: calc(38 / var(--break) * 100vw);
  }
  .copy_clinic01 {
    font-size: calc(34 / var(--break) * 100vw);
  }
  .inner_clinic01 {
    width: 100%;
    max-width: calc(702 / var(--break) * 100vw);
  }
  .row_clinic01 .col .txt {
    font-size: calc(32 / var(--break) * 100vw);
  }
  .row_clinic02 {
    margin-right: 0;
  }
  .row_clinic02.pt02 {
    margin-left: 0;
  }
  .row_clinic02 .col_img {
    width: 100%;
    margin-bottom: calc(35 / var(--break) * 100vw);
  }
  .row_clinic02 .col_txt {
    width: 100%;
    margin-top: 0;
    display: block;
  }
  .row_clinic02 .col_txt .copy {
    font-size: calc(38 / var(--break) * 100vw);
  }
  .row_clinic02 .col_txt .txt {
    max-width: calc(646 / var(--break) * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  .row_clinic02.no01 .col_txt .content, .row_clinic02.no03 .col_txt .content, .row_clinic02.no05 .col_txt .content {
    margin-left: 0;
  }
  .row_clinic02.no03 .col_txt {
    margin-top: 0;
  }
  .row_clinic03 {
    row-gap: calc(20 / var(--break) * 100vw);
    column-gap: calc(40 / var(--break) * 100vw);
    margin-top: calc(30 / var(--break) * 100vw);
  }
  .row_clinic04 {
    row-gap: calc(30 / var(--break) * 100vw);
  }
  .row_clinic04 .col {
    width: 100%;
    max-width: calc(702 / var(--break) * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  .row_clinic04 .col .content {
    padding-left: calc(40 / var(--break) * 100vw);
    padding-right: calc(40 / var(--break) * 100vw);
  }
  .row_clinic04 .col .content .copy {
    font-size: calc(38 / var(--break) * 100vw);
  }
  .row_clinic06 {
    column-gap: calc(22 / 702 * 100%);
    row-gap: calc(20 / var(--break) * 100vw);
  }
  .row_clinic06 .col {
    width: calc(340 / 702 * 100%);
  }
  .row_clinic06 .col .ttl {
    font-size: calc(34 / var(--break) * 100vw);
    min-height: calc(80 / var(--break) * 100vw);
  }
  .slide_clinic01 .slick-prev,
  .slide_clinic01 .slick-next {
    width: calc(30 / var(--break) * 100vw);
    height: calc(54 / var(--break) * 100vw);
  }
  .slide_clinic01 .slick-prev {
    left: 3vw;
  }
  .slide_clinic01 .slick-next {
    right: 3vw;
  }
}

/* access
------------------------------------------------------------------*/
.box_access01 {
  width: calc(476 / var(--break) * 100vw);
  height: calc(110 / var(--break) * 100vw);
  background: url("images/access/bg_access01.png") no-repeat center/contain;
  padding-bottom: calc(10 / var(--break) * 100vw);
  padding-left: calc(29 / var(--break) * 100vw);
}
.box_access02 .ttl {
  background: rgba(59, 38, 0, 0.1);
  min-height: calc(100 / var(--break) * 100vw);
}
.box_access03::after {
  position: absolute;
  content: "";
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  background: #0d1d49;
}
.box_access03 .icn {
  width: calc(120 / 240 * 100%);
}
.copy_access01 {
  margin-top: calc(-13 / var(--break) * 100vw);
}
.img_access01 {
  max-width: 1037px;
  width: 90%;
}
.list_access01 li {
  line-height: 2;
}
.list_access01 li:not(:last-child) {
  margin-bottom: calc(25 / var(--break) * 100vw);
}
.list_access01 li::before {
  top: 0.8em;
  background: #ab8923;
}
.logo_access {
  width: calc(400 / var(--break) * 100vw);
}
.row_access01 {
  column-gap: calc(62 / var(--break) * 100vw);
  margin-left: calc(16 / var(--break) * 100vw);
}
.row_access02 .col_img {
  width: calc(650 / 1240 * 100%);
}
.row_access02 .col_txt {
  width: calc(530 / 1240 * 100%);
}
.row_access02 .col_txt .tbl_time01 .box {
  background: #fff;
}
.row_access03 .col_img {
  width: calc(240 / 1140 * 100%);
}
.row_access03 .col_txt {
  width: calc(848 / 1140 * 100%);
}
.row_access03 .col_txt .txt {
  margin-top: calc(-10 / var(--break) * 100vw);
}
.wrap_access01 .map {
  padding: calc(460 / var(--break) * 100vw) 0 0 0;
}
@media (max-width: 767px) {
  .box_access01 {
    width: calc(680 / var(--break) * 100vw);
    height: calc(158 / var(--break) * 100vw);
    padding-left: calc(32 / var(--break) * 100vw);
  }
  .box_access01 .txt {
    font-size: calc(34 / var(--break) * 100vw);
  }
  .box_access02 .ttl {
    font-size: calc(38 / var(--break) * 100vw);
  }
  .box_access02 .content {
    padding-left: calc(40 / var(--break) * 100vw);
    padding-right: calc(40 / var(--break) * 100vw);
  }
  .box_access03 .icn {
    width: calc(120 / var(--break) * 100vw);
  }
  .btn_access01 {
    margin-bottom: calc(45 / var(--break) * 100vw);
  }
  .copy_access01 {
    margin-top: 0;
    font-size: calc(38 / var(--break) * 100vw);
  }
  .row_access01 {
    margin-left: 0;
    row-gap: calc(20 / var(--break) * 100vw);
  }
  .row_access02 .col_img {
    width: 100%;
    margin-bottom: calc(45 / var(--break) * 100vw);
  }
  .row_access02 .col_txt {
    width: 100%;
  }
  .row_access03 .col_img {
    width: 100%;
    margin-bottom: 5vw;
  }
  .row_access03 .col_txt {
    width: 100%;
  }
}

/* dtr
------------------------------------------------------------------*/
.txt_dtr01 {
  margin-top: calc(-10 / var(--break) * 100vw);
}

/* faq
------------------------------------------------------------------*/
.btn_faq01 {
  width: calc(480 / 1500 * 100%);
}
.btn_faq01 .link {
  height: 100%;
}
.btn_faq01 .link::after {
  clip-path: polygon(0 0, calc(275 / 500 * 100%) 0, calc(246 / 500 * 100%) 100%, 0 100%);
}
.content_faq01 {
  max-width: 1240px;
  width: 90%;
}
.row_faq02 {
  column-gap: calc(30 / 1500 * 100%);
  row-gap: calc(20 / var(--break) * 100vw);
}
.ttl_faq01 {
  padding-top: calc(13 / var(--break) * 100vw);
}
@media (max-width: 767px) {
  .btn_faq01 {
    width: calc(600 / var(--break) * 100vw);
  }
  .btn_faq01 .link::after {
    clip-path: polygon(0 0, calc(258 / 500 * 100%) 0, calc(240 / 500 * 100%) 100%, 0 100%);
  }
  .row_faq02 {
    justify-content: center !important;
  }
}

/* first
------------------------------------------------------------------*/
.acc_first .js_acc_toggle {
  background: rgba(21, 42, 99, 0.6);
}
.acc_first .js_acc_toggle .content {
  margin-top: calc(-10 / var(--break) * 100vw);
}
.acc_first .js_acc_toggle::after {
  position: absolute;
  content: "";
  z-index: -1;
  width: 100%;
  height: calc(100% - 10 / var(--break) * 100vw);
  left: 0;
  top: 0;
  background: var(--color12);
}
.acc_first .js_acc_item {
  border: 1px solid #000;
}
.box_first01 .content {
  border: 1px solid #000;
  padding-top: calc(25 / var(--break) * 100vw);
  padding-bottom: calc(31 / var(--break) * 100vw);
}
.content_first01:not(:last-child)::before {
  position: absolute;
  content: "";
  z-index: -1;
  width: calc(100% - 100 / var(--break) * 100vw);
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  background: linear-gradient(to right, #1f1f1f 0, #1f1f1f calc(4 / var(--break) * 100vw), transparent calc(4 / var(--break) * 100vw), transparent calc(6 / var(--break) * 100vw)) left bottom/calc(6 / var(--break) * 100vw) 1px repeat-x;
}
.content_first01::after {
  position: absolute;
  content: "";
  z-index: -2;
  left: 0;
  top: 0;
  width: calc(300 / 1240 * 100%);
  height: 100%;
  background: #ab8923;
}
.content_first02 {
  margin-top: 0;
}
.copy_first01 {
  margin-top: calc(-12 / var(--break) * 100vw);
}
.name_first01 .role {
  margin-bottom: calc(18 / var(--break) * 100vw);
}
.name_first01 .row {
  column-gap: calc(9 / var(--break) * 100vw);
}
.name_first01 .row .en {
  padding-bottom: calc(2 / var(--break) * 100vw);
}
.row_first01 .col_img {
  width: calc(570 / 1500 * 100%);
}
.row_first01 .col_txt {
  width: calc(870 / 1500 * 100%);
  margin-top: calc(-10 / var(--break) * 100vw);
}
.row_first02 .col_img {
  width: calc(345 / 1148 * 100%);
}
.row_first02 .col_txt {
  width: calc(745 / 1148 * 100%);
  margin-top: calc(-10 / var(--break) * 100vw);
}
.row_first03 {
  column-gap: calc(40 / var(--break) * 100vw);
}
.web_first {
  width: calc(480 / var(--break) * 100vw);
}
.web_first .txt01 {
  background: none;
}
@media (max-width: 767px) {
  .content_first01 {
    padding-left: calc(40 / var(--break) * 100vw);
    padding-right: calc(40 / var(--break) * 100vw);
  }
  .content_first01:not(:last-child)::before {
    width: calc(100% - 80 / var(--break) * 100vw);
  }
  .content_first01::after {
    width: 100%;
    height: calc(300 / var(--break) * 100vw);
  }
  .copy_first01 {
    margin-top: 0;
    font-size: calc(38 / var(--break) * 100vw);
  }
  .name_first01 .role {
    font-size: calc(28 / var(--break) * 100vw);
  }
  .name_first01 .row .ja {
    font-size: calc(46 / var(--break) * 100vw);
  }
  .name_first01 .row .en {
    font-size: calc(32 / var(--break) * 100vw);
    padding-bottom: 0;
  }
  .row_first01 .col_img {
    width: 100%;
    max-width: calc(570 / var(--break) * 100vw);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5vw;
  }
  .row_first01 .col_txt {
    width: 100%;
    margin-top: 0;
  }
  .row_first02 .col_img {
    width: 100%;
    margin-bottom: 5vw;
  }
  .row_first02 .col_txt {
    margin-top: 0;
    width: 100%;
  }
  .row_first03 {
    column-gap: calc(30 / var(--break) * 100vw);
  }
  .web_first {
    width: calc(322 / var(--break) * 100vw);
  }
}

/* implant
------------------------------------------------------------------*/
.btn_implant01 {
  width: calc(480 / 1000 * 100%);
}
.btn_implant01 .link {
  height: 100%;
}
.btn_implant01 .link::after {
  clip-path: polygon(0 0, calc(275 / 500 * 100%) 0, calc(246 / 500 * 100%) 100%, 0 100%);
}
.content_implant01 {
  margin-top: 0;
}
.row_implant02.has_deco .deco {
  width: calc(164 / 1920 * 100vw);
  right: 0;
  bottom: 0;
}
.row_implant04 {
  column-gap: calc(50 / 1500 * 100%);
}
.row_implant04 .col.no01 {
  border-bottom: 1px solid #3b2600;
}
.row_implant04 .col.no02 {
  border-bottom: 1px solid #152a63;
}
.row_implant05 {
  column-gap: calc(40 / 1000 * 100%);
  row-gap: calc(20 / var(--break) * 100vw);
}
@media (min-width: 768px) and (max-width: 1299px) {
  .row_implant02.has_deco {
    margin-bottom: calc(110 / var(--break) * 100vw);
  }
  .row_implant02.has_deco .deco {
    bottom: calc(-80 / var(--break) * 100vw);
  }
}
@media (max-width: 767px) {
  .btn_implant01 {
    width: calc(600 / var(--break) * 100vw);
  }
  .btn_implant01 .link::after {
    clip-path: polygon(0 0, calc(258 / 500 * 100%) 0, calc(240 / 500 * 100%) 100%, 0 100%);
  }
  .row_implant02.has_deco .deco {
    bottom: calc(-28 / var(--break) * 100vw);
  }
}

/* orthodontic
------------------------------------------------------------------*/
.box_orthodontic03 {
  width: calc(475 / var(--break) * 100vw);
}
.box_orthodontic03.pt02 {
  width: calc(540 / var(--break) * 100vw);
}
.box_orthodontic03 .ttl {
  min-height: calc(60 / var(--break) * 100vw);
}
.box_orthodontic03 .content {
  border-bottom: 1px solid #3b2600;
}
.box_orthodontic03 .copy {
  line-height: calc(30 / 18);
  margin-bottom: calc(3 / var(--break) * 100vw);
}
.is-win .box_orthodontic03 .ttl {
  padding-bottom: calc(3 / var(--break) * 100vw);
}
.row_orthodontic04 {
  column-gap: calc(50 / var(--break) * 100vw);
}
@media (max-width: 767px) {
  .box_orthodontic03 {
    width: calc(600 / var(--break) * 100vw);
  }
  .box_orthodontic03.pt02 {
    width: calc(600 / var(--break) * 100vw);
  }
  .box_orthodontic03 .ttl {
    font-size: calc(34 / var(--break) * 100vw);
    min-height: calc(80 / var(--break) * 100vw);
  }
  .box_orthodontic03 .content {
    padding-left: calc(35 / var(--break) * 100vw);
    padding-right: calc(35 / var(--break) * 100vw);
  }
  .row_orthodontic04 {
    row-gap: calc(35 / var(--break) * 100vw);
    margin-bottom: calc(35 / var(--break) * 100vw);
  }
}

/* price
------------------------------------------------------------------*/
.btn_price01 {
  width: calc(480 / 1500 * 100%);
}
.btn_price01 .link {
  height: 100%;
}
.btn_price01 .link::after {
  clip-path: polygon(0 0, calc(275 / 500 * 100%) 0, calc(246 / 500 * 100%) 100%, 0 100%);
}
.row_price01 {
  column-gap: calc(30 / 1500 * 100%);
  row-gap: calc(20 / var(--break) * 100vw);
}
@media (max-width: 767px) {
  .btn_price01 {
    width: calc(600 / var(--break) * 100vw);
  }
  .btn_price01 .link::after {
    clip-path: polygon(0 0, calc(258 / 500 * 100%) 0, calc(240 / 500 * 100%) 100%, 0 100%);
  }
  .row_price01 {
    justify-content: center !important;
  }
}

/* staff
------------------------------------------------------------------*/
.box_staff01 .ttl {
  min-height: calc(50 / var(--break) * 100vw);
}
.is-win .box_staff01 .ttl {
  padding-bottom: calc(7 / var(--break) * 100vw);
}
.circle_staff01 {
  width: calc(290 / var(--break) * 100vw);
  height: calc(290 / var(--break) * 100vw);
  background: url("images/page/bg_common03.png") no-repeat center/contain;
  right: calc(-59 / var(--break) * 100vw);
  top: calc(380 / var(--break) * 100vw);
}
.list_staff01 .item {
  column-gap: calc(20 / var(--break) * 100vw);
}
.list_staff01 .item:not(:last-child) {
  margin-bottom: calc(4 / var(--break) * 100vw);
}
.list_staff01 .item .date {
  width: calc(80 / var(--break) * 100vw);
}
.list_staff01 .item .txt {
  flex: 1;
}
.name_staff01 .ja {
  margin-bottom: calc(23 / var(--break) * 100vw);
}
.name_staff01 .ja .role {
  margin-bottom: calc(14 / var(--break) * 100vw);
}
.name_staff02 {
  border-top: 1px solid #000;
}
.name_staff02 .row {
  column-gap: calc(8 / var(--break) * 100vw);
}
.row_staff01 .col_img {
  width: calc(460 / 1240 * 100%);
}
.row_staff01 .col_txt {
  width: calc(730 / 1240 * 100%);
  margin-top: calc(-10 / var(--break) * 100vw);
}
.row_staff02 .col {
  width: calc(600 / 1240 * 100%);
}
.row_staff04 {
  column-gap: calc(38 / 1000 * 100%);
  row-gap: calc(40 / var(--break) * 100vw);
}
.row_staff04 .col {
  width: calc(475 / 1000 * 100%);
}
.row_staff04 .col .name {
  padding-bottom: calc(17 / var(--break) * 100vw);
  border-bottom: 1px solid #ab8923;
}
.row_staff05 .col_img {
  width: calc(460 / 1240 * 100%);
}
.row_staff05 .col_txt {
  width: calc(730 / 1240 * 100%);
  margin-top: calc(-10 / var(--break) * 100vw);
}
.slide_staff01 {
  width: 90.4%;
  margin-bottom: calc(80 / var(--break) * 100vw);
}
.slide_staff01 .slick-list {
  margin: 0 calc(-15 / var(--break) * 100vw);
}
.slide_staff01 .item {
  padding: 0 calc(15 / var(--break) * 100vw);
  aspect-ratio: 16/9;
}
.slide_staff01 .item iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slide_staff01 .slick-prev,
.slide_staff01 .slick-next {
  width: calc(60 / var(--break) * 100vw);
  height: calc(60 / var(--break) * 100vw);
  background: url(images/page/arw_slide02.svg) no-repeat center/contain;
  z-index: 9;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: none;
}
.slide_staff01 .slick-prev:before,
.slide_staff01 .slick-next:before {
  display: none;
}
.slide_staff01 .slick-prev {
  left: calc(-73 / var(--break) * 100vw);
}
.slide_staff01 .slick-next {
  right: calc(-73 / var(--break) * 100vw);
  transform: scaleX(-1);
}
@media (min-width: 768px) and (max-width: 1599px) {
  .circle_staff01 {
    top: calc(340 / var(--break) * 100vw);
  }
  .slide_staff01 .slick-prev,
  .slide_staff01 .slick-next {
    width: calc(60 / 1599 * 100vw);
    height: calc(60 / 1599 * 100vw);
  }
  .slide_staff01 .slick-prev {
    left: calc(-73 / 1599 * 100vw);
  }
  .slide_staff01 .slick-next {
    right: calc(-73 / 1599 * 100vw);
  }
}
@media (min-width: 768px) and (max-width: 1299px) {
  .box_staff02 .col_img {
    width: calc(530 / 1140 * 100%);
  }
  .box_staff02 .col_txt {
    width: calc(560 / 1140 * 100%);
  }
}
@media (max-width: 767px) {
  .box_staff01 {
    padding-left: calc(40 / var(--break) * 100vw);
    padding-right: calc(40 / var(--break) * 100vw);
  }
  .circle_staff01 {
    top: auto;
    bottom: calc(-60 / var(--break) * 100vw);
    right: calc(-90 / var(--break) * 100vw);
  }
  .copy_staff01 {
    font-size: calc(38 / var(--break) * 100vw);
  }
  .list_staff01 .item .date {
    width: calc(120 / var(--break) * 100vw);
  }
  .name_staff01 .ja {
    margin-bottom: calc(29 / var(--break) * 100vw);
  }
  .name_staff01 .ja .role {
    font-size: calc(24 / var(--break) * 100vw);
    margin-bottom: calc(17 / var(--break) * 100vw);
  }
  .name_staff01 .ja .main {
    font-size: calc(36 / var(--break) * 100vw);
  }
  .name_staff01 .en {
    font-size: calc(24 / var(--break) * 100vw);
  }
  .name_staff02 {
    max-width: calc(646 / var(--break) * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  .name_staff02 .role {
    font-size: calc(28 / var(--break) * 100vw);
    margin-bottom: calc(14 / var(--break) * 100vw);
  }
  .name_staff02 .ja {
    font-size: calc(46 / var(--break) * 100vw);
  }
  .name_staff02 .en {
    font-size: calc(32 / var(--break) * 100vw);
  }
  .row_staff01 .col_img {
    max-width: 460px;
    width: calc(460 / var(--break) * 100vw);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: calc(70 / var(--break) * 100vw);
  }
  .row_staff01 .col_txt {
    margin-top: 0;
    width: 100%;
  }
  .row_staff02 {
    row-gap: calc(30 / var(--break) * 100vw);
  }
  .row_staff02 .col {
    width: 100%;
  }
  .row_staff02 .col .ttl {
    font-size: calc(36 / var(--break) * 100vw);
  }
  .row_staff04 .col {
    width: 100%;
    padding-top: calc(40 / var(--break) * 100vw);
  }
  .row_staff04 .col .img {
    margin-bottom: calc(20 / var(--break) * 100vw);
    width: calc(475 / var(--break) * 100vw);
    max-width: 475px;
    margin-left: auto;
    margin-right: auto;
  }
  .row_staff04 .col .name {
    font-size: calc(38 / var(--break) * 100vw);
    padding-bottom: calc(28 / var(--break) * 100vw);
  }
  .row_staff05 .col_img {
    max-width: 460px;
    width: calc(460 / var(--break) * 100vw);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5vw;
  }
  .row_staff05 .col_txt {
    margin-top: 0;
    width: 100%;
  }
  .row_staff05 .col_txt .txt {
    max-width: calc(646 / var(--break) * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
  .slide_staff01 {
    width: 100%;
    max-width: calc(646 / var(--break) * 100vw);
  }
  .slide_staff01 .slick-prev {
    left: calc(-28 / var(--break) * 100vw);
  }
  .slide_staff01 .slick-next {
    right: calc(-28 / var(--break) * 100vw);
  }
}

/* 症例紹介 case
------------------------------------------------------------------*/
.case .content_low {
  padding: calc(50 / var(--break) * 100vw) 0 calc(200 / var(--break) * 100vw);
}
.area_case_common01:not(:last-of-type) {
  margin-bottom: calc(60 / var(--break) * 100vw);
}
.area_case_common01::before {
  position: absolute;
  content: "";
  z-index: -2;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(255, 255, 255, 0.1);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.area_case_common01::after {
  position: absolute;
  content: "";
  z-index: -1;
  background: #0d1d49;
  width: calc(100% - 60 / var(--break) * 100vw);
  height: calc(100% - 60 / var(--break) * 100vw);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.box_case01 {
  position: relative;
  padding: calc(30 / var(--break) * 100vw) calc(50 / var(--break) * 100vw) calc(60 / var(--break) * 100vw);
}
.row_case01 {
  max-width: calc(1000 / var(--break) * 100vw);
  width: 100%;
}
.row_case01 .en {
  height: calc(50 / var(--break) * 100vw);
  border: 1px solid #fff;
}
.row_case01:after {
  border-left: calc(15 / var(--break) * 100vw) solid #f4c538;
  border-top: calc(23 / var(--break) * 100vw) solid transparent;
  border-bottom: calc(23 / var(--break) * 100vw) solid transparent;
  top: calc(55 / var(--break) * 100vw);
}
.row_case02 {
  column-gap: calc(30 / 1500 * 100%);
  row-gap: calc(20 / var(--break) * 100vw);
}
.btn_case02 {
  width: calc(480 / 1500 * 100%);
}
.btn_case02 .link {
  height: 100%;
}
.btn_case02 .link::after {
  clip-path: polygon(0 0, calc(275 / 500 * 100%) 0, calc(246 / 500 * 100%) 100%, 0 100%);
}
.slide_case01 .slick-prev:before,
.slide_case01 .slick-next:before {
  display: none;
}
.slide_case01 .slick-prev,
.slide_case01 .slick-next {
  width: calc(30 / var(--break) * 100vw);
  height: calc(54 / var(--break) * 100vw);
  background: url(images/page/arw_slide05.svg) no-repeat center/cover;
  z-index: 9;
  top: calc(-83 / var(--break) * 100vw);
  bottom: 0;
  margin: auto;
  transform: none;
}
.slide_case01 .slick-prev {
  left: 2.3%;
}
.slide_case01 .slick-next {
  right: 2.3%;
  transform: scaleX(-1);
}
.slide_case01 .slick-dots {
  margin-top: var(--size30px);
  position: relative !important;
  bottom: auto;
  line-height: 1;
}
.slide_case01 .slick-dots li {
  width: calc(11 / var(--break) * 100vw);
  height: calc(11 / var(--break) * 100vw);
  margin: 0 calc(8 / var(--break) * 100vw);
}
.slide_case01 .slick-dots li button {
  width: calc(11 / var(--break) * 100vw);
  height: calc(11 / var(--break) * 100vw);
  padding: 0;
}
.slide_case01 .slick-dots li button:before {
  content: "";
  background: #152963;
  width: calc(11 / var(--break) * 100vw);
  height: calc(11 / var(--break) * 100vw);
  border-radius: 50%;
  opacity: 1;
}
.slide_case01 .slick-dots li.slick-active button:before {
  background: #f4c538;
  opacity: 1;
}
.slide_case01 .slick-dots li:only-child {
  display: none;
}
.row_case_common01 .col .case_img {
  height: calc(300 / var(--break) * 100vw);
}
.slide_case01 .tbl_case {
  max-width: calc(1000 / var(--break) * 100vw);
}
.tbl_case table {
  width: calc(100% - 1px);
  border: 1px solid #fff;
  /*ボーダー右切れる対策*/
}
.tbl_case tr:not(:last-child) th {
  border-bottom: 1px solid #fff;
}
.tbl_case tr:not(:last-child) td {
  border-bottom: 1px solid #fff;
}
.tbl_case th {
  background: none;
  border-right: 1px solid #fff;
  color: #f4c538;
}
.tbl_case td {
  color: #fff;
}
@media (min-width: 768px) and (max-width: 1299px){
  .slide_case01 .slick-prev {
    left: calc(30 / var(--break) * 100vw);
  }
  .slide_case01 .slick-next {
    right: calc(30 / var(--break) * 100vw);
  }
}
@media (max-width: 767px){
  .area_case_common01::after {
    width: calc(100% - 56 / var(--break) * 100vw);
    height: calc(100% - 56 / var(--break) * 100vw);
  }
  .area_case_common01 .ttl {
    font-size: calc(40 / var(--break) * 100vw);
  }
  .row_case02 {
    justify-content: center !important;
  }
  .btn_case02 {
    width: calc(600 / var(--break) * 100vw);
  }
  .btn_case02 .link::after {
    clip-path: polygon(0 0, calc(258 / 500 * 100%) 0, calc(240 / 500 * 100%) 100%, 0 100%);
  }
  .slide_case01 .tbl_case {
    max-width: calc(600 / var(--break) * 100vw);
  }
  .tbl_case th {
    border-right: none;
  }
  .row_case01 {
    margin-bottom: 7.5vw;
    max-width: calc(646 / var(--break) * 100vw);
    /*opacity: .5;
    transition: .3s;*/
  }
  .row_case01.slick-active {
    opacity: 1;
  }
  .row_case01 .col {
    max-width: calc(480 / var(--break) * 100vw);
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .row_case01 .col:first-child {
    margin-bottom: 12vw;
  }
  .row_case01:after {
    border-left: calc(40 / var(--break) * 100vw) solid transparent;
    border-right: calc(40 / var(--break) * 100vw) solid transparent;
    border-top: calc(30 / var(--break) * 100vw) solid #f4c538;
    border-bottom: 0;
    top: 0;
  }
  .row_case01 > .flex {
    display: block;
  }
  .row_case01 .en {
    font-size: 0.75rem;
  }
  .slide_case01 {
    margin-bottom: 8vw;
  }
  .slide_case01 .slick-slide {
    /*max-width: calc(480 / var(--break) * 100vw);*/
  }
  .slide_case01 .slick-slide.slick-center {
    opacity: 1;
    transition: 0.5s;
  }
  .slide_case01 .slick-slide.slick-active {
    opacity: 1;
    transition: 0.5s;
  }
  .slide_case01 .slick-prev,
  .slide_case01 .slick-next {
    width: calc(50 / var(--break) * 100vw);
    height: calc(90 / var(--break) * 100vw);
    bottom: auto;
    top: 64vw;
  }
  .slide_case01 .slick-prev {
    left: 2vw;
  }
  .slide_case01 .slick-next {
    right: 2vw;
  }
  .slide_case01.slick-dotted.slick-slider {
    margin-bottom: 15vw;
  }
  .slide_case01 .slick-dots li {
    width: calc(16 / var(--break) * 100vw);
    height: calc(16 / var(--break) * 100vw);
    margin: 0 calc(14 / var(--break) * 100vw);
  }
  .slide_case01 .slick-dots li button {
    width: calc(16 / var(--break) * 100vw);
    height: calc(16 / var(--break) * 100vw);
  }
  .slide_case01 .slick-dots li button:before {
    width: calc(16 / var(--break) * 100vw);
    height: calc(16 / var(--break) * 100vw);
  }
  .tbl_case tr th {
    border-bottom: 1px solid #fff;
  }
}

/* リスク・副作用
------------------------------------------------------------------*/
.box_risk01 {
  border: 1px solid #000;
  min-height: calc(258 / var(--break) * 100vw);
}
.box_risk01 .box {
  overflow: hidden;
  max-height: calc(180 / var(--break) * 100vw);
  height: auto;
  touch-action: auto !important;
  position: relative;
  padding-right: calc(50 / var(--break) * 100vw);
}
.box_invisalign {
  max-width: 1000px;
  /* border: ; */
}
.box_invisalign .box {
  overflow: hidden;
  max-height: 180px;
  height: auto;
  touch-action: auto !important;
  position: relative;
  padding-right: calc(50 / var(--break) * 100vw);
}

/* パーフェクトスクロールバー */
.risk .ps__thumb-y,
.box_invisalign .ps__thumb-y {
  background: #152a63 !important;
  right: 0px !important;
  width: 4px !important;
}
.risk .ps--active-x > .ps__rail-x,
.risk .ps--active-y > .ps__rail-y,
.box_invisalign .ps--active-x > .ps__rail-x,
.box_invisalign .ps--active-y > .ps__rail-y {
  background: none !important;
  right: 0px !important;
  width: 4px !important;
  opacity: 1 !important;
}
.risk .ps .ps__rail-x.ps--clicking,
.risk .ps .ps__rail-x:focus,
.risk .ps .ps__rail-x:hover,
.risk .ps .ps__rail-y.ps--clicking,
.risk .ps .ps__rail-y:focus,
.risk .ps .ps__rail-y:hover,
.box_invisalign .ps .ps__rail-x.ps--clicking,
.box_invisalign .ps .ps__rail-x:focus,
.box_invisalign .ps .ps__rail-x:hover,
.box_invisalign .ps .ps__rail-y.ps--clicking,
.box_invisalign .ps .ps__rail-y:focus,
.box_invisalign .ps .ps__rail-y:hoverr {
  opacity: 1 !important;
}
@media (max-width: 767px){
  .box_risk01 .box {
    padding-right: 4vw;
    max-height: calc(420 / var(--break) * 100vw);
  }
  .box_risk01 .ttl,
  .box_invisalign .ttl {
    font-size: 1.125rem;
    letter-spacing: 0;
  }
  .box_risk01 .txt {
    letter-spacing: 0;
  }
  .sp.risk .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y,
  .sp.risk .ps-container > .ps-scrollbar-y-rail,
  .box_invisalign .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y,
  .box_invisalign .ps-container > .ps-scrollbar-y-rail {
    right: 0 !important;
    width: 2px !important;
  }
}

/* 採用情報 recruit
------------------------------------------------------------------*/
.tbl_guideline01:not(:last-child) {
  margin-bottom: calc(100 / var(--break) * 100vw);
}
.tbl_guideline01 table {
  /* border-color: ; */
}
.tbl_guideline01 th {
  /* background: ; */
}
.tbl_guideline01 tr:not(:last-child) td {
  /* border-bottom-color: ; */
}

/* ↓ tbl_form01 は採用フォームと問診票で共用 */
.tbl_form01 th {
  font-family: "fot-tsukumin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 1.6;
  vertical-align: middle;
}
.tbl_form01 td input,
.tbl_form01 td textarea {
  background-color: #eee;
}
.tbl_form01 .require span:after {
  color: #fff;
  background-color: #bd8e28;
}
.btn_submit {
  width: calc(500 / var(--break) * 100vw);
  max-width: none;
}
.btn_submit::before {
  position: absolute;
  content: "";
  width: calc(28 / var(--break) * 100vw);
  height: calc(28 / var(--break) * 100vw);
  right: calc(30 / var(--break) * 100vw);
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  transition: all 0.15s;
  background: url("images/page/arw_btn01.svg") no-repeat center/contain;
}
.btn_submit:hover::before {
  right: calc(25 / var(--break) * 100vw);
}
.btn_submit input {
  min-height: calc(80 / var(--break) * 100vw);
  background: linear-gradient(to top, #bd8e28, #f4c538);
  padding-top: calc(10 / var(--break) * 100vw);
  padding-bottom: calc(10 / var(--break) * 100vw);
}
.btn_submit input:hover::before {
  right: calc(25 / var(--break) * 100vw);
}
@media (max-width: 767px){
  .btn_submit::before {
    width: calc(40.41 / var(--break) * 100vw);
    height: calc(40.41 / var(--break) * 100vw);
    right: calc(41 / var(--break) * 100vw);
    background: url("images/page/arw_btn01_sp.svg") no-repeat center/contain;
  }
  .btn_submit:hover::before {
    right: calc(36 / var(--break) * 100vw);
  }
  .btn_submit {
    width: calc(600 / var(--break) * 100vw);
  }
  .btn_submit input {
    min-height: calc(100 / var(--break) * 100vw);
  }
  .btn_submit input:hover::before {
    right: calc(36 / var(--break) * 100vw);
  }
  .btn_submit .txt {
    font-size: calc(34 / var(--break) * 100vw);
  }
  .tbl_guideline01 td a {
    text-decoration: underline;
    color: var(--guideline-color);
  }
  .tbl_guideline01 tr th {
    border-bottom: 1px solid #000;
  }
}

/* オンライン問診票 questionnaire
------------------------------------------------------------------*/

/* --- 入力欄（1行テキスト／textarea） ------------------------------
   高さはデザインの54pxに固定。
   input[type=text] は文字が自動で縦中央に来るため上下paddingは不要。
   parts.css の .tbl_form01 td input { padding: 12px } を
   属性セレクタで上書きしています。
------------------------------------------------------------------*/
.tbl_form01 td input[type=text],
.tbl_form01 td input[type=email],
.tbl_form01 td input[type=tel] {
  height: calc(54 / var(--break) * 100vw);
  padding: 0 calc(10 / var(--break) * 100vw);
  border-radius: calc(4 / var(--break) * 100vw);
}
.tbl_form01 td textarea {
  padding: calc(10 / var(--break) * 100vw);
  border-radius: calc(4 / var(--break) * 100vw);
}
.tbl_form01 td {
  /* 親の選択肢が未チェックの入力欄。禁止カーソルを打ち消す */
}
.tbl_form01 td input:disabled,
.tbl_form01 td textarea:disabled,
.tbl_form01 td input:read-only,
.tbl_form01 td textarea:read-only {
  cursor: default;
}

/* th内の注釈（※(複数可）など） */
.tbl_form01 .note {
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

/* --- 選択肢（ラジオ・チェックボックス）共通 ----------------------- */
.tbl_form01 .wpcf7-radio,
.tbl_form01 .wpcf7-checkbox {
  display: block;
  line-height: 1.8;
}
.tbl_form01 {
  /* 入力欄を内包する行があるため、選択肢は inline-block ＋ 上下marginで
     行間を確保する。高さの違う選択肢が混ざるので vertical-align は baseline */
}
.tbl_form01 span.wpcf7-list-item {
  display: inline-block;
  vertical-align: baseline;
  margin: calc(7 / var(--break) * 100vw) calc(28 / var(--break) * 100vw) calc(7 / var(--break) * 100vw) 0 !important;
}
.tbl_form01 .wpcf7-list-item-label {
  padding-left: calc(5 / var(--break) * 100vw);
}
.tbl_form01 .wpcf7-list-item label {
  cursor: pointer;
}
.tbl_form01 th input[type=checkbox],
.tbl_form01 td input[type=radio],
.tbl_form01 td input[type=checkbox] {
  width: calc(16 / var(--break) * 100vw);
  height: calc(16 / var(--break) * 100vw);
  padding: 0;
  vertical-align: -0.1em;
  accent-color: #152a63;
  cursor: pointer;
}
.tbl_form01 {
  /* 「□顎関節治療について記入する」（th 1行ぶち抜き） */
}
.tbl_form01 th[colspan] {
  text-align: center;
  background: #f6f3e9;
  padding: calc(24 / var(--break) * 100vw) 0 calc(36 / var(--break) * 100vw);
}
.tbl_form01 th[colspan] input[type=checkbox] {
  vertical-align: -0.05em;
}
.tbl_form01 th[colspan] span.wpcf7-list-item {
  display: block;
  margin: 0 !important;
}
.tbl_form01 th[colspan] .wpcf7-list-item-label {
  padding-left: calc(8 / var(--break) * 100vw);
}
.tbl_form01 th[colspan] .note {
  display: block;
  margin-top: calc(6 / var(--break) * 100vw);
}

/* --- radio01：exclusive チェックボックスをラジオの見た目にする -------
   CF7のラジオは「必須指定していなくても未選択だとエラー」という仕様のため、
   任意回答にしたい設問は [checkbox ... exclusive class:radio01] で作り、
   見た目だけここで丸くしています。
------------------------------------------------------------------*/
.tbl_form01 td .radio01 input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  border: 1px solid #767676;
  border-radius: 50%;
  background: #fff;
}
.tbl_form01 td .radio01 input[type=checkbox]:checked {
  border-color: #152a63;
}
.tbl_form01 td .radio01 input[type=checkbox]:checked::after {
  position: absolute;
  content: "";
  inset: calc(2 / var(--break) * 100vw);
  border-radius: 50%;
  background: #152a63;
}
.tbl_form01 td .radio01 input[type=checkbox]:disabled {
  opacity: 0.4;
}

/* --- 補足入力欄（sub_form01）※レイアウト崩れの主因への対処 --------
   parts.css の
     .tbl_form01 td input, .tbl_form01 td textarea { width: 100%; }
   により td 内の全 input が幅100%＝縦積みになります。
   input に直接幅を当てると詳細度で競合するため、
   CF7が出力するラッパー（.wpcf7-form-control-wrap）側で幅を持たせ、
   input は 100%（＝ラッパー幅）のまま使います。
------------------------------------------------------------------*/
.tbl_form01 .sub_form01 {
  display: inline-block;
  vertical-align: middle;
  line-height: 2.4;
}
.tbl_form01 .sub_form01.db {
  display: block;
}
.tbl_form01 .sub_form01 + .sub_form01 {
  margin-top: calc(8 / var(--break) * 100vw);
}
.tbl_form01 .sub_form01 .wpcf7-form-control-wrap {
  display: inline-block;
  vertical-align: middle;
  width: calc(300 / var(--break) * 100vw);
  margin: 0 calc(6 / var(--break) * 100vw);
}
.tbl_form01 .sub_form01 .wpcf7-radio,
.tbl_form01 .sub_form01 .wpcf7-checkbox {
  display: inline-block;
  margin-left: calc(10 / var(--break) * 100vw);
}
.tbl_form01 .sub_form01 {
  /* 短い入力欄 */
}
.tbl_form01 .sub_form01 [data-name=born_year] {
  width: calc(130 / var(--break) * 100vw);
}
.tbl_form01 .sub_form01 [data-name=born_month],
.tbl_form01 .sub_form01 [data-name=born_date] {
  width: calc(100 / var(--break) * 100vw);
}
.tbl_form01 .sub_form01 [data-name=zipcode] {
  width: calc(200 / var(--break) * 100vw);
}
.tbl_form01 .sub_form01 {
  /* 1行まるごと使う入力欄 */
}
.tbl_form01 .sub_form01 [data-name=address],
.tbl_form01 .sub_form01 [data-name=tel] {
  width: 100% !important;
  margin: 0 !important;
}

/* --- 選択肢の中に差し込んだ入力欄（script.js の js_inline01 で移動） ---
   .sub_form01 が「選択肢の下の行」用、
   .box_inline01 が「選択肢のラベル直後」用です。
------------------------------------------------------------------*/
.tbl_form01 .box_inline01 {
  display: inline-block;
  vertical-align: baseline;
}
.tbl_form01 .box_inline01 .wpcf7-form-control-wrap {
  display: inline-block;
  vertical-align: middle;
  width: calc(200 / var(--break) * 100vw);
  margin: 0 calc(4 / var(--break) * 100vw);
}
.tbl_form01 .box_inline01 {
  /* 数値など短い入力欄 */
}
.tbl_form01 .box_inline01 [data-name=smoking_txt],
.tbl_form01 .box_inline01 [data-name=treat_txt],
.tbl_form01 .box_inline01 [data-name=bp_high01],
.tbl_form01 .box_inline01 [data-name=bp_high02],
.tbl_form01 .box_inline01 [data-name=bp_low01],
.tbl_form01 .box_inline01 [data-name=bp_low02],
.tbl_form01 .box_inline01 [data-name=hba1c],
.tbl_form01 .box_inline01 [data-name=pregnant] {
  width: calc(80 / var(--break) * 100vw);
}
.tbl_form01 .box_inline01 {
  /* 「その他（　）」の自由入力欄は長めに */
}
.tbl_form01 .box_inline01 [data-name=purpose_txt],
.tbl_form01 .box_inline01 [data-name=want_txt],
.tbl_form01 .box_inline01 [data-name=body_parts_txt],
.tbl_form01 .box_inline01 [data-name=infection_txt],
.tbl_form01 .box_inline01 [data-name=worry_txt],
.tbl_form01 .box_inline01 [data-name=symptoms_txt],
.tbl_form01 .box_inline01 [data-name=treat_txt02] {
  width: calc(300 / var(--break) * 100vw);
}
.tbl_form01 .box_inline01 {
  /* 「はい（右・左）」のように選択肢を内包する行は、
     inline-block をやめて全部インラインにし、
     「はい」と同じ行ボックスのベースラインに乗せる
     （script.js が box_inline02 を付与） */
}
.tbl_form01 .box_inline01.box_inline02 {
  display: inline;
  vertical-align: baseline;
}
.tbl_form01 .box_inline01 .wpcf7-form-control-wrap[data-name=open_rl] {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  vertical-align: baseline;
}
.tbl_form01 .box_inline01 .wpcf7-radio,
.tbl_form01 .box_inline01 .wpcf7-checkbox {
  display: inline !important;
  line-height: inherit !important;
}
.tbl_form01 .box_inline01 .wpcf7-radio span.wpcf7-list-item,
.tbl_form01 .box_inline01 .wpcf7-checkbox span.wpcf7-list-item {
  display: inline !important;
  vertical-align: baseline;
  margin: 0 calc(14 / var(--break) * 100vw) 0 0 !important;
}
.tbl_form01 .box_inline01 .wpcf7-radio span.wpcf7-list-item:last-child,
.tbl_form01 .box_inline01 .wpcf7-checkbox span.wpcf7-list-item:last-child {
  margin-right: 0 !important;
}

/* --- 顎関節問診票への導線（アコーディオン開閉ボタン） --- */
.box_questionnaire01 .txt {
  line-height: calc(32 / 22);
}
.btn_questionnaire01 {
  width: calc(480 / var(--break) * 100vw);
}
.btn_questionnaire01 .link {
  cursor: pointer;
}

/* --- 送信まわり --- */
.tbl_form01 .box_privacy {
  margin-top: calc(70 / var(--break) * 100vw);
}
.tbl_form01 .txt_accept span {
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 767px){
  .tbl_form01 td input[type=text],
  .tbl_form01 td input[type=email],
  .tbl_form01 td input[type=tel] {
    height: calc(80 / var(--break) * 100vw);
    padding: 0 2vw;
  }
  .tbl_form01 td textarea {
    padding: 2vw;
  }
  .tbl_form01 .note {
    font-size: 0.75rem;
  }
  .tbl_form01 span.wpcf7-list-item {
    margin: calc(10 / var(--break) * 100vw) calc(30 / var(--break) * 100vw) calc(10 / var(--break) * 100vw) 0 !important;
  }
  .tbl_form01 th input[type=checkbox],
  .tbl_form01 td input[type=radio],
  .tbl_form01 td input[type=checkbox] {
    width: calc(32 / var(--break) * 100vw);
    height: calc(32 / var(--break) * 100vw);
    vertical-align: -0.13em;
  }
  .tbl_form01 th[colspan] input[type=checkbox] {
    vertical-align: -0.08em;
  }
  .tbl_form01 td .radio01 input[type=checkbox]:checked::after {
    inset: calc(8 / var(--break) * 100vw);
  }
  .tbl_form01 .sub_form01 .wpcf7-form-control-wrap {
    width: calc(320 / var(--break) * 100vw);
    margin: 0 calc(10 / var(--break) * 100vw);
  }
  .tbl_form01 .sub_form01 [data-name=born_year] {
    width: calc(160 / var(--break) * 100vw);
  }
  .tbl_form01 .sub_form01 [data-name=born_month],
  .tbl_form01 .sub_form01 [data-name=born_date] {
    width: calc(130 / var(--break) * 100vw);
  }
  .tbl_form01 .sub_form01 [data-name=zipcode] {
    width: calc(280 / var(--break) * 100vw);
  }
  .tbl_form01 .box_inline01 .wpcf7-form-control-wrap {
    width: calc(260 / var(--break) * 100vw);
  }
  .tbl_form01 .box_inline01 [data-name=smoking_txt],
  .tbl_form01 .box_inline01 [data-name=treat_txt],
  .tbl_form01 .box_inline01 [data-name=bp_high01],
  .tbl_form01 .box_inline01 [data-name=bp_high02],
  .tbl_form01 .box_inline01 [data-name=bp_low01],
  .tbl_form01 .box_inline01 [data-name=bp_low02],
  .tbl_form01 .box_inline01 [data-name=hba1c],
  .tbl_form01 .box_inline01 [data-name=pregnant] {
    width: calc(120 / var(--break) * 100vw);
  }
  .tbl_form01 .box_inline01 [data-name=purpose_txt],
  .tbl_form01 .box_inline01 [data-name=want_txt],
  .tbl_form01 .box_inline01 [data-name=body_parts_txt],
  .tbl_form01 .box_inline01 [data-name=infection_txt],
  .tbl_form01 .box_inline01 [data-name=worry_txt],
  .tbl_form01 .box_inline01 [data-name=symptoms_txt],
  .tbl_form01 .box_inline01 [data-name=treat_txt02] {
    width: calc(400 / var(--break) * 100vw);
  }
  .box_questionnaire01 .txt {
    font-size: calc(32 / var(--break) * 100vw);
  }
  .tbl_form01 .box_privacy {
    margin-top: 12vw;
  }
}

/* お問い合わせ contact
------------------------------------------------------------------*/
.grecaptcha-badge {
  visibility: hidden;
}

/* ブログ blog
------------------------------------------------------------------*/
#sidebar {
  width: 24%;
}
#sidebar h4 {
  background: #3b2600;
  color: #fff;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: calc(40 / var(--break) * 100vw);
  margin-bottom: calc(4 / var(--break) * 100vw);
  text-align: center;
  font-family: "fot-tsukumin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
}
#sidebar caption {
  margin-bottom: calc(5 / var(--break) * 100vw);
}
#wp-calendar {
  width: 100%;
  margin-bottom: calc(10 / var(--break) * 100vw);
}
#wp-calendar thead th {
  background: #152a63;
  border: 1px solid #c1c0c9;
  border-right-color: #c1c0c9;
  font-size: 0.8125rem;
  font-weight: normal;
  color: #fff;
}
#wp-calendar tbody td {
  border: 1px solid #c1c0c9;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.8;
}
#wp-calendar tbody td a {
  color: #959595;
  text-decoration: underline;
}
.wp-calendar-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-bottom: calc(60 / var(--break) * 100vw);
  line-height: 1.5;
}
.wp-calendar-nav-prev {
  padding-left: calc(10 / var(--break) * 100vw);
}
.wp-calendar-nav-next {
  padding-right: calc(10 / var(--break) * 100vw);
}
.wp-calendar-nav a {
  padding-bottom: calc(3 / var(--break) * 100vw);
  border-bottom: 1px solid #333;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}
#sidebar ul li {
  width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
#sidebar ul li a {
  border-bottom: 1px solid #666666;
  padding-bottom: calc(4 / var(--break) * 100vw);
  line-height: 2.1;
}
.post_main {
  width: 71%;
}
.navigation {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  margin-bottom: calc(60 / var(--break) * 100vw);
}
.navigation li {
  width: calc(170 / var(--break) * 100vw);
}
.navigation .navitop {
  text-align: center;
}
.navigation .naviright {
  text-align: right;
}
.navigation li a {
  padding-bottom: calc(4 / var(--break) * 100vw);
  border-bottom: 1px solid #333;
}
.post_content img {
  max-width: 100%;
  height: auto;
}
/* 旧サイトから移行したコラムの画像は、旧サイトと同じくブロック表示（下の文章と行を分ける） */
.post_content img:not(.alignleft):not(.alignright) {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.post_content img.alignleft {
  float: left;
  margin: 0 calc(20 / var(--break) * 100vw) calc(10 / var(--break) * 100vw) 0;
}
.date_single {
  display: block;
  text-align: right;
  font-size: 0.8125rem;
  margin-top: calc(-30 / var(--break) * 100vw);
  margin-bottom: calc(40 / var(--break) * 100vw);
}
.post_content {
  line-height: 1.75;
}
/* 本文の段落・動画・画像などの間をあける（旧サイトから移行したコラム用。h2・h3 は既存の余白指定を優先） */
.post_content > :where(:not(:last-child)) {
  margin-bottom: calc(40 / var(--break) * 100vw);
}
/* 本文中の埋め込み動画（YouTube・Facebook）は、文章の行に入っていても上下をあけ、画面幅に収める */
.post_content iframe {
  display: block;
  max-width: 100%;
  margin: calc(20 / var(--break) * 100vw) 0;
}
.thmb {
  width: calc(120 / var(--break) * 100vw);
}
.thmb img {
  height: calc(120 / var(--break) * 100vw);
  object-fit: cover;
}
.thmb a:hover .img_thmb {
  opacity: 0.75;
}
.txt_post {
  width: calc(100% - 140 / var(--break) * 100vw);
}
.page_main section.blog_archive {
  padding-bottom: calc(35 / var(--break) * 100vw);
  background: linear-gradient(to right, #1f1f1f 0, #1f1f1f calc(4 / var(--break) * 100vw), transparent calc(4 / var(--break) * 100vw), transparent calc(6 / var(--break) * 100vw)) left bottom/calc(6 / var(--break) * 100vw) 1px repeat-x;
}
.post_main section.blog_archive:not(:last-child) {
  margin-bottom: calc(40 / var(--break) * 100vw);
}
.txt_post a {
  color: inherit;
}
.txt_post a:hover {
  text-decoration: underline;
}
.txt_post h4 {
  width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  font-weight: 300;
  line-height: 1.7;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
}
.blog_archive .txt_post .date {
  color: #ab8923;
  margin-top: calc(-2 / var(--break) * 100vw);
}
.txt_post .txt_excerpt {
  line-height: 1.75;
  margin-top: calc(8 / var(--break) * 100vw);
}
.txt_post .txt_excerpt .more {
  text-decoration: underline;
}
.page_main .wp-pagenavi {
  margin-top: calc(60 / var(--break) * 100vw);
  text-align: center;
  font-size: 0.875rem;
}
.page_main .wp-pagenavi a,
.page_main .wp-pagenavi span {
  text-decoration: none;
  border: 1px solid #152a63;
  color: #152a63;
  padding: 0 calc(10 / var(--break) * 100vw);
  margin: calc(2 / var(--break) * 100vw);
  display: inline-block;
}
.page_main .wp-pagenavi span.pages {
  padding: 0 calc(11 / var(--break) * 100vw);
}
.page_main .wp-pagenavi a:hover,
.page_main .wp-pagenavi span.current {
  border-color: #152a63;
  background: #152a63;
  color: #fff;
}
.page_main .wp-pagenavi span.current {
  font-weight: normal;
}
.post_content li {
  list-style: inherit;
  margin-left: 1.5em;
}
.single_post > h1 {
  min-height: calc(80 / var(--break) * 100vw);
}
.post_content > h2,
.post_content > h3 {
  line-height: 1.6;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  font-family: "fot-tsukumin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.post_content > h2 {
  margin-bottom: calc(30 / var(--break) * 100vw);
  background: #152a63;
  color: #fff;
  padding-left: calc(32 / var(--break) * 100vw);
  padding-right: calc(20 / var(--break) * 100vw);
  padding-top: calc(10 / var(--break) * 100vw);
  padding-bottom: calc(10 / var(--break) * 100vw);
  min-height: calc(60 / var(--break) * 100vw);
  display: flex;
  align-items: center;
  position: relative;
}
.post_content > h2::before {
  position: absolute;
  content: "";
  width: 2px;
  height: calc(100% - 20 / var(--break) * 100vw);
  background: #f4c538;
  left: calc(10 / var(--break) * 100vw);
  top: 50%;
  transform: translateY(-50%);
}
.post_content > h3 {
  margin-bottom: calc(35 / var(--break) * 100vw);
  position: relative;
  padding-left: calc(27 / var(--break) * 100vw);
  padding-right: calc(20 / var(--break) * 100vw);
  padding-bottom: calc(12 / var(--break) * 100vw);
  border-bottom: 1px solid #c1c0c9;
}
.post_content > h3::before {
  position: absolute;
  content: "◆";
  color: #322d4b;
  left: calc(-2 / var(--break) * 100vw);
  top: calc(-2 / var(--break) * 100vw);
  font-size: calc(22 / var(--break) * 100vw);
}
.post_content > h3::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: #c1c0c9;
  left: 0;
  bottom: -5px;
}
#sidebar .category h4 {
  margin-bottom: calc(20 / var(--break) * 100vw);
}
#sidebar .category ul {
  gap: calc(10 / var(--break) * 100vw) 3%;
}
#sidebar .category ul li {
  font-size: 1rem;
  width: auto;
  overflow: visible;
  white-space: normal;
}
#sidebar .category ul li a {
  border: 1px solid #ab8923;
  background: #ab8923;
  color: #fff;
  padding: calc(4 / var(--break) * 100vw) calc(8 / var(--break) * 100vw);
  line-height: 1.6;
}
#sidebar .category ul li a.is-active {
  background: #fff;
  color: #ab8923;
}
@media (max-width: 767px){
  .post_content > h3 {
    padding-left: calc(40 / var(--break) * 100vw);
  }
  .post_content > h3::before {
    font-size: calc(34 / var(--break) * 100vw);
    top: calc(3 / var(--break) * 100vw);
  }
  .page_main {
    display: block !important;
  }
  #sidebar {
    width: 100%;
  }
  #sidebar h4 {
    line-height: calc(80 / var(--break) * 100vw);
  }
  .post_main {
    width: 100%;
    margin-bottom: 20vw;
  }
  .thmb {
    width: calc(210 / var(--break) * 100vw);
  }
  .thmb img {
    height: calc(210 / var(--break) * 100vw);
  }
  .txt_post {
    width: calc(100% - 240 / var(--break) * 100vw);
  }
  .txt_post h4 {
    font-size: 1rem;
    letter-spacing: 0;
  }
  .navigation li {
    width: 26.6666666667vw;
  }
  .page_main .wp-pagenavi span.pages,
  .page_main .wp-pagenavi a,
  .page_main .wp-pagenavi span {
    padding: 0.5vw 2vw;
    margin: 0.5333333333vw;
  }
  .page_main section.blog_archive {
    padding-bottom: 6vw;
  }
  .post_main section.blog_archive:not(:last-child) {
    margin-bottom: 6vw;
  }
  .post_main .wp-pagenavi {
    margin-top: 12vw;
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
  }
  .single_post > h1 {
    letter-spacing: 0;
    font-size: 1.1875rem;
  }
  .post_content > h2,
  .post_content > h3 {
    letter-spacing: 0;
    font-size: 1.125rem;
  }
  #sidebar .category ul li a {
    border-radius: calc(8 / var(--break) * 100vw);
    padding: calc(4 / var(--break) * 100vw) calc(14 / var(--break) * 100vw);
  }
}

/* フォーマット format
------------------------------------------------------------------*/
.wrap_format01:not(:last-of-type) {
  margin-bottom: calc(100 / var(--break) * 100vw);
}
.img_format01 {
  max-width: 1000px;
}
.row_format01 .col_img {
  width: 46%;
  max-width: 570px;
}
.row_format01 .col_txt {
  width: 50%;
}
.list_format01 li {
  max-width: 425px;
}
.row_format03 .col_img {
  width: 29%;
  max-width: 350px;
}
.row_format03 .col_txt {
  width: 67%;
}
.row_format03 .copy {
  border-bottom: 1px solid #333;
}
.row_format03 .copy:before {
  content: "";
  position: absolute;
  width: calc(20 / var(--break) * 100vw);
  height: calc(20 / var(--break) * 100vw);
  left: 0;
  top: 0.4em;
  background: #333;
}
.txt_format01 {
  max-width: 1000px;
}
.tbl_fee {
  max-width: 1000px;
}
.tbl_fee table {
  /* border-color: #; */
}
.tbl_fee th {
  /* background: #; */
}
.tbl_fee thead th {
  /* background: #; */
  /* text-align: center; */
}
.tbl_fee thead tr th:not(:last-of-type) {
  border-right: 1px solid #fff;
}
.tbl_fee tr:not(:last-child) td {
  /* border-bottom-color: #; */
}
.tbl_fee tbody tr td:not(:last-of-type) {
  /* border-right: 1px solid #; */
}
.tbl_fee01 tbody th {
  text-align: center;
}
.wrap_format01 .box_flow:last-of-type:before {
  display: none;
}
.box_format03 .col_img {
  width: 31%;
  max-width: 345px;
}
.box_format03 .col_txt {
  width: 65%;
}
.row_format04 .col {
  width: 31.8%;
  max-width: 394px;
  margin-right: 2.3%;
}
.row_format04 .col:nth-child(3n),
.row_format04 .col:last-child {
  margin-right: 0;
}
.row_format04 .col:not(:nth-child(-n+3)) {
  margin-top: calc(60 / var(--break) * 100vw);
}
.wrap_format01 .box_qa03 {
  border: none;
  margin-bottom: calc(60 / var(--break) * 100vw);
}
.wrap_format01 .box_qa03 .box_a .box {
  width: calc(60 / var(--break) * 100vw);
  height: calc(60 / var(--break) * 100vw);
  left: 0;
  top: 0;
}
.wrap_format01 .box_qa03 .box_a {
  padding-top: calc(30 / var(--break) * 100vw);
  padding-left: calc(100 / var(--break) * 100vw);
}
.box_format04 .ttl {
  font-weight: 300;
  height: calc(50 / var(--break) * 100vw);
}
.list_format02 li:not(:first-child) {
  margin-top: calc(14 / var(--break) * 100vw);
}
.list_format02 .year {
  width: calc(140 / var(--break) * 100vw);
}
.list_format02 .txt {
  width: calc(100% - 140 / var(--break) * 100vw);
}
.risk_format {
  border: 1px solid #333;
}
.risk_format .box {
  overflow-y: scroll;
  max-height: 280px;
  scrollbar-color: #333 #fff;
  scrollbar-width: thin;
}
@media (max-width: 767px) {
  .format {
    padding-bottom: 17vw;
  }
  .wrap_format01:not(:last-of-type) {
    margin-bottom: 20vw;
  }
  .img_format01 {
    max-width: 100%;
  }
  .box_format01 .ttl {
    font-size: 1.125rem;
    letter-spacing: 0;
  }
  .list_format01 li {
    max-width: 100%;
  }
  .row_format03 .copy {
    font-size: 1.125rem;
    letter-spacing: 0;
  }
  .row_format03 .copy:before {
    top: 0.55em;
  }
  .txt_format01 {
    max-width: calc(646 / var(--break) * 100vw);
  }
  .tbl_fee {
    max-width: 100%;
  }
  .tbl_fee01 tbody th {
    text-align: left;
  }
  .box_format03 {
    display: block;
  }
  .box_format03 .copy {
    font-size: 1.125rem;
  }
  .row_format04 {
    display: block;
  }
  .row_format04 .col {
    width: 100%;
    max-width: calc(600 / var(--break) * 100vw);
    margin: 0 auto !important;
  }
  .row_format04 .col:not(:first-child) {
    margin-top: calc(60 / var(--break) * 100vw);
    /* !important; */
  }
  .row_format04 .ttl {
    font-size: 1.125rem;
    letter-spacing: 0;
  }
  .wrap_format01 .box_qa03 .box_a .box {
    width: calc(80 / var(--break) * 100vw);
    height: calc(80 / var(--break) * 100vw);
    font-size: 1.5625rem;
  }
  .tbl_format01.js-scrollable table {
    width: calc(1200 / var(--break) * 100vw);
    font-size: 0.875rem;
  }
  .img_format02 {
    max-width: calc(500 / var(--break) * 100vw);
  }
  .name_format .job {
    font-size: 0.875rem;
    letter-spacing: 0;
  }
  .name_format .ja {
    font-size: 1.25rem;
    letter-spacing: 0;
  }
  .box_format04 .ttl {
    font-size: 1.125rem;
    letter-spacing: 0;
    height: calc(80 / var(--break) * 100vw);
  }
  .list_format02 li:not(:first-child) {
    margin-top: 2vw;
  }
  .list_format02 .year {
    width: calc(200 / var(--break) * 100vw);
  }
  .list_format02 .txt {
    width: calc(100% - 200 / var(--break) * 100vw);
  }
}

/* 症例詳細 case（single-cases.php）
------------------------------------------------------------------*/
.txt_case01 {
  margin-bottom: calc(40 / var(--break) * 100vw);
}
/* ビフォーアフター */
.row_case03 {
  position: relative;
  justify-content: space-between;
  margin-bottom: calc(50 / var(--break) * 100vw);
}
.row_case03::after {
  position: absolute;
  content: "";
  border-left: calc(15 / var(--break) * 100vw) solid #f4c538;
  border-top: calc(23 / var(--break) * 100vw) solid transparent;
  border-bottom: calc(23 / var(--break) * 100vw) solid transparent;
  left: 50%;
  top: calc(50% + 25 / var(--break) * 100vw);
  transform: translate(-50%, -50%);
}
.row_case03 .col {
  width: 46%;
}
.row_case03 .ttl {
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  background: #152a63;
  padding: calc(12 / var(--break) * 100vw) 0;
  margin-bottom: calc(15 / var(--break) * 100vw);
}
.row_case03 .img img {
  display: block;
  width: 100%;
  height: calc(320 / var(--break) * 100vw);
  object-fit: cover;
}
/* 画像1枚のみの場合 */
.img_case02 {
  max-width: 480px;
}
.img_case02 img {
  display: block;
  width: 100%;
  height: auto;
}
/* 治療内容・治療費用 */
.box_case03 {
  align-items: stretch;
  background: #f6f3e9;
  border: 1px solid #c1c0c9;
  padding: calc(40 / var(--break) * 100vw) calc(50 / var(--break) * 100vw);
  margin-bottom: calc(40 / var(--break) * 100vw);
}
.box_case03 .col {
  flex: 1;
}
.box_case03 .col + .col {
  border-left: 1px solid #152a63;
  padding-left: calc(50 / var(--break) * 100vw);
  margin-left: calc(50 / var(--break) * 100vw);
}
.box_case03 .ttl {
  font-size: 1.375rem;
  line-height: 1.5;
  color: #152a63;
  margin-bottom: calc(15 / var(--break) * 100vw);
}
.box_case03 .txt + .ttl {
  margin-top: calc(25 / var(--break) * 100vw);
}
.box_case03 .list li {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.8;
}
.box_case03 .list li::before {
  position: absolute;
  content: "";
  width: 0.4em;
  height: 0.4em;
  background: #bd8e28;
  left: 0;
  top: 0.75em;
}
.box_case03 .list li:not(:last-child) {
  margin-bottom: calc(8 / var(--break) * 100vw);
}
.box_case03 .price {
  font-family: "fot-tsukumin-pr6n", sans-serif;
  font-size: 1.75rem;
  line-height: 1.4;
  color: #152a63;
}
.box_case03 .link {
  display: inline-block;
  margin-top: calc(15 / var(--break) * 100vw);
  color: #ab8923;
  text-decoration: underline;
  font-size: 0.9375rem;
}
.txt_case02 {
  line-height: 2;
}
/* 本文 */
.wrap_case04 h2 {
  font-family: "fot-tsukumin-pr6n", sans-serif;
  font-weight: 300;
  font-size: 1.75rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #152a63;
  text-align: center;
  position: relative;
  padding-bottom: calc(15 / var(--break) * 100vw);
  margin: calc(80 / var(--break) * 100vw) 0 calc(50 / var(--break) * 100vw);
}
.wrap_case04 h2::after {
  position: absolute;
  content: "";
  width: calc(80 / var(--break) * 100vw);
  height: 2px;
  background: #f4c538;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.wrap_case04 > h2:first-child {
  margin-top: 0;
}
.wrap_case04 p {
  line-height: 2;
  margin-bottom: 1em;
}
.wrap_case04 img {
  max-width: 100%;
  height: auto;
}
.wrap_case04 .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wrap_case04 a {
  color: #ab8923;
  text-decoration: underline;
}
.wrap_case04 iframe {
  display: block;
  max-width: 100%;
  margin: 0 auto calc(30 / var(--break) * 100vw);
}
.wrap_case04 .wp-video {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: calc(30 / var(--break) * 100vw);
  max-width: 100%;
}
.wrap_case04 .box_video01.short {
  width: 70%;
  max-width: 400px;
  margin-top: calc(40 / var(--break) * 100vw);
}
.wrap_case04 .box_video01.short iframe {
  aspect-ratio: 9 / 16;
}
.wrap_case04 .note {
  font-size: 0.8125rem;
}
/* 治療ステップ */
.box_case02 {
  position: relative;
  display: flex;
  align-items: stretch;
  border-top: 1px solid #c1c0c9;
  border-bottom: 1px solid #c1c0c9;
  min-height: calc(190 / var(--break) * 100vw);
}
/* 次のステップが続く場合のみ余白と矢印（旧本文に閉じタグのずれがあり、ラッパー外に続くステップも対象） */
.box_case02:has(+ .box_case02),
.wrap_case05:has(+ .box_case02) > .box_case02:last-child {
  margin-bottom: calc(60 / var(--break) * 100vw);
}
.box_case02:has(+ .box_case02)::after,
.wrap_case05:has(+ .box_case02) > .box_case02:last-child::after {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(-40 / var(--break) * 100vw);
  border-style: solid;
  border-width: calc(15 / var(--break) * 100vw) calc(22.5 / var(--break) * 100vw) 0 calc(22.5 / var(--break) * 100vw);
  border-color: #f4c538 transparent transparent transparent;
}
.box_case02 .num {
  flex-shrink: 0;
  width: 19%;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: baseline;
  justify-content: center;
  gap: 0.3em;
  background: #152a63;
  color: #fff;
  font-family: "cormorant", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  line-height: 1;
}
.box_case02 .num span {
  font-variant-numeric: lining-nums;
  font-size: 2.25rem;
  color: #f4c538;
}
.box_case02 .content {
  flex: 1;
  min-width: 0;
  padding: calc(25 / var(--break) * 100vw) calc(30 / var(--break) * 100vw);
}
.box_case02 .content img {
  display: block;
  margin: 0 auto calc(15 / var(--break) * 100vw);
  border-radius: calc(6 / var(--break) * 100vw);
}
/* 歯式図のPC/SP出し分け（上の display:block より優先させる） */
.box_case02 .content .sp_only {
  display: none;
}
.box_case02 .content .tb_pc {
  margin-right: calc(30 / var(--break) * 100vw);
}
/* 歯式図の横の文章は回り込ませず、右側に段組みで収める */
.box_case02 .content .tb_pc ~ .txt,
.box_case02 .content .tb_pc ~ p {
  overflow: hidden;
}
.box_case02 .txt h3 {
  font-family: "fot-tsukumin-pr6n", sans-serif;
  font-weight: 300;
  font-size: 1.375rem;
  line-height: 1.6;
  color: #152a63;
  text-align: center;
  margin-bottom: calc(15 / var(--break) * 100vw);
  padding-bottom: calc(8 / var(--break) * 100vw);
  border-bottom: 1px solid #c1c0c9;
}
.box_case02 .txt p {
  margin-bottom: 0.5em;
}
/* 治療費の表 */
.wrap_case04 #case_fee {
  scroll-margin-top: calc(140 / var(--break) * 100vw);
}
.tbl_case03 {
  width: 100%;
  max-width: 700px;
  margin: 0 auto calc(40 / var(--break) * 100vw);
  border: 1px solid #000;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
  background: #f2f1ee;
  line-height: 1.5;
}
.tbl_case03 td {
  padding: calc(15 / var(--break) * 100vw) calc(18 / var(--break) * 100vw);
  border-right: 1px solid #c1c0c9;
  border-bottom: 1px solid #c1c0c9;
}
.tbl_case03 td:last-child {
  border-right: none;
}
/* 列が足りない行の最後のセル：右側（空き部分との境）に線を出す */
.tbl_case03 td.end,
.tbl_case03 td.total.end {
  border-right: 1px solid #c1c0c9;
}
.tbl_case03 tbody:last-child tr:last-child td {
  border-bottom: none;
}
.tbl_case03 td.ttl {
  background: #f6f3e9;
}
.tbl_case03 td.txt {
  background: #fff;
  text-align: right;
  white-space: nowrap;
}
.tbl_case03 td.total {
  background: #152a63;
  color: #fff;
  border-right-color: #3b4a7a;
  border-bottom-color: #c1c0c9;
}
/* 紹介した治療内容・症例紹介について */
.ttl_case01 {
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #fff;
  background: #bd8e28;
  text-align: center;
  padding: calc(12 / var(--break) * 100vw) calc(20 / var(--break) * 100vw);
  margin-bottom: calc(30 / var(--break) * 100vw);
}
.list_case01 {
  flex-wrap: wrap;
  gap: calc(15 / var(--break) * 100vw) calc(30 / var(--break) * 100vw);
}
.list_case01 a {
  display: block;
  padding: calc(10 / var(--break) * 100vw) calc(30 / var(--break) * 100vw);
  border: 1px solid #152a63;
  color: #152a63;
}
.list_case01 a:hover {
  background: #152a63;
  color: #fff;
}
.list_case02 {
  border: 1px solid #c1c0c9;
  padding: calc(30 / var(--break) * 100vw) calc(40 / var(--break) * 100vw);
  line-height: 1.8;
  font-size: 0.9375rem;
}
.list_case02 dt {
  font-weight: bold;
  color: #152a63;
}
.list_case02 dt::before {
  content: "◆";
  color: #f4c538;
  margin-right: 0.3em;
}
.list_case02 dd:not(:last-child) {
  margin-bottom: calc(20 / var(--break) * 100vw);
}
/* 前後リンク */
.list_case03 {
  justify-content: space-between;
  margin-bottom: calc(50 / var(--break) * 100vw);
}
.list_case03 a {
  color: #152a63;
  border-bottom: 1px solid #152a63;
}
@media (max-width: 767px) {
  .row_case03 {
    display: block;
  }
  .row_case03::after {
    top: 50%;
    border-left: calc(40 / var(--break) * 100vw) solid transparent;
    border-right: calc(40 / var(--break) * 100vw) solid transparent;
    border-top: calc(30 / var(--break) * 100vw) solid #f4c538;
    border-bottom: 0;
  }
  .row_case03 .col {
    width: 100%;
  }
  .row_case03 .col:first-child {
    margin-bottom: calc(80 / var(--break) * 100vw);
  }
  .row_case03 .img img {
    height: calc(420 / var(--break) * 100vw);
  }
  .row_case03 .ttl {
    font-size: calc(40 / var(--break) * 100vw);
  }
  /* SPの見出しサイズ（hdg3 より小さく揃える） */
  .wrap_case04 h2 {
    font-size: calc(40 / var(--break) * 100vw);
  }
  .box_case03 .price {
    font-size: calc(40 / var(--break) * 100vw);
  }
  .ttl_case01 {
    font-size: calc(36 / var(--break) * 100vw);
  }
  .box_case02 .num {
    font-size: calc(36 / var(--break) * 100vw);
  }
  .box_case02 .num span {
    font-size: calc(52 / var(--break) * 100vw);
  }
  .box_case03 .ttl,
  .box_case02 .txt h3 {
    font-size: calc(34 / var(--break) * 100vw);
  }
  .box_case03 {
    display: block;
    padding: calc(40 / var(--break) * 100vw) calc(35 / var(--break) * 100vw);
  }
  .box_case03 .col + .col {
    border-left: none;
    border-top: 1px solid #152a63;
    padding-left: 0;
    margin-left: 0;
    padding-top: calc(30 / var(--break) * 100vw);
    margin-top: calc(30 / var(--break) * 100vw);
  }
  .box_case02 {
    display: block;
  }
  .box_case02 .num {
    width: 100%;
    padding: calc(14 / var(--break) * 100vw) 0;
  }
  .box_case02 .content {
    padding: calc(25 / var(--break) * 100vw) calc(10 / var(--break) * 100vw);
  }
  .box_case02 .content .sp_only {
    display: block;
    width: 50%;
  }
  .wrap_case04 iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .wrap_case04 .box_video01.short iframe {
    aspect-ratio: 9 / 16;
  }
  .list_case02 {
    padding: calc(30 / var(--break) * 100vw) calc(25 / var(--break) * 100vw);
  }
}
