@charset "UTF-8";

/* CSS Document */
@media only screen and (max-width: 768px) {
  .blurFixSP {
    image-rendering: optimizeSpeed;
    /* STOP SMOOTHING, GIVE ME SPEED  */
    image-rendering: -moz-crisp-edges;
    /* Firefox                        */
    image-rendering: -o-crisp-edges;
    /* Opera                          */
    image-rendering: -webkit-optimize-contrast;
    /* Chrome (and eventually Safari) */
    image-rendering: -o-pixelated;
    image-rendering: pixelated;
    /* Chrome */
    image-rendering: optimize-contrast;
    /* CSS3 Proposed                  */
    -ms-interpolation-mode: nearest-neighbor;
    /* IE8+                           */
  }
}

/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/********************************
Menu Toogle
********************************/
.menu_toggle {
  background-color: rgba(255, 255, 255, 0.95);
  position: fixed;
  top: 0px;
  bottom: 0px;
  left: 0px;
  width: 100%;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.menu_toggle.active {
  opacity: 1;
  visibility: visible;
}

.menu_toggle ul li {
  position: relative;
  overflow: hidden;
}

.menu_toggle p {
  margin-bottom: 0;
}

.menu_toggle a {
  text-decoration: none;
  color: #333;
}

.menu_toggle .inside {
  padding: 0 20px;
}

.menu_toggle .inside>ul>li a,
.menu_toggle .inside>ul>li p {
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.menu_toggle .inside>ul>li>ul {
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.menu_toggle .inside>ul>li>ul li {
  position: relative;
  padding-left: 15px;
  margin-bottom: 14px;
  letter-spacing: 0.2em;
  line-height: 1.4;
  background: url(../images/shared_bullet01.png) left top 7px no-repeat;
}

.menu_toggle.active .inside>ul>li a,
.menu_toggle.active .inside>ul>li p,
.menu_toggle.active .inside>ul>li>ul {
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%);
}

.menu_toggle .inside {
  -webkit-overflow-scrolling: touch;
  /* Lets it scroll lazy */
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  height: 100%;
  overflow: auto;
}

.menu_toggle .inside>ul {
  padding: 90px 0 30px;
  width: 100%;
}

.menu_toggle .inside>ul>li {
  position: relative;
  margin-bottom: 8px;
  letter-spacing: 0.2em;
  line-height: 1.4;
}

.menu_toggle .inside>ul>li:not(.ttl) {
  padding-left: 15px;
}

.menu_toggle .inside>ul>li:not(.ttl)::before {
  content: '';
  position: absolute;
  top: 0.5em;
  left: 0px;
  width: 6px;
  height: 6px;
  background: #ffa500;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.menu_toggle .inside>ul>li:first-child>a::before,
.menu_toggle .inside>ul>li:first-child>a::after {
  display: none;
}

.menu_toggle .inside>ul>li:first-child>p::before,
.menu_toggle .inside>ul>li:first-child>p::after {
  display: none;
}

.menu_toggle .lv_mt {
  margin-top: 25px;
}

.menu_toggle .ttl {
  border-bottom: 1px solid #ffa500;
  margin-bottom: 20px;
  padding-bottom: 10px;
  text-transform: uppercase;
  padding-left: 0;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  pointer-events: none;
  display: block;
  text-align: left;
}

.menu_toggle .ttl a {
  color: #ffa500;
  font-family: "Maven Pro", sans-serif;
}

.menu_toggle .ttl li {
  padding: 0 10px;
}

.menu_toggle .ttl li a {
  border-bottom: 1px solid rgba(0, 128, 204, 0.5);
  margin-bottom: 17px;
  padding-bottom: 10px;
  text-transform: uppercase;
  padding-left: 0;
  font-size: 18px;
  font-weight: 500;
  color: #333;
  letter-spacing: 0.1em;
  line-height: 1;
  pointer-events: none;
  display: block;
  text-align: left;
  text-decoration: none;
}

.menu_toggle .ttl li a::after {
  content: "›";
  display: block;
  position: absolute;
  top: 47%;
  left: 10px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 12px;
  font-weight: normal;
}

#nav-icon {
  width: 32px;
  height: 24px;
  position: relative;
  margin: 0 auto 0px;
  cursor: pointer;
  -webkit-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}

#nav-icon span {
  background-color: #ffa500;
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

#nav-icon span:nth-child(1) {
  top: 3px;
}

#nav-icon span:nth-child(2),
#nav-icon span:nth-child(3) {
  top: 11px;
}

#nav-icon span:nth-child(4) {
  top: 19px;
}

#nav-icon.open span:nth-child(1) {
  top: 11px;
  width: 0%;
  left: 50%;
}

#nav-icon.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

#nav-icon.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#nav-icon.open span:nth-child(4) {
  top: 11px;
  width: 0%;
  left: 50%;
}

.hamburger-btn {
  width: 60px;
  height: 60px;
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  right: 0;
  z-index: 10;
  cursor: pointer;
}

.hamburger-btn .button-toggle {
  position: relative;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  color: inherit;
}

/* END Menu
********************************/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/********************************
General
********************************/
@media only screen and (max-width: 768px) {
  body {
    font-size: 87.5%;
  }

  figure {
    text-align: center;
  }

  img {
    max-width: 100%;
  }

  .TabContainer .TabPager li {
    width: 33%;
  }

  .totop {
    bottom: 135px;
    right: 5px;
  }

  .totop .icon {
    width: 50px;
    height: 50px;
  }

  .fblock {
    display: block;
  }

  .fblock.true {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .under .topic_path {
    padding-bottom: 10px;
  }

  .txt_l,
  .txt_r {
    float: none;
    width: auto;
  }

  .image_l,
  .image_r {
    float: none;
    width: auto;
    margin: 0 0 20px;
    text-align: center;
    max-width: none;
  }

  .btn-group .btn.style01,
  .btn-group .btn.style02 {
    max-width: 250px;
  }

  .btn-group .btn.style01 a,
  .btn-group .btn.style02 a {
    padding: 7px 35px;
    font-size: 15px;
  }

  .btn-group .btn.style01 a.md,
  .btn-group .btn.style02 a.md {
    font-size: 13px;
  }

  p {
    margin-bottom: 13px;
    line-height: 1.8;
  }

  a .tel_click:hover {
    opacity: 1;
    color: inherit;
  }

  .slick-prev {
    left: 0px;
  }

  .slick-next {
    right: 0px;
  }

  .slick-arrow {
    z-index: 1;
    top: 15vw;
  }
}

/* END General
********************************/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/********************************
Header & Footer
********************************/
@media only screen and (max-width: 768px) {
  .wrapper {
    min-width: inherit;
  }

  .inner,
  .inner_sm {
    max-width: none;
    padding-left: 10px;
    padding-right: 10px;
  }

  .header_top {
    background-color: rgba(255, 255, 255, 0.8);
    width: 100%;
    padding: 9px 0;
    height: 60px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
  }

  .header_top::before {
    display: none;
  }

  .header_top.active {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
  }

  .header_top p {
    margin-bottom: 0;
  }

  .header_top .logo {
    max-width: 145px;
    width: auto;
    margin-left: 10px;
    position: static;
    left: 0;
    top: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }

  .header_top .inner {
    height: auto;
    display: block;
  }

  footer {
    padding: 40px 0 0;
  }

  footer .ft_logo {
    max-width: 210px;
    margin: 0 auto;
  }

  footer .ft_content {
    margin-left: 0;
  }

  footer .ft_info {
    width: auto;
    margin: 0 auto;
    padding: 30px;
  }

  footer .ft_info .des {
    letter-spacing: 0.15em;
  }

  footer .ft_link {
    width: auto;
  }

  footer .copyright p {
    margin-top: 0;
    padding: 15px 5px;
    word-break: break-word;
    font-size: 10px;
  }
  .medical_logo{
    margin-bottom: 50px;
  }

  .fixed_banner {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: auto;
    width: 100%;
    height: 50px;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  }

  .fixed_banner.active {
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%);
  }

  .fixed_banner::before {
    display: none;
  }

  .fixed_banner p {
    font-weight: normal;
	  margin-bottom: 0;
  }

  .fixed_banner p::before {
    margin-bottom: 5px;
  }

  .fixed_banner .tel,
  .fixed_banner .mail {
    width: 100%;
    height: auto;
  }

  .fixed_banner .tel p,
  .fixed_banner .mail p {
    padding: 0px 0px;
    font-size: 22px;
    line-height: 1;
	  display: flex;
	  align-items: center;
	  justify-content: center;
  }

  .fixed_banner .tel p::before,
  .fixed_banner .mail p::before {
    height: 20px;
	  margin: 2px 7px 0 0;
	  width: 23px;
  }

  .fixed_banner .tel p::before {
    background-size: auto 16px;
    background-position: top 2px center;
  }

  .fixed_banner .tel p span {
    -webkit-writing-mode: lr-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: lr-tb;
  }

  .fixed_banner .mail {
    background-color: #7ac500;
  }

  .fixed_banner .mail p::before {
    background-size: auto 12px;
  }

  .fix_modal {
    width: 240px;
    left: 10px;
    bottom: 55px;
    padding: 14px 0 20px;
  }

  .fix_modal .close {
    width: 54px;
    height: 54px;
  }

  .fix_modal .close::before,
  .fix_modal .close::after {
    width: 12px;
    bottom: 15px;
  }

  .fix_modal .ttl {
    margin-bottom: 10px;
    font-size: 15px;
  }

  .fix_modal .cm_btn {
    max-width: 140px;
  }

  .fix_modal .cm_btn a {
    padding-bottom: 6px;
    font-size: 12px;
  }

  .fix_modal .cm_btn a::before {
    right: 8px;
  }
}
@media only screen and (max-width: 480px) {
  .medical_logo {
      padding: 20px 0;
  }
}

@media only screen and (max-width: 550px) {
	.fix_modal {
		bottom: 85px;
	}
	.fix_modal.active {
		bottom: 135px;
	}
}
/* End Header & Footer
********************************/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/********************************
Index
********************************/
@media only screen and (max-width: 768px) {
  .home_page .key {
    margin-top: 60px;
    height: 112vw;
  }

  .home_page .key .key_text .item {
    height: 112vw;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding-bottom: 5vw;
  }

  .home_page .key #myvideo {
    width: 200vw;
    height: 112vw;
  }

  .home_page .key .idx_key {
    width: calc(100% - 40px);
  }

  .home_page .key h2 {
    font-size: 5.7vw;
    margin-bottom: 3.5vw;
  }

  .home_page .key .txt_h2 {
    font-size: 3.5vw;
    letter-spacing: 0.1em;
  }

  .tobelow {
    width: 40px;
  }

  .tobelow p {
    font-size: 12px;
  }

  .tobelow p::before {
    left: 10px;
  }

  .tobelow p::after {
    left: 9px;
  }
}

@media only screen and (max-width: 768px) {

  .ttl_style1,
  .ttl_style4 {
    font-size: 24px;
    padding-bottom: 15px;
  }

  .ttl_style1 .eng,
  .ttl_style4 .eng {
    font-size: 60%;
    margin-bottom: 4px;
  }

  .ttl_style4 {
    margin-bottom: 30px;
  }

  .cm_btn a {
    padding: 12px 10px 12px;
  }

  .cm_btn a::before {
    right: 15px;
  }
}

@media only screen and (max-width: 768px) {
  .idx_gallery {
    height: 180px;
    margin: 40px 0;
  }
}

@media only screen and (max-width: 768px) {
  .idx1 {
    padding-top: 50px;
  }

  .idx1_detil {
    padding: 50px 0 50px;
  }

  .idx1_detil::before {
    background: rgba(15, 10, 0, 0.3);
    left: 0;
    right: 0;
    width: 100%;
  }

  .idx1_box {
    width: 100%;
  }

  .idx1_list {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }

  .idx1_list li {
    background-position: top 16px left 10px;
    background-size: 20px auto;
    padding: 12px 0 12px 42px;
    font-size: 18px;
  }
}

@media only screen and (max-width: 768px) {
  .idx2 {
    padding-top: 50px;
    padding-bottom: 0;
  }
	
	.idx2_wp {
		padding-bottom: 0;
	}

  .idx2_people {
    width: 100%;
    height: 50vw;
    position: relative;
    right: auto;
    left: auto;
    margin: 0 auto;
	background: url(../images/sp_idx2_people.png) no-repeat bottom center/contain;
  }

  .idx2 .ttl_style1 {
    text-align: center;
  }

  .idx2 .ttl_style1::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  .idx2 .txt {
    letter-spacing: 0.05em;
  }

  .idx2_boxtxt {
    max-width: 71%;
    margin-bottom: 30px;
  }

  .idx2_box_item {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .idx2_box_item .box_item {
    width: 20vw;
    height: 20vw;
    padding: 2vw 1vw 6vw;
  }

  .idx2_box_item .box_item:nth-child(even) {
    margin-top: 7vw;
  }

  .idx2_box_item .box_item:not(:last-child) {
    margin-right: 2vw;
  }

  .idx2_box_item .number {
    font-size: 6vw;
    margin-bottom: -0.25vw;
  }

  .idx2_box_item .ttl {
    font-size: 2.2vw;
  }
}

@media only screen and (max-width: 480px) {

  .idx2_boxtxt {
    max-width: 100%;
  }

  .idx2_box_item .box_item {
    width: calc(50% - 2vw);
    height: 46vw;
  }

  .idx2_box_item .box_item:nth-child(even) {
    margin-top: 5vw;
  }

  .idx2_box_item .box_item:not(:last-child) {
    margin-right: 4vw;
  }

  .idx2_box_item .box_item:nth-child(2n+2) {
    margin-right: 0;
  }

  .idx2_box_item .number {
    font-size: 12vw;
  }

  .idx2_box_item .ttl {
    font-size: 4.5vw;
  }
}

@media only screen and (max-width: 768px) {
  .idx3 {
    padding: 50px 0;
  }

  .idx3::before {
    height: 40vw;
    max-height: 250px;
  }

  .idx3_detil {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .idx3_content {
    max-width: 600px;
    text-align: center;
  }

  .idx3_img {
    max-width: 600px;
  }

  .idx3 .i3_box {
    width: 100%;
    margin: 0 auto;
  }

  .idx3 .ttl_style2 {
    margin-bottom: 30px;
    font-size: 24px;
    letter-spacing: 0.1em;
  }

  .idx3 .cm_btn {
    margin-left: auto;
    margin-right: auto;
  }
}

@media only screen and (max-width: 768px) {
  .idx4_ttl {
    padding-top: 50px;
    padding-bottom: 40px;
  }

  .idx4_ttl::before {
    bottom: -15px;
    border-width: 15px 15px 0 15px;
  }
    
  .idx4_detil .cm_btn {
    width: calc(50% - 10px);
  }

  .idx4_detil .cm_btn a {
    height: 100%;
    padding: 12px 10px 12px;
    font-size: 14px;
  }

  .idx4 .ttl_style3 {
    padding-top: 48px;
    font-size: 22px;
  }

  .idx4 .box_item {
    width: 100%;
  }

  .idx4 .box_content {
    padding: 85px 20px 75px;
  }

  .idx4 .box_content .txt {
    letter-spacing: 0.1em;
  }
  .idx4_left{
    background-position: left 13% center;
  }
  .idx4_left .ttl_style3 {
    background-size: 33px auto;
  }

  .idx4_right .ttl_style3 {
    background-size: 33px auto;
  }

  .idx4_wp_banner {
    padding: 85px 0 50px;
  }

  .idx4_gr_banner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .idx4 .item_bnr {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
  }

  .idx4 .item_bnr.item1 {
    margin-bottom: 75px;
  }

  .idx4 .item_bnr.item2 .img {
    right: 5px;
  }

  .idx4 .item_bnr .img {
    width: 208px;
  }

  .idx4 .item_bnr .txt_abs {
    font-size: 16px;
    padding: 1.2vw 1.2vw 0px 1.2vw;
  }

  .idx4 .item_bnr .ttl {
    font-size: 24px;
  }

  .idx4 .item_bnr .cm_btn {
    right: 1.55vw;
    bottom: 1.5vw;
    width: 148px;
  }

  .idx4 .item_bnr .cm_btn a {
    padding: 10px;
    font-size: 14px;
  }

  .idx4 .item_bnr .cm_btn a::before {
    right: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .idx4_detil .gr_btn {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .idx4_detil .cm_btn {
    width: 100%;
    margin: 0 auto;
  }

  .idx4_detil .cm_btn:not(:last-child) {
    margin-bottom: 25px;
  }

  .idx4_wp_banner {
    padding-top: 50px;
  }

  .idx4 .item_bnr {
    width: 100%;
  }

  .idx4 .item_bnr.item1 {
    margin-bottom: 30px;
  }

  .idx4 .item_bnr.item2 .img {
    right: 5px;
  }

  .idx4 .item_bnr .img {
    width: 31vw;
  }

  .idx4 .item_bnr .box_ct {
    padding: 7vw 10vw;
  }

  .idx4 .item_bnr .txt_abs {
    width: 10vw;
    padding: 1.2vw 1.2vw 0px 1.2vw;
    font-size: 4vw;
  }

  .idx4 .item_bnr .txt_abs::before {
    width: 4px;
    right: -8px;
  }

  .idx4 .item_bnr .ttl {
    font-size: 5.5vw;
  }

  .idx4 .item_bnr .cm_btn {
    right: 1.55vw;
    bottom: 1.5vw;
    width: 27vw;
  }

  .idx4 .item_bnr .cm_btn a {
    padding: 1.2vw 1.2vw 1.2vw;
    font-size: 2.5vw;
  }

  .idx4 .item_bnr .cm_btn a::before {
    right: 1.4vw;
    width: 0.8vw;
  }
}

@media only screen and (max-width: 768px) {
  .idx5 {
    padding: 50px 0 50px;
  }

  .idx5_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .idx5_content.col3 .i5_item,
  .idx5_content.col4 .i5_item {
    width: 100%;
  }

  .idx5_content .i5_item {
    padding: 10px 30px 50px;
    min-height: 180px;
    max-width: 600px;
    margin: 0 auto 20px;
  }

  .idx5_content .ttl {
    font-size: 20px;
  }

  .idx5_content .ttl .eng {
    font-size: 12px;
  }
}

@media only screen and (max-width: 768px) {
  .idx6 {
    padding: 50px 0 20px;
  }

  .idx6_item {
    width: 48%;
    margin-bottom: 30px;
  }

  .idx6 .i6_banner {
    margin-bottom: 15px;
  }

  .idx6 .i6_banner .name_eng {
    padding-top: 2.8vw;
    font-size: 1.8vw;
  }

  .idx6 .ttl {
    margin-bottom: 10px;
    font-size: 22px;
  }
}

@media only screen and (max-width: 480px) {
  .idx6 {
    padding: 50px 0 20px;
  }

  .idx6_item {
    width: 100%;
    margin-bottom: 35px;
  }

  .idx6 .i6_banner {
    margin-bottom: 15px;
  }

  .idx6 .i6_banner .name_eng {
    padding-top: 5.8vw;
    font-size: 3.5vw;
  }

  .idx6 .ttl {
    margin-bottom: 10px;
    font-size: 22px;
  }
}

@media only screen and (max-width: 768px) {
  .idx7 {
    padding: 50px 0 35px;
    background: url(../images/idx7_bg_sp.jpg) no-repeat center/cover;
  }

  .idx7_bttl .b_ttl {
    padding: 18px 20px 0;
  }

  .idx7 .ttl_style5 {
    font-size: 26px;
  }

  .idx7 .ttl {
    padding: 5px 20px 7px;
    letter-spacing: 0.1em;
  }

  .idx7 .txt {
    letter-spacing: 0.15em;
  }

  .idx7_detil {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .idx7_detil .box_content {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
  }

  .idx7_img {
    width: 100%;
  }

  .idx7 .gr_btn {
    margin-top: 20px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .idx7 .gr_btn .cm_btn {
    margin: 10px;
  }
}

@media only screen and (max-width: 768px) {
  .idx8_bttl {
    padding: 50px 0 35px;
  }

  .idx8_detil {
    padding: 35px 0 50px;
  }

  .idx8_detil::before {
    background: rgba(15, 10, 0, 0.6);
    left: 0;
    right: 0;
    width: 100%;
  }

  .idx8_content {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .idx8 .i8_box {
    width: 100%;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }

  .idx8 .box_left {
    margin-bottom: 35px;
  }

  .idx8 .box_right {
    margin-top: 0;
  }

  .idx8_info {
    margin-bottom: 20px;
  }

  .idx8_info table th,
  .idx8_info table td {
    letter-spacing: 0.05em;
  }

  .idx8_info table th {
    width: 60px;
  }

  .idx8_info table td {
    width: calc(100% - 60px);
    padding-left: 14px;
  }

  .idx8_calendar table th,
  .idx8_calendar table td {
    padding: 8px 8px;
  }

  .idx8 .ttl_new {
    padding: 15px 25px 16px;
    font-size: 22px;
  }

  .idx8 .ttl_new .eng {
    font-size: 12px;
  }

  .idx8 .ct_blog {
    padding: 7px 25px 30px;
  }

  .idx8_blog li .date {
    width: 100px;
  }

  .idx8_blog li .ttl {
    width: calc(100% - 100px);
  }
}

@media only screen and (max-width: 425px) {
  .idx8 .box_left {
    margin-bottom: 30px;
  }

  .idx8_calendar table th,
  .idx8_calendar table td {
    padding: 8px 8px;
    font-size: 10px;
  }

  .idx8_blog li .date {
    width: 100%;
    margin-bottom: 10px;
  }

  .idx8_blog li .ttl {
    width: 100%;
  }

  .idx8 .cm_btn a {
    padding: 10px;
  }
}

@media only screen and (max-width: 768px) {
  .index_banner_contact {
    margin-top: 50px;
    padding: 50px 0;
  }

  .idx_bnr_ct {
    background: url(../images/bg_contact_left.png) no-repeat left 0 bottom 10vw/38% auto, url(../images/bg_contact_right.png) no-repeat right/cover #fff;
    padding-top: 4vw;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .idx_bnr_ct .ct_img {
    width: 100%;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    max-width: 190px;
    padding-right: 0;
    margin: 0 auto;
    text-align: center;
  }

  .idx_bnr_ct .ct_img img {
    height: 100%;
  }

  .idx_bnr_ct .bl_wd {
    width: 100%;
    padding: 3.5vw 2vw 4vw;
  }

  .idx_bnr_ct .bl_l,
  .idx_bnr_ct .bl_r {
    width: 100%;
    max-width: 100%;
  }

  .idx_bnr_ct .bl_l {
    height: auto;
    padding-bottom: 20px;
  }

  .idx_bnr_ct .bl_l h3 {
    font-size: 38px;
  }

  .idx_bnr_ct .bl_l p {
    padding-right: 0;
    font-size: 20px;
  }

  .idx_bnr_ct .bl_r {
    padding-right: 0;
  }

  .idx_bnr_ct .bl_r .txt_1 {
    margin-bottom: 15px;
    font-size: 14px;
  }

  .idx_bnr_ct .bl_r .tel {
    padding-left: 40px;
    padding-right: 0;
    background-size: 32px auto;
    background-position: top 10px left;
    font-size: 40px;
  }

  .idx_bnr_ct .bl_r .note {
    margin-top: 10px;
    margin-right: 0;
    max-width: none;
    width: auto;
    padding: 6px 30px 8px;
    font-size: 14px;
  }
}

@media only screen and (max-width: 480px) {
  .idx_bnr_ct {
    padding-top: 6vw;
  }

  .idx_bnr_ct .ct_img {
    max-width: 218px;
    height: 44vw;
  }

  .idx_bnr_ct .ct_img img {
    height: 100%;
  }

  .idx_bnr_ct .bl_wd {
    padding: 3.5vw 3vw 6vw;
  }

  .idx_bnr_ct .bl_l {
    padding-bottom: 4vw;
  }

  .idx_bnr_ct .bl_l h3 {
    font-size: 7vw;
    margin-bottom: 1vw;
  }

  .idx_bnr_ct .bl_l p {
    font-size: 3.5vw;
  }

  .idx_bnr_ct .bl_r .txt_1 {
    margin-bottom: 2vw;
    font-size: 2.8vw;
  }

  .idx_bnr_ct .bl_r .tel {
    padding-left: 9vw;
    padding-right: 0vw;
    background-size: 6.5vw auto;
    background-position: top 1.8vw left;
    font-size: 8vw;
  }

  .idx_bnr_ct .bl_r .note {
    margin-top: 4vw;
    padding: 1.5vw 4vw 1.7vw;
    font-size: 3.2vw;
  }
}

/* END Index
********************************/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/********************************
Under
********************************/
@media only screen and (max-width: 768px) {
  .under .key {
    margin-top: 60px;
  }

  .under .key .box_key {
    width: calc(100% - 40px);
    height: 280px;
    padding-right: 0;
  }

  .under .key .key_text {
    padding: 20px;
  }

  .under .key h2 {
    font-size: 24px;
  }

  .under h3 {
    margin-bottom: 25px;
    padding-bottom: 16px;
    font-size: 24px;
  }

  .under h3::before {
    width: 50px;
    height: 2px;
  }

  .under h3 .eng {
    font-size: 70%;
  }

  .under h4 {
    margin-bottom: 20px;
    font-size: 20px;
  }

  .under h5 {
    margin-bottom: 15px;
    background-position: top 7px left;
    background-size: 14px auto;
    padding-left: 25px;
    font-size: 17px;
    letter-spacing: 0.05em;
  }

  .under h6 {
    margin-bottom: 10px;
    font-size: 16px;
  }
}

@media only screen and (max-width: 768px) {
  .under {
    /*----------interview----------*/
  }

  .under section:first-child h3 {
    margin-top: 35px;
  }

  .under section {
    padding-top: 1px;
  }

  .under section h3 {
    margin-top: 60px;
  }

  .under .secH4 {
    padding-top: 40px;
  }

  .under .secH5 {
    padding-top: 30px;
  }

  .under .blog-content .imgBox.rowImg .image_l,
  .under .blog-content .imgBox.rowImg .image_r {
    margin: 0 0 20px;
  }

  .under .blog-content .imgBox .txt_l,
  .under .blog-content .imgBox .txt_r {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }

  .under .imgBox.rowImg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .under .imgBox.rowImg .image_l,
  .under .imgBox.rowImg .image_r {
    float: none;
    width: auto;
    margin: 20px 0 0;
    text-align: center;
    max-width: none;
  }

  .under .imgBox.rowImg .image_l:nth-child(n),
  .under .imgBox.rowImg .image_r:nth-child(n) {
    max-width: none;
  }

  .under .imgBox.rowImg .txt_l,
  .under .imgBox.rowImg .txt_r {
    float: none;
    width: auto;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }

  .under .imgBox.rowImg.large .image_l,
  .under .imgBox.rowImg.large .image_r {
    max-width: none;
  }

  .under .imgBox.rowImg.large .txt_l,
  .under .imgBox.rowImg.large .txt_r {
    width: auto;
  }

  .under .imgBox.colImg .item:not(:last-of-type) {
    margin-bottom: 30px;
  }

  .under .imgBox.colImg figure {
    margin-bottom: 15px;
  }

  .under .imgBox.colImg .text {
    font-size: 14px;
  }

  .under .imgBox.colImg2 .item,
  .under .imgBox.colImg3 .item {
    width: 100%;
  }

  .under .imgBox.colImg2 img,
  .under .imgBox.colImg3 img {
    max-height: 400px;
  }

  .under .acf_block .text_h3 {
    margin: 25px 0 0;
  }

  .under .acf_block .text_h4 {
    margin: 20px 0 0;
  }

  .under .acf_block .text_h5 {
    margin: 15px 0 0;
  }

  .under table.rollTable {
    width: 1000px;
  }

  .under table.resTable {
    display: block;
  }

  .under table.resTable tbody,
  .under table.resTable tr,
  .under table.resTable th,
  .under table.resTable td {
    display: block;
  }

  .under table.resTable td:not(:last-child) {
    border-bottom: 0;
  }

  .under table.resTable.tbl_style01.colHead tr th {
    border-bottom: none;
  }

  .under table.resTable.tbl_style01.colHead tr:not(:first-child) th {
    border-top: none;
  }

  .under table.resTable.tbl_style02.colHead th {
    border-bottom: none;
  }

  .under table.resTable.tbl_style02.colHead tr:not(:last-child) td {
    border-bottom: none;
  }

  .under .tbl_note {
    display: block;
  }

  .under ul.list01 li {
    font-size: 14px;
  }

  .under ul.list01.list_check li {
    padding-left: 25px;
  }

  .under ul.list01.list_check li::before {
    top: 3px;
    width: 16px;
    height: 16px;
  }

  .under ul.list01.mcol-2 li {
    width: 100%;
    padding-bottom: 9px;
  }

  .under ul.list01.mcol-2 li:nth-child(odd) {
    padding-right: 0;
  }

  .under table.sp_clinic th {
    width: 30%;
  }

  .under .box_doctor {
    padding: 25px;
  }

  .under .name_doctor {
    font-size: 18px;
  }

  .under .ud_list_yead.yead_2 dt,
  .under .ud_list_yead.yead_2 dd {
    width: 100%;
  }

  .under .ud_list_yead dt {
    margin-bottom: 5px;
  }

  .under .ud_list_yead dt,
  .under .ud_list_yead dd {
    width: 100%;
  }

  .under .ud_map iframe {
    height: 280px;
  }

  .under .questbox dl {
    margin-bottom: 25px;
    padding-top: 8px;
  }

  .under .questbox dd {
    width: calc(100% - 58px);
  }

  .under .questbox dt {
    padding-left: 57px;
    margin-bottom: 15px;
    padding-bottom: 3px;
    font-size: 17px;
  }

  .under .questbox dt:before {
    top: -5px;
    width: 40px;
    height: 40px;
    padding-bottom: 5px;
    font-size: 26px;
  }

  .under .questbox dt:after {
    width: 40px;
    height: 40px;
    font-size: 26px;
    bottom: -54px;
    padding-bottom: 0;
  }

  .under .questbox dt:before {
    top: -8px;
  }

  .under .ud_arown {
    padding-bottom: 30px;
    padding-top: 0;
  }

  .under .ud_arown::before {
    border-width: 14px 20px 0 20px;
  }

  .under .ttl_step1 .number {
    width: 30px;
    height: 30px;
    border-radius: 8px;
  }

  .under .ttl_step1 .ttl_txt {
    width: calc(100% - 45px);
  }

  .under .interview_box01 {
    padding: 0 0 50px;
  }

  .under .sec-interview {
    padding: 50px 0;
  }

  .under .sec-interview.sec-last {
    padding-bottom: 0;
  }

  .under .interview_box:not(:last-of-type) {
    margin-bottom: 40px;
  }

  .under .interview_box.sec-right .col_infor {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }

  .under .interview_box.sec-right .col_img {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .under .interview_box .col_infor {
    width: 100%;
    max-width: none;
    margin-bottom: 30px;
  }

  .under .interview_box .col_img {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding-top: 0;
  }

  .under .interview_bg {
    height: 280px;
  }

  .under .inter_ttl_bnr {
    font-size: 20px;
    letter-spacing: 0.1em;
  }

  .under .interview_bg03 {
    background-position: left 18% center;
  }
}

@media only screen and (max-width: 375px) {
  .under .imgBox.colImg .text {
    font-size: 13px;
  }

  .under .imgBox.colImg2 .item,
  .under .imgBox.colImg3 .item {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .under .clinic_tbl01 th {
    width: auto;
    text-align: left;
  }

  .under .teeth_box .secH4 {
    width: 100%;
  }
}

@media only screen and (max-width: 425px) {

  .under .access_box_img01 .block:nth-child(even) .big,
  .under .access_box_img02 .block:nth-child(even) .big {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }

  .under .access_box_img01 .block .big,
  .under .access_box_img01 .block .small,
  .under .access_box_img02 .block .big,
  .under .access_box_img02 .block .small {
    width: 100%;
  }
}

/*---------add post sp---------*/
@media screen and (max-width: 768px) {
  .img_wcap_ct {
    margin-bottom: 30px;
    width: auto !important;
  }

  .img_wcap_ct img {
    max-height: 400px;
  }

  .blog-content .entry>h4 {
    margin-top: 40px;
  }

  .blog-content .entry>h5 {
    margin-top: 30px;
  }

  .inbl {
    margin-bottom: 40px;
  }

  .box_lig01,
  .box_lig02 {
    padding: 20px;
  }

  .under_post table th {
    font-size: 15px;
  }
}

@media screen and (max-width: 640px) {

  .img_l,
  .img_r {
    float: none;
    max-width: 100%;
    margin: 0 0px 20px 0;
  }
}
/*sp*/
@media only screen and (max-width:768px) {
  footer .copyright p{padding: 0;margin: 0;}
  footer .copyright{padding: 20px 10px;margin-top: 15px;margin-bottom: 50px;}
  footer .copyright .textwidget p{word-break: break-word;font-size: 10px;}
  footer .copyright p.copy_img{max-width: 180px;}
  .flex_b{display: block;}
  footer .copyright p.copy_img{padding-right: 0;margin-right: 0;padding-bottom: 10px;margin-bottom: 10px;margin-right: auto;margin-left: auto;display: table;}
  footer .copyright p.copy_img:after{width: 90%;height: 1px;top: auto;left: 0;}
}
@media only screen and (max-width: 480px) {

}

/**/
/* END Under
********************************/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/