.p-top_mv {
  position: relative;
}
.slider li {
  width: 100%;
  object-fit: cover;
}
.p-mv_box01 {
  background: url(../img/top_mv01.jpg) no-repeat;
  height: 910px !important;
  background-size: cover;
}
.p-mv_box02 {
  background: url(../img/top_mv02.jpg) no-repeat;
  height: 910px !important;
  background-size: cover;
}
.p-mv_box03 {
  background: url(../img/top_mv03.jpg) no-repeat;
  height: 910px !important;
  background-size: cover;
}
.p-top_ttl {
  position: absolute;
  top: 66%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.p-top_ttl h1 {
  font-size: 43px;
  color: #fff;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
  line-height: 1.6;
  text-align: center;
  font-family: "Noto Serif JP", serif;
}
.p-top_news {
  background: url(../img/top_newsbg.png) no-repeat;
  background-size: contain;
  background-position-y: 103%;
}
.p-top_news_inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 4% 132px;
}
.news_box {
  padding: 20px 6%;
  border-top: 8px solid #84cbf8;
  margin: 0 auto;
  background: #e4f5ff;
}
.news_box_ttl::after {
  content: unset;
}
.news_box_ttl::before {
  content: unset;
}
.news_box ul {
  max-height: 380px;
  overflow-y: scroll;
  line-height: 1.4 !important;
  margin-top: 20px;
}
.news_box li:first-child {
  border-top: 2px solid #84cbf8;
  padding-top: 40px;
}
.news_box li {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 2px dashed #84cbf8;
  display: flex;
}

.news-title {
  font-weight: 700;
  margin-bottom: 10px;
}
.news-txt {
  font-size: 15px;
}
.date {
  font-size: 12px;
  width: 20%;
}
.news_box li p {
  width: 80%;
}
.p-top_clinic_inner {
  margin: 200px 0;
}
.p-top_clinic_container {
  max-width: calc(1400px + 6%);
  padding: 100px 4%;
  margin: 0 auto;
}
.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.txt {
  width: 41.3%;
}
.txt img {
  width: 423px;
  margin: 0 auto;
}
.clinicname {
  padding: 3rem;
}
.clinichyou {
  padding: 80px 0 60px;
}
.clinichyou li {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #333333;
  font-size: 1.8rem;
}
.clinichyou dl {
  display: flex;
  justify-content: flex-start;
  font-size: 18px;
}
.clinichyou dt {
  width: 25%;
}
.biz-hour {
  display: block;
  border-collapse: collapse;
  overflow-x: none;
}

.biz-hour th,
.biz-hour td {
  padding: 20px 0.8vw;
  border-bottom: 1px solid #333333;
  font-size: 18px;
  text-align: left;
  letter-spacing: 0.2rem;
}
.biz-hour th:first-child {
  padding: 20px 0;
}
.biz-hour td:first-child {
  padding: 20px 32px 20px 0;
}
.tcb {
  color: #2f4b95;
}
.p-top_clinic_container .map {
  width: 51%;
}
.time p {
  margin-top: 20px;
}
.feature_box {
  margin-top: 100px;
  position: relative;
}
.feature_txt {
  font-size: 60px;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  color: #18346a;
}
.txt_box_inner {
  position: absolute;
  background-color: #fff;
  outline: solid 2px #6496fb;
  outline-offset: -15px;
  top: 50%;
  right: 5%;
  transform: translate(0%, -50%);
  padding: 10px 0px 0vw 23px;
  width: 810px;
  height: 280px;
  font-family: "Noto Serif JP", serif;
}

.txt_box_inner p {
  font-size: 30px;
  position: absolute;
  top: 57%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1.6;
  width: 65%;
}
.feature_box_02 .txt_box_inner,
.feature_box_04 .txt_box_inner {
  right: unset;
  left: 5%;
}
.feature_box_02 .txt_box_inner p {
  width: 72%;
}
.feature_box_03 .txt_box_inner p {
  width: 69%;
}

.feature_box_04 .txt_box_inner p {
  width: 78%;
}

.feature_box_05 .txt_box_inner p {
  width: 73%;
}
.p-top_medical {
  background: url(../img/top_medical_bg.jpg) no-repeat center;
  background-size: cover;
  margin: 100px 0;
}
.p-top_medical_inner {
  padding: 150px 0% 200px;
}
.p-top_medical_inner .flex {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 90px;
}
.p-top_medical .container {
  max-width: 1280px;
  margin: 200px auto 0;
}
.medical-txt {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
}
.medical-box {
  position: relative;
}
.medical-txt h3 {
  color: #fff;
  font-size: 40px;
  font-weight: 400;
  text-align: center;
  margin-bottom: 40px;
  font-family: "Noto Serif JP", serif;
}
.medical-txt p {
  color: #fff;
  line-height: 2;
  position: relative;
}
.medical-txt p::after {
  background: url(../img/medical_arw.png) no-repeat;
  background-size: contain;
  content: "";
  width: 72px;
  height: 36px;
  display: block;
  position: absolute;
  left: 43%;
  top: 133%;
}
.greeting_box_ttl::before,
.greeting_box_ttl::after {
  width: 39%;
}
.p-top_greeting_inner {
}
.p-top_greeting .container {
  background: url(../img/greet_bg.png) no-repeat top center / cover;
  padding: 5.6% 0 200px;
}
.p-top_greeting .flex {
  justify-content: center;
  gap: 90px;
}
.p-top_greeting img {
  width: 790px;
}

.p-top_greeting .txt {
  width: 35%;
  line-height: 2;
}
.btn a {
  background: #18346a;
  padding: 10px;
  position: relative;
  color: #fff;
  font-size: 18px;
  width: 246px;
  margin: 0 0 0 auto;
}
.btn a::after {
  content: "";
  background: url(../img/medical_arw.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 14px;
  display: block;
  position:absolute;
  right: 20px;
  top: 45%;

}
.greeting_img {
  position: relative;
}
.greeting_int {
  background-color: rgba(255, 254, 254, 0.9);
  outline: solid 3px #48b2f5;
  outline-offset: -10px;
  position: absolute;
  bottom: 25px;
  right: -311px;
  padding: 20px;
  font-family: "Noto Serif JP", serif;
}
.greeting_img h3 {
  margin-bottom: 10px;
}

.p-top_gallery {
  background-color: #d9ebf6;
  padding: 40px 0 60px;
}
.p-top_gallery p {
  font-size: 30px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
}
.gallery-slider {
  width: 100%;
  margin: 0 auto;
}
.gallery-slider {
  margin: 60px 0 0;
}
.gallery-slider li {
  margin-right: 20px; /* 右側の余白を20pxに設定 */
}
.gallery-slider li:nth-child(2n) {
  padding-top: 100px;
}
.gallery-slider img {
  width: 100%; /* 画像を親要素に合わせる */
  display: block;
}
@media screen and (max-width: 1400px) {
  .greeting_int {
    right: -81px;
  }
}
@media screen and (max-width: 768px) {
  .p-mv_box01 {
    background: url(../img/top_mv01_sp.jpg) no-repeat center;
    background-size: cover;
    height: 734px !important;
  }
  .p-mv_box02 {
    background: url(../img/top_mv02_sp.jpg) no-repeat center;
    background-size: cover;
    height: 734px !important;
  }
  .p-mv_box03 {
    background: url(../img/top_mv03_sp.jpg) no-repeat;
    height: 910px !important;
    background-size: cover;
    height: 734px !important;
  }
  .p-top_ttl {
    top: 50%;
  }

  .p-top_ttl h1 {
    font-size: 26px;
    padding: 0 4%;
  }
  .flex {
    display: block;
  }
  .txt {
    width: auto;
  }
  .p-top_news {
    background: url(../img/top_newsbg_sp.png) no-repeat;
    background-size: contain;
    background-position: bottom;
  }
  .p-top_news_inner {
    padding: 0 0 100px;
  }
  .news_box {
    margin-top: 40px;
  }
  .news_box li:first-child {
    padding-top: 20px;
  }
  .news_box li {
    display: block;
    padding-bottom: 20px;
  }
  .news_box li p {
    width: auto;
    padding-right: 2%;
  }
  .p-top_clinic_inner {
    margin: 60px 0;
  }
  .p-top_clinic_container {
    padding: 60px 0% 0;
  }
  .p-top_clinic_container .txt img {
    padding: 0 4%;
    width: 339px;
  }
  .clinichyou {
    padding: 80px 4% 40px;
  }
  .clinichyou dl {
    display: block;
  }
  .clinichyou dl dt {
    padding-bottom: 20px;
  }
  .clinichyou dl dd {
    margin-left: 0;
    border-top: solid 1px #000;
    padding-top: 20px;
    line-height: 1.6;
  }
  .time {
    padding: 0 4%;
  }
  .biz-hour th,
  .biz-hour td {
    font-size: 14px;
    padding: 15px 1.4vw;
  }
  .biz-hour td:first-child {
    padding: 15px 10px 15px 0;
  }
  .p-top_clinic_container .map {
    width: 100%;
    margin-top: 60px;
    height: 370px;
  }
  .feature_box {
    margin: 0;
  }
  .feature_txt {
    font-size: 36px;
  }
  .feature_txt_box {
    height: 150px;
  }
  .txt_box_inner {
    width: auto;
    font-family: "Noto Serif JP", serif;
    margin: 0 4%;
    height: auto;
    right: unset;
    padding: 10px 14px 7vw 23px;
    position: static;
    box-shadow: 0px 0px 10px rgb(0, 0, 0, 0.2);
  }
  .feature_box_01 {
    margin-top: 60px;
  }
  .feature_box_02 .txt_box_inner p,
  .feature_box_04 .txt_box_inner p,
  .feature_box_03 .txt_box_inner p,
  .feature_box_05 .txt_box_inner p {
    width: auto;
  }
  .feature_box_02 .txt_box_inner,
  .feature_box_04 .txt_box_inner,
  .feature_box_03 .txt_box_inner,
  .feature_box_05 .txt_box_inner {
    left: unset;
  }

  .txt_box_inner p {
    font-size: 20px;
    width: auto;
    position: static;
    transform: unset;
    padding: 10px 0 0 10px;
  }

  .p-top_medical {
    margin: 20px 0 60px;
  }
  .p-top_medical_inner {
    padding: 60px 0;
  }
  .p-top_medical .container {
    margin: 60px 4% 0;
  }
  .p-top_medical_inner .flex {
    display: block;
  }
  .medical-box {
    margin-bottom: 20px;
  }
  .medical-txt h3 {
    font-size: 26px;
    margin-bottom: 24px;
  }
  .medical-txt p::after {
    width: 47px;
    top: 110%;
  }
  .p-top_greeting .container {
    background: url(../img/greet_bg_sp.png) no-repeat top center / cover;
    padding: 5.6% 0 110px;
  }
  .p-top_greeting .flex {
    display: flex;
    flex-direction: column-reverse;
    gap: 40px;
  }
  .p-top_greeting .txt {
    width: auto;
    margin: 0 4%;
  }
  .btn a {
    margin: 40px auto 0;
  }
  .greeting_box_ttl::before,
  .greeting_box_ttl::after {
    width: 22%;
  }
  .greeting_int {
    right: 0;
    margin: 0 4%;
    bottom: -52px;
    padding: 16px;
  }
  .greeting_int h2 {
    font-size: 16px;
  }
  .greeting_int span {
    font-size: 26px;
  }
  .p-top_gallery p {
    text-align: left;
    padding: 0 4%;
    font-size: 26px;
  }
  .gallery-slider li:nth-child(2n) {
    padding-top: 60px;
  }
}

/* ----------
clinic
------------*/
.p-clinic_policy {
  margin: 100px 0;
}
.p-clinic_policy .flex {
  justify-content: center;
  gap: 40px;
}
.p-clinic_policy_box {
  max-width: 1280px;
  margin: 150px auto;
}
.p-clinic_policy_img {
  width: 50%;
}
.p-clinic_policy_box p {
  margin-bottom: 20px;
  text-indent: -3.5rem;
  padding-left: 4rem;
  line-height: 1.6;
}
.p-clinic_info {
  background: url(../img/clinic_bg.png) no-repeat;
  background-size: cover;
  background-position-y: -407%;
  padding: 0 0 200px;
}
.p-clinic_info .p-clinic_policy_box {
  margin: 150px auto 40px;
  padding: 0 4%;
}
.p-clinic_info .clinichyou {
  width: 47.4%;
}
.p-clinic_info .time {
  max-width: 601px;
  margin: 0 auto;
}
.p-clinic_info .clinichyou dt {
  width: 20%;
}
.p-equipment {
  margin: 150px 0;
}
.equipment_box_ttl::before {
  width: 38%;
}
.equipment_box_ttl::after {
  width: 38%;
}
.equipment_slide {
  max-width: 1200px;
  margin: 0 auto;
}
.equipment_slide--main {
  margin: 100px auto 0;
}

.equipment_slide ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.equipment_slide li {
  display: block;
}

.equipment_slide img {
  display: block;
  width: 100%;
  height: auto;
}

.equipment_slide img {
  display: block;
  width: 100%;
  height: auto;
}

/* サムネイルの高さを揃える */

.equipment_slide--thumb .slick-track {
  display: flex;
  flex-wrap: wrap;
}

.equipment_slide--thumb .slick-slide {
  flex: 0 0 19%;
  max-width: calc(20% - 4px);
  cursor: pointer;
  margin: 20px 13px 0 0;
}
.equipment_slide--thumb .slick-slide:nth-of-type(5) {
  margin-right: 0;
}
.arrow_box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 20px 0 0;
  position: relative;
}
.slick-arrow:hover {
  opacity: 0.7;
}

.slick-arrow {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 20px;
  height: 38px;
  color: transparent;
  z-index: 1;
  transition: opacity 0.5s;
  z-index: 1;
  border: none;
  background-color: unset;
}
.slick-arrow:hover {
  opacity: 0.7;
}

/* 共通設定 */

.slick-next::before,
.slick-next::after,
.slick-prev::before,
.slick-prev::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.slick-next::after,
.slick-prev::after {
  width: 40px;
  height: 40px;
  border-top: 6px solid #18346a;
  border-right: 6px solid #18346a;
}

/* next */

.slick-next {
  right: 26px;
}
.slick-next::after {
  right: -58px;
  transform: rotate(45deg);
}

/* prev */

.slick-prev {
  left: 26px;
}
.slick-prev::after {
  left: -58px;
  transform: rotate(-135deg);
}
@media screen and (max-width: 1400px) {
  .equipment_box_ttl::before,
  .equipment_box_ttl::after {
    width: 34%;
  }
}
@media screen and (max-width: 768px) {
  .p-clinic_policy {
    margin: 60px 0;
  }
  .p-clinic_policy_box {
    margin: 60px auto;
  }
  .p-clinic_info {
    padding: 60px 0;
  }
  .p-clinic_info .p-clinic_policy_box {
    margin: 60px auto 40px;
  }
  .p-clinic_policy_img {
    width: auto;
  }
  .p-clinic_info .clinichyou {
    width: auto;
    padding: 40px 0;
  }
  .p-clinic_info .clinichyou dt {
    width: auto;
  }
  .equipment_box_ttl::before,
  .equipment_box_ttl::after {
    width: 14%;
  }
  .p-equipment {
    margin: 60px 0;
  }
  .equipment_slide {
    padding: 0 10%;
  }
  .equipment_slide--main {
    margin: 40px auto 0;
  }
  .equipment_slide--thumb .slick-slide {
    flex: 0 0 6%;
    cursor: pointer;
    margin: 20px 8px 0 0;
  }
  .equipment_slide--thumb .slick-slide:nth-of-type(5) {
    margin-right: 8px;
  }
  .slick-next::after,
  .slick-prev::after {
    width: 20px;
    height: 20px;
    border-top: 3px solid #18346a;
    border-right: 3px solid #18346a;
  }
  .slick-prev::after {
    left: -50px;
  }
  .slick-next::after {
    right: -50px;
  }
}

/* ------------
pvp
----------------*/
.p-pvp {
  margin: 100px 0;
}
.p-pvp_box {
  max-width: 1280px;
  margin: 150px auto;
}
.p-pvp .flex {
  justify-content: center;
  gap: 40px;
  align-items: center;
}
.p-pvp_box .txt {
  width: 54.3%;
}
.p-pvp_box p {
  margin-bottom: 20px;
  line-height: 1.6;
  color: #18346a;
  letter-spacing: 0.1rem;
}

.p-pvp_box_img {
  width: 41.4%;
}

@media screen and (max-width: 768px) {
  .p-pvp {
    margin: 60px 0;
  }
  .p-pvp .flex {
    margin: 60px auto;
    padding: 0 4%;
  }
  .p-pvp_box .txt {
    width: auto;
  }
  .p-pvp_box_img {
    width: auto;
  }
}

/* -----------
staff
--------------*/
.p-staff {
  margin: 100px 0 120px;
}
.staff_box_ttl::before,
.staff_box_ttl::after {
  width: 39%;
}
.p-staff_inner {
  background: url(../img/greet_bg.png) no-repeat top center / cover;
  padding: 3% 0 80px;
}

.p-staff_contents {
  max-width: 1280px;
  margin: 100px auto 0;
}
.staff_img {
  width: 58%;
}
.span_6 {
  width: 39%;
}
.span_6 p {
  margin: 8px 0 16px;
  line-height: 1.8;
}
.h4_ttl {
  font-size: 30px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 3px solid #48b2f5;
  margin-top: 3rem;
  color: #48b2f5;
}
.p-staff_contents .flex {
  margin: 100px 0 0;
}
.p-staff_contents .txt {
  width: 48%;
}
.career li {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 2px dashed #48b2f5;
  font-size: 18px;
}
.career dl {
  display: flex;
}
.list li {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 2px dashed #48b2f5;
  font-size: 18px;
}
.staff_img_area {
  margin: 150px 0;
}
.staff_img_box .flex {
  margin: 40px 0 0;
}
.staff_img_box .staff_img {
  width: 31.3%;
}
.p-staff_int_inner {
  max-width: 1280px;
  margin: 100px auto;
}
.p-staff_int_inner .flex {
  align-items: center;
}
.p-staff_int_inner .flex img {
  width: 45.3%;
}
.p-staff_int_inner h4 {
  font-size: 30px;
  font-family: "Noto Serif JP", serif;
  color: #18346a;
}
.p-staff_int_inner .span_6 {
  width: 50%;
}
.p-staff_int_inner .span_6 h4 {
  padding-bottom: 20px;
  border-bottom: solid #48b2f5 3px;
  margin-bottom: 20px;
  line-height: 1.6;
}
.int_faq {
  margin: 100px 0;
}
.int_faq h4 {
  color: #fff;
  background-color: #48b2f5;
  margin: 0;
  padding: 10px 0 10px 36px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.6;
  width: 92.5%;
}
.int_faq_txt {
  border: solid 1px #48b2f5;
  padding: 50px 36px 40px 36px;
  width: 89.6%;
  margin: -30px 0 0 auto;
}
.int_faq_txt p {
  line-height: 1.8;
}
.int_faq_txt .txt02 {
  margin: 40px 0 0;
}
.int_faq_txt .txt03 {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .p-staff {
    margin: 60px 0;
  }
  .staff_box_ttl::before,
  .staff_box_ttl::after {
    width: 14%;
  }
  .p-staff_contents {
    margin: 40px 0;
    padding: 0 4%;
  }
  .p-staff_contents .flex {
    margin: 0;
  }
  .staff_img,
  .span_6,
  .p-staff_contents .txt,
  .staff_img_box .staff_img,
  .p-staff_int_inner .flex img,
  .p-staff_int_inner .span_6,
  .int_faq h4,
  .int_faq_txt {
    width: auto;
  }
  .h4_ttl {
    font-size: 24px;
  }
  .int_faq h4 {
    padding: 10px 20px;
    font-size: 18px;
  }
  .career dl {
    font-size: 16px;
  }
  .p-staff_inner {
    padding: 3% 0 40px;
  }
  .list li {
    font-size: 16px;
    text-indent: -1.5rem;
    padding-left: 1.5rem;
  }
  .staff_img:first-of-type {
    margin-top: 40px;
  }
  .staff_img {
    margin-bottom: 40px;
  }
  .staff_img_area {
    margin: 40px 0 80px;
  }
  .staff_img_area .staff_box_ttl::before,
  .staff_img_area .staff_box_ttl::after {
    width: 27%;
  }
  .p-staff_int_inner {
    margin: 60px 0;
    padding: 0 4%;
  }
  .p-staff_int_inner .span_6 h4 {
    font-size: 20px;
    margin: 20px 0;
  }
  .int_faq {
    margin: 40px 0;
  }
  .int_faq_txt {
    padding: 20px;
    margin: 0;
  }
  .int_faq_txt p {
    line-height: 1.6;
  }
  .int_faq_txt .txt02 {
    margin: 20px 0 0;
  }
  .int_faq_txt .txt03 {
    margin-top: 20px;
  }
}

/* --------------
medical
----------------*/
.p-medical {
  margin: 100px 0 0;
}
.p-medical_box .flex {
  margin: 0px auto;
  max-width: 1280px;
  align-items: flex-start;
  padding: 80px 0 120px;
}
.medical_box_ttl::before,
.medical_box_ttl::after {
  width: 39%;
  top: 59%;
}
.p-medical_box .flex .medical_img {
  width: 50%;
}
.p-medical_box .flex .span_6 {
  width: 48%;
  color: #18346a;
}
.p-medical_box02 {
  background-color: #e4f5ff;
  padding: 80px 0 0;
  margin-bottom: 80px;
}
.p-medical_box02 .flex {
  flex-direction: row-reverse;
}
.p-medical_box03 .medical_box_ttl::before,
.p-medical_box03 .medical_box_ttl::after {
  width: 35%;
}
.medical-subboxL .medical_box_ttl::before,
.medical-subboxR .medical_box_ttl::after {
  width: 47%;
}
.medical-subboxL .medical_box_ttl::after,
.medical-subboxR .medical_box_ttl::before {
  width: 10%;
}
.medical-box04 .flex,
.medical-box05 .flex {
  max-width: unset;
  padding: 0;
}
.medical-subbox {
  width: 50%;
  padding: 80px 0;
}
.medical-box04 .medical-subboxL {
  background-color: #e4f5ff;
}
.medical-subboxL .ttl h1 {
  text-align: right;
  width: 86%;
}
.medical-subboxR .ttl h1 {
  text-align: left;
  margin-left: 14%;
}
.medical-subbox .ttl h1 {
  font-size: 40px;
}
.medical-subboxR .span_6 {
  width: 61% !important;
  margin-left: 40px;
}

.medical-subboxL .span_6 {
  margin: 0px 30px 0 auto;
  width: 61% !important;
  line-height: 1.6;
}
.medical-subboxL .span_6 p {
  margin: 0;
  text-indent: -1.5rem;
  padding-left: 1.5rem;
}
.medical-subbox .span_6 {
  padding: 80px 0 0;
}
.medical-box05 .cap {
  font-size: 30px;
  width: 83%;
  color: #18346a;
  font-family: "Noto Serif JP", serif;
  text-align: right;
}
.medical-box05 .medical-subboxR {
  background-color: #e4f5ff;
  height: 540px;
}
.medical-box05 .medical-subboxL .ttl h1 {
  width: 66%;
}
.medical-box05 .medical-subboxL .medical_box_ttl::before {
  width: 34%;
}

.medical-box05 .medical-subboxR .medical_box_ttl::after {
  width: 68%;
}

.medical-box05 .medical-subboxL {
  padding: 54px 0;
}
@media screen and (max-width: 1400px) {
  .medical_box_ttl::before,
  .medical_box_ttl::after {
    width: 35%;
  }
  .p-medical_box03 .medical_box_ttl::before,
  .p-medical_box03 .medical_box_ttl::after {
    width: 32%;
  }
  .medical-subboxL .medical_box_ttl::before,
  .medical-subboxR .medical_box_ttl::after {
    width: 33%;
  }
  .medical-box05 .medical-subboxL .medical_box_ttl::before {
    width: 30%;
  }
  .medical-box05 .medical-subboxR .medical_box_ttl::after {
    width: 64%;
  }
  .medical-box05 .cap {
    width: 89%;
  }
}

@media screen and (max-width: 768px) {
  .p-medical {
    margin: 60px 0 0;
  }
  .p-medical_box .flex {
    padding: 40px 0;
  }
  .p-medical_box02 {
    padding: 40px 0 0;
    margin-bottom: 40px;
  }
  .p-medical_box .flex .medical_img,
  .p-medical_box .flex .span_6,
  .medical-subbox {
    width: auto;
  }
  .medical-subbox {
    padding: 40px 0;
  }
  .medical-box05 .medical-subboxL {
    padding: 40px 0 40px;
    width: 100%;
  }
  .medical-box04 .flex,
  .medical-box05 .flex {
    padding: 0;
  }
  .medical-subbox .span_6 {
    padding: 20px 4% 0 !important;
  }
  .medical_box_ttl::before,
  .medical_box_ttl::after {
    width: 19%;
  }
  .p-medical_box03 .medical_box_ttl::before,
  .p-medical_box03 .medical_box_ttl::after {
    width: 10%;
  }
  .p-medical_box .flex .span_6 {
    padding: 0 4%;
  }
  .medical-subbox .ttl h1 {
    font-size: 26px;
  }
  .medical-subboxL .ttl h1,
  .medical-subboxR .ttl h1,
  .medical-box05 .medical-subboxL .ttl h1,
  .medical-box05 .cap {
    width: auto;
    text-align: center;
    margin: 0;
  }
  .medical-subboxL .medical_box_ttl::before,
  .medical-subboxR .medical_box_ttl::after,
  .medical-subboxL .medical_box_ttl::after,
  .medical-subboxR .medical_box_ttl::before {
    width: 13%;
  }
  .medical-box05 .medical-subboxR .medical_box_ttl::after,
  .medical-box05 .medical-subboxL .medical_box_ttl::before {
    width: 34%;
  }
  .medical-box05 .medical-subboxL .medical_box_ttl::before {
    width: 14%;
  }
  .medical-box05 .medical-subboxR .medical_box_ttl::before {
    width: 32%;
  }
  .medical-box05 .cap {
    font-size: 20px;
  }
  .medical-subboxL .span_6,
  .medical-subboxR .span_6 {
    width: auto !important;
    margin: 0;
  }
  .medical-box05 .flex {
    display: flex;
    flex-direction: column-reverse;
  }
  .medical-box05 .medical-subboxR {
    height: auto;
    width: 100%;
  }
}

/* -----------------

-------------------*/
.insurance_cont {
  margin: 100px 0;
}
.insurance_box {
  max-width: 1060px;
  margin: 100px auto;
}
.insurance_ttl h3 {
  color: #18346a;
}
.insurance_ttl::before,
.insurance_ttl::after {
  width: 38%;
  top: 50%;
}
.insurance_box p {
  line-height: 2;
}
.text-right {
  text-align: right;
}
.m-100 {
  margin-top: 100px;
  font-size: 24px;
  font-weight: 700;
}
.table-default {
  width: 100%;
  border-spacing: unset;
}
.table-default th {
  background: #bd9f40;
  color: #fff;
  width: 50%;
}
.table-default td,
.table-default th {
  border: 1px solid #aa9649;
  padding: 20px 36px;
  vertical-align: middle;
  text-align: left;
}
.table-default td {
  background: transparent;
  width: 73%;
  line-height: 1.8;
}

.insurance_box03 p,
.insurance_box04 .txt01 {
  margin-bottom: 60px;
}
.insurance_box .txt02 {
  margin-top: 20px;
}
.insurance_box04 .txt01 {
  text-indent: -6.5rem;
  padding-left: 6.5rem;
}
@media screen and (max-width: 768px) {
  .insurance_cont {
    margin: 60px 0;
  }
  .insurance_box {
    padding: 0 4%;
    margin: 24px 0;
  }
  .table-default td,
  .table-default th {
    padding: 10px;
  }
  .table-default th {
    width: 40%;
  }
  .table-default td,
  .table-default th {
    font-size: 13px;
  }
  .m-100 {
    font-size: 16px;
    margin-top: 24px;
  }
  .text-right {
    text-align: left;
  }
  .insurance_box03 p,
  .insurance_box04 .txt01 {
    margin-bottom: 24px;
  }
  .insurance_ttl::before,
  .insurance_ttl::after {
    width: 22%;
  }
  .insurance_box04 .txt01 {
    text-indent: -5.5rem;
    padding-left: 5.5rem;
  }
}
/* ------------
access
----------------*/

.p-access_inner {
  margin: 200px 0 0;
}
.p-access_container {
  max-width: calc(1400px + 6%);
  padding: 100px 4%;
  margin: 0 auto;
}
.p-access_container .map {
  width: 51%;
}
.access_icon {
  margin-left: 60px;
}
.access_icon .flex {
  justify-content: flex-start;
  align-items: center;
  gap: 40px;
}
.access_icon img {
  width: 45px;
  margin: 10px 0;
}
.access_bring {
  background: url(../img/bring_bg.png) no-repeat top center / cover;
  padding: 3% 0 80px;
}
.access_bring .flex {
  max-width: 1280px;
  margin: 100px auto;
}

.access_bring .bring_img {
  width: 46%;
}
.bring_txt {
  width: 50%;
  color: #18346a;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .p-access_inner {
    margin: 60px 0 0;
  }
  .p-access_container {
    padding: 40px 4%;
  }
  .p-access_container .clinichyou {
    padding: 40px 0 0px;
  }
  .p-access_container .map {
    width: 100%;
    height: 360px;
  }
  .access_icon {
    margin-left: 0;
    padding-bottom: 20px;
  }

  .access_icon .flex {
    display: flex;
    gap: 20px;
  }
  .access_icon p {
    font-size: 13px;
  }
  .access_icon img {
    width: 25px;
  }
  .access_bring {
    padding: 60px 4%;
  }
  .access_bring .flex {
    margin: 40px auto 0;
  }
  .access_bring .bring_img {
    width: auto;
  }
  .bring_txt {
    width: auto;
    margin-top: 20px;
  }
}
