/* Func */
/* General */
html, body {
  margin: 0px;
  padding: 0px;
  font-size: 12px;
  font-family: "Meiryo", Arial;
  color: #333333; }

.clearfix {
  display: block;
  clear: both; }

img {
  border: none; }

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

.align-left {
  text-align: left; }

.align-right {
  text-align: right; }

.fleft {
  float: left; }

.fright {
  float: right; }

.link-to {
  text-align: center; }

.half-left {
  width: 50%; }

.half-right {
  width: 50%; }

.relative {
  position: relative; }

/* Wrapper */
.box-center {
  width: 960px;
  margin: 0px auto; }
  .box-center.padding {
    padding: 0px 35px;
    width: 890px; }

/* Header */
/* #header {
  border-bottom: 3px solid #BBA567;
  padding: 25px 0px 25px;
  position: relative;
  z-index: 1; }
  #header .logo {
    margin-top: 5px; } */

#banner {
  background-image: url(../images/bgr-banner.jpg);
  background-repeat: no-repeat;
  background-position: center top; }

#flower {
  background-image: url(../images/bgr-flower.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: #E593A2;
  padding: 15px 0px 40px; }

/* slider */
/* Content */
#content .the-title {
  background: #E791A6;
  box-shadow: 0px 2px 5px #E791A6;
  margin: 0px;
  padding: 30px 0px;
  position: relative;
  z-index: 9; }

#content .solution-container {
  padding: 80px 20px 0px; }
  #content .solution-container .box-center {
    background-image: url(../images/bgr-solution.jpg);
    background-repeat: repeat;
    background-position: center center;
    padding: 30px;
    box-shadow: 2px 2px 5px #777;
    margin-bottom: 5px; }
  #content .solution-container .pos {
    position: absolute;
    bottom: 100%;
    right: 20px; }
  #content .solution-container .solution-content {
    background: #fff; }
    #content .solution-container .solution-content ul {
      margin: 0px;
      padding: 0px;
      list-style: none;
      padding: 20px 25px; }
      #content .solution-container .solution-content ul li {
        background-image: url(../images/bgr-dot.png);
        background-repeat: repeat;
        background-position: center 0px;
        display: -moz-inline-stack;
        display: inline-block;
        zoom: 1;
        *display: inline;
        vertical-align: top;
        width: 50%;
        line-height: 40px;
        font-size: 16px;
        color: #000;
        padding: 1px 0px; }
        #content .solution-container .solution-content ul li:first-child {
          background: none; }
        #content .solution-container .solution-content ul li p {
          padding-left: 10%;
          background-image: url(../images/icon-stick.png);
          background-repeat: no-repeat;
          background-position: left center;
          margin: 0px; }
        #content .solution-container .solution-content ul li span {
          color: #F27391; }

#content .surgery-content {
  background: #FDFAF5;
  padding: 40px 0px; }
  #content .surgery-content .box-center {
    padding: 0px 20px;
    width: 920px; }
  #content .surgery-content .description-surgery {
    background-image: url(../images/bgr-surgery.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    padding-bottom: 45px; }
    #content .surgery-content .description-surgery ul {
      margin: 0px;
      padding: 0px;
      list-style: none;
      width: 640px; }
      #content .surgery-content .description-surgery ul li {
        margin-bottom: 10px; }
        #content .surgery-content .description-surgery ul li h5 {
          margin: 0px; }
        #content .surgery-content .description-surgery ul li p {
          font-size: 16px;
          color: #000;
          padding-left: 70px;
          line-height: 28px;
          margin: 0px; }

#content .safe-container {
  background-image: url(../images/bgr-safe.jpg);
  background-repeat: repeat;
  background-position: left top;
  background-size: cover;
  padding: 10px; }
  #content .safe-container .inner-safe {
    background-image: url(../images/bgr-safe1.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-color: #fff;
    padding: 40px 50px 40px; }
    #content .safe-container .inner-safe h5 {
      margin: 0px 0px 25px; }
    #content .safe-container .inner-safe .safe-thumbnails {
      width: 310px; }
      #content .safe-container .inner-safe .safe-thumbnails img {
        margin-bottom: 20px; }
    #content .safe-container .inner-safe .safe-txt {
      width: 470px; }
      #content .safe-container .inner-safe .safe-txt p {
        font-size: 16px;
        color: #000;
        line-height: 30px;
        margin-top: 0px; }
        #content .safe-container .inner-safe .safe-txt p span {
          color: #E5587F; }

#content .menu-container {
  background-image: url(../images/bgr-menu.jpg);
  background-repeat: repeat;
  background-position: left top;
  background-size: cover;
  padding: 10px;
  margin-top: 112px; }
  #content .menu-container .inner-menu {
    background-image: url(../images/bgr-menu1.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-color: #fff;
    padding: 110px 40px 20px;
    position: relative; }
    #content .menu-container .inner-menu h5 {
      margin: 0px;
      position: absolute;
      left: 0px;
      top: -90px;
      text-align: center;
      right: 0px; }
    #content .menu-container .inner-menu ul {
      margin: 0px;
      padding: 0px;
      list-style: none; }
      #content .menu-container .inner-menu ul li {
        margin-bottom: 30px; }
        #content .menu-container .inner-menu ul li .menu-text {
          width: 560px; }
          #content .menu-container .inner-menu ul li .menu-text h6 {
            margin: 0px; }
          #content .menu-container .inner-menu ul li .menu-text p {
            font-size: 16px;
            color: #000;
            line-height: 30px;
            margin-bottom: 0px; }
            #content .menu-container .inner-menu ul li .menu-text p span {
              color: #F58CA1; }

#content .step-container {
  background-image: url(../images/bgr-step.jpg);
  background-repeat: repeat;
  background-position: left top;
  background-size: cover;
  padding: 10px;
  margin-top: 45px; }
  #content .step-container .inner-step {
    background-image: url(../images/bgr-step1.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% 100%;
    background-color: #fff;
    padding: 40px 50px 20px;
    position: relative; }
    #content .step-container .inner-step h5 {
      margin: 0px 0px 35px; }
    #content .step-container .inner-step .step-list {
      padding: 0px 50px; }
      #content .step-container .inner-step .step-list ul {
        margin: 0px;
        padding: 0px;
        list-style: none; }
        #content .step-container .inner-step .step-list ul li {
          margin-bottom: 45px; }
          #content .step-container .inner-step .step-list ul li .step-num {
            float: left;
            margin: 0px 10px 0px 0px; }
          #content .step-container .inner-step .step-list ul li .step-text {
            float: left;
            width: 390px;
            font-size: 16px;
            color: #000; }
            #content .step-container .inner-step .step-list ul li .step-text h6 {
              margin: 20px 0px; }
          #content .step-container .inner-step .step-list ul li .step-thumb {
            float: right; }
          #content .step-container .inner-step .step-list ul li:nth-child(2n) .step-num {
            float: right;
            margin: 0px 0px 0px 10px; }
          #content .step-container .inner-step .step-list ul li:nth-child(2n) .step-text {
            float: right; }
            #content .step-container .inner-step .step-list ul li:nth-child(2n) .step-text h6 {
              text-align: right; }
          #content .step-container .inner-step .step-list ul li:nth-child(2n) .step-thumb {
            float: left; }

#content .care-container {
  background-image: url(../images/care-bgr.png);
  background-repeat: repeat;
  background-position: left top;
  background-size: 100% 100%;
  padding: 10px;
  margin-top: 55px; }
  #content .care-container .inner-care {
    padding: 50px 40px; }
    #content .care-container .inner-care h5 {
      margin: 0px 0px 25px; }
    #content .care-container .inner-care .care-list ul {
      margin: 0px;
      padding: 0px;
      list-style: none; }
      #content .care-container .inner-care .care-list ul li {
        display: -moz-inline-stack;
        display: inline-block;
        zoom: 1;
        *display: inline;
        vertical-align: top;
        width: 49%;
        margin-left: 1%; }
        #content .care-container .inner-care .care-list ul li .care-thumb {
          float: left; }
        #content .care-container .inner-care .care-list ul li .care-text {
          float: right;
          width: 50%; }
          #content .care-container .inner-care .care-list ul li .care-text h6 {
            margin: 5px 0px 10px; }
          #content .care-container .inner-care .care-list ul li .care-text p {
            font-size: 13px;
            color: #000;
            margin-bottom: 0px; }
        #content .care-container .inner-care .care-list ul li:first-child {
          margin-left: 0px;
          margin-right: 1%; }

#content .qa-container .inner-qa {
  padding: 50px 0px;
  background: #FDFAF5; }
  #content .qa-container .inner-qa .qa-list {
    padding: 0px 10px; }
    #content .qa-container .inner-qa .qa-list ul {
      margin: 0px;
      padding: 0px;
      list-style: none; }
      #content .qa-container .inner-qa .qa-list ul li {
        display: -moz-inline-stack;
        display: inline-block;
        zoom: 1;
        *display: inline;
        vertical-align: top;
        width: 49%;
        margin-right: 1%;
        margin-bottom: 30px;
        font-size: 16px;
        color: #000; }
        #content .qa-container .inner-qa .qa-list ul li .question {
          text-align: center; }
        #content .qa-container .inner-qa .qa-list ul li .answer {
          border-radius: 15px;
          box-shadow: 0px 0px 10px #F4DFEC;
          border: 1px solid #F2DBDE;
          background-color: #FFFFFF;
          padding: 25px;
          min-height: 210px;
          margin-top: 10px; }
          #content .qa-container .inner-qa .qa-list ul li .answer p {
            margin: 0px;
            line-height: 30px;
            background-image: url(../images/icon-a.png);
            background-repeat: no-repeat;
            background-position: 10px 7px;
            padding-left: 60px; }
        #content .qa-container .inner-qa .qa-list ul li:nth-child(2n) {
          margin-left: 1%;
          margin-right: 0px; }
        #content .qa-container .inner-qa .qa-list ul li.lotus .answer {
          background-image: url(../images/icon-lotus.png);
          background-repeat: no-repeat;
          background-position: right 20px bottom 20px; }
        #content .qa-container .inner-qa .qa-list ul li.flower .answer {
          background-image: url(../images/icon-flower.png);
          background-repeat: no-repeat;
          background-position: right 20px bottom 20px; }
  #content .qa-container .inner-qa .qa-more .question {
    text-align: center; }
  #content .qa-container .inner-qa .qa-more .answer {
    border-radius: 15px;
    box-shadow: 0px 0px 10px #F4DFEC;
    border: 1px solid #F2DBDE;
    background-color: #FFFFFF;
    padding: 25px 50px 25px 25px;
    margin-top: 10px;
    font-size: 16px;
    color: #000;
    background-image: url(../images/icon-flower.png);
    background-repeat: no-repeat;
    background-position: right 30px bottom 20px;
    background-size: auto 70%; }
    #content .qa-container .inner-qa .qa-more .answer p {
      margin: 0px;
      line-height: 30px;
      background-image: url(../images/icon-a.png);
      background-repeat: no-repeat;
      background-position: 15px 7px;
      padding-left: 80px; }

#content .description-container {
  background-image: url(../images/bgr-bottom-desc.jpg);
  background-repeat: repeat-x;
  background-position: center top;
  margin-top: 30px;
  background-color: #fff; }
  #content .description-container .description-title {
    background-image: url(../images/bgr-top-desc.jpg);
    background-repeat: repeat-x;
    background-position: center top;
    background-color: #fff;
    margin-bottom: -30px; }
    #content .description-container .description-title img {
      position: relative;
      top: -74px; }
  #content .description-container .inner-description {
    padding: 0px 10px; }
    #content .description-container .inner-description .main-doctor {
      font-size: 16px;
      color: #000; }
      #content .description-container .inner-description .main-doctor h6 {
        margin: 0px; }
      #content .description-container .inner-description .main-doctor p {
        margin: 15px 0px; }
      #content .description-container .inner-description .main-doctor span {
        color: #FD658B;
        line-height: 30px;
        margin: 0px; }
  #content .description-container .timesheet-doctor {
    position: relative;
    border: 6px solid #9677C7;
    border-radius: 20px;
    margin-top: 50px;
    box-shadow: 2px 2px 10px #ccc;
    padding: 20px 20px 15px;
    font-size: 13px;
    margin-bottom: 25px; }
    #content .description-container .timesheet-doctor p {
      margin: 0px;
      line-height: 22px; }
    #content .description-container .timesheet-doctor .more .img-doctor {
      position: absolute;
      bottom: 100%;
      right: 10px;
      margin-bottom: 6px; }
    #content .description-container .timesheet-doctor .more h5 {
      position: absolute;
      bottom: 100%;
      left: 10px;
      margin: 0px 0px -10px; }
    #content .description-container .timesheet-doctor ul {
      margin: 0px;
      padding: 0px;
      list-style: none; }
      #content .description-container .timesheet-doctor ul li {
        margin-top: 10px; }
        #content .description-container .timesheet-doctor ul li img {
          display: -moz-inline-stack;
          display: inline-block;
          zoom: 1;
          *display: inline;
          vertical-align: middle;
          margin-right: 10px; }
        #content .description-container .timesheet-doctor ul li span {
          display: -moz-inline-stack;
          display: inline-block;
          zoom: 1;
          *display: inline;
          vertical-align: middle; }
  #content .description-container .director {
    position: relative;
    border: 6px solid #EB6384;
    border-radius: 25px;
    margin-top: 50px;
    box-shadow: 2px 2px 10px #ccc;
    padding: 30px 50px 15px 200px;
    font-size: 13px;
    margin-bottom: 50px;
    background-image: url(../images/icon-flower.png);
    background-repeat: no-repeat;
    background-position: right 45px bottom 5px; }
    #content .description-container .director > img {
      position: absolute;
      left: -2px;
      bottom: -2px; }
    #content .description-container .director h6 {
      margin: 0px; }
    #content .description-container .director p {
      font-size: 14px;
      color: #000;
      line-height: 25px; }

#content .store-container {
  background: #FDFAF6; }
  #content .store-container .list-store {
    padding: 40px 0px; }
    #content .store-container .list-store ul {
      margin: 0px;
      padding: 0px;
      list-style: none; }
      #content .store-container .list-store ul li {
        margin-top: 25px;
        background: #FFFFFF;
        padding: 40px; }
        #content .store-container .list-store ul li:first-child {
          margin-top: 0px; }
        #content .store-container .list-store ul li .map {
          float: left;
          width: 415px; }
        #content .store-container .list-store ul li .information {
          float: right;
          width: 420px; }
          #content .store-container .list-store ul li .information h6 {
            margin: 0px; }
          #content .store-container .list-store ul li .information p {
            font-size: 13px;
            margin: 15px 0px 10px;
            line-height: 22px; }
          #content .store-container .list-store ul li .information a {
            color: #000; }
            #content .store-container .list-store ul li .information a:hover {
              color: #777; }

#content .btn-apply {
  padding: 50px 0px;
  background: #fff; }
  #content .btn-apply a {
    position: relative;
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    *display: inline;
    vertical-align: top; }
    #content .btn-apply a:hover img {
      opacity: 0; }
      #content .btn-apply a:hover img.hover {
        opacity: 1; }
  #content .btn-apply img {
    opacity: 1;
    position: absolute;
    left: 0px;
    top: 0px;
    -webkit-transition: all 600ms ease;
    -moz-transition: all 600ms ease;
    -ms-transition: all 600ms ease;
    -o-transition: all 600ms ease;
    transition: all 600ms ease; }
    #content .btn-apply img.hover {
      position: static;
      opacity: 1; }

/* Footer */
#footer {
  background: #E791A1;
  line-height: 29px;
  text-align: center;
  color: #fff; }
  #footer p {
    margin: 0px; }
	

/* 20181128追加  */

.youtube {
  width: 100%;
  padding-bottom: 56.25%;
  height: 0px;
  position: relative;
  margin-bottom: 6.25%;
}
.youtube iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.box02 .text dl {
    display: inline-block;
}
.box02 .text img {
    width: 15%;
    float: right;
    margin-right: 2%;
}

/* 20190902追加  */

header .flex_footer{
  padding: 2%;
}
header h1 {
    width: 50%;
    margin: 0!important;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
}
header a {
    width: 48%;
    display: inline-block;
    vertical-align: middle;
}
.contact a{
  margin-bottom: 10px;
  display: block;
}
.contact a.tel{
  display: block;
  border: 2px solid #ef6787;
  border-radius: 5px;
  padding-left: 10px;
}
.contact dl{
  display: table;
  font-size: 20px;
  margin: 10px 0;
  font-size: 16px;
}
.contact dl dt{
  display: table-cell;
}
.contact dl dt img{
  max-width: 100%;
  width: 34px;
}
.contact dl dd{
  display: table-cell;
  padding-left: 10px;
  font-weight: bold;
  color: #ef6787;
}
.contact .button01Text{
  margin-top: 10px;
}
.fixed_nav {
    position: fixed;
    padding: 2%;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 10000;
    margin: 0 auto;
    overflow: hidden;
    border-bottom: 3px solid #af9b75;
    width: 100%;
}
.fixed_nav .tel-wrap {
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify; /*IE10*/
  -webkit-box-pack: justify; /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between; /* Safari6.1以降 */
  margin-bottom: 7px;
  }
.fixed_nav .tel-wrap img{
  max-width: 100%;
  width: 32px;
}
.fixed_nav .tel-wrap a {
    display: block;
    color: #ef6787;
    text-decoration: none;
    font-size: 14px;
    width: calc(95%/3);
    border: 2px solid #ef6787;
    border-radius: 5px;
    padding: 2px 5px;
}
.fixed_nav .tel-wrap dl{
  display: table;
  margin-bottom: 0;
}
.fixed_nav .tel-wrap dl dt{
  display: table-cell;
}
.fixed_nav .tel-wrap dl dd{
  display: table-cell;
  padding-left: 5px;
}
.fixed_nav p {
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .02em;
    margin-bottom: 0;
}



/* 20201222 */
.flex{
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
}
.flex-between{
    -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flex_center {
  align-items: center;
}
.flex_wrap_sp {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
}
header {
    position: fixed;
    top: 0;
    height: 208px;
    left: 0;
    right: 0;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 1px 1px 4px #efefef;
}
header a{
    display: inline-block;
}

header .hd_top {
    padding: 30px 0 20px;
}

header{
    height: auto;
}
header .header_inner{
    width: 100%;
}
header .hd_tel{
    width: 95%!important;
    padding: 2% 0;
    margin: 0 auto;
}
header .hd_tel a{
    width: 50%;
}
header .hd_tel .hd_time{
    width: 50%;
}

header .flex_footer .inner{
    padding: 2%;
    width: 95%!important;
}

header .flex_footer{
  position: relative;
  z-index: 191;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  align-items: center;
  position: fixed;
  bottom: 0;
  background-color: #ffffff;
  box-shadow: 0 0 4px #c1c1c1;
  width: 100%;
}
header .flex_footer h1 {
    width: 60%;
    margin: 0!important;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
}

header .flex_footer a{
    width: 38%;
    display: inline-block;
    vertical-align: middle;
}
main{
    margin-top: 35vw;
}