@charset "utf-8";

/*====================================================================================================

  トップ

====================================================================================================*/

/*----------------------------------------------------------------------------------------------------

  Main visual
  
----------------------------------------------------------------------------------------------------*/
@media print,screen and (min-width:641px){
    #mainSlide-wrap {
      width:100%;
      min-width: 1100px;
      height: 730px;
      box-sizing:border-box;
      position:relative;
    }
    #mainSlide-wrap > .slide_right{
      width: 50vw;
      max-width: 970px;
      height: 730px;
      position: absolute;
      left: 0px;
      z-index: 2;
      background: url("../image/slide/slideTxt_back.png") no-repeat right;
    }
    #mainSlide-wrap > .slide_right > .slideTxt{
      position: absolute;
      max-width: 400px;
      width: 100%;
      height: 100%;
      padding: 100px 0;
      right: 22%;
    }
}


@media print,screen and (min-width:901px) and (max-width:1140px){
    #mainSlide-wrap > .slide_right > .slideTxt{
      position: absolute;
      width: 400px;
      width: 100%;
      height: 100%;
      padding: 100px 0;
      right: 12%;
    }
}

@media print,screen and (min-width:641px) and (max-width:900px){
    #mainSlide-wrap > .slide_right > .slideTxt{
      position: absolute;
      width: 300px;
      width: 100%;
      height: 100%;
      top:50px;
      padding: 100px 0;
      right: 0%;
    }
    .slideTxt > .main_logo{ 
      width:300px;
    }
}

#mainSlide-wrap > .slide_right > .slideTxt > .main_logo {
  padding-bottom: 60px;    
}

#mainSlide-wrap > .slide_right > .slideTxt > .slogan > span{
  display: inline-block;
  font-weight: 400;
  padding: 9px 18px;
  box-sizing: border-box;
  white-space: nowrap;
}

#mainSlide-wrap > .slide_right > .slideTxt > .slogan > span:first-child{
  margin-bottom: 40px;
}

#mainSlide {
  width: 80vw;
  height: 100%;
  min-width: 1100px; 
  position: absolute;
  right: 0px;
  z-index: 1;
  overflow:hidden;
  list-style:none;
}

#mainSlide .slide {
  width: 100%;
  height: 730px;
  overflow:hidden;
  background-repeat: no-repeat;
  background-position: top right;
}

.slide--01{
  background-image: url("../image/slide/p01.jpg?v=3");
}
.slide--02{
  background-image: url("../image/slide/p02.jpg?v=3");
}
.slide--03{
  background-image: url("../image/slide/p03.jpg?v=3");
}

.slide--04{
  background-image: url("../image/slide/p04.jpg?v=3");
}

@media screen and (max-width:640px) {
  /* .slide--04{
    background-position: top 0 right -57px !important;
  } */
}

.slide--05{
  background-image: url("../image/slide/p05.jpg?v=3");
}


@media screen and (max-width:640px) {
    #mainSlide-wrap,
    #mainSlide .slide {
      padding-top: 0;
    }

    #mainSlide-wrap {
      width:100%;
      max-width: 640px;
      height: 250px;
      box-sizing:border-box;
      position:relative;
      overflow: hidden;
    }   
    #mainSlide {
      max-width: 100vw; 
      height: 500px;
      position: absolute;
      right: 0px;
      z-index: 1;
      overflow:hidden;
      list-style:none;
    }

    #mainSlide .slide {
      width: 100%;
      height: 250px;
      overflow:hidden;
      background-size: contain;
      background-repeat: no-repeat;
      /* background-position: 125%; */
    }

    #mainSlide-wrap > .slide_right{
      width: 100%;
      max-width: 640px;
      height: 500px;
      position: absolute;
      bottom:0%;
      left: 0%;
      z-index: 2;
      background: none;
    }  

    #mainSlide-wrap > .slide_right > .slideTxt{
      position: absolute;
      max-width: 400px;
      width: 100%;
      height: 500px;
      padding: 100px 0;
    }

    #mainSlide-wrap > .slide_right > .slideTxt > .main_logo {
      display: none;
    }

    #mainSlide-wrap > .slide_right > .slideTxt > .slogan{
      position: absolute;
      top: 300px;
      left:10px;
    }
		
    #mainSlide-wrap > .slide_right > .slideTxt > .slogan > span:first-child{
     margin-bottom: 30px;
    }
		
		@media screen and (max-width:640px) {
			#mainSlide-wrap > .slide_right > .slideTxt > .slogan{
				top: 397px;
				line-height: 1.2;
			}
			#mainSlide-wrap > .slide_right > .slideTxt > .slogan > span:first-child{
				margin-bottom: 10px;
			}
		}

}

.back-image{
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url("../image/back-image.png") no-repeat 110%;   
}

.back-image::after{
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-2;
  width:100%;
  height:100vh;
  background: -moz-linear-gradient(bottom left, #fff, #f7ffe9); 
  background: -webkit-linear-gradient(bottom left, #fff, #f7ffe9); 
  background: linear-gradient(to top right, #fff, #f7ffe9);
  opacity: 0.8;
}

/*.back-image.isActive{
  content:"";
  display:block;
  position:fixed;
  top:0px;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
background: -moz-linear-gradient(left, #fff, #ffe7d7); 
background: -webkit-linear-gradient(left, #fff, #ffe7d7); 
background: linear-gradient(to right, #fff, #ffe7d7);
}*/
/*----------------------------------------------------------------------------------------------------

  お知らせ・カレンダー
  
----------------------------------------------------------------------------------------------------*/
.web-reserve{
	text-align: center;
	padding: 3em 0 0;
}
.web-reserve a{
	display: block;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
.web-reserve a:not(:first-child){
	margin-top: 1.5em;
}

.top-about_apo {
	box-sizing: border-box;
	padding: 30px;
	padding-top: 30px;
	margin-top: 50px;
	border: 5px solid #19873b;
	text-align: left;
	background-color: #ffffff;
}

@media print,screen and (max-width:1220px) {
	.top-about_apo {
		width: calc(100% - 60px);
		margin-left: auto;
		margin-right: auto;
	}
}

.top-about_apo h2 {
	margin-top: 0 !important;
	padding-top: 0 !important;
	text-align: center !important;
	font-size: 32px;
}

.top-about_apo p {
	font-size: 22px;
}

@media print,screen and (max-width:640px) {
	.top-about_apo p {
		font-size: 24px;
	}
}

.top-about_apo p:first-of-type {
	margin-bottom: 20px;
}

.top-about_apo p:last-of-type {
	font-weight: bold;
	color: #ff6769;
}

/*----------------------------------------------------------------------------------------------------

  お知らせ・カレンダー
  
----------------------------------------------------------------------------------------------------*/
  
.info-hdline {
  font-weight:400;
  margin-left: 40px;
  z-index:1;
  margin-bottom: 16px;
}

.info-cols-back {
  background: url("../image/info_back.png") center #fff;
}

.center-btn{
	width: 100%;
	max-width: 300px;
	display: block;
	margin: 30px auto 0px;
	text-align: center;
	color: #fff!important;
	text-decoration: none;
	padding: 10px;
	font-size: 18px;
	background-color: #19873b;
	border-radius: 10px;
}

@media print,screen and (min-width:641px) {
    .info-cols {
      padding-top:90px;
      padding-bottom:60px;
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-pack:justify;
      -ms-flex-pack:justify;
      justify-content:space-between;
      /*align-items: flex-end;*/
	  align-items: flex-start;
    }
    .info-col {
      border-radius:10px;
    }
}

@media print,screen and (max-width:640px) {
    .info-cols {
      padding-top:60px;
      padding-bottom:30px;
      /*padding-bottom:60px;*/
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-pack:justify;
      -ms-flex-pack:justify;
      justify-content:space-between;
      align-items: flex-end;
      flex-wrap: wrap;
    }
    .info-col {
      border-radius:10px;
    }

    .info-hdline {
      margin-left: 20px;
    }
}


/*--------------------------------------------------------------------------------
  お知らせ
--------------------------------------------------------------------------------*/

 .info-cnt .inner ul li .caution{
    color: #ff4f4f;
  } 
 .info-cnt .inner ul li .date{
    color: #727272;
  } 
  .info-cnt .inner ul li {
    padding-bottom: 10px;
    border-bottom: 1px solid #dcdcdc;
  } 
	
	.info-cnt .inner ul li:last-of-type {
		margin-bottom: 50px;
	}
	
  .info-cnt .inner {
    background-color:#fff;
		height: 240px;
		overflow: hidden;
  }
  .info-cnt .inner ul{
    /*height: 290px;*/
	/*height: 388px;*/
	height: 240px;
    padding:20px 40px;
    box-sizing: border-box;
  }  


@media print,screen and (min-width:641px) {
    .info-cnt {
      width:-webkit-calc(50% - 30px);
      width:calc(50% - 30px);
      margin-right: 30px;
    }
    .info-cnt .inner ul li p{
      font-size: 0.88em;
    }
    .info-cnt .inner ul li .date{
      font-size:0.77em;
    }  
    .infoList {
      padding-bottom:40px;
    }
    .banner-cnt{
      min-width:600px;
		padding: 30px;
		background-color: #fff;
    }
}

@media screen and (max-width:640px) {
    .info-cnt {
      width: 100%;
      margin-bottom:30px;
    }
    .info-cnt .inner {
      font-size:1em;
    }
    .info-cnt .inner ul{
      height: 290px;
      /*height: 130px;*/
      padding:30px 0 30px 20px;
      box-sizing: border-box;
    }  
    .infoList {
      padding-bottom:2.5em;
    }
    .banner-cnt{
      padding: 20px;
		background-color: #fff;
    }
}

/*--------------------------------------------------------------------------------
  カレンダー
--------------------------------------------------------------------------------*/



/*----------------------------------------------------------------------------------------------------

 top-intro　挨拶
  
----------------------------------------------------------------------------------------------------*/
  
.t_intro-hdline {
  display: inline-block;
  font-weight:400;
  z-index:1;
  position: relative;
  white-space: nowrap;
}

.t_intro-hdline::after {
  content: "";
  display: inline-block;
  width: 97%;
  height: 2px;
  background-color: #d0d0d0;
  position: absolute;
  left: 0;
  bottom:-8px;
}

.intro-cols > .txt-cnt > .inner >  p:not(:last-child){
  margin-bottom: 20px;
}
.intro-cols > .txt-cnt > .inner >  p:last-child{
  text-align: right;
}
.intro-cols > .img-cnt {
  background: url("../image/top-intro.jpg") no-repeat center;
  background-size: contain;
}


@media print,screen and (min-width:641px) {
    .intro-cols{
      padding-top:120px;
      padding-bottom:120px;
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-pack:justify;
      -ms-flex-pack:justify;
      justify-content:space-between;
      align-items:center;
    }
    .t_intro-hdline {
      margin-left: 30px;
      margin-bottom: 40px;
      font-size:1.66em;
    }
    .t_intro-col.txt-cnt > .inner > p:not(:last-child){
      font-size: 0.88em;
    }
}

@media print,screen and (max-width:640px) {
    .intro-cols{
      padding-top:60px;
      padding-bottom:90px;
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-pack:justify;
      -ms-flex-pack:justify;
      justify-content:space-between;
      align-items:center;
      flex-wrap: wrap;
      background-color: #fff;
    }
    .t_intro-hdline {
      margin-left: 0px;
      margin-bottom: 40px;
      font-size:1.20em;
    }
    .t_intro-col.txt-cnt > .inner > p:first-child{
      font-size: 1em;    
    }
}

/*@media screen and (max-width:640px) {
  .t_intro-cnt {
    background-color:#fff;
    border-radius:10px;
    margin-top:3.5em;
  }
  
  .t_intro-cnt .inner {
    padding:0 1.6em 3em 1.6em;
    font-size:1em;
  }
}*/
/*--------------------------------------------------------------------------------
img-cnt・txt-cnt
--------------------------------------------------------------------------------*/
@media print,screen and (min-width:641px) {
  .img-cnt {
     width:524px;
     height:524px;
  }
    
  .txt-cnt {
     width:-webkit-calc(100% - 524px);
     width:calc(100% - 524px);
     margin-left: 30px;
  }
   
  .txt-cnt .inner {
     padding-left: 30px;
     box-sizing: border-box;
  }
}

@media screen and (max-width:640px) {
   .img-cnt {
     width:100%;
     height:500px;
     margin: 0 auto 30px;
  }
    
  .txt-cnt {
     width: 100%;
     margin-left: 0px;
  }
   
  .txt-cnt .inner {
     padding-left: 0px;
     box-sizing: border-box;
  }
}

@media screen and (max-width:480px) {
   .img-cnt {
     width:100%;
     height:340px;
     margin: 0 auto 30px;
  }
}

/*----------------------------------------------------------------------------------------------------

 私達のクレド
  
----------------------------------------------------------------------------------------------------*/
.b_white_grade{
background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0.4) 100%);
background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0.4) 100%);
background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0.4) 100%); 
}

.credo-col-back-r{
background-size: contain;
width: 100%;
background: url("../image/credo_back_r.png") no-repeat right;
}

.credo-col-back-l{
background-size: contain;
width: 100%;
background: url("../image/credo_back_l.png") no-repeat left;
}

.credo-col{
  padding-top:60px;
  padding-bottom:120px;
}


.credo-list {
  margin-left: 250px;
}
.credo-list li{
  list-style: none;
}
.credo-list li:nth-child(2){margin-left: 50px;}
.credo-list li:nth-child(3){margin-left: 100px;}
.credo-list li:nth-child(4){margin-left: 150px;}

.credo-list li p{
  display: inline-block;
  border-bottom: 2px solid #dbdbdb;
}

.credo-list li p span{
  font-family:"Noto Serif Japanese";
  font-weight:300;
}

@media print,screen and (min-width:641px) {
 .credo-list li p span{
  margin-right: 20px;
}   
}

@media print,screen and (min-width:641px) {
 .credo-list li p span{
  margin-right: 20px;
}   
}

@media print,screen and (max-width:640px) {
.t_credo-hdline {
  font-weight:400;
  text-align: center;
}
    
.credo-list {
  margin-left: 0px;
}
.credo-col-back-r{
  background-size: contain;
  width: 100%;
  background: none;
}
.credo-list li{
  vertical-align: middle;
}
.credo-list li:nth-child(2){margin-left: 0px;}
.credo-list li:nth-child(3){margin-left: 0px;}
.credo-list li:nth-child(4){margin-left: 0px;}
    
.credo-list li p{
  display: block;
  font-size:1.22em;
  border-bottom: 2px solid #dbdbdb;
}    
    
.credo-list li:not(:last-child){
  margin-bottom: 30px;
}    
    
.credo-list li p span{
  margin-right: 15px;
  display: block;
  text-align: center;
}
}
/*----------------------------------------------------------------------------------------------------

 院長略歴
  
----------------------------------------------------------------------------------------------------*/

.t_profile-hdline {
  font-weight:400;
  margin-left: 30px;
  margin-bottom: 30px;
}

.profile-cols > .img-cnt {
  background: url("../image/doctor.jpg") no-repeat center;
  background-size: contain;
}

.profile-list{
  list-style: none;
}

.profile-list li span{
  display: block;
  width: 100px;
  white-space: nowrap;
}

.t_profile-col > .inner > a{
  float: right;
}

.profile-list li{
  display: flex;
} 

@media print,screen and (min-width:641px) {
    .profile-cols {
      padding-top:120px;
      padding-bottom:150px;
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-pack:justify;
      -ms-flex-pack:justify;
      justify-content:space-between;
      align-items:center;
    }
    .profile-list{
      margin-bottom: 1.1em;
    } 
    
    .profile-list li{
      font-size: 0.88em;
    } 

    .t-profile-belongs{
      display: flex;
      margin-bottom: 30px; 
    }
    .t-profile-belongs dl:first-of-type{
      margin-right: 40px;
    }
    
    .t-profile-belongs dd{
      font-size: 0.88em;
    }
}

@media print,screen and (max-width:640px) {
    .profile-cols{
      padding-top:60px;
      padding-bottom:120px;
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-pack:justify;
      -ms-flex-pack:justify;
      justify-content:space-between;
      align-items:center;
      flex-wrap: wrap;
    }
    .profile-list li{
      font-size: 1em;
    } 
    
    .t_profile-hdline {
      margin-left: 0px;
      margin-bottom: 20px;
    }
    .profile-list{
      margin-bottom: 30px;
    }
    .t-profile-belongs dl{
      margin-bottom: 30px;
    }
    .t-profile-belongs dd{
      font-size: 1em;
    }
}

/*----------------------------------------------------------------------------------------------------

 コンテンツバナー
  
----------------------------------------------------------------------------------------------------*/
.contents-b__list{
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3,1fr);
}

.contents-b__list li{
    height: 230px;
    border: 1px solid #fff;
    box-sizing: border-box;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    background-color: #fff;
}

.contents-b__list li:nth-child(1){background-image:url("../image/clinic.png");}
.contents-b__list li:nth-child(3){background-image:url("../image/doctor_staff.png");}
.contents-b__list li:nth-child(4){background-image:url("../image/maintenance.png");}
.contents-b__list li:nth-child(5){background-image:url("../image/treatment.png");}
.contents-b__list li:nth-child(6){background-image:url("../image/blog.png");}
/*.contents-b__list li:nth-child(6){background-image:url("../image/price.png");}*/

.contents-b__list li a{
    position: relative;
}


.contents-b__list li a span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}


@media print,screen and (max-width:640px) {
    .contents-b__list{
    width: 100%;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(1,1fr);
}
    .contents-b__list li{
    height: 270px;
}
    
    .contents-b__list li:not(:last-child){
    margin-bottom: 10px;
}
    
    .contents-b__list li:nth-child(2){
    display: none;
}

}

@media print,screen and (max-width:480px) {
    .contents-b__list li{
    height: 200px;
}
    
    .contents-b__list li:nth-child(2){
    display: none;
}

}
/*----------------------------------------------------------------------------------------------------

  医院情報
  
----------------------------------------------------------------------------------------------------*/

.cli-info-hdline {
  font-weight:400;
  margin-bottom: 38px;
}

.cli-info-list{
  list-style: none;
}

.cli-info-list li span{
  display: block;
  width:90px;
}

.cli-info-list li{
  display: flex;
} 

@media print,screen and (min-width:641px) {
    .cli-info-cols {
      padding-top:120px;
      padding-bottom:90px;
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-pack:justify;
      -ms-flex-pack:justify;
      justify-content:space-between;
      align-items:flex-end;
    }
    .cli-info-cols > .tbl-img-cnt {
      background:url("../image/slide/p01.jpg") top right;
      background-repeat:no-repeat;
      background-size: contain;
    }
    .tbl-img-cnt {
      /* width:550px; */
      width:-webkit-calc(100% - 500px);
      width:calc(100% - 500px);
      height:500px;
    }
    .tbl-cnt {
      /* width:-webkit-calc(100% - 1000px);
      width:calc(100% - 550px); */
      width: 440px;
      margin-right: 60px;
    }
}

@media print,screen and (max-width:640px) {
    .cli-info-cols {
      /*padding-top:120px;*/
        padding-top: 30px;
      padding-bottom:90px;
      display:block;
    }
    .cli-info-cols > .tbl-img-cnt {
      background:url("../image/slide/p01.jpg") center;
      background-repeat:no-repeat;
      background-size: contain;
    }
    .tbl-img-cnt {
      width:100%;
        /* height:200px; */
        padding-top: 67%;
    }
    .cli-info-cols > .tbl-img-cnt {
      background-size: contain;
    }
    
    .cli-info-list{
      margin-bottom: 30px;
    }
    .tbl-cnt {
      width:100%;
    }
}

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

    .cli-info-cols > .tbl-img-cnt {
      background:url("../image/slide/p01.jpg") center;
      background-repeat:no-repeat;
      background-size: contain;
    }
    .tbl-img-cnt {
      width:100%;
      height:150px;
    }
}

/*----------------------------------------------------------------------------------------------------

 イラストマップ・診療カレンダー
  
----------------------------------------------------------------------------------------------------*/
.map-cal-col{
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

@media print,screen and (min-width:641px) {
    .map-cal-cols {
      padding-bottom:90px;
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-pack:justify;
      -ms-flex-pack:justify;
      justify-content:space-between;
      align-items:flex-end;
    }
    .map-cal-col{
      height: 466px;
    }
    
    .map-cnt{
      max-width: 567px;
      margin-right: 30px;
    }
    .cal-cnt{
      width: 554px;
      height: 466px;
    }
}

@media print,screen and (max-width:640px) {
    .map-cal-cols {
      padding-bottom:90px;
      display:block;
      background-color: #fff;
    }
    .map-cal-col{
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
    }
     .map-cal-col{
      height: 466px;
    }
    
    .map-cnt{
      width: 100%;
      margin-bottom: 30px;
    }

    .cal-cnt{
      width: 100%;
    }
}

@media print,screen and (max-width:480px) {
    .map-cal-col{
      height: 282px;
    }
}

/*----------------------------------------------------------------------------------------------------
グーグルマップ
  
----------------------------------------------------------------------------------------------------*/
.g-map-col{
  padding-bottom: 0px;
}

/*----------------------------------------------------------------------------------------------------

  Blog
  
----------------------------------------------------------------------------------------------------*/

.sec-blog {
  background: url("../image/blog_back.png") no-repeat left;
}

.blog-hdline{
  text-align: center;
}

.blog-cont {
  position:relative;
}

.blog-link {
  position:absolute;
  right:0;
  top:0.35em;
  /*bottom:0;*/
}

.blog-hdline .ff-min {
  display:inline-block;
  margin-left:1em;
  vertical-align:baseline;
}

.blog {
  list-style:none;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

.blog a,
.blog a:visited,
.blog a:hover { color:inherit; text-decoration:none; }
.ua-pc .blog a:hover .ttl { text-decoration:underline; }

.blog li a {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
}

.blog li .photo {
  margin-bottom:1em;
}

.blog li .cate {
  color:#999;
  font-size:0.88em;
  display:inline-block;
  margin-top:0.25em;
}


@media print,screen and (min-width:641px) {
  .sec-blog {
    /*padding-top:96px;
    padding-bottom:112px;
    margin-bottom:120px;*/
    padding-top:120px;
    padding-bottom:120px;
  }
    
  .blog {
    margin-left:-12px;
    margin-right:-12px;
  }

  .blog li {
    width:25%;
    padding:0 12px;
    margin-top:56px;
  }
  
  .blog li .photo {
    height:280px;
  }
}

@media print,screen and (min-width:641px) and (max-width:1380px) {
  .blog li .photo {
    height:-webkit-calc(280 / 1380 * 100vw);
    height:calc(280 / 1380 * 100vw);
    min-height:210px;
  }
}

@media screen and (max-width:640px) {
  .sec-blog {
    padding-top:3.5em;
    padding-bottom:3.5em;
    /*margin-bottom:-webkit-calc(260 / 640 * 100vw);
    margin-bottom:calc(260 / 640 * 100vw);*/
  }
  
  .blog {
    margin-left:-2%;
    margin-right:-2%;
  }
  
  .blog li {
    width:50%;
    padding:0 2%;
    margin-top:2.5em;
  }
  
  .blog li .photo {
    height:-webkit-calc(250 / 640 * 100vw);
    height:calc(250 / 640 * 100vw);
    min-height:125px;
  }
}

/*----------------------------------------------------------------------------------------------------

foot-gallery-col
  
----------------------------------------------------------------------------------------------------*/

#foot-gallery-col {
  width: 100%;
  padding-top: 70px;
  padding-bottom:70px;
  background-color: #edffcb;
}

#footSlide li{
  margin: 0 15px;
} 

@media print,screen and (max-width:640px) {
#foot-gallery-col {
  width: 100%;
  padding-top: 40px;
  padding-bottom:40px;
  background-color: #edffcb;
}

#footSlide li{
  margin: 0 5px;
} 
}

/*----------------------------------------------------------------------------------------------------

開院のお知らせ
  
----------------------------------------------------------------------------------------------------*/
.open-info{
	text-align: center;
    box-sizing: border-box;
    margin-top: 15px;
    padding: 15px 0;
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
  /*   background-color: #91c035; 
    box-shadow: 0px 0px 0px 15px #91c035;
    border-top: solid 2px #fff;
    border-bottom: solid 2px #fff; */
}

.open-info h2{
  margin-top: 60px;
  margin-bottom:20px;
}

/*----------------------------------------------------------------------------------------------------

ライン
  
----------------------------------------------------------------------------------------------------*/
.join-us-list{
  padding-left: 1em;
  text-indent: -1em;
}

.line-box dt{
  font-weight: 400;
}

.line-box:first-of-type{
  margin-bottom: 30px;
}

@media print,screen and (min-width:641px) {
  .line-box{
    display:flex;
    align-items: center;
    justify-content: space-between;
  }

  .line-box dl{
    max-width: 320px;
    margin-right: 10px;
  }
}

@media print,screen and (max-width:640px) {
  .line-box{
    text-align: center;
  }
	
  .line-box dt{
    margin-bottom: 10px;
  }
	
	.join-us-about dd:last-of-type{
    margin-bottom: 10px;
  }
	
	.join-us-list dd:last-of-type{
    margin-bottom: 20px;
  }
	
  .join-us-list dd{
    text-align: left;
  }
}

/*----------------------------------------------------------------------------------------------------

 ダイレクトボンディング
  
----------------------------------------------------------------------------------------------------*/

.t_direct-b-hdline {
  font-weight:400;
  margin-left: 30px;
  margin-bottom: 30px;
}

.direct-b-cols > .img-cnt {
  background: url("../image/direct-b.jpg?v=2") no-repeat center;
  background-size: contain;
}

.t_direct-b > .inner > a {
    float: right;
}



@media print,screen and (min-width:641px) {
    .direct-b-cols {
      padding-top:90px;
      padding-bottom:60px;
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-pack:justify;
      -ms-flex-pack:justify;
      justify-content:space-between;
      align-items:center;
    }
	
	.direct-b-cols p{
      font-size: 1em;
      margin-bottom: 30px;
    } 

}

.direct-b-cols .img-cnt {
    height: 340px!important;
}

@media print,screen and (max-width:640px) {
    .direct-b-cols{
      padding-top:60px;
      padding-bottom:60px;
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
      -webkit-box-pack:justify;
      -ms-flex-pack:justify;
      justify-content:space-between;
      align-items:center;
      flex-wrap: wrap;
    }
    .direct-b-cols p{
      font-size: 1em;
      margin-bottom: 20px;
    } 
    
    .t_direct-b-hdline {
      margin-left: 0px;
      margin-bottom: 20px;
    }
}
@media print,screen and (min-width:641px) {
.preventive-age{
  padding-top: 90px;
}
}

@media print,screen and (max-width:640px) {
.preventive-age{
  padding-top: 60px;
}
}


.preventive-age h3{
  text-align: center;
  background-color: #32a5d7;
  padding: 0.5em 0;
  border-radius: 20px;
  margin-bottom: 30px;
}

.preventive-age h3 + p{
  margin-bottom: 60px;
}

.gbt h3{
  margin-bottom: 30px;
}

.gbt p{
  margin-bottom: 30px;
}


div.movie-box {
  width: 100%;/*背景色を横幅いっぱいに広げる*/
  text-align: center;
  padding: 4% 4% 4% 4%;/*ここで動画の周りの余白を調整*/
  background: #e6e6e6;/*余白の背景色*/
  }
  video.vid_main {
  width: 100%;
  max-width: 900px;/*PC版での最大幅*/
  }

  .photo-box,.movie-box{
    max-width: 900px;
    margin: auto;

  }

  .photo-box{
    display: grid;
    gap: 30px;
  }

@media screen and (min-width:641px) {
  .movie-box{
    margin: 40px auto 80px;
  }
  .photo-box{
    grid-template-columns: repeat(2,1fr);
  }
}

@media screen and (max-width:640px) {
  .movie-box{
    margin: 40px auto 40px;
  }
  .photo-box{
    grid-template-columns: repeat(1,1fr);
  }
}

