@charset "UTF-8";

/*-------------------------------------- 共通 */

img {
  max-width: 100%;
  height: auto;
  width: auto;
}

h2.headline {
  background: url(../images/headline02_bg.gif) no-repeat;
  height: 56px;
  padding: 10px 0 0 60px;
  font-size: 32px;
  border-bottom: 4px solid #fed685;
}

h2.headline02 {
  background: url(../images/headline03_bg.png) no-repeat bottom;
  padding: 10px 0 10px 60px;
  font-size: 28px;
  line-height: 140%;
  border-bottom: 4px solid #fed685;
  text-align: left;
}

.nav h3 {
  background: url(../images/headline_bg.png) no-repeat;
  font-size: 30px;
  font-weight: bold;
  padding-left: 60px;
}

.nav .content div {
  border-top: 4px solid #ffc000;
  border-bottom: 4px solid #ffc000;
  padding: 20px 0;
}

.nav-list li {
  background: url(../images/iconSidemenuCircle.gif) no-repeat 0 10px;
  padding-left: 40px;
  margin-bottom: 10px;
}

.nav-list li a {
  display: block;
  font-size: 26px;
}

.banner li {
  margin: 10px;
}

.footer-nav {
  margin: 20px 0;
}

.footer-nav li a {
  display: block;
  border: 2px solid #91ba1e;
  border-radius: 6px;
  color: #c68038;
  text-decoration: none;
  text-align: center;
  margin: 4px 20px;
}

/*-------------------------------------- TOP */

h3.headline {
  background: #fde9d8;
  border-bottom: 4px solid #fec37b;
  font-size: 32px;
  text-align: center;
  padding-left: 20px;
  margin: 40px 0 20px 0;
}

.top-content01 {
  margin-top: 40px;
  position: relative;
}

.top-content01 h2 {
  position: absolute;
  width: 672px;
  background: url(../images/bg.gif);
  color: #ff9900;
  top: 4px;
  left: 14px;
  border-top-right-radius: 12px;
  border-top-left-radius: 12px;
  text-align: center;
  padding: 6px 0;
  font-size: 36px;
}

.top-content01 div div {
  border: 4px solid #ffc000;
  padding: 90px 16px 4px 16px;
  border-radius: 12px;
  font-size: 32px;
}

.top-content01 li {
  background: url("../images/check.png") no-repeat 0 10px;
  padding-left: 36px;
  margin-bottom: 20px;
}

.btn01 {
  text-align: center;
  padding: 20px 0 30px;
}

/* call */

.call {
  background: #ffc000;
  padding: 20px 0;
  color: #fff;
  font-size: 38px;
  text-align: center;
  margin: 40px 0;
}

.call a {
  color: #fff;
}

.call span {
  font-size: 22px;
  display: inline-block;
  margin-right: 30px;
}

.top-content .fl {
  width: 220px;
}

.top-content .fr {
  width: 440px;
}

.top-content04 .fl,
.top-content04 .fr {
  width: 48%;
}

.top-content04 .fl img,
.top-content04 .fr img {
  width: 100%;
  height: auto;
}

.gift_text {
  font-size: 24px;
  padding: 30px 0;
}

.info .content {
  min-height: 640px;
  margin-top: 30px;
  position: relative;
}

.info .content:after {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 198px);
  background: url(../images/bginfoWrap.png) no-repeat scroll 0 0;
  background-size: 690px 442px;
  position: absolute;
  top: 198px;
  left: 9px;
  z-index: -1;
}

.info .content .tit img {
  width: 100%;
}

.info .content .topinfoWrap {
  width: 530px;
  margin: 0 auto;
}

.info .content .topinfoWrap .topinfo {
  height: 265px;
  padding-right: 15px;
  font-size: 28px;
  overflow-y: scroll;
  /*overflow: hidden;*/
}

.info .content .topinfoWrap .topinfo > li {
  padding: 5px 0 5px 44px;
  display: flex;
  flex-direction: column;
  line-height: 1.5;
  background: url(../images/icoClover.png) no-repeat scroll 4px 8px;
  min-height: 40px;
  overflow: hidden;
  border-width: 1px 0 1px;
  border-style: dotted;
  border-color: #eeeeee;
  position: relative;
}

.info .content .topinfoWrap .topinfo > li:before {
  content: "";
  width: 29px;
  height: 39px;
  display: block;
  background: url(../images/icoClover.png) no-repeat scroll 4px 8px;
  background-size: cover;
  position: absolute;
  top: 2px;
  left: 0;
}

.info .content .topinfoWrap .topinfo > li > a {
  color: #39f;
}

.aboutWrap .content .mainTit img {
  width: 100%;
  height: auto;
}

.aboutWrap .content .catch {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding-bottom: 25px;
}

.aboutWrap .content .catch .txt {
  width: 540px;
  font-size: rem(34);
  border: 2px solid #553720;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 23px 0;
  position: relative;
  min-height: 100px;
}

.aboutWrap .content .catch .txt:after {
  content: "";
  background-image: url("../images/sub_common/deco_catch.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 34px;
  height: 31px;
  display: block;
  position: absolute;
  top: 50%;
  right: -34px;
  margin-top: -20px;
}

.aboutWrap .content .catch .txt > span {
  line-height: 1;
  font-feature-settings: 'palt';
}

.aboutWrap .content .catch .txt > span:nth-child(n + 2) {
  margin-top: 15px;
}

.aboutWrap .content .catch .txt > span.point {
  color: #fe595d;
  font-size: rem(42);
  text-align: center;
  line-height: 1.4;
}

.aboutWrap .content .catch .txt > span.point .num {
  font-size: rem(60);
}

.aboutWrap .content .catch .txt > span.point .mini {
  font-size: rem(34);
}

.aboutWrap .content .catch .pic {
  position: absolute;
  right: -15px;
  bottom: 0px;
}

.aboutWrap .content .catch .pic.treatment01 {
  right: -25px;
}

.aboutWrap .content .catch .pic.treatment02 {
  right: -30px;
}

.aboutWrap .content .catch .pic.treatment03 {
  right: -40px;
  bottom: -10px;
}

.aboutWrap .content .top-content > .pic {
  width: 330px;
  float: left;
  margin-right: 30px;
}

.aboutWrap .content .top-content > .pic img {
  width: 100%;
  height: auto;
}

.aboutWrap .content .top-content > .txt > .list {
  margin: 20px 0;
}

.aboutWrap .content .top-content > .txt > .list li {
  margin-bottom: 15px;
  padding-left: 38px;
  position: relative;
}

.aboutWrap .content .top-content > .txt > .list li:last-child {
  margin-bottom: 0;
}

.aboutWrap .content .top-content > .txt > .list li:before {
  content: "";
  width: 25px;
  height: 25px;
  display: block;
  background-color: #4F2527;
  border-radius: 50%;
  position: absolute;
  top: 11px;
  left: 0;
}

.preventionWrap .content .top-content > .txt > .pic {
  margin-bottom: 20px;
}

.preventionWrap .content .top-content > .txt > .pic img {
  width: 100%;
  height: auto;
}

.directorWrap .content {
  width: 670px;
  margin: 0 auto 70px;
  padding-bottom: 20px;
  position: relative;
}

.directorWrap .content::before {
  content: "";
  position: absolute;
  right: -20px;
  top: -15px;
  background-image: url("../images/sub_common/deco_box02.png");
  background-size: contain;
  width: 163px;
  height: 160px;
  display: block;
}

.directorWrap .content::after {
  content: '';
  position: absolute;
  background-image: url("../images/sub_common/bg_director.png");
  background-size: 672px 100%;
  background-repeat: no-repeat;
  width: 672px;
  height: 1550px;
  display: block;
  top: 25px;
  z-index: -2;
}

.directorWrap .content > .tit {
  position: relative;
  text-align: center;
  font-size: 38px;
  font-weight: normal;
  color: #61c064;
  line-height: 1.5;
  margin-bottom: 50px;
}

.directorWrap .content > .tit > .wrap {
  display: inline-block;
  vertical-align: bottom;
  background-color: #fff;
  padding: 0 14px;
  position: relative;
}

.directorWrap .content > .tit > .wrap::before {
  content: '';
  position: absolute;
  background-image: url("../images/sub_common/deco_tit09.png");
  width: 89px;
  height: 89px;
  top: 50%;
  left: -83px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.directorWrap .content .layout {
  width: 565px;
  margin: 0 auto;
}

.directorWrap .content .layout > .pic {
  margin-bottom: 32px;
  text-align: center;
}

.directorWrap .content .layout > .pic img {
  border-radius: 30px;
}

.directorWrap .content .layout > .pic + .ui_tit03 {
  margin-top: 52px;
}

.directorWrap .content .layout > .name {
  text-align: center;
  margin-bottom: 45px;
  font-size: rem(40);
  font-weight: normal;
  line-height: 1.2;
}

.directorWrap .content .layout > .name > span {
  font-size: rem(26);
}

.directorWrap .content .layout > .list {
  margin-bottom: 30px;
}

.directorWrap .content .layout > .list > li {
  margin-bottom: 28px;
  padding-left: 38px;
  position: relative;
}

.directorWrap .content .layout > .list > li:last-child {
  margin-bottom: 0;
}

.directorWrap .content .layout > .list > li:before {
  content: "";
  width: 25px;
  height: 25px;
  display: block;
  background-color: #4F2527;
  border-radius: 50%;
  position: absolute;
  top: 11px;
  left: 0;
}

/*-------------------------------------- CLINIC */

.clinic h1,
.staff h1 {
  position: relative;
  z-index: -1;
}

.clinic h1 span,
.staff h1 span {
  position: absolute;
  top: 200px;
  left: 90px;
  font-size: 20px;
  color: #9a7243;
  font-weight: bold;
}

.clinic ul {
  margin-bottom: 60px;
}

.clinic li {
  margin-top: 60px;
}

.clinic li .fl {
  width: 32%;
}

.clinic li .fl img {
  width: 100%;
  height: auto;
}

.clinic li .fr {
  width: 64%;
}

.clinic li h3 {
  background: #77b800;
  color: #fff;
  height: 34px;
  line-height: 34px;
  border-radius: 17px;
  margin-bottom: 20px;
  text-align: center;
}

.clinic h4 {
  color: #77b800;
  font-weight: bold;
  margin: 60px 0 20px 0;
}

.clinic h4:before {
  content: '● ';
  color: #4f2527;
}

/*-------------------------------------- STAFF */

.staff .message {
  padding: 0 30px 30px 30px;
  width: 680px;
  box-sizing: border-box;
  border: 3px solid #d4c2b3;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-top: none;
  margin-bottom: 80px;
}

.staff h3 img {
  height: 70px;
  width: auto;
}

.staff .fl img {
  vertical-align: middle;
}

.staff dt {
  float: left;
  width: 30%;
  clear: both;
}

.staff dt img {
  width: 100%;
  height: auto;
}

.staff dd {
  float: right;
  width: 68%;
  margin-top: 10px;
}