@charset "UTF-8";

/* --------------------------------------------------------------------
	slider
-------------------------------------------------------------------- */

.top_movie {
  margin:0 auto;
  text-align: center;
  height:50vh;
  min-height: 730px;
  overflow: hidden;
}

.top_slider div {
  position: relative;
  color:#FFFFFF;
  font-family: 'Noto Serif JP', serif;
  font-weight: 200;
}
.top_slider div:first-child dl {
  position: absolute;
  top:60%;
  right:15%;
  background:rgba(42,49,93,0.6);
  width:40%;
  line-height: 1.3em;
}
.top_slider div:nth-child(2) dl {
  position: absolute;
  top:20%;
  right:10%;
  background:rgba(42,49,93,0.6);
  width:40%;
  line-height: 1.3em;
}
.top_slider div:nth-child(3) dl {
  position: absolute;
  top:56%;
  left:30%;
  background:rgba(42,49,93,0.6);
  width:40%;
  text-align: center;
  line-height: 1.3em;
}
.top_slider dl dt {
  border-bottom: 1px solid #FFFFFF;
  padding:25px 40px 25px;
  font-size:2.5rem;
  line-height: 1.2em;
}
.top_slider dl dd {
  padding:30px 40px 35px;
  font-size:2.2rem;
}
.top_slider img {
  width:100%;
  max-width: 2000px;
  object-fit: cover;
  height:50vh;
  min-height: 750px;
  margin:0 auto;
}
@media screen and (max-width:820px){
  .top_movie {
    margin:-129px auto 0;
    width:100%;
    max-width: auto;
    height:auto;
    min-height: 270px;
    box-shadow: rgba(0,0,0,0.15) inset 0px 3px 8px;
  }
  .top_slider {
    margin:-129px auto 0;
  }
  .top_slider img {
    width:100%;
    max-width: auto;
    height:auto;
    min-height: 270px;
  }
  .top_slider div:first-child dl {
    top:60%;
    right:10%;
    width:55%;
  }
  .top_slider div:nth-child(2) dl {
    top:12%;
    right:5%;
    width:60%;
  }
  .top_slider div:nth-child(3) dl {
    top:56%;
    left:25%;
    width:50%;
  }
  .top_slider div dt {
    padding:15px 15px 10px;
    font-size:1.4rem;
  }
  .top_slider div dd {
    padding:10px 15px 15px;
    font-size:1.2rem;
  }
}

/* --------------------------------------------------------------------
	top_info
-------------------------------------------------------------------- */

.top_iconlist {
  background: linear-gradient(90deg,rgba(187,190,214,1), rgba(231,232,240,1) 50%, rgba(187,190,214,1));
  padding:10px 0;
  display: flex;
  justify-content: center;
}
.top_iconlist ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.top_iconlist ul:first-child li {
  width:100px;
  border:3px solid #8389AC;
  border-radius: 100%;
  text-align: center;
  font-size:0.95rem;
  line-height: 1.2em;
  margin:0 5px 0 0;
  height:50px;
  color:#8389AC;
  padding-top:50px;
}
.top_iconlist ul li#icon_train {
  background:URL("../../images/icon_train.png") #FFFFFF no-repeat center 7px;
  background-size: 40%;
}
.top_iconlist ul li#icon_saturday {
  background:URL("../../images/icon_saturday.png") #FFFFFF no-repeat center 7px;
  background-size: 40%;
}
.top_iconlist ul li#icon_today {
  background:URL("../../images/icon_today.png") #FFFFFF no-repeat center 7px;
  background-size: 40%;
}
.top_iconlist ul li#icon_medical {
  background:URL("../../images/icon_medical.png") #FFFFFF no-repeat center 7px;
  background-size: 40%;
}
.top_iconlist ul:nth-child(2) li {
  margin:0 0 0 10px;
}
.top_iconlist ul:nth-child(2) li img {
  width:100%;
  max-width: 247px;
  border:2px solid #D7D7DA;
}
.top_iconlist ul li a:hover img {
  border:2px solid #8389AC;
}

@media screen and (max-width:820px){
  .top_iconlist {
    display:inherit;
    padding:5px 0;
    margin-top: -5px;
  }
  .top_iconlist ul:first-child li {
    width:70px;
    border:2px solid #8389AC;
    margin:0 3px 5px 0;
    height:35px;
    padding-top:35px;
    font-size:0.9rem;
  }
  .top_iconlist ul:nth-child(2) li {
    margin:0 0 0 10px;
    width:35%;
  }
}


.top_info {
  width:100%;
  max-width: 1200px;
  margin:0 auto 50px;
  display: flex;
  justify-content: space-between;
  padding:30px 0 30px;
  align-items: flex-start;
}

.top_news {
  display: flex;
  justify-content: flex-start;
  width: 53%;
}
.top_news h2 {
  background:#666666;
  color:#FFFFFF;
  padding:13% 15px 0;
  white-space: nowrap;
}
.top_news ul {
  border:1px solid #666666;
  width:100%;
  overflow-y: scroll;
  max-height: 220px;
}
.top_news ul li a {
  display: block;
  text-decoration: none;
  border-bottom: 1px dotted #666666;
  padding:17px 15px 17px 17px;
  transition: 0.3s;
}
.top_news ul li a:hover {
  background:#E7E8F0;
}
.top_news ul li:last-child a {
  border-bottom: none;
}
.top_news ul li dl { 
  display: flex;
  justify-content: flex-start;
  margin-bottom: 5px;
} 
.t op_news ul li dl dt {
  color:#8389AC;
  font-size: 0.9rem;
  margin-right: 15px;
}
.top_news ul li dl dd {
  font-weight: 500;
}

.top_clinic_time {
  width:42%;
}
.top_clinic_time table {
	width:100%;
  border-bottom:1px solid #666666;
  border-top:1px solid #666666;
}
.top_clinic_time tr {
	border-bottom:1px dotted #666666;
}
.top_clinic_time th:first-child, .top_clinic_time td:first-child {
  text-align: left;
}
.top_clinic_time th, .top_clinic_time td {
	padding:15px 15px;
	line-height:1.0em;
	text-align:center;
  vertical-align: middle;
}
.top_clinic_time td {
	font-size:1.2rem;
}
.top_clinic_time_text {
  font-size:0.9rem;
  line-height: 1.6em;
  margin:10px auto 0;
  text-align: center;
}
.top_clinic_time td span, .top_clinic_time_text span {
  color:#8085a5;
}

@media screen and (max-width:820px){
  .top_info {
    margin:0 auto 40px;
    display:inherit;
    padding:30px 0 30px;
  }
  .top_news {
    width: 96%;
    margin:0 auto 30px;
  }
  .top_news h2 {
    padding:15% 10px 0;
  }
  .top_news ul {
    max-height: 150px;
  }
  .top_news ul li a {
    padding:12px 10px 12px 12px;
  }
  .top_clinic_time {
    width: 96%;
    margin:0 auto 20px;
  }
  .top_clinic_time th, .top_clinic_time td {
    padding:10px 10px;
  }
  .top_clinic_time td {
    font-size:1.1rem;
  }
}


/* --------------------------------------------------------------------
	top_feature
-------------------------------------------------------------------- */

.top_feature {
  background:url(../images/main_back.png) center;
  background-size:contain;
  background-attachment: fixed;
  padding:70px 0 100px;
  margin:0 auto 120px;
}
.top_feature .top_feature_copy {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.05em;
}
.top_feature .top_feature_copy p:first-child {
  font-size:2.8rem;
  margin:90px auto 50px;
}
.top_feature .top_feature_copy p:last-child {
  font-size:1.5rem;
  line-height: 1.5em;
  margin:0 auto 50px;
}
.top_feature .top_feature_copy p:last-child span {
  font-family:"Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
  font-weight: 400;
  font-size:0.9rem;
}
.top_feature .top_feature_box {
  background: #FFFFFF;
  padding:50px 0 45px;
  margin:50px auto;
  box-shadow: rgba(0,0,0,0.15) 0px 3px 8px;
}
.top_feature .top_feature_box04, .top_feature .top_feature_box05 {
  background: #FFFFFF;
  padding:50px 0 50px;
  margin:50px auto 0;
  box-shadow: rgba(0,0,0,0.15) 0px 3px 8px;
}
.top_feature .top_feature_box_in {
  width:94%;
  max-width: 1200px;
  margin:0 auto;
}
.top_feature .top_feature_box p._number, .top_feature .top_feature_box04 p._number, .top_feature .top_feature_box05 p._number {
  color:#d8d6e5;
  font-size:5.2rem;
  letter-spacing: 0em;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  margin-bottom: 60px;
}
.top_feature h3 {
  font-family: 'Noto Serif JP', serif;
  font-size:1.6rem;
  border-bottom: 1px solid #666666;
}
.top_feature .top_feature_box ul {
  display: flex;
  justify-content: space-between;
}
.top_feature .top_feature_box ul li {
}
.top_feature .top_feature_box ul li._img {
  width:60%;
  margin-top:-40px;
  margin-bottom: -40px;
}
.top_feature .top_feature_box ul li._text {
  width:37%;
  line-height: 1.7em;
}
.top_feature .top_feature_box ul li h3 {
  text-align: center;
  border-bottom: 1px solid #bbbed6;
  padding-bottom: 20px;
  margin:0 auto 25px;
}

.top_feature .top_feature_box04 h3, .top_feature .top_feature_box05 h3 {
  text-align: center;
  border-bottom: 1px solid #bbbed6;
  padding-bottom: 20px;
  margin:0 auto 25px;
}
.top_feature .top_feature_box05 h4 {
  text-align: center;
  padding-bottom: 20px;
  margin:-5px auto 25px;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.2rem;
  line-height: 1.5em;
}
.top_feature .top_feature_box04 ul, .top_feature .top_feature_box05 ul {
  display: flex;
  justify-content: space-between;
}
.top_feature .top_feature_box04 ul li {
  width:31%;
}
.top_feature .top_feature_box05 ul li {
  width:48%;
}
.top_feature .top_feature_box04 ul li h4 {
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 25px;
  font-family: 'Noto Serif JP', serif;
}
.top_feature .top_feature_box04 ul li ._img, .top_feature .top_feature_box05 ul li ._img {
  text-align: center;
}
.top_feature .top_feature_box04 ul li ._img img, .top_feature .top_feature_box05 ul li ._img img {
  width: 100%;
}
.top_feature .top_feature_box04 ul li ._text, .top_feature .top_feature_box05 ul li ._text {
  margin-top: 15px;
  line-height: 1.7rem;
}
.top_feature .top_feature_box04 ul li ul {
  border:3px solid #bbbed6;
  padding:15px;
  display: inherit;
  margin:10px auto;
}
.top_feature .top_feature_box04 ul li ul li {
  width:100%;
  font-size: 0.95rem;
  line-height: 1.5em;
  margin-bottom: 10px;
}
.top_feature .top_feature_box04 ul li ul li:last-child {
  margin-bottom: 0;
}

@media screen and (max-width:820px){
  .top_feature {
    padding:50px 0 50px;
    margin:0 auto 70px;
  }
  .top_feature .top_feature_copy p:first-child {
    font-size:2.0rem;
    line-height: 1.3em;
    margin:50px auto 20px;
  }
  .top_feature .top_feature_copy p:last-child {
    font-size:1.2rem;
    line-height: 1.5em;
    margin:0 auto 40px;
  }
  .top_feature .top_feature_box {
    padding:15px 0 25px;
    margin:40px auto;
  }
  .top_feature .top_feature_box ul {
    display: inherit;
  }
  .top_feature .top_feature_box ul li._img {
    width:100%;
    margin-top:0;
    margin-bottom: 0;
  }
  .top_feature .top_feature_box ul li._img img {
    width:100%;
  }
  .top_feature .top_feature_box ul li._text {
    width:100%;
    line-height: 1.7em;
  }
  .top_feature .top_feature_box05 h4 {
    margin:-5px auto 10px;
  }
  .top_feature .top_feature_box04 ul, .top_feature .top_feature_box05 ul {
    display:inherit;
  }
  .top_feature .top_feature_box04 ul li, .top_feature .top_feature_box05 ul li {
    width:100%;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px dotted #666666;
  }
  .top_feature .top_feature_box04 ul li:last-child, .top_feature .top_feature_box05 ul li:last-child {
    padding-bottom: 0px;
    margin-bottom: 0px;
    border-bottom: none;
  }
  .top_feature .top_feature_box04 ul li h4 {
    margin-bottom: 15px;
  }
  .top_feature .top_feature_box04 ul li ._img img, .top_feature .top_feature_box05 ul li ._img img {
    width: 80%;
  }
  .top_feature .top_feature_box04 ul li ul li {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
  }
}


/* --------------------------------------------------------------------
	top_medical
-------------------------------------------------------------------- */
.top_medical {
  margin:0 auto 80px;
}
.top_medical ul {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.top_medical ul li {
  width:31.5%;
  border:1px solid #666666;
  margin:0 auto 25px;
}
.top_medical ul li#konkan {
  background:URL("../../images/top_medical_konkan.jpg") no-repeat right;
  background-size: 60%;
}
.top_medical ul li#direct {
  background:URL("../../images/top_medical_direct.jpg") no-repeat right;
  background-size: 60%;
}
.top_medical ul li#hippari {
  background:URL("../../images/top_medical_tooth_extrusion.jpg") no-repeat right;
  background-size: 60%;
}
.top_medical ul li#mushiba {
  background:URL("../../images/top_medical_mushiba.jpg") no-repeat right;
  background-size: 60%;
}
.top_medical ul li#yobou {
  background:URL("../../images/top_medical_konkan.jpg") no-repeat right;
  background-size: 60%;
}
.top_medical ul li#shisyu {
  background:URL("../../images/top_medical_shisyu.jpg") no-repeat right;
  background-size: 60%;
}
.top_medical ul li#geka {
  background:URL("../../images/top_medical_oral_surgery.jpg") no-repeat right;
  background-size: 60%;
}
.top_medical ul li#cleaning {
  background:URL("../../images/top_medical_cleaning.jpg") no-repeat right;
  background-size: 60%;
}
.top_medical ul li#whitening {
  background:URL("../../images/top_medical_whitening.jpg") no-repeat right;
  background-size: 60%;
}
.top_medical ul li a {
  text-decoration: none;
  display: block;
  padding: 25px 20px 22px;
}
.top_medical ul li a:hover {
  cursor: pointer;
}
.top_medical ul li dl dt {
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  font-size:1.6rem;
  margin-bottom: 20px;
}
.top_medical ul li dl dd.text {
  width:70%;
}
.top_medical ul li a dl dd.button {
  color:#FFFFFF;
  background:#666666;
  text-align: center;
  text-decoration: none;
  padding:12px 10px;
  margin-top: 40px;
  transition: 0.3s;
  position: relative;
}
.top_medical ul li a dl dd.button::after {
  content:'';
  position: absolute;
  top:0;
  bottom:0;
  right:27px;
  width:9px;
  height:9px;
  margin:auto;
  border-top:2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  transform: rotate(45deg);
  box-sizing:border-box;
  transition: 0.2s;
}
.top_medical ul li a:hover dl dd.button {
  color:#FFFFFF;
  background:#333333;
}
.top_medical ul li a:hover dl dd.button::after {
  content:'';
  position: absolute;
  top:0;
  bottom:0;
  right:20px;
  width:9px;
  height:9px;
  margin:auto;
  border-top:2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  transform: rotate(45deg);
  box-sizing:border-box;
}

@media screen and (max-width:820px){
  .top_medical ul li {
    width:47%;
    margin:0 auto 12px;
  }
  .top_medical ul li dl dd.text {
    font-size:0.95rem;
    width:75%;
  }
  .top_medical ul li a {
    padding: 20px 15px 17px;
  }
  .top_medical ul li a dl dd.button {
    padding:12px 5px;
    font-size:0.95rem;
    margin-top: 20px;
  }
  .top_medical ul li a dl dd.button::after {
    right:15px;
  }
  .top_medical ul li a:hover dl dd.button::after {
    right:10px;
  }
}


/* --------------------------------------------------------------------
	top_movie_list
-------------------------------------------------------------------- */
.top_movie_list ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.top_movie_list ul li {
  width:49%;
  height:310px;
  margin-right: 10px;
}
.top_movie_list ul li:nth-child(even) {
  margin-right: 0;
}
@media screen and (max-width:820px){
.top_movie_list ul li {
  width:100%;
  margin-right: 0;
  margin-bottom: 20px;
  height:230px;
}
}
