@charset "utf-8";

/*common
----------------------------------------------------*/
/* 設定 */
* {
	font-family: "ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, "游明朝", "YuMincho", serif;
	font-weight: 400;
	margin: 0;
	padding: 0;
	color: #000;
	letter-spacing: 0.08rem;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: 'palt';
}
.yu-g {	font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.mei { font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.arl { font-family: Arial, Helvetica, "sans-serif";}

.cen-g { font-family: Century Gothic, "sans-serif";}
	
html{
	font-size: 62.5%;
	margin: 0;
	padding: 0;
}

body {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1;
  overflow-x: hidden !important;
}

img {
	border: 0;
	vertical-align:bottom;
}

a { text-decoration: none;}

ul, li { list-style: none;}


/* float */
.fLeft { float: left !important;}
.fRight { float: right !important;}


/* clearfix */
.cf:after {
    content: "";
    display: block;
    clear: both;
}


/* align */
.cen   { text-align: center !important; }
.left  { text-align: left !important; }
.right { text-align: right !important; }


/* text-indent */
.indent {
	text-indent: 100%;
	overflow: hidden;
	white-space: nowrap;
	}


/* font-size */


/* margin,padding */

/* -------------------------------------------------
layout
----------------------------------------------------*/
.wrap-inner {
  width: 96%;
  max-width: 1600px;
  margin: auto;
  text-align: center;
}

.sp { display: none;}

.w600,
.w960 { display: none;}

.fadein {
  opacity : 0;
  -webkit-transform : translate(0, 50px);
  -moz-transform : translate(0, 50px);
  transform : translate(0, 50px);
  transition : all 500ms;
}

.fadein.scrollin {
  opacity : 1;
  -webkit-transform : translate(0, 0);
  -moz-transform : translate(0, 0);
  transform : translate(0, 0);  
}

/* ===== header ===== */
body.vegas-container > .vegas-overlay,
body.vegas-container > .vegas-slide,
body.vegas-container > .vegas-timer { position: absolute !important;}

body:not(.front) .vegas-overlay,
body:not(.front) .vegas-slide,
body:not(.front) .vegas-timer { display: none !important;}

.vegas-slide { height: 718px !important;}

header.top {
  position: relative;
/*  background: url("../images/mv_img.jpg") no-repeat center center;
  background-size: cover;*/
  width: 100%;
  height: 718px;
}
.h-conts-wrap {
	background: #ffffff;
	padding-bottom: 2px;
}
.h-conts {
  position: relative;
  width: 96%;
  max-width: 1100px;
  /* padding-top: 20px; */
  margin: 0 auto 20px;
}

.h-conts .utility-area {
  position: absolute;
  top: 37px;
  right: 0;
  display: flex;
  flex-wrap: wrap;
}

.u-tel-area { margin-right: 15px;}

.u-tel-area > p:nth-of-type(1) {
  font-size: 1.5rem;
}

.u-tel-area > p:nth-of-type(2) {
  background: url("../images/h_icon_tel.png") no-repeat left center;
  font-size: 3.4rem;
  font-weight: bold;
  letter-spacing: 0;
  padding: 2px 0 1px 26px;
}
.h-conts h1 {
    width: 340px;
}
.h-conts .u-area {
	position: absolute;
    width: 540px;
    top: 10px;
    right: 0;
}
.u-left-area {
	float: left;
    width: 50%;
}
.u-right-area {
	float: right;
    width: 50%;
}
.other-area p {
  display: inline-block;
  font-size: 1.1rem;
  letter-spacing: -0.04em;
  margin-right: 3px;
}

.other-area p:nth-last-of-type(1) { margin-right: 0;}

.btn-reserve a {
  display: inline-block;
  background-color: #595757;
  border-radius: 5px;
  padding: 14px 6px 13px;
}

.h-conts a { transition: all .3s ease-in-out;}
.h-conts a:hover { opacity: 0.7;}



/* ===== main visual ===== */
.mv-txt {
  position: absolute;
  bottom: 2%;
  right: 2%;
  /* transform: translate(-50%, -20%); */
  text-align: center;
}

.mv-txt p { 
  letter-spacing: 0.1em;
	text-shadow: 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 30px #fff, 0px 0px 30px #fff, 0px 0px 30px #fff, 0px 0px 50px #fff, 0px 0px 50px #fff, 0px 0px 50px #fff, 0px 0px 50px #fff;
}

.mv-txt p:nth-of-type(1) {
  font-size: 3.9rem;
  line-height: 1.3;
  margin-bottom: 63px;
}

.mv-txt p:nth-of-type(1) span.assist { font-size: 5.2rem;}

.mv-txt p:nth-of-type(2) {
  text-shadow: none;
  margin-bottom: 60px;
}

.mv-txt p:nth-of-type(2) a {
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 52px;
  padding: 0 20px 0 50px;
  transition: all .3s ease-in-out;
}

.mv-txt p:nth-of-type(2) a:hover { background-color: rgba(0, 0, 0, 1.0);}

.mv-txt p:nth-of-type(2) a:after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-left: 20px;
}

.mv-txt p:nth-of-type(3) { font-size: 2.8rem;}



/* ===== global nav ===== */
#g-nav {
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
}

#g-nav ul {
  display: flex;
  justify-content: space-between;
  width: 96%;
  max-width: 1100px;
  padding: 20px 0;
  margin: auto;
}

#g-nav ul li a,
#g-nav ul li a span {
  color: #fff;
  text-align: center;
  font-weight: 600;
  transition: all .3s ease-in-out;
}

#g-nav ul li a { font-size: 1.6rem;}

#g-nav ul li a:hover,
#g-nav ul li a:hover span { color: #999;}

#g-nav ul li a span {
  display: block;
  font-size: 1.0rem;
  letter-spacing: 0.06em;
  margin-top: 3px;
}


/* ===== footer ===== */
footer {
  background-color: #f3f1f1;
  padding-top: 58px;
}

.foot-l,
.foot-r {
  display: inline-block;
  vertical-align: top;
  width: 50%;
  margin-bottom: 55px;
}

.foot-l { max-width: 500px;}
.foot-r { max-width: 520px;}

.foot-l { margin-right: 74px;}

.foot-l > p {
  font-size: 1.4rem;
  line-height: 1.3;
}
.foot-l > p:nth-last-of-type(1) { letter-spacing: -0.01em;}

.foot-l .time-tbl  {
	background-color: #a5a5a5;
	width: 100%;
  max-width: 500px;
	border-radius: 4px;
	padding: 5px 20px;
  margin-bottom: 10px;
}

.time-tbl  table {
	width: 100%;
	margin-bottom: 10px;
}

.time-tbl  tr { border-bottom: 1px solid #fff;}

.time-tbl  th,
.time-tbl  td {
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
	padding: 16px 0;
}

.time-tbl  th { width: 170px;}

.time-tbl p {
  color: #fff;
  line-height: 1.3;
}

.foot-r .reserved {
  border: 3px solid #d2d2d2;
  padding: 13px 10px;
}

.foot-r .reserved > div {
  display: inline-block;
  vertical-align: middle;
}

.foot-r .utility-area {
  position: absolute;
  top: 37px;
  right: 0;
  display: flex;
  flex-wrap: wrap;
}

.res-l > p:nth-of-type(1) { font-size: 1.5rem;}

.res-l > p:nth-of-type(2) {
  background: url("../images/h_icon_tel.png") no-repeat left center;
  font-size: 3.4rem;
  font-weight: bold;
  letter-spacing: 0;
  padding: 2px 0 1px 26px;
}
.mac .res-l > p:nth-of-type(2) {
  font-size: 2.89rem;
  letter-spacing: -0.02em;
}

.other-area p {
  display: inline-block;
  font-size: 1.1rem;
  letter-spacing: -0.04em;
  margin-right: 3px;
}

.other-area p:nth-last-of-type(1) { margin-right: 0;}

.foot-r .reserved { margin-bottom: 15px;}

.btn-reserve a {
  display: inline-block;
  background-color: #595757;
  border-radius: 5px;
  padding: 14px 6px 13px;
  transition: all .3s ease-in-out;
}

.btn-reserve a:hover { opacity: 0.7;}

.btn-consul {
  background: url("../images/f_btn_bg.jpg") repeat-x left center;
  border-radius: 6px;
  overflow: hidden;
}

.btn-consul a {
  display: inline-block;
  background: url("../images/f_icon.png") no-repeat left 30px center, url("../images/f_btn_arrow.png") no-repeat right 25px center;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  padding: 30px 60px 30px 86px;
  transition: all .3s ease-in-out;
}

.btn-consul a:hover {	text-shadow: 0px 0px 10px #fff;}

.f-logo {
  background: #fff url("../images/f_border_img.jpg") repeat-x left bottom;
  text-align: center;
  padding: 40px 0;
}

/*footer nav*/
.f-nav-wrap {
  background-color: #000;
  width: 100%;
  padding: 45px 0 60px;
}

.f-nav-wrap * {
  color: #fff;
  font-size: 1.4rem;
  transition: all .3s ease-in-out;
}

.f-nav,
.f-nav:nth-of-type(2) ul,
ul.parent {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.f-nav:nth-of-type(1) { margin-bottom: 140px;}

ul.parent > li { position: relative;}

.f-nav:nth-of-type(1) p,
.f-nav li { margin-right: 40px;}
.f-nav ul.child li {
  margin-right: 0;
  margin-bottom: 1em;
}

.f-nav:nth-of-type(1) p:before,
.f-nav:nth-of-type(2) li:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  vertical-align: 1px;
  margin-right: 12px;
}

.f-nav:nth-of-type(1) li {
  background: url("../images/f-nav-arrow.png") no-repeat left center;
  padding-left: 15px;
}

ul.parent li:nth-of-type(1) ul.child {
  position: absolute;
  top: 2em;
  left: 1em;
  word-break: keep-all;
}

.f-nav a:hover { opacity: 0.7;}

ul.parent li a { 	font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}


/*pageTop*/
.page-top {
  position: fixed;
  right: 5%;
  bottom: 60px;
  z-index: 99999;
}

/* ====================================
index.html
====================================== */

#top-wrap h2.main-txt {
  font-size: 3.6rem;
  text-align: center;
  padding-top: 60px;
  margin-bottom: 65px;
}

#top-wrap h2.main-txt .assist {
  display: inline-block;
  font-size: 6.2rem;
  vertical-align: -3px;
}

#top-wrap {
  background: url("../images/top_conts_body_bg.jpg") no-repeat center top;
  padding-bottom: 94px;
}

/*選ばれる10の理由*/
.rsn-items { margin-bottom: 120px;}

.rsn-items .lines {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.rsn-items .rsn-box-r { order: 2;}
.rsn-items .rsn-box-l { order: 1;}
.rsn-items .line01 { margin-bottom: 80px;}
.rsn-items .line02 { margin-bottom: 32px;}
.rsn-items .line03 { margin-bottom: 60px;}
.rsn-items .line04 {
  text-align: right;
  margin-bottom: 65px;
}
.rsn-items .line05 { margin-bottom: 68px;}

.rsn-box { position: relative;}

.rb03 { margin-top: 56px;}
.rb05 {
  margin-top: 100px;
  margin-left: 120px;
}
.rb07 { margin-top: 60px;}
.rb08 { margin-top: 104px;}

.rsn-box .box-txt {
  position: absolute;
}

.rb01 .box-txt *,
.rb02 .box-txt *,
.rb03 .box-txt *,
.rb04 .box-txt *,
.rb05 .box-txt *,
.rb06 .box-txt *,
.rb07 .box-txt *,
.rb08 .box-txt *,
.rb09 .box-txt *,
.rb10 .box-txt * {
  color: #fff;
  text-shadow: 1px 1px 0 #1E1E1E,
               -1px 1px 0 #1E1E1E,
               1px -1px 0 #1E1E1E,
               -1px -1px 0 #1E1E1E;
}

.rb01 .box-txt {
  bottom: 53px;
  left: 20px;
}

.rb02 .box-txt {
  bottom: 96px;
  left: 20px;
}

.rb03 .box-txt {
  bottom: 18px;
  left: 20px;
}

.rb04 .box-txt {
  bottom: 64px;
  left: 50px;
}

.rb05 .box-txt {
  bottom: 25px;
  left: 10px;
}

.rb06 .box-txt {
  top: 183px;
  right: 30px;
  text-align: left;
}

.rb07 .box-txt {
  top: 20px;
  left: 34px;
}

.rb08 .box-txt {
  bottom: 30px;
  left: 20px;
}

.rb09 .box-txt {
  bottom: 130px;
  left: 15px;
}

.rb10 .box-txt {
  bottom: 56px;
  left: 15px;
}


.rsn-box .box-txt p:nth-of-type(1) { margin-bottom: 5px;}
.rb01 .box-txt p:nth-of-type(1) { margin-bottom: 20px;}

.rsn-box .box-txt p:nth-of-type(1) { font-size: 4.3rem;}
.rb01 .box-txt p:nth-of-type(1) { font-size: 6.0rem;}
.rb05 .box-txt p:nth-of-type(1) { font-size: 3.5rem;}
.rb06 .box-txt p:nth-of-type(1) { font-size: 4.7rem;}
.line05 .rsn-box .box-txt p:nth-of-type(1) { font-size: 3.7rem;}
.rb10 .box-txt p:nth-of-type(1) { font-size: 4.7rem;}

.rsn-box .box-txt p:nth-of-type(1) span {
  display: inline-block;
  font-size: 6.2rem;
  font-style: italic;
  vertical-align: -5px;
}
.rb01 .box-txt p:nth-of-type(1) span { font-size: 7.5rem;}
.rb05 .box-txt p:nth-of-type(1) span { font-size: 5.0rem;}
.rb06 .box-txt p:nth-of-type(1) span { font-size: 6.8rem;}
.rb10 .box-txt p:nth-of-type(1) span { font-size: 6.8rem;}

.rsn-box .box-txt p:nth-of-type(2) {
  font-size: 2.8rem;
  letter-spacing: 0.08em;
  line-height: 1.2;
}
.mac .rsn-box .box-txt p:nth-of-type(2) { font-size: 2.7rem;}
.rb01 .box-txt p:nth-of-type(2) { font-size: 3.5rem;}
.rb05 .box-txt p:nth-of-type(2) { font-size: 2.4rem;}
.mac .rb05 .box-txt p:nth-of-type(2) { font-size: 2.2rem;}
.rb06 .box-txt p:nth-of-type(2) { font-size: 3.2rem;}
.line05 .rsn-box .box-txt p:nth-of-type(2) { font-size: 2.6rem;}
.rb10 .box-txt p:nth-of-type(2) { font-size: 3.2rem;}



/*診療科目*/
.consul-link {
	margin-top: 80px;
}

.consul-link h3,
.consul-link h3 span { text-align: center;}

.consul-link h3 {
  font-size: 3.6rem;
  font-weight: 600;
  margin-bottom: 35px;
}

.consul-link h3 span {
  display: block;
  font-size: 1.4rem;
  margin-top: 10px;
}

.consul-link .link-path {
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  justify-content: space-around;
}

a.link-bnr {
  position: relative;
  display: block;
  width: 100%;
  max-width: 330px;
  border: 6px solid #fff;
}
a.link-bnr {
  overflow: hidden;
  margin-bottom: 60px;
}

a.link-bnr:nth-of-type(3) ~ a.link-bnr { margin-bottom: 0;}

a.link-bnr img {
  width: 100%;
  height: auto;
  transform: scale(1);
  transition: all .5s ease-in-out;
}

a.link-bnr:hover img { transform: scale(1.1);}

a.link-bnr p {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  background-image: url("../images/c_nav_arrow.png");
  background-color: rgba(255, 255, 255, 0.7);
  background-repeat: no-repeat;
  background-position: right 17px center;
  width: 100%;
  font-size: 2.6rem;
  line-height: 54px;
  padding-left: 10px;
}

.bnr-box {
  position: relative;
  background: url("../images/top_conts_img11.jpg") no-repeat center center;
  width: 100%;
  height: 300px;
  max-height: 300px;
  margin: 80px auto 20px;
}

.bnr-box .txt-area {
  position: absolute;
  top: calc(50% - 39px);
  left: 41.5%;
}

.bnr-box .txt-area p { text-shadow: 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 30px #fff, 0px 0px 30px #fff, 0px 0px 30px #fff, 0px 0px 50px #fff, 0px 0px 50px #fff, 0px 0px 50px #fff, 0px 0px 50px #fff;}

.bnr-box .txt-area p:nth-of-type(1) {
  font-size: 3.2rem;
  line-height: 1.13;
  margin-bottom: 25px;
}

.bnr-box .txt-area p:nth-of-type(2) {
  font-size: 3.6rem;
  text-align: right;
}


/*コンセプト*/
.top-concept {
  background: url("../images/top_odc_conts_bg.jpg") no-repeat center top;
  text-align: center;
  padding-top: 80px;
  padding-bottom: 74px;
  margin-bottom: 60px;
}

.top-concept .head {
  border-bottom: 1px solid #ccc;
  padding-bottom: 26px;
  margin-bottom: 25px;
}

.top-concept .conts-logo { margin-bottom: 25px;}

.top-concept .main-txt { font-size: 2.8rem;}

.top-concept .txt-area { margin-bottom: 77px;}

.top-concept .txt-area p {
  font-size: 17px;
  line-height: 1.4;
  margin-bottom: 24px;
}

.con-box-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 70px;
}

.con-box-wrap .con-box { width: calc(100% / 3);}

.con-box .icon {
  background-color: rgba(62, 62, 62, 0.42);
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  width: 138px;
  height: 138px;
  color: #fff;
  font-size: 2.7rem;
  text-align: center;
  line-height: 138px;
  letter-spacing: 0.1em;
  margin: 0 auto 17px;
}

.con-box .icon.con01 { background-image: url("../images/top_conts_icon01.png");}
.con-box .icon.con02 { background-image: url("../images/top_conts_icon02.png");}
.con-box .icon.con03 { background-image: url("../images/top_conts_icon03.png");}

.con-box p:nth-last-of-type(1) {
  font-size: 1.8rem;
  line-height: 1.3;
}

.top-dr .btn-concept,
.top-concept .btn-concept {
  text-align: center;
}
.top-dr .btn-concept {
  margin: 30px auto;
}
.top-dr .btn-concept a,
.top-concept .btn-concept a {
  display: inline-block;
  background: url("../images/arrow01.png") no-repeat right 20px center;
  border: 3px solid #d2d2d2;
  font-size: 2.4rem;
  line-height: 54px;
  padding: 0 50px 0 25px;
  transition: all .3s ease-in-out;
}

.top-dr .btn-concept a:hover,
.top-concept .btn-concept a:hover {
  border-color: #000;
}


@media only screen and (min-width: 481px) and (max-width: 1280px){
.top-dr .btn-concept {
    text-align: left;
    margin-left: 120px;
  }
}

/*院長紹介*/
.top-dr {
	padding: 80px 0 40px;
    background-color: #f3f1f1;
}

.top-dr h3,
.top-dr h3 span {
  color: #333;
  text-align: center;
}

.top-dr h3 {
  font-size: 3.6rem;
  font-weight: bold;
  margin-bottom: 43px;
}

.top-dr h3 span {
  display: block;
  font-size: 1.4rem;
  margin-top: 13px;
}

.top-dr-conts {
  background: url("../images/top_dr_conts_bg.png") no-repeat center top;
  height: 72vw;
  max-height: 1000px;
}

.top-dr-conts .wrap-inner {
  position: relative;
  width: 100%;
  max-width: 1400px;
}

.top-dr-conts .txt-area {
  position: absolute;
  top: 37px;
  right: 2%;
  width: 44%;
  text-align: left;
}

.top-dr-conts .txt-area > p:nth-of-type(1) {
  font-size: 17px;
  line-height: 1.4;
  margin-bottom: 30px;
  text-shadow:
    #fff 1px 1px 10px, #fff -1px 1px 10px,
    #fff 1px -1px 10px, #fff -1px -1px 10px;
}
.top-dr-conts .txt-area strong {
  font-size: 20px;
  font-weight: bold;
}
.top-dr-conts .dr-intro { margin-bottom: 28px;}

.top-dr-conts .dr-intro dl {
  display: table;
  margin-bottom: 10px;
}

.top-dr-conts .dr-intro dt,
.top-dr-conts .dr-intro dd {
  display: table-cell;
  vertical-align: middle;
  text-shadow:
    #fff 1px 1px 10px, #fff -1px 1px 10px,
    #fff 1px -1px 10px, #fff -1px -1px 10px;
}

.top-dr-conts .dr-intro dt {
 font-size: 2.4rem;
 }

.top-dr-conts .dr-intro dd {
  font-size: 3.2rem;
  padding-left: 27px;
}

.top-dr-conts .dr-intro p { font-size: 1.8rem;
  text-shadow:
    #fff 1px 1px 10px, #fff -1px 1px 10px,
    #fff 1px -1px 10px, #fff -1px -1px 10px;
}

.top-dr-conts .career h4 {
 font-size: 2.0rem;
 border-bottom: 1px solid #cccccc;
 padding-bottom: 5px;
 margin-bottom: 10px;
  text-shadow:
    #fff 1px 1px 10px, #fff -1px 1px 10px,
    #fff 1px -1px 10px, #fff -1px -1px 10px;
}

.top-dr-conts .career p {
 font-size: 1.4rem;
 line-height: 1.6;
  text-shadow:
    #fff 1px 1px 10px, #fff -1px 1px 10px,
    #fff 1px -1px 10px, #fff -1px -1px 10px;
}




/*アクセス*/
.g-map { margin-bottom: 120px;}

.g-map h3,
.g-map h3 span {
  color: #333;
  text-align: center;
}

.g-map h3 {
  font-size: 3.6rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.g-map h3 span {
  display: block;
  font-size: 1.4rem;
  margin-top: 13px;
}

.g-map-area {
  width: 100%;
  height: 480px;
  margin-bottom: 34px;
}

.g-map-area iframe {
  width: 100%;
  height: 100%;
}

.g-map p {
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}

/*バナー*/
.banner-area { margin-bottom: 160px;}

/*#rondellCarousel a { pointer-events: none;}*/



/* -------------------------------------------------
sub-layout
----------------------------------------------------*/
#wrapper {
  background: url("../images/sub_conts_bg.png") repeat-x 0 0;
  padding-top: 70px;
}

.sub-conts-wrapper { padding: 73px 0 110px;}


/* ===== header ===== */


/* ===== main visual ===== */
.mv-wrap {
  position: relative;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  width: 100%;
  height: 590px;
}

.page-ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3.2rem;
  text-align: center;
  letter-spacing: 0.08em;
}

.page-ttl span.arl {
  display: block;
  font-size: 2.2rem;
  letter-spacing: 0.08em;
  margin-top: 10px;
}

.mv-general .page-ttl:after {
  content: "";
  display: block;
  background-color: #000;
  width: 100%;
  height: 1px;
  text-align: center;
  margin-top: 15px;
}

.conts-wrapper {
  width: 96%;
  max-width: 1100px;
  margin: auto;
}



/* ====================================
一般歯科
====================================== */
.decay-wrapper p,
.decay-wrapper th,
.decay-wrapper td,
.dise-box li { font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.decay-wrapper p.main-txt,
.decay-wrapper p.conts-ttl,
.decay-wrapper p.d-t-ttl { font-family: "ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, "游明朝", "YuMincho", serif;}

.decay-wrapper .cost-tbl-wrap * { font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.mv-general { background-image: url("../images/general_mv_img.jpg");}

.decay-wrapper .main-txt {
  font-size: 3.2rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 85px;
}

.decay-wrapper .conts-area { margin-bottom: 70px;}

.decay-wrapper h3.sec-ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.decay-wrapper h3.sec-ttl:before {
  content: "";
  display: inline-block;
  background-color: #000;
  width: 10px;
  height: 26px;
  vertical-align: -5px;
  margin-right: 8px;
}

.decay-wrapper p.conts-ttl {
  position: relative;
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.decay-wrapper p.conts-ttl:before,
.decay-wrapper p.conts-ttl:after {
  content: "";
  position: absolute;
  top: 30px;
  left: 0;
  height: 1px;
}

.decay-wrapper p.conts-ttl:before {
  background-color: #aaacac;
  width: 100%;
}

.decay-wrapper p.conts-ttl:after {
  background-color: #000;
  width: 165px;
}

.decay-wrapper .conts-ttl + p,
.decay-wrapper p.conts-txt {
  font-size: 1.5rem;
  line-height: 1.6;
}

.decay-wrapper .conts-txt {
  float: left;
  width: 795px;
}

.decay-wrapper .conts-img {
  float: right;
  width: 270px;
}

.decay-wrapper .conts-img img {
  width: 100%;
  height: auto;
}


/*虫歯の進行度合-table*/
.stage-tbl {
  width: 100%;
  max-width: 590px;
  margin: auto;
}

.stage-tbl table {
  table-layout: fixed;
  width: 100%;
  border-top: 1px solid #bebdbd;
  border-right: 1px solid #bebdbd;
}

.stage-tbl th,
.stage-tbl td {
  border-left: 1px solid #bebdbd;
  border-bottom: 1px solid #bebdbd;
  vertical-align: middle;
}

.stage-tbl th {
  background-color: #e4f2f9;
  font-size: 1.8rem;
  text-align: center;
  padding: 10px 0;
}
.stage-tbl th.th-left { width: 22.3%;} 

.stage-tbl td {
  font-size: 1.5rem;
  padding: 11px 0;
}

.stage-tbl td:nth-of-type(1) { text-align: center;}

.stage-tbl td:nth-of-type(2) {
  line-height: 1.3;
  padding-left: 10px;
  padding-right: 10px;
}

.stage-tbl td .stage-img,
.stage-tbl td p {
  display: inline-block;
  vertical-align: bottom;
}



/* ====================================
歯周病
====================================== */
.mv-disease { background-image: url("../images/disease_mv_img.jpg");}

/*歯周病の進行度合*/
.disease-ex {
  width: 100%;
  max-width: 500px;
  margin: auto;
}

.dise-box {
  position: relative;
  width: 100%;
  border: 1px solid #7d7f7f;
  padding: 17px 28px;
  margin-bottom: 45px;
}

.dise-box:after {
  content: "";
  position: absolute;
  bottom: -33px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  width: 27px;
  height: 20px;
}
.d-b-01:after { background-image: url("../images/general_conts_arrow01.png");}
.d-b-02:after { background-image: url("../images/general_conts_arrow02.png");}
.d-b-03:after { background-image: url("../images/general_conts_arrow03.png");}


.dise-box p {
  font-size: 1.5rem;
  margin-bottom: 3px;
}
.dise-box p.assist01 { color: #24a1c5;}
.dise-box p.assist02 { color: #e99d09;}
.dise-box p.assist03 { color: #e96d09;}
.dise-box p.assist04 { color: #b82d02;}

.dise-box ul { padding-left: 35px;}

.dise-box li {
  font-size: 1.5rem;
  margin-top: 12px;
}


/*歯周病の検査*/
.dise-treatment .d-t-area {
  padding-left: 37px;
  margin-bottom: 46px;
}

.dise-treatment p.d-t-ttl {
  color: #ee7907;
  font-size: 1.6rem;
  margin-bottom: 15px;
}

.dise-treatment p.d-t-ttl + p {
  font-size: 1.5rem;
  line-height: 1.6;
}


/*歯周病治療　治療費*/
.cost-tbl-wrap { padding-left: 37px;}

.cost-tbl-wrap:nth-of-type(1) { margin-bottom: 40px;}

.cost-tbl-cap {
  font-size: 1.8rem;
  margin-bottom: 19px;
}

.cost-tbl {
  width: 100%;
  max-width: 640px;
  border-top: 1px solid #bebdbd;
  border-right: 1px solid #bebdbd;
}

.cost-tbl dl {
  display: table;
  width: 100%;
}

.cost-tbl dt,
.cost-tbl dd {
  display: table-cell;
  table-layout: fixed;
  vertical-align: middle;
  border-left: 1px solid #bebdbd;
  border-bottom: 1px solid #bebdbd;
  font-size: 1.8rem;
  padding-top: 15px;
  padding-bottom: 15px;
}

.cost-tbl dl.bg-assist dt,
.cost-tbl dl.bg-assist dd { background-color: #eee;}

.cost-tbl dt {
  width: 63%;
  padding-left: 20px;
}

.cost-tbl dt span { font-size: 1.5rem;}

.cost-tbl dd { padding-left: 144px;}


/* ====================================
審美歯科
====================================== */
.mv-esthe { background-image: url("../images/esthe_mv_img.jpg");}

.esthe-item {
  width: 100%;
  max-width: 710px;
  margin: 40px auto 30px;
}

.esthe-item * { font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.esthe-item dl {
  width: 100%;
  border-top: 1px solid #b5b5b5;
  border-right: 1px solid #b5b5b5;
}

.esthe-item dt,
.esthe-item dd {
  border-left: 1px solid #b5b5b5;
  border-bottom: 1px solid #b5b5b5;  
}

.esthe-item dt {
  background-color: #e4f2f9;
  color: #18a2dc;
  font-size: 1.8rem;
  padding: 11px 0 11px 32px;
}

.esthe-item dd {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 1.5rem;
  line-height: 1.6;
  padding: 15px 15px 20px;
}

.esthe-item dd p:nth-of-type(1) { width: 33.1%;}

.esthe-item dd p:nth-of-type(2) { width: 55.6%;}

.esthe-item dd img {
  width: 100%;
  height: auto;
}

.esthe-cost .cost-tbl dt { font-size: 1.3rem;} 

.esthe-cost .cost-tbl dd {
  text-align: right;
  padding-right: 25px;
  padding-left: 0;
}


/* ====================================
予防歯科
====================================== */
.mv-maintenance { background-image: url("../images/maintenance_mv_img.jpg");}

.maint-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.maint-area > p { width: 24.5%;}

.maint-area > p img {
  width: 100%;
  height: auto;
}

.maint-area .m-a-r { width: 68.2%;}

.maint-area .m-a-r p {
  font-size: 1.5rem;
  line-height: 1.6;
}

.maint-area dl {
  width: 94.7%;
  border-top: 1px solid #b5b5b5;
  border-right: 1px solid #b5b5b5;
  margin-top: 45px;
}

.maint-area dt,
.maint-area dd {
  border-left: 1px solid #b5b5b5;
  border-bottom: 1px solid #b5b5b5;  
}

.maint-area dt {
  background-color: #e4f2f9;
  color: #18a2dc;
  font-size: 1.8rem;
  padding: 11px 0 11px 32px;
}

.maint-area dd {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 1.5rem;
  line-height: 1.6;
  padding: 15px 15px 20px;
}

.maint-area dd p:nth-of-type(1) { width: 34.1%;}

.maint-area dd p:nth-of-type(2) { width: 59.2%;}

.maint-area dd img {
  width: 100%;
  height: auto;
}


/* ====================================
ホワイトニング
====================================== */
.mv-whitening { background-image: url("../images/whitening_mv_img.jpg");}

.white-block {
  background-color: #ecf9ff;
  width: 100%;
  max-width: 710px;
  padding: 15px 25px 25px 40px;
  margin: auto;
}

.white-block p { font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.white-block > p {
  color: #46bbed;
  font-size: 1.8rem;
  margin-bottom: 18px;
}

.white-block .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.white-block .inner p:nth-of-type(1) { width: 34.9%;}

.white-block .inner p:nth-of-type(1) img {
  width: 100%;
  height: auto;
}

.white-block .inner p:nth-of-type(2) {
  width: 58.18%;
  font-size: 1.5rem;
  line-height: 1.6;
}


/* ====================================
インプラント
====================================== */

.implant-wrapper p { font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.implant-wrapper p.main-txt,
.implant-wrapper p.conts-ttl,
.implant-wrapper p.d-t-ttl { font-family: "ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, "游明朝", "YuMincho", serif;}

.implant-wrapper .implant-cost-tbl-wrap * { font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.mv-implant { background-image: url("../images/dr_mv_img.jpg");}

.implant-wrapper .main-txt {
  font-size: 3.2rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 85px;
}

.implant-wrapper .conts-area { margin-bottom: 70px;}

.implant-wrapper h3.sec-ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.implant-wrapper h3.sec-ttl:before {
  content: "";
  display: inline-block;
  background-color: #000;
  width: 10px;
  height: 26px;
  vertical-align: -5px;
  margin-right: 8px;
}

.implant-wrapper p.conts-ttl {
  position: relative;
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.implant-wrapper p.conts-ttl:before,
.implant-wrapper p.conts-ttl:after {
  content: "";
  position: absolute;
  top: 30px;
  left: 0;
  height: 1px;
}

.implant-wrapper p.conts-ttl:before {
  background-color: #aaacac;
  width: 100%;
}

.implant-wrapper p.conts-ttl:after {
  background-color: #000;
  width: 165px;
}

.implant-wrapper .conts-ttl + p,
.implant-wrapper p.conts-txt {
  font-size: 1.5rem;
  line-height: 1.6;
}

.implant-wrapper .conts-txt-l {
  float: left;
  width: 815px;
  font-size: 1.5rem;
  line-height: 1.6;
}

.implant-wrapper .conts-img {
  float: right;
  width: 200px;
}

.implant-wrapper .conts-img img {
  width: 100%;
  height: auto;
}

.implant-bnrbox,
.implant-imgbox {
  text-align: center;
  margin: 0 auto 20px;
}
.implant-bnrbox .reserved {
  display: inline-block;
  vertical-align: top;
  /* width: 50%; */
  margin-bottom: 55px;
  border: 3px solid #d2d2d2;
  padding: 13px 10px;
}

.implant-bnrbox .reserved > div {
  display: inline-block;
  vertical-align: middle;
}
.implant-bnrbox .btn-consul {
  text-align: center;
  width: 50%;
  margin: 0 auto 20px;
}

.implant-den {
  width: 100%;
  max-width: 600px;
  margin: auto;
}

.implant-cost-tbl-wrap { padding-left: 37px;}

.implant-cost-tbl-wrap:nth-of-type(1) { margin-bottom: 40px;}

.implant-cost-tbl-cap {
  font-size: 1.8rem;
  margin-bottom: 19px;
}

.implant-cost-tbl {
  width: 100%;
  max-width: 800px;
  border-top: 1px solid #bebdbd;
  border-right: 1px solid #bebdbd;
}

.implant-cost-tbl dl {
  display: table;
  width: 100%;
}

.implant-cost-tbl dt,
.implant-cost-tbl dd {
  display: table-cell;
  table-layout: fixed;
  vertical-align: middle;
  border-left: 1px solid #bebdbd;
  border-bottom: 1px solid #bebdbd;
  font-size: 1.6rem;
  padding-top: 15px;
  padding-bottom: 15px;
}

.implant-cost-tbl dl.bg-assist dt,
.implant-cost-tbl dl.bg-assist dd { background-color: #eee;}

.implant-cost-tbl dt {
  width: 68%;
  padding-left: 20px;
}

.implant-cost-tbl dt span { font-size: 1.5rem;}

.implant-cost-tbl dd { padding-left: 64px;}

.implant-wrapper p.conts-sttl {
  padding: 1em 0.5em;
  color: #e96d09;
  /* border-left: solid 5px #e96d09; */
  font-weight: bold;
  font-size: 1.6rem;
}
/* ====================================
最新のインプラント治療　All-on-4
====================================== */

.mv-implant_cure { background-image: url("../images/dr_mv_img.jpg");}


/* ====================================
当院の紹介
====================================== */
.mv-about { background-image: url("../images/about_mv_img.jpg");}

.about-wrapper p.main-txt {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 86px;
}

.about-wrapper h3.sec-ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.about-wrapper h3.sec-ttl:before {
  content: "";
  display: inline-block;
  background-color: #000;



  width: 10px;
  height: 26px;
  vertical-align: -5px;
  margin-right: 8px;
}

.about-wrapper .conts-area { margin-bottom: 50px;}

.about-wrapper p.conts-ttl {
  position: relative;
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.about-wrapper p.conts-ttl:before,
.about-wrapper p.conts-ttl:after {
  content: "";
  position: absolute;
  top: 130%;
  left: 0;
  height: 1px;
}

.about-wrapper p.conts-ttl:before {
  background-color: #aaacac;
  width: 100%;
}

.about-wrapper p.conts-ttl:after {
  background-color: #000;
  width: 165px;
}

.about-wrapper .conts-txt {
  float: left;
  width: 100%;
  max-width: 635px;
  font-size: 1.5rem;
  line-height: 1.6;
}

.about-wrapper .conts-txt-w {
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.6;
}

.about-wrapper .conts-img {
  float: right;
  width: 100%;
  max-width: 408px;
}

.about-wrapper .conts-img img {
  width: 100%;
  height: auto;
}

.ov-conts {
  width: 96%;
  max-width: 1000px;
  margin: 200px auto 0;
}

.ov-conts dl {  
  display: table;
  width: 100%;
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
.ov-conts dl:nth-of-type(odd) { background-color: #f2f2f2;}

.ov-conts dl * { font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.ov-conts dt,
.ov-conts dd {
  display: table-cell;
  vertical-align: top;
  font-size: 1.5rem;
  line-height: 1.5;
  padding-top: 16px;
  padding-bottom: 16px;
}

.ov-conts dt {
  width: 130px;
  padding-left: 18px;
}

.ov-conts .acc-in { margin-bottom: 42px;}

.ov-conts .acc-in > div { float: left;}

.ov-conts .acc-l { margin-right: 100px;}

.ov-conts .acc-in > div ul { padding-left: 1em;}



/* ====================================
アクセス
====================================== */
.mv-access { background-image: url("../images/about_mv_img.jpg");}


.access-wrapper h3.sec-ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.access-wrapper h3.sec-ttl:before {
  content: "";
  display: inline-block;
  background-color: #000;
  width: 10px;
  height: 26px;
  vertical-align: -5px;
  margin-right: 8px;
}

.access-wrapper h3.sec-ttl .assist {
  font-size: 1.8rem;
  margin-left: 1em;
}

.access-wrapper p.conts-ttl {
  position: relative;
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.access-wrapper p.conts-ttl:before,
.access-wrapper p.conts-ttl:after {
  content: "";
  position: absolute;
  top: 30px;
  left: 0;
  height: 1px;
}

.access-wrapper p.conts-ttl:before {
  background-color: #aaacac;
  width: 100%;
}

.access-wrapper p.conts-ttl:after {
  background-color: #000;
  width: 165px;
}
.access-wrapper * {
  font-size: 1.5rem;
  line-height: 1.6;
}

.access-wrapper .g-map {
  width: 100%;
  height: 480px;
  margin-bottom: 34px;
}

.access-wrapper iframe {
  width: 100%;
  height: 100%;
}


.access-conts {
  width: 96%;
  max-width: 1000px;
  margin: 60px auto 0;
}

.access-conts dl {  
  display: table;
  width: 100%;
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
.access-conts dl:nth-of-type(odd) { background-color: #f2f2f2;}

.access-conts dl * { font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.access-conts dt,
.access-conts dd {
  display: table-cell;
  vertical-align: top;
  font-size: 1.5rem;
  line-height: 1.5;
  padding-top: 16px;
  padding-bottom: 16px;
}

.access-conts dt {
  width: 130px;
  padding-left: 18px;
}

.access-conts .acc-in { margin-bottom: 42px;}

.access-conts .acc-in > div { float: left;}

.access-conts .acc-l { }

.access-conts .acc-r { margin-top: 20px; }

.access-conts .acc-in > div ul { padding-left: 1em;}

.btn-route {
  display: inline-block; 
  font-size: 18px;
  color: #ffffff;
  background: #595757;
  padding: 8px 15px ;
  text-decoration: none;
  border-radius: 5px;
  transition: .3s;
  margin-bottom: 5px;
  width:420px;
 }
.btn-route:hover {
  background: #858282;
}
.btn-route a {
  color: #ffffff;
  background: url(../images/f_btn_arrow.png) no-repeat left center;
  padding-left: 25px;
}
.route-ex {
    width: 100%;
    max-width: 720px;
    margin: auto;
}
.route-box {
  position: relative;
  width: 100%;
  /* border: 1px solid #7d7f7f; */
  padding: 10px ;
  margin-bottom: 45px;
  text-align: center;
}

.route-box:after {
  content: "";
  position: absolute;
  bottom: -33px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  width: 27px;
  height: 20px;
}
.r-b-01:after { background-image: url("../images/general_conts_arrow01.png");}
.r-b-02:after { background-image: url("../images/general_conts_arrow02.png");}
.r-b-03:after { background-image: url("../images/general_conts_arrow03.png");}

.route-box p.assist01 { color: #24a1c5;}

.route-box p {
  font-size: 1.5rem;
  margin-bottom: 8px;
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

/* ====================================
診療方針
====================================== */
.mv-concept { background-image: url("../images/concept_mv_img.jpg");}

.concept-wrapper .main-txt {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 86px;
}

.concept-wrapper h3.sec-ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.concept-wrapper h3.sec-ttl:before {
  content: "";
  display: inline-block;
  background-color: #000;
  width: 10px;
  height: 26px;
  vertical-align: -5px;
  margin-right: 8px;
}

.concept-wrapper h3.sec-ttl .assist {
  font-size: 1.8rem;
  margin-left: 1em;
}

p.concept-txt,
.concept-wrapper p.conts-txt,
.concept-wrapper .conts-des p {
  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 1.5rem;
  line-height: 1.6;
}

.concept-wrapper .conts-des p.des-ttl {
  font-family: "ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, "游明朝", "YuMincho", serif;
  color: #073a6a;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.concept-wrapper p.conts-ttl {
  position: relative;
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.concept-wrapper p.conts-ttl:before,
.concept-wrapper p.conts-ttl:after {
  content: "";
  position: absolute;
  top: 30px;
  left: 0;
  height: 1px;
}

.concept-wrapper p.conts-ttl:before {
  background-color: #aaacac;
  width: 100%;
}

.concept-wrapper p.conts-ttl:after {
  background-color: #000;
  width: 165px;
}

p.concept-txt { margin-bottom: 65px;}

.concept-wrapper .conts-area { margin-bottom: 55px;}

.concept-wrapper .conts-des { margin-left: 65px;}

.concept-wrapper .conts-txt { margin-bottom: 35px;}

.concept-wrapper .block .conts-txt {
  float: left;
  width: 69.1%;
  max-width: 760px;
}

.concept-wrapper .block .conts-img {
  float: right;
  width: 24.5%;
  max-width: 270px;
} 

.concept-wrapper .block img {
  width: 100%;
  height: auto;
}
  
  
  
/* ====================================
院長紹介
====================================== */
.mv-dr { background-image: url("../images/dr_mv_img.jpg");}

.dr-wrapper .sec-ttl {
  font-size: 3.0rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.dr-wrapper .sec-ttl:before {
  content: "";
  display: inline-block;
  background-color: #000;
  width: 10px;
  height: 26px;
  vertical-align: -5px;
  margin-right: 8px;
}

.dr-conts {
  width: 100%;
  max-width: 944px;
  margin: auto;
}

.dr-img {
  display: table;
  background-color: #e7f1f0;
  width: 100%;
  margin-bottom: 60px;
}

.dr-img * { font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.dr-img > p,
.dr-img .txt-area {
  display: table-cell;
  vertical-align: middle;
}

.dr-img > p {
  width: 35.4%;
  max-width: 334px;
}

.dr-img .osamu-ogihara {
  width: 100%;
  height: auto;
}

.dr-img .txt-area {
  width: 64.6%;
  padding-left: 60px;
}

.dr-img .txt-area p {
  font-size: 2.6rem;
  margin: -23px 0 35px;
}

.dr-img .txt-area dl { display: table;}

.dr-img .txt-area dt,
.dr-img .txt-area dd {
  display: table-cell;
  vertical-align: top;
}

.dr-img .txt-area dt { font-size: 2.2rem;}

.dr-img .txt-area dd {
  font-size: 3.6rem;
  text-align: center;
  padding-left: 25px;
}

.dr-img .txt-area dd span.kana {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  margin-top: 5px;
}

.jsol { margin-bottom: 65px;}

.jsol-l {
  float: left;
  width: 55.4%;
  max-width: 523px;
  padding-top: 15px;
}

.jsol-l p {
  font-size: 1.5rem;
  line-height: 1.6;
}

.jsol-l p:nth-of-type(1) {
  color: #073a6a;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.0;
  margin-bottom: 17px;
}

.jsol-r {
  float: right;
  width: 41.3%;
  max-width: 390px;
}

.jsol-r img {
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.jsol-r figcaption {
  font-size: 2.1rem;
  text-align: center;
}

.jsol-r figcaption span.assist {
  display: block;
  font-size: 1.4rem;
  margin-top: 5px;
  margin-left: -2.5rem;
}

.dr-wrapper .career { margin-bottom: 62px;}

.dr-wrapper .career * { font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.dr-wrapper .career p {
  position: relative;
  font-size: 2.0rem;
  margin-bottom: 15px;
}

.dr-wrapper .career p:before,
.dr-wrapper .career p:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -15px;
  height: 1px;
}

.dr-wrapper .career p:before {
  background-color: #aaacac;
  width: 100%;
}

.dr-wrapper .career p:after {
  background-color: #313232;
  width: 165px;
}

.dr-wrapper .career ul {
  width: 100%;
  padding-top: 18px;
}

.dr-wrapper .career li {
  font-size: 1.8rem;
  margin-bottom: 18px;
}

.dr-wrapper .career li:nth-last-of-type(1) { border-bottom: none;}

.dr-mess { margin-bottom: 60px;}

.dr-mess-conts * { font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.dr-mess .conts-ttl {
  background-color: #666;
  color: #fff;
  font-size: 3.6rem;
  padding: 22px 0 22px 20px;
  margin-bottom: 50px;
}

.dr-mess-conts {
  background: url("../images/dr_conts_bg.jpg") no-repeat center top;
  background-size: cover;
  padding: 44px 0 0 374px;
}

.dr-mess-conts p {
  font-size: 1.5rem;
  line-height: 1.6;
  margin-bottom: 22px;
}

.ogihara-implant { margin-bottom: 120px;}

.ogihara-implant .conts-ttl {
  background-color: #8c8b8b;
  color: #fff;
  font-size: 2.6rem;
  padding: 15px 0 15px 18px;
}

.ogihara-implant p {
  margin-bottom: 20px;
}
.ogihara-implant img {
  width: 100%;
  height: auto;
}

  
/* ====================================
先生のメッセージ
====================================== */
.mv-dr_message { background-image: url("../images/dr_mv_img.jpg");}



/* ====================================
診療科目一覧
====================================== */
.mv-medical { background-image: url("../images/general_mv_img.jpg");}

.medical-wrapper { margin-bottom: 150px;}

.medical-wrapper .main-txt {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 85px;
}

.medical-wrapper h3.sec-ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.medical-wrapper h3.sec-ttl:before {
  content: "";
  display: inline-block;
  background-color: #000;
  width: 10px;
  height: 26px;
  vertical-align: -5px;
  margin-right: 8px;
}

.medical-wrapper .med-txt {
  font-size: 1.5rem;
  line-height: 1.6;
  margin-bottom: 56px;
}

.medical-wrapper .link-path {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.medical-wrapper .link-box {
  width: 30%;
  max-width: 330px;
  margin-bottom: 45px;
}

.medical-wrapper a.link-bnr {
  width: 100%;
  margin-right: 0;
  margin-bottom: 17px;
}

.medical-wrapper .link-box > p {
  font-size: 1.5rem;
  line-height: 1.6;
}

/* ====================================
院長ブログ
====================================== */
.mv-blog { background-image: url("../images/dr_mv_img.jpg");}

.blog-wrapper { margin-bottom: 150px;}

.blog-wrapper * {	font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.blog-main {
	float: left;
	width: 100%;
	max-width: 730px;
}

.sidebar {
	float: right;
	width: 96%;
	max-width: 292px;
}

.blog-genre {
	font-size: 2.8rem;
	font-weight: bold;
	border-bottom: 1px solid #000;
	padding-bottom: 15px;
	margin-bottom: 40px;
}

.post-ttl-area {
	border-bottom: 1px solid #d2d2d2;
	padding-bottom: 17px;
	margin-bottom: 26px;
}

.post-ttl-area p {
	font-size: 1.4rem;
	margin-bottom: 1em;
}

.post-ttl-area p.post-ttl {
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 0;
}

.post-conts p {
	font-size: 1.5rem;
	line-height: 1.6;
	margin-bottom: 30px;
}

.post-conts .post-conts-ttl {
	background-color: #aee08d;
	font-size: 2.0rem;
	padding: 18px 0 18px 10px;
}

.post-lists a {
	display: block;
	font-size: 1.6rem;
	line-height: 1.4;
	margin-top: 9px;
	transition: all .3s ease-in-out;
}

.archive-area {
	border-top: 1px solid #dcdcdc;
	border-right: 1px solid #dcdcdc;
	margin-bottom: 60px;
}
.archive-area:nth-last-of-type(1) { margin-bottom: 0;}

.archive-area p {
	position: relative;
	background-color: #e5e5e5;
	border-bottom: 1px solid #dcdcdc;
	border-left: 1px solid #dcdcdc;
	font-size: 2.0rem;
	padding: 20px 0 20px 26px;
}

.archive-area p:after {
	position: absolute;
	top: calc(50% - 5px);
	right: 20px;
	content: "";
	width: 9px;
	height: 9px;
	border-top: 1px solid #2e2e2e;
	border-right: 1px solid #2e2e2e;
	transform: rotate(45deg);
}

.archive-area ul {
	border-bottom: 1px solid #dcdcdc;
	border-left: 1px solid #dcdcdc;
	padding: 25px;
}

.archive-area ul li { margin-bottom: 1em;}
.archive-area .post-lists li { margin-bottom: 2em;}
.archive-area ul li:nth-last-of-type(1) { margin-bottom: 0;}

.archive-area ul li a {
	font-size: 1.5rem;
	transition: all .3s ease-in-out;
}

.archive-area ul li a:hover { color: #2c9030;}

.page_nation a[rel="next"] { float: right;}
.page_nation a[rel="prev"] { float: left;}

.blog-main .post-box { margin-bottom: 80px;}

.post-conts p img {
  width: 100%;
  max-width: 730px;
  height: auto;
}

.blog-block { margin-bottom: 80px;}


/* ====================================
料金
====================================== */

.fee-wrapper p { font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック', "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.fee-wrapper .fee-cost-tbl-wrap * { font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.mv-fee { background-image: url("../images/about_mv_img.jpg");}

.fee-wrapper .conts-area { margin-bottom: 70px;}

.fee-wrapper h3.sec-ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.fee-wrapper h3.sec-ttl:before {
  content: "";
  display: inline-block;
  background-color: #000;
  width: 10px;
  height: 26px;
  vertical-align: -5px;
  margin-right: 8px;
}

.fee-cost-tbl-wrap { padding-left: 37px;}

.fee-cost-tbl-wrap:nth-of-type(1) { margin-bottom: 40px;}

.fee-cost-tbl-cap {
  font-size: 1.8rem;
  margin-bottom: 19px;
}

.fee-cost-tbl,
.fee-cost-tbl2 {
  width: 100%;
  max-width: 800px;
  border-top: 1px solid #bebdbd;
  border-right: 1px solid #bebdbd;
}

.fee-cost-tbl dl,
.fee-cost-tbl2 dl {
  display: table;
  width: 100%;
}

.fee-cost-tbl dt,
.fee-cost-tbl dd,
.fee-cost-tbl2 dt,
.fee-cost-tbl2 dd {
  display: table-cell;
  table-layout: fixed;
  vertical-align: middle;
  border-left: 1px solid #bebdbd;
  border-bottom: 1px solid #bebdbd;
  font-size: 1.6rem;
  padding-top: 15px;
  padding-bottom: 15px;
}

.fee-cost-tbl dl.bg-assist dt,
.fee-cost-tbl dl.bg-assist dd,
.fee-cost-tbl2 dl.bg-assist dt,
.fee-cost-tbl2 dl.bg-assist dd {
  background-color: #eee;
}

.fee-cost-tbl dt,
.fee-cost-tbl2 dt {
  width: 68%;
  padding-left: 20px;
}
.fee-cost-tbl2 dt.title {
  width: 100%;
  padding-left: 20px;
}

.fee-cost-tbl dt span { font-size: 1.5rem;}

.fee-cost-tbl dd,
.fee-cost-tbl2 dd { padding-left: 64px;}


/* ====================================
サイトマップ
====================================== */
.mv-sitemap { background-image: url("../images/about_mv_img.jpg");}

.sitemap-wrapper * {
  font-size: 1.5rem;
  line-height: 1.6;
}

/* ====================================
求人情報
====================================== */
.mv-recruit { background-image: url("../images/recruit_mv_img.jpg");}

.btn-rec {
  display: block; 
  font-size: 24px;
  color: #ffffff;
  background: #595757;
  padding: 20px 40px ;
  text-decoration: none;
  border-radius: 8px;
  transition: .3s;
  margin-bottom: 40px;
  width:720px;
 }
.btn-rec:hover {
  background: #858282;
}
.btn-rec a {
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  color: #ffffff;
  background: url(../images/f_btn_arrow.png) no-repeat left center;
  padding-left: 40px;
}
.rec-tbl-wrap * { font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}

.rec-tbl-wrap:nth-of-type(1) { margin-bottom: 40px;}

.rec-tbl-cap {
  font-size: 1rem;
  margin-bottom: 19px;
}

.rec-tbl {
  width: 100%;
  max-width: 720px;
  border-top: 1px solid #bebdbd;
  border-right: 1px solid #bebdbd;
}

.rec-tbl dl {
  display: table;
  width: 100%;
}

.rec-tbl dt,
.rec-tbl dd {
  display: table-cell;
  table-layout: fixed;
  vertical-align: middle;
  border-left: 1px solid #bebdbd;
  border-bottom: 1px solid #bebdbd;
  font-size: 1.5rem;
  line-height: 1.6;
  padding-top: 10px;
  padding-bottom: 10px;
}

.rec-tbl dl.bg-assist dt,
.rec-tbl dl.bg-assist dd { background-color: #eee;}

.rec-tbl dt {
  width: 24%;
  padding-left: 10px;
}

.rec-tbl dt span { font-size: 1.5rem;}

.rec-tbl dd { padding-left: 10px;}

/***** コンタクトフォーム *****/
.table-contactform7{
  table-layout: fixed;
  width: 80%;
  margin: 20px auto;
  border: solid 1px #ccc;
}
 
.required-contactform7{
  padding: 5px;
  background: #DE8686;
  color: #fff;
  border-radius: 3px;
  margin-right: 8px;
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif ;
}
.title-contactform7 {
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif ;
}
.wpcf7-list-item-label {
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif ;
}
.unrequired-contactform7{
  padding: 5px;
  background: #BDBDBD;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}
 
.table-contactform7 th{
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif ;
  font-size: 16px;
  padding: 25px 20px 20px;
  border: solid 1px #ccc;
}
.table-contactform7 td{
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif ;
  font-size: 16px;
  padding: 20px;
  border: solid 1px #ccc;
}
 
.table-contactform7 input,
.table-contactform7 select{
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif ;
  max-width: 100%;
  font-size: 16px;
  height: 2em;
  padding-left: 5px;
}
.table-contactform7 textarea{
  max-width: 100%;
}
 
.address-100 input{
  width: 100%;
}
 
.message-100 textarea{
  width: 100%;
}
.wpcf7-submit {
  font-size: 18px;
  color: #ffffff;
  background: #595757;
  padding: 15px 20px;
  text-decoration: none;
  border-radius: 5px;
  transition: .3s;
  margin-bottom: 30px;
  width: 160px;
}
.wpcf7-response-output{
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif ;
  font-size: 16px;
  padding: 0.5em 1em;
}

@media screen and (min-width: 900px){
.table-contactform7 th{
    width:28%;
  }
}

@media screen and (max-width: 480px){
.table-contactform7{
  display:block;
  table-layout: fixed;
  width: 100%;
  margin: 10px auto;
}

.table-contactform7 tbody,
.table-contactform7 tr{
  display: block;
  width: 100%;
}
.table-contactform7 th{
  width:100%;
  display:block;
  margin: 0 auto;
}
.table-contactform7 td{
  display: list-item;
  list-style-type:none;
  margin:0;
  padding:0;
  width: 100%;
}
.table-contactform7 th{
  background: #e0e0e0;
  padding: 20px 10px;
}
.table-contactform7 td{
  border: solid 1px #e0e0e0;
  padding: 20px 10px;
}

table.sample td {
  display: block;
  width: auto;
}


}

.top-bnr {
	text-align: center;
	padding: 20px 0;
	background: #EFEFEF;
}
.top-info {
	text-align: center;
	padding: 50px 0 0;
	background: #f9f9f9;
}
.top-info a {
	font-size: 24px;
	color: #ff0000;
}
.top-info img {
	width: 90%;
	height: auto;
}

/*
.top-info a:after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 2px solid #ff0000;
  border-right: 2px solid #ff0000;
  transform: rotate(45deg);
  margin-left: 8px;
}
*/
.top-link {
	text-align: center;
	padding: 80px 0;
	background: #f9f9f9;
}
.top-link img {
	width: 80%;
	height: auto;
}
.top-link-btn {
	text-align: center;
	padding: 40px 0 0;
	background: #f9f9f9;
}
.top-link-btn img {
	width: 95%;
	height: auto;
}

.top-info h2.main-txt {
  font-size: 3.6rem;
  text-align: center;
  padding-top: 20px;
  margin-bottom: 20px;
}
.top-info table {
	width: 80%;
	margin: 0 auto;
}
.top-info table td {
	text-align: center;
}


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

.top-bnr img {
	width: 100%;
	height: auto;
}
.top-info {
	padding: 20px 0 0;
}
.top-info img {
	width: 100%;
	height: auto;
}
.top-info a {
	font-size: 18px;
}
.top-link-btn {
	padding: 10px 0 0;
}

/*
.top-info a:after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #ff0000;
  border-right: 2px solid #ff0000;
  transform: rotate(45deg);
  margin-left: 4px;
}
*/
.top-link {
	padding: 10px 0;
}
.top-link img {
	width: 95%;
	height: auto;
}
.top-info table td img {
	width: 95%;
	text-align: center;
}

.top-link-btn {
	text-align: center;
	padding: 20px 0 0;
	background: #f9f9f9;
}

.top-info h2.main-txt {
  font-size: 2rem;
  text-align: center;
  padding-top: 10px;
  margin-bottom: 10px;
}
.top-info table {
	width: 95%;
	margin: 0 auto;
}


}

@media screen and (max-width: 480px){
.route-box img {
  width: 100%;
  height: auto;
}
}



.col_2 ul,
.col_3 ul {
  font-size: 0;
}
.col_2 li,
.col_3 li {
  display: inline-block;
}
.col_2 li {
  width: 48%;
  margin-right: 2%;
  margin-bottom: 30px;
  vertical-align: top;
}
.col_2 li:nth-child(2n) {
  margin-right: 0;
}
.col_3 li {
  width: 32%;
  margin-right: 1%;
  margin-bottom: 30px;
  vertical-align: top;
}
.col_3 li:nth-child(3n) {
  margin-right: 0;
}
.col_2 p,
.col_3 p {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  padding: 1rem 0;
  text-align: left;
}
.col_2 img,
.col_3 img {
  border-radius: 6px;
  width: 100%;
  height: auto;
}
.col_link a img {
  width: 100%;
  height: auto;
  transform: scale(1);
  transition: all .5s ease-in-out;
}

.col_link a:hover img { transform: scale(1.03);}


.utility-area .btn-consul {
}
.utility-area .btn-consul a {
  background: url("../images/f_icon.png") no-repeat left 10px center / 8%, url("../images/f_btn_arrow.png") no-repeat right 15px center;
  font-size: 1.4rem;
  padding: 24px 50px 24px;
}

@media screen and (max-width: 480px){
.col_2 li,
.col_3 li {
  width: 100%;
  margin: 0 auto 20px;
}
.col_2 p, .col_3 p {
  font-size: 1.8rem;
}
}


/* smartphone footer btn */
.nav-mobi-three {
    display:none;
}

/* smartphone footer btn */

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

.nav-mobi-three {
  display: block;
}
.footer-fix-nav {
  position: fixed !important;
  top: 86px;
  width: 100%;
  display: table;
  z-index: 99 !important;
  background: #ffffff;
  padding: 0;
}
.f-tel {
  width: 50%;
  display: block;
  float: left;
}
.f-tel img {
  width: 100%;
}
.f-net {
  width: 50%;
  display: block;
  float: right;
}
.f-net img {
  width: 100%;
}

}


/******************************/
/** コンタクトフォームの装飾 **/
/******************************/
/*　フォーム全体　*/
#cf7-area {
	max-width:800px;
    margin: 30px auto;
	border: 1px solid #333;
	box-shadow:3px 3px 6px #ccc;
	padding:15px 30px;
}

.cf7-item {
display: flex;
	flex-direction:column;
align-items: flex-start;
justify-content: flex-start;
margin: 0 0 1.75em;
}

.cf7-q {
/* width: 30%; */
margin: 0 0 0 10px;
}

.cf7-a {
/* width: 60%; */
}

/*　見出し　*/
.form-heading
{
    width: 100%;
	margin: 15px auto;
	font-size:16px;
	font-weight:bold;
}

.form-heading p {
margin: 0;
}

/* 各項目共通 */
#cf7-area label {
	font-size:18px;
    font-weight:bold;
}

#cf7-area p.question {
	font-size:14px;
	color:#111;
	margin:5px 0 10px;
}

#cf7-area input[type="text"] {
	margin-left:15px;
}

#cf7-area input[type="text"],#cf7-area input[type="email"],#cf7-area input[type="tel"],#cf7-area textarea {
background: #F0F8FF;
width:500px;
margin-left:10px;
	margin-top:5px;
}

#cf7-area input[type="text"]:focus,#cf7-area input[type="email"]:focus,#cf7-area input[type="tel"]:focus,#cf7-area textarea:focus {
background: #FFE4E1;
border: 2px solid #FF1493;
outline: 0;
}

#cf7-area input[type="checkbox"], #cf7-area input[type="radio"]{
appearance: auto;
}

#cf7-area .wpcf7-list-item {
display: block;
}

#cf7-area textarea{
height:200px;
padding: 0.625em 0.4375em;
}

.cf7-accept-check{
text-align: center;
margin: 50px auto;
}

.cf7-submit {
width: 40%;
margin: 0 auto;
text-align: center;
}

#cf7-area input[type="submit"]
{
width: 100%;
background-color: #191970;
}

#cf7-area input[type="submit"]
{
width: 100%;
background-color: #191970;
color: #ffffff;
border-radius: 5px;
font-size: 1.2em;
padding: 1em 10px;
}

#cf7-area input[type="submit"]:hover
{
background-color:#ffffff;
border: 2px solid #191970;
color:#191970;
	cursor:pointer;
}

.cf7-btn{
width: 40%;
margin: 0 auto;
text-align: center;
}

/*　必須ラベル　*/
.cf7-req{
font-size:.8em;
padding: 4px 6px;
background: #eb2a2a;
color: #ffffff;
margin-left: 10px;
display:inline-block;
}

@media screen and (max-width:768px){
	#cf7-area {
		width:95%;
		padding: 15px;
	}
	
.cf7-item {
display: block;
}

#cf7-area label{
display: block;
margin-bottom: 10px;
	font-size:16px;
}

.cf7-q {
width: 100%;
margin: 0;
}

.cf7-a {
width: 100%;
}

#cf7-area input[type="text"], #cf7-area input[type="email"], #cf7-area input[type="tel"], #cf7-area textarea{
margin-left: 0;
	width:100%
}

.cf7-submit{
width: 90%;
}
}