body{background: linear-gradient(to bottom, #fff 0% , #edf4ff 30%, #fff 50%);}

/**  ----------------------------------------
* animation rotate-center
* ----------------------------------------*/

.rotate-center { -webkit-animation: rotate-center 100s linear infinite both; animation: rotate-center 100s linear infinite both; }
@-webkit-keyframes rotate-center {
0% {  -webkit-transform: rotate(0); transform: rotate(0); }
100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

@keyframes rotate-center {
0% { -webkit-transform: rotate(0); transform: rotate(0); }
100% {  -webkit-transform: rotate(360deg); transform: rotate(360deg); } 
}

/* --- animation slide_up_down  ------------- */
.slide_up_down { -webkit-animation: slide_up_down 1.7s ease-in-out infinite alternate both; animation: slide_up_down 1.7s ease-in-out infinite alternate both; }
@-webkit-keyframes slide_up_down {
0% { -webkit-transform: translateY(0); transform: translateY(0); }
100% { -webkit-transform: translateY(-20px); transform: translateY(-20px); }
}
@keyframes slide_up_down {
0% {  -webkit-transform: translateY(0); transform: translateY(0); }
100% { -webkit-transform: translateY(-20px); transform: translateY(-20px); } 
}

/* --- animation slide_down_up  ------------- */
.slide_down_up { -webkit-animation: slide_down_up 1.7s ease-in-out infinite alternate both; animation: slide_down_up 1.7s ease-in-out infinite alternate both; }
@-webkit-keyframes slide_down_up {
0% { -webkit-transform: translateY(20px); transform: translateY(-20); }
100% { -webkit-transform: translateY(0px); transform: translateY(0px); }
}
@keyframes slide_down_up {
0% {  -webkit-transform: translateY(20px); transform: translateY(20px); }
100% { -webkit-transform: translateY(0px); transform: translateY(0px); } 
}


.promiseArea { padding: 50px 0px;  position: relative; overflow: hidden}
.promiseArea  strong{color:#0199ff;}
.promiseArea .title-4{ border-bottom: solid 1px #fff;}
.promiseArea .leftBox, .promiseArea .rightBox { width: 50%; max-width: 620px}
.promiseArea .leftBox p{ font-weight: 600 }
@media (max-width:840px) {
.promiseArea .rightBox {  width: 100% ; max-width: 100%;  margin-bottom: 140px }
.promiseArea .leftBox{   width: 100% ; max-width: 100%; margin-bottom: 40px }
}
 @keyframes animate-pulse{
0%{ box-shadow: 0 0 0 0 rgba(255,109,74,0.7), 0 0 0 0 rgba(255,109,74,0.7); }
40%{ box-shadow: 0 0 0 20px rgba(255,109,74,0.0), 0 0 0 0 rgba(255,109,74,0.7);  }
80%{ box-shadow: 0 0 0 20px rgba(255,109,74,0.0), 0 0 0 30px rgba(255,109,74,0); }
100%{ box-shadow: 0 0 0 0 rgba(255,109,74,0.0), 0 0 0 30px rgba(255,109,74,0);     }
}

 
/**
 * ----------------------------------------
 * animation slide-up-down
 * ----------------------------------------
*/
.slide-up-down {
  -webkit-animation: slide-up-down 1.7s ease-in-out infinite alternate both;
  animation: slide-up-down 1.7s ease-in-out infinite alternate both; }

/* ------- */
@-webkit-keyframes slide-up-down {
0% {  -webkit-transform: translateY(0); transform: translateY(0); }
100% { -webkit-transform: translateY(-20px); transform: translateY(-20px); }
}
@keyframes slide-up-down {
0% { -webkit-transform: translateY(0); transform: translateY(0); }
100% { -webkit-transform: translateY(-20px); transform: translateY(-20px); } 
}
@-webkit-keyframes rotate {
to {-webkit-transform: rotate(360deg); transform: rotate(360deg);}
}
@keyframes rotate {
to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

@-webkit-keyframes rotateCenter {
0% { -webkit-transform: translate(-50%, -50%) rotate(0deg); transform: translate(-50%, -50%) rotate(0deg);}
100% {  -webkit-transform: translate(-50%, -50%) rotate(360deg);  transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes rotateCenter {
0% { -webkit-transform: translate(-50%, -50%) rotate(0deg); transform: translate(-50%, -50%) rotate(0deg);  }
100% {-webkit-transform: translate(-50%, -50%) rotate(360deg); transform: translate(-50%, -50%) rotate(360deg); }
}
@-webkit-keyframes rotateCenter2 {
0% { -webkit-transform: translate(-50%, -50%) rotate(0deg); transform: translate(-50%, -50%) rotate(0deg);  }
100% { -webkit-transform: translate(-50%, -50%) rotate(-360deg); transform: translate(-50%, -50%) rotate(-360deg); }
}
@keyframes rotateCenter2 {
0% { -webkit-transform: translate(-50%, -50%) rotate(0deg); transform: translate(-50%, -50%) rotate(0deg); }
100% { -webkit-transform: translate(-50%, -50%) rotate(-360deg); transform: translate(-50%, -50%) rotate(-360deg); }
}

@keyframes growAndFade {
0% { opacity: 0.75;  transform: scale(0);  }
100% {  opacity: 0; transform: scale(1); }
}
 
 


.processArea {  width: 100%; padding: 50px 0 40px 0;}
@media (max-width: 1180px) {
.processArea { padding:20px 0px  40px 0;  }
}
.processArea .titleBox { max-width: 500px; width: 100%; margin: 0 auto 55px;}
.processArea .titleBox h2{ font-size: min(max(3.5vw, 1.275rem), 1.75rem);font-weight: 500; }
.processArea .titleBox .text{ font-size: clamp(0.875rem, 2.2vw, 1rem);line-height: 1.75;}
.processArea .processBox { width: 100%; position: relative;}
.processArea .processBox .decoLine { position: absolute; height: 75px; width: 30px; left: 0; right: 0; margin: 0 auto; z-index: 2; display: -webkit-box; display: -ms-flexbox;  display: flex;  -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;}
@media (max-width: 1180px) {
.processArea .processBox .decoLine { height: auto; position: relative; padding: 0;  }
}
@media (max-width: 767.98px) {
.processArea .titleBox { padding-right: 20px;}
}
.processArea .processBox .decoLineStar {top: 0;}
.processArea .processBox .decoLineEnd {  bottom: 0;}
.processArea .processBox .decoLine .line { background: url("../images/index/arrow_down_line.png") center  no-repeat; background-size: contain; width: 2px; height: 74px; display: block;}
.processArea .processBox .decoLine .arrow { background: url("../images/index/arrow_down.png") center no-repeat; background-size: contain;  width: 32px;  height: 32px; display: block;}
.processArea .processList { width: 100%;  display: -webkit-box; display: -ms-flexbox; display: flex;  -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;  padding: 20px 0;}
.processArea .processList .processItem { width: 100%;  position: relative;  margin-bottom: -60px;}
@media (max-width: 1180px) {
.processArea .processList .processItem { margin: 0 0 20px 0; }
}
.processArea .processList .processItem.visible::before { opacity: 1;}
.processArea .processList .processItem::before { content: ""; position: absolute; background: url("../images/index/process.png") right top  no-repeat; background-size: auto; width:520px; height: 100px; top: 68%; -webkit-transform: translateY(-50%); transform: translateY(-50%); right: 15%; opacity: 1;}

.processArea .processList .processItem:nth-child(even)::before { content: "";  width: 700px; height: 120px; top: 72%; left: 7%;  -webkit-transform: translateY(-50%) rotateY(180deg); transform: translateY(-50%) rotateY(180deg);}
@media (max-width: 1180px) {
.processArea .processList .processItem::before,.processArea .processList .processItem:nth-child(even)::before { display: none}	
}

 .processArea .processList .processItem:nth-child(even) .item { margin: 0 0 0 auto;}
@media (max-width: 1180px) {
.processArea .processList .processItem:nth-child(even) .item {  margin: 0 auto; }
}
.processArea .processList .processItem:nth-last-child(1) {margin: 0; }
.processArea .processList .processItem:nth-last-child(1)::before { display: none;}
.processArea .processList .item {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: start;  -ms-flex-pack: start;  justify-content: flex-start; -webkit-box-align: center;  -ms-flex-align: center; align-items: flex-start;  max-width: 600px;  width: 100%; position: relative; }
@media (max-width: 1180px) {
.processArea .processList .item { max-width: 80%; margin: 0 auto;  }
.processArea .processList .item::before{  content: ""; width: 2px; height: 100%; background: url("../images/index/arrow_down_line.png") center repeat-y; background-size: contain;position: absolute; left:57px; top:0px; }
 }
@media (max-width: 840px) {
 .processArea .processList .item { max-width:90%; margin: 0 auto; -webkit-box-orient: vertical; -webkit-box-direction: normal;  -ms-flex-direction: column; flex-direction: column; }
}
@media (max-width: 767.98px) {
 .processArea .processList .item { max-width:100%; }
.processArea .processList .item::before{ left:50%; height: 150px;  }
	
}
.processArea .processList .Img { width: 120px; height: 120px;  border-radius: 50%; background-image: linear-gradient(135deg, #96deda 0%, #0070cf 100%);overflow: hidden; position: relative; }
.processArea .processList .Img :before { content: ""; margin: auto; width: 114px; height:114px; border: dashed 1px #fff; border-radius: 99rem; position: absolute; top:3px;  left:3px;  z-index: 1; animation: rotate 20s infinite linear;transform-origin: 50% 50%;}

.processArea .processList .Img::after { content: ""; position: absolute; width: 100%;  height: 100%; background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 70%); top: 0; left: -100px; opacity: 0.6; -webkit-animation: shine 1.5s ease-out infinite; animation: shine 1.5s ease-out infinite; pointer-events: none; -webkit-user-select: none;-moz-user-select: none;  -ms-user-select: none; user-select: none;}
@media (max-width: 767.98px) {
.processArea .processList .Img { margin: auto }	
}

.processList .circle-box{ width: 114px; height: 114px;color: #fff;  display: -webkit-box; display: -ms-flexbox; display: flex; flex-wrap: wrap; flex-direction: column;  -webkit-box-align: center;  -ms-flex-align: center;justify-content: center; align-items: center;}
.processList .circle-box h3{ text-align: center; font-size:18px; font-weight: 700;  display: block; margin:0px auto}
.processList .circle-box p{  text-align: center;  font-size: 1.375rem;font-weight: 500; margin:0px  auto}
.processArea .processList .Txt {  width: calc(100% - 200px); padding-left: 40px;}
 .processArea .processList .Txt .titleTw { font-size: 24px; font-weight:500; line-height: 1; color:#004198; letter-spacing: 1.2px;}
@media (max-width: 1180px) {
.processArea .processList .Txt { width: 100%;  max-width: 70%;  margin: 0 auto; padding: 30px 0;   }
}
 
@media (max-width: 767.98px) {
.processArea .processList .Txt {   max-width: 80%;  margin: 0 auto 0px 10%; padding: 30px 0;   }	
.processArea .processList .Txt .titleTw { font-size: 20px;  }
}
.processArea .processList .Txt .text { font-size: min(max(3.5vw, 0.9rem), 1rem); line-height: 1.75rem; font-weight: 400;   letter-spacing: 0.8px; }
.processArea .processList .Txt ul{ width: 100%; margin: 0px 0px 10px 0px; padding: 0px;}
.processArea .processList .Txt ul li{ width: 100%; margin: 0px 0px 10px 0px; padding: 0px;}
.marker.blue {  font-weight: 700;  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, rgba(75, 220, 255, 0.3)));  background: linear-gradient(transparent 60%, rgba(75, 220, 255, 0.3) 60%);}




.dr { margin: 30px auto 40px auto; padding:40px 0px;  display: flex; flex-wrap: wrap;justify-content: flex-start; align-content: flex-start;}
.dr li {width:calc(100%/4 - 30px); margin:30px 15px; position: relative;  transition: all 0.3s linear 0s; list-style: none;  }
.dr li .item{width: 100%;  padding:0px;   }
.dr li .inner-body { position: relative;  width:100%; height: auto; padding:10px;   }
.dr li h3 { position: relative; z-index: 5; font-size:1.275rem; font-weight: 600; color:#083078; transition: 375ms cubic-bezier(0.7, 0, 0.3, 1); }
.dr li p { font-size:1rem; font-weight: 400;line-height: 1.5;  color:#3b4b66;  letter-spacing: 1px; overflow: hidden;   overflow-wrap: break-word; transition: 375ms cubic-bezier(0.7, 0, 0.3, 1);  }
.dr li .photo { width: 100%;  height:auto; padding: 0px;  overflow: hidden; margin: auto;   }
.dr li .photo figure{ width: 100%; padding-top:143%; height: 0; object-fit: cover; border-radius: 0px;overflow: hidden; position: relative; transition: all 0.5s ease 0s;background-color: #55b4e7; }
.dr li .photo figure img { -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; -webkit-backface-visibility: hidden; }
.dr li:hover .photo figure img {opacity: .8; transform: scale(1.05);/*backdrop-filter: blur(15px);*/} 
.dr li:hover h3,.dr li:hover p{color:#55b4e7 }
.dr li:hover h3::after { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}

.dr .slick-prev{ top:-110px; left:auto;right:140px}
.dr .slick-next{ top:-110px; right:80px }

@media (min-width:1600px) {
.dr { margin: 30px auto 0px auto;padding: 40px 60px 0px 60px;  }	
}

@media (max-width:1200px) {
.dr { margin: 30px auto; padding:0px;  }	
.dr li p { font-size:0.9rem; }
}
@media (max-width:840px) {
.dr li {width:calc(100%/3 - 30px);   }	
}
@media (max-width:767.98px) {
.dr li {width:calc(100%/2 - 20px);  margin:30px 10px; }	
.dr li h3 {  font-size:1rem;   }
.dr li p { font-size:0.75rem; }	
}
@media (max-width:320px) {
.dr li {width:100%;  margin:30px auto; }	
 }

.img-hover { -webkit-transition: all 0.2s ease-in;  -moz-transition: all 0.2s ease-in; transition: all 0.2s ease-in;}
.img-hover:hover:before { -webkit-animation: shine 0.5s 0s linear; -moz-animation: shine 0.5s 0s linear; animation: shine 0.5s 0s linear;}
.img-hover:before { content: ""; display: block; width: 0px; height: 100%; top: 0%;  left: 0%; opacity: 0;  background: #fff; box-shadow: 0px 0px 60px 100px #fff;  position: absolute;z-index: 999; -webkit-transform: skewX(-20deg); -moz-transform: skewX(-20deg); -ms-transform: skewX(-20deg); -o-transform: skewX(-20deg); transform: skewX(-20deg);}
@-webkit-keyframes shine {
  from { opacity: 0; left: 0%; }
  50% { opacity: 0.7; }
  to {  opacity: 0; left: 100%; }
}
@-moz-keyframes shine {
  from { opacity: 0; left: 0%; }
  50% { opacity: 0.7; }
  to { opacity: 0; left: 100%; }
}
@keyframes shine {
  from { opacity: 0; left: 0%; }
  50% { opacity: 0.7; }
  to { opacity: 0; left: 100%; }
}
 
 .infoWrap { max-width: 1160px;  margin:120px auto 60px auto; }
.doctorBox { border-radius: 20px; padding: 20px; display: flex; flex-wrap: wrap;  background-image: linear-gradient(34deg, #fff 60%, rgba(215, 231, 255, .3) 100%); background-size: 100% auto;background-color: #fff;  }


.doctorBox .doctorImg { width: 35%; max-width: 100%; height: auto; align-self: flex-start;  position: relative; }
.doctorBox .doctorImg img { width: 100%; margin-top: -15%; margin-left: -15%; max-height:600px; max-width: 100%; height: auto; object-fit: contain;border-radius: 20px; z-index: 1;  backface-visibility: hidden; position: relative; }
.doctorBox .doctorImg figure::before { content: ""; border-radius: 20px; left: auto;  right:-20px; top:180px;  bottom:auto;height:300px;  width: 300px; background-image: linear-gradient(250deg, #ffefcb 20%, rgba(79, 128, 202, .3) 100%); background-color: #fff;  position: absolute;  z-index: 1; }

.doctorBox .info { width:65%;   padding: 60px 20px 0 60px; position: relative; }
.doctorBox .info .top { align-items: baseline; border-bottom: 1px solid #d2d2d5; display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 30px; padding-bottom: 5px; }
.doctorBox .info .title {  width: 75%;margin-bottom: 0px; color: #3b4b66; font-size: 30px;  font-weight: 400; line-height: 2;  letter-spacing: 1px; }
.doctorBox .info .title span {  font-size: 18px; padding-left: 10px; }
.doctorBox .info .subtitle { width: auto;color: #3b4b66;  font-size: 18px; text-align: right;letter-spacing: 0.5px;  position: relative;  }
.doctorBox .info .subtitle::before {  background-color: #d2d2d5; content: "";  height: 100%;  left: -20px;  position: absolute;  top: 0; width: 1px; }
.doctorBox .info .edu { color: #717588;  line-height: 2; letter-spacing: 0.5px; margin-bottom: 30px; }
.doctorBox .info .content { color: #3b4b66; line-height: 2; letter-spacing: 0.5px;  }
 .doctorBox .infoTitle { color: #cab097;  font-size: 26px;font-weight: 500; line-height: 2.2;  margin-bottom: 40px; position: relative;  text-align: center; }
.doctorBox .infoTitle::before, .doctorBox .infoTitle::after { border-bottom: 1px solid #cab097; content: "";  position: absolute;  top: 0; height: 60%;  width: 35%; }

@media (max-width: 840px) {
.doctorBox{ align-items: flex-start; flex-direction: column; } 
.doctorBox .doctorImg{ width: 50%;margin-left: auto; margin-right: auto; height: 420px;  }
.doctorBox .doctorImg figure::before { content: ""; border-radius: 20px; left: auto;  right:-20px; top:150px;  bottom:auto;height:200px;  width: 200px;   }
.doctorBox .info { width:100%; padding: 60px 20px 0 60px; }
 }
@media (max-width: 768px) {
.doctorBox { row-gap: 20px; } 	
.doctorBox .info { padding: 60px 40px 0 40px; } 
.doctorBox .info {  padding: 20px; } 
.doctorBox .info .top { align-items: flex-start; flex-direction: column; } 
.doctorBox .doctorImg figure::before {  right:-20px; top:250px;  }
	
}
@media (max-width: 640px) {
.infoWrap {  margin:40px auto 60px auto; }	
.doctorBox { row-gap: 0; }
.doctorBox .doctorImg{  width: 70%; height: 320px;  }
.doctorBox .doctorImg figure::before {right:-10px; top:130px;  bottom:auto;height:200px;width: 200px;}	
.doctorBox .info .title { font-size: 24px;}
.doctorBox .info .subtitle { font-size: 1rem;}	
.doctorBox .infoTitle { font-size: 20px; }	
.doctorBox .infoTitle::before, .doctorBox .infoTitle::after { width: 25%; }	 
}
@media (max-width: 320px) {
.doctorBox .doctorImg{  width: 80%; height: 320px; margin: auto; }
.doctorBox .doctorImg figure::before {right:-10px; height:180px;width: 180px;}	

}


.doctorBox .infoTitle::before { left: 0; }
.doctorBox .infoTitle::after { right: 0; }

.experience-box {  display: grid;  position: relative;  }
.doctorBox .experience { padding: 20px 30px; }
.doctorBox .experienceList {  display: flex; flex-wrap: wrap;  margin: auto; padding: 0px;  position: relative;}



.doctorBox .experienceList li { width: 50%;  line-height: 2; letter-spacing: 1px; margin-bottom:0px; padding-bottom: 10px; position: relative; list-style: none }
.doctorBox .experienceList li::before { content: ""; left: 0px;  top: 12px;  position: absolute; border: 1px solid #cab097; background-color: #fff; width: 10px;  height: 10px;  border-radius: 1000px;   }
.doctorBox .experienceList li .title { width: 100%; font-size: min(max(3.5vw,0.9rem), 1rem); line-height: 1.5;  color: #3b4b66;  padding-left: 20px; }
.doctorBox .certificate {  padding: 20px 30px;  position: relative; }
@media (max-width: 768px) {
.doctorBox .experience { padding: 20px 0px; }	
.doctorBox .experienceList li { width: 100%;  }	
.doctorBox .certificate { padding: 20px; } 

}
@media (max-width: 767.98px) {
.doctorBox .experienceList li::before {  top:6px; }
}

.doctorBox .licence-box {  margin: auto;  width: 100%;  display: flex;flex-wrap: wrap}
.doctorBox .licence { width: calc(100%/3 - 20px);margin: 10px;   }
.doctorBox .licence .Img img { object-fit: contain;  margin: auto;  max-height: 250px; }
.doctorBox .licence .Txt { padding: 20px; }
.doctorBox .licence .Txt .title {  color: #717588;  font-size: 14px; line-height: 1.8; letter-spacing: 0.5px; text-align: center; display: -webkit-box; -webkit-line-clamp: 3;  -webkit-box-orient: vertical; overflow: hidden; }
 @media (max-width: 767.98px) {
.doctorBox .licence { width:100% ;margin: 10px auto;   }
}


/* 門診時間 ===================================================================*/
.schedule{position: relative; margin:auto; padding:30px 0px 120px 0px; }
.schedule .titleTw { font-size: 24px; font-weight:500; line-height: 1.5; color:#004198; letter-spacing: 1.2px;}
.schedule .text{font-size: clamp(0.875rem, 2.2vw, 1rem);line-height: 1.75;} 
@media (max-width: 767.98px) {
 .schedule{  padding:30px 20px 120px 0px; }
 .schedule .titleTw { font-size: 20px;line-height: 1.75;  }
}


/*table*/
.inquiry-table { width: 100%; max-width: 1160px; min-width: 650px; margin:2% auto; display: table; background-color: #ced8ea; box-shadow: 1px 3px 8px rgba(37,68,141,.4); border-radius: 30px;overflow: hidden;border: solid 3px #ced8ea; }
.inquiry-table tbody{ background-color: #fff;   }
.inquiry-table th { padding:15px 0px; font-size: 1rem;   color: #fff; text-align: center; text-shadow: none; background: #25448e;  box-shadow: 1px 3px 8px rgba(102,102,102,.5);}
.inquiry-table td { width: 70px;padding: 15px 0px; border: 1px solid #a9b2cd; font-size: 0.9rem;color: #083078; text-align: center;  font-weight: 500;vertical-align: middle;}
.inquiry_bg_blue{background:#e4f9fd;}
.inquiry_bg_blue-2{background:#d5e5f8;}
.inquiry_bg_yellow{background:#fff8dd;}


.border_bottom {border-bottom: 3px solid #abb8d7;}
.inquiry-table p{ margin: 0px; font-size: 0.9rem;color:#083078; line-height: 1.5; text-align: center;  font-weight: 500; letter-spacing: 2px;}
.notify{text-align: center;font-weight: bold;margin-bottom: -2.5%;font-size: 2.35rem;line-height: 1em;}
@media only screen and (max-width: 1200px) {
.notify{margin-bottom: 0;}
}
@media only screen and (max-width: 768px) {
.notify{font-size: 1.35rem;}
}
@media only screen and (max-width: 475px) {
.inquiry-table{min-width:1150px;}
.inquiry-table td {width:100px;}
}




