@charset "utf-8";

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


  ◇◆◇ トップページ ◇◆◇
  
  
========================================================================================================================*/

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

  hero
  
----------------------------------------------------------------------------------------------------*/

.hero__cc {
  max-width:1180px;
  height:100%;
  margin-left:auto;
  margin-right:auto;
  position:relative;
  text-align:left;
}

.hero__cc h2 {
  display:inline-block;
  position:absolute;
  font-weight:400;
  font-size:225%;
}

.hero__cc h2 span {
  display:inline-block;
}

.hero__cc h2 b {
  font-size:125%;
  font-weight:500;
  display:inline-block;
  margin-right:0.25rem;
}

@media print,screen and (min-width:641px) {
  #hero {
    height:650px;
    background-image:url(../image/top/hero.jpg?v=2);
    background-repeat:no-repeat;
    background-position:center top;
    background-size:cover;
  }

  .hero__cc h2 {
    line-height:2;
    left:170px;
    top:50%;
    transform:translateY(-50%);
  }

  .hero__cc h2 span {
    padding-left:1.8em;
  }
}

@media screen and (max-width:640px) {
  #hero:before {
    content:"";
    width:100%;
    height:450px;
    display:block;
    background-image:url(../image/top/hero_sp.jpg?v=2);
    background-repeat:no-repeat;
    background-position:center top;
    background-size:cover;
  }
  
  .hero__cc {
    font-size:80%;
  }
  
  .hero__cc h2 {
    line-height:1.8;
    left:2rem;
    bottom:2rem;
  }
}


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

  診療案内
  
----------------------------------------------------------------------------------------------------*/

#menu {
  background-image:url(../image/top/menu_bg.png);
  background-repeat:no-repeat;
  background-color:#eff8fb;
}

#menu h3 {
  text-shadow:#fff 2px 2px 20px, #fff -2px 2px 20px, #fff 2px -2px 20px, #fff -2px -2px 20px;
}

#menu a,
#menu a:visited,
#menu a:hover { color:inherit; text-decoration:none; }
.ua-pc #menu a:hover { color:#beaa64; text-decoration:none; }

.menu_ct {
  max-width:1220px;
  margin-left:auto;
  margin-right:auto;
}

.menu_ct dl {
  box-sizing:border-box;
}

.menu_ct dt {
  text-align:left;
  box-sizing:border-box;
  background-repeat:no-repeat;
  background-position:right top;
  background-size:cover;
  box-shadow:0 -6px 12px -6px rgba(0,0,0,0.05) inset;
}

#menu__skin dt { background-image:url(../image/top/menu_skin.jpg); }
#menu__body dt { background-image:url(../image/top/menu_body.jpg); }

.menu_ct dt span {
  display:inline-block;
  font-weight:500;
  font-size:175%;
  line-height:1;
}
.menu_ct dt span small {
  font-size:50%;
  color:#beaa64;
  font-weight:200;
}

.menu_ct dd {
  background-color:#fff;
}

.menu_ct dd ul {
  list-style:none;
  padding:0.75rem 0.5rem 1.75rem 0.5rem;
  text-align:left;
  line-height:1.4;
}

.menu_ct dd li {
  width:50%;
  float:left;
  box-sizing:border-box;
  padding:0 0.75rem;
}

.menu_ct dd li a {
  display:block;
  border-bottom:1px solid #ebebeb;
  padding-top:1rem;
  padding-left:2.25em;
  padding-right:1rem;
  padding-bottom:1rem;
}

.menu_ct dd li a:before { top:1em; left:0.7em; }

@media print,screen and (min-width:641px) {
  #menu {
    background-position:center top;
    background-size:cover;
    padding-top:80px;
    padding-bottom:80px;
  }
  
  .menu_ct { padding-top:50px; }
  
  .menu_ct dl {
    width:50%;
    float:left;
    padding-left:20px;
    padding-right:20px;
  }
  
  .menu_ct dt { padding:3.75rem 2.5rem 3.5rem 2.5rem; }
}

@media screen and (max-width:640px) {
  #menu {
    background-position:right -60px;
    background-size:1000px auto;
    padding-top:3.5rem;
    padding-bottom:2rem;
    padding-left:1rem;
    padding-right:1rem;
  }
  
  .menu_ct {
    padding-top:2rem;
  }
  
  .menu_ct dt { padding:3rem 2.5rem 2.75rem 2.5rem; }
  
  #menu__body { margin-top:2rem; }
  .menu_ct dd .responBlock { width:600px; }
}


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

  最新情報
  
----------------------------------------------------------------------------------------------------*/

/* instagram */
.insta {
	margin-bottom: 80px;
}
.insta a {
	margin: 0 auto;
}


.info_list li a,
.info_list li a:visited,
.info_list li a:hover { text-decoration:none; }

.info_list li a .title,
.info_list li a:visited .title,
.info_list li a:hover .title { color:inherit; text-decoration:none; }
.ua-pc .info_list li a:hover .title { text-decoration:none; }

.info_ct { text-align:left; }

.info_hd h3 { line-height:1; }

.info_hd small {
  font-size:50%;
  color:#beaa64;
  font-weight:200;
}
  
.info_list ul {
  list-style:none;
  text-align:left;
  padding-bottom:1.75rem;
}

.info_list li {
  box-sizing:border-box;
  border-bottom:1px solid #ebebeb;
}

.info_list li a,
.info_list li .inner {
  display:block;
  padding:1rem;
}

.info_list li:first-child a,
.info_list li:first-child .inner {
  padding-top:0;
}

.info_list li .date {
  color:#969696;
}

.info_list li .title {
  display:block;
}

.info_btn .nextBtn {
  font-size:inherit;
  line-height:inherit;
  display:inline-block;
  color:inherit;
  position:relative;
  padding-bottom:0.5rem;
  padding-left:1rem;
  padding-right:1rem;
  font-size:87.5%;
}

.info_btn .nextBtn:after {
  content:"";
  width:100%;
  height:1px;
  position:absolute;
  left:0;
  bottom:0;
  background-color:#5a5a5a;
}

.info_btn .nextBtn,
.info_btn .nextBtn:visited,
.info_btn .nextBtn:hover { color:inherit; text-decoration:none; }

@media print,screen and (min-width:641px) {
  #info {
    padding-top:80px;
    padding-bottom:80px;
  }
  
  .info_ct {
    width:100%;
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
    position:relative;
    display:table;
  }
  
  .info_hd {
    width:280px;
    display:table-cell;
    vertical-align:top;
    text-align:left;
    box-sizing:border-box;
    padding-left:2.5rem;
  }

  .info_list,
  .info_err {
    width:900px;
    display:table-cell;
    vertical-align:top;
    padding-left:60px;
    padding-top:0.5rem;
  }

  .info_list li a:after,
  .info_list li .inner:after {
    content:"";
    display:block;
    height:0;
    clear:both;
  }
  
  .info_list li .date {
    width:12rem;
    display:inline-block;
    float:left;
    clear:both;
    margin-right:-12rem;
  }
  
  .info_list li .title {
    padding-left:10rem;
  }

  .info_btn { text-align:right; }

  .ua-pc .info_btn .nextBtn:after {
    transform-origin:left top;
    transform:scale(1,1);
  }

  .ua-pc .info_btn .nextBtn:after {
    -webkit-transition:transform 0.3s;
    -moz-transition:transform 0.3s;
    -ms-transition:transform 0.3s;
    -o-transition:transform 0.3s;
    transition:transform 0.3s;
  }
  
  .ua-pc .info_btn .nextBtn:hover:after {
    transform-origin:right top;
    transform:scale(0,1);
  }
}

@media screen and (max-width:640px) {
  #info {
    padding-top:3rem;
    padding-bottom:2.75rem;
    padding-left:1rem;
    padding-right:1rem;
  }
  
  .info_hd {
    text-align:center;
    padding-bottom:1.75rem;
  }
  
  .info_btn { text-align:center; }
}
