@charset "UTF-8";
.pc {
  display: block; }

.tablet {
  display: none; }

.smp {
  display: none; }

/* ================================================ 
	header 
==============================================================================================================================================================*/
header .innar {
  width: 100%;
  display: table;
  border-collapse: collapse; }
  header .innar .logo {
    width: 230px;
    display: table-cell;
    vertical-align: middle; }
    header .innar .logo img {
      width: 230px;
      height: 101px; }
  header .innar .right .flex {
    display: flex;
    flex-flow: column wrap;
    justify-content: flex-end;
    align-items: flex-end;
    /*--- IE10 用 ---*/
    display: -ms-flexbox;
    -ms-flex-flow: column wrap;
    -ms-flex-pack: flex-end;
    -ms-flex-align: flex-end;
    /*--- Androidブラウザ用 ---*/
    display: -webkit-box;
    -webkit-box-direction: column;
    -webkit-box-pack: flex-end;
    -webkit-box-align: flex-end;
    /*--- safari（PC）用 ---*/
    display: -webkit-flex;
    -webkit-flow: column wrap;
    -webkit-justify-content: flex-end;
    -webkit-align-items: flex-end; }
    header .innar .right .flex .time {
      margin-bottom: 10px;
      margin-right: 0;
      font-size: 12px;
      line-height: 150%; }
      header .innar .right .flex .time .txt {
        margin-bottom: 5px; }
      header .innar .right .flex .time .holiday {
        background: #9ad1c0;
        color: #Fff;
        text-align: center;
        padding: 1px 3px; }
    header .innar .right .flex .address {
      font-size: 12px;
      line-height: 100%; }
      header .innar .right .flex .address .txt {
        margin-bottom: 5px; }
      header .innar .right .flex .address .tel {
        font-size: 36px;
        line-height: 100%;
        padding-left: 45px;
        background: url(../img/tel_icon.svg) no-repeat left top;
        background-size: 36px 30px; }

/* ================================================ 
	メインビジュアル
==============================================================================================================================================================*/
.main-block {
  width: 100%;
  position: relative; }
  .main-block img {
    max-width: 100%;
    height: auto; }
  .main-block .h1-cover {
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 99999;
    width: 100%;
    padding: 0 30px;
    box-sizing: border-box; }

/* ================================================ 
	トップナビ
==============================================================================================================================================================*/
.top-nav {
  position: relative;
  top: -20px;
  margin: 0 auto -20px;
  z-index: 1000;
  border: 1px #73c2aa solid;
  border-radius: 10px;
  background: #fff;
  width: 94%;
  max-width: 1120px;
  box-sizing: border-box; }
  .top-nav ul {
    width: 100%;
    display: block;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    /*--- IE10 用 ---*/
    display: -ms-flexbox;
    -ms-flex-flow: row wrap;
    -ms-flex-pack: space-between;
    -ms-flex-align: center;
    /*--- Androidブラウザ用 ---*/
    display: -webkit-box;
    -webkit-box-direction: row wrap;
    -webkit-box-pack: space-between;
    -webkit-box-align: center;
    /*--- safari（PC）用 ---*/
    display: -webkit-flex;
    -webkit-flow: row wrap;
    -webkit-justify-content: space-between;
    -webkit-align-items: center; }
    .top-nav ul li {
      list-style-type: none;
      width: 25%;
      text-align: center;
      display: block;
      vertical-align: middle; }
      .top-nav ul li:first-child {
        background: #73c2aa;
        text-align: center;
        color: #fff;
        width: 100%;
        padding: 5px 0; }
        .top-nav ul li:first-child span {
          display: inline; }
      .top-nav ul li a {
        display: block;
        padding: 20px 0; }
        .top-nav ul li a span {
          padding-left: 28px;
          background: url(../img/icon_top_nav.svg) no-repeat left center;
          background-size: 18px 18px; }

/* ================================================ 
	インフォーメーション　
==============================================================================================================================================================*/
.info-block ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch;
  /*--- IE10 用 ---*/
  display: -ms-flexbox;
  -ms-flex-flow: row wrap;
  -ms-flex-pack: space-between;
  -ms-flex-align: stretch;
  /*--- Androidブラウザ用 ---*/
  display: -webkit-box;
  -webkit-box-direction: row wrap;
  -webkit-box-pack: space-between;
  -webkit-box-align: stretch;
  /*--- safari（PC）用 ---*/
  display: -webkit-flex;
  -webkit-flow: row wrap;
  -webkit-justify-content: space-between;
  -webkit-align-items: stretch; }
  .info-block ul li {
    list-style-type: none;
    width: 48%;
    margin-bottom: 45px;
    min-height: inherit !important;
    box-sizing: border-box;
    padding: 20px; }
    .info-block ul li:nth-child(1) {
      width: 100%;
      border: 1px #d1cfcf solid; }
    .info-block ul li:nth-child(2) {
      width: 32%;
      background: url(../img/bg_info1.jpg) no-repeat center top;
      background-size: cover; }
      .info-block ul li:nth-child(2) a {
        display: block;
        background: #73c2aa;
        color: #fff;
        text-align: center;
        padding: 10px;
        text-decoration: none; }
      .info-block ul li:nth-child(2) .en {
        color: #73c2aa; }
      .info-block ul li:nth-child(2) .block {
        background: url(../img/icon_info1.png) no-repeat center bottom 30px rgba(255, 255, 255, 0.7); }
    .info-block ul li:nth-child(3) {
      width: 32%;
      background: url(../img/bg_info2.jpg) no-repeat center top;
      background-size: cover; }
      .info-block ul li:nth-child(3) a {
        display: block;
        background: #c2b873;
        color: #fff;
        text-align: center;
        padding: 10px;
        text-decoration: none; }
      .info-block ul li:nth-child(3) .en {
        color: #c2b873; }
      .info-block ul li:nth-child(3) .block {
        background: url(../img/icon_info2.png) no-repeat center bottom 30px rgba(255, 255, 255, 0.7); }
    .info-block ul li:nth-child(4) {
      width: 32%;
      background: url(../img/bg_info3.jpg) no-repeat center top;
      background-size: cover; }
      .info-block ul li:nth-child(4) a {
        display: block;
        background: #c273a7;
        color: #fff;
        text-align: center;
        padding: 10px;
        text-decoration: none; }
      .info-block ul li:nth-child(4) .en {
        color: #c273a7; }
      .info-block ul li:nth-child(4) .block {
        background: url(../img/icon_info3.png) no-repeat center bottom 30px rgba(255, 255, 255, 0.7); }
    .info-block ul li .topics-cont {
      margin-bottom: 20px;
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-start;
      align-items: flex-start;
      /*--- IE10 用 ---*/
      display: -ms-flexbox;
      -ms-flex-flow: row wrap;
      -ms-flex-pack: flex-start;
      -ms-flex-align: flex-start;
      /*--- Androidブラウザ用 ---*/
      display: -webkit-box;
      -webkit-box-direction: row wrap;
      -webkit-box-pack: flex-start;
      -webkit-box-align: flex-start;
      /*--- safari（PC）用 ---*/
      display: -webkit-flex;
      -webkit-flow: row wrap;
      -webkit-justify-content: flex-start;
      -webkit-align-items: flex-start; }
      .info-block ul li .topics-cont:last-child {
        margin-bottom: 0; }
    .info-block ul li .innar {
      width: 100%;
      height: 100%;
      display: table; }
      .info-block ul li .innar .tit {
        display: block; }
        .info-block ul li .innar .tit .block {
          margin: 0 auto 20px;
          max-width: 210px;
          box-sizing: border-box;
          text-align: center;
          padding: 50px 0 70px; }
          .info-block ul li .innar .tit .block p {
            font-size: 16px;
            line-height: 180%; }
          .info-block ul li .innar .tit .block h2 {
            font-size: 16px;
            line-height: 120%; }
      .info-block ul li .innar .btn {
        margin: 0 auto;
        width: 150px;
        display: block; }

/* ================================================ 
	患者様の声　
==============================================================================================================================================================*/
.voice-block {
  padding: 50px 0; }
  .voice-block .swiper-button-prev,
  .voice-block .swiper-button-next {
    width: 40px;
    height: 40px;
    margin-top: -20px;
    top: 48% !important;
    -moz-background-size: 40px 40px;
    -webkit-background-size: 40px 40px;
    background-size: 40px 40px; }
  .voice-block .swiper-button-prev {
    left: 0; }
  .voice-block .swiper-button-next {
    right: 0; }
  .voice-block .voice-box {
    margin: 0 auto;
    padding: 58px;
    border: 1px #e6e6e6 solid; }
    .voice-block .voice-box .image {
      margin: 0 auto 20px;
      max-width: 340px;
      width: 100%;
      float: none; }
    .voice-block .voice-box .txt {
      width: 100%;
      float: none; }
      .voice-block .voice-box .txt dl {
        margin-bottom: 30px; }
      .voice-block .voice-box .txt .voice-tit {
        color: #73c2aa;
        font-size: 20px;
        line-height: 150%;
        margin-bottom: 20px; }
      .voice-block .voice-box .txt .vioce-txt {
        line-height: 180%; }
        .voice-block .voice-box .txt .vioce-txt p {
          margin-bottom: 1em; }
          .voice-block .voice-box .txt .vioce-txt p:last-child {
            margin-bottom: 0; }

/* ================================================ 
	フッター
==============================================================================================================================================================*/
footer {
  padding: 50px 0 0; }
  footer .foot-menu {
    padding: 30px 0;
    margin: 0 auto;
    width: 94%;
    max-width: 1120px; }
    footer .foot-menu ul {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between;
      align-items: flex-start;
      /*--- IE10 用 ---*/
      display: -ms-flexbox;
      -ms-flex-flow: row wrap;
      -ms-flex-pack: space-between;
      -ms-flex-align: flex-start;
      /*--- Androidブラウザ用 ---*/
      display: -webkit-box;
      -webkit-box-direction: row;
      -webkit-box-pack: space-between;
      -webkit-box-align: flex-start;
      /*--- safari（PC）用 ---*/
      display: -webkit-flex;
      -webkit-flow: row wrap;
      -webkit-justify-content: space-between;
      -webkit-align-items: flex-start; }
      footer .foot-menu ul li {
        list-style-type: none; }
        footer .foot-menu ul li:nth-child(1) {
          margin-bottom: 30px;
          width: 25%; }
        footer .foot-menu ul li:nth-child(2) {
          margin-bottom: 30px;
          width: 25%; }
        footer .foot-menu ul li:nth-child(3) {
          margin-bottom: 30px;
          width: 25%; }
        footer .foot-menu ul li:nth-child(4) {
          margin-bottom: 30px;
          width: 25%; }
        footer .foot-menu ul li:nth-child(5) {
          width: 25%; }
        footer .foot-menu ul li:nth-child(6) {
          width: 25%; }
        footer .foot-menu ul li:nth-child(7) {
          width: 50%; }

/* ================================================ 
	下層タイトル部分
==============================================================================================================================================================*/
.under-tit {
  background: #9ad1c0;
  padding: 40px 0; }
  .under-tit .innar {
    margin: 0 auto;
    width: 94%;
    max-width: 1120px;
    display: block;
    text-align: center; }
  .under-tit .tit {
    margin-bottom: 20px;
    font-size: 30px;
    line-height: 100%;
    vertical-align: middle;
    color: #fff;
    display: inline-block; }
    .under-tit .tit .clinic {
      padding: 15px 0 15px 66px;
      background: url(../img/icon_clinic.svg) no-repeat left top;
      background-size: 46px 60px; }
  .under-tit .h1-cover h1 {
    color: #fff;
    font-size: 12px;
    line-height: 180%;
    font-weight: normal; }

/* ================================================ 
	医院紹介
==============================================================================================================================================================*/
.greeting-block {
  background: #e6f7f2;
  padding: 50px 0; }
  .greeting-block .innar {
    margin: 0 auto;
    width: 94%;
    max-width: 952px;
    border: 1px #dadada solid;
    padding: 3px;
    background: #fff; }
    .greeting-block .innar .image {
      margin: 0 auto;
      max-width: 470px;
      width: 60%;
      float: none;
      padding: 20px 0 0; }
    .greeting-block .innar .txt {
      width: 100%;
      float: none;
      padding: 20px; }

/* ================================================ 
	治療内容
==============================================================================================================================================================*/
.menu-block {
  background: #e6f7f2;
  padding: 50px 0; }
  .menu-block .innar {
    margin: 0 auto 20px;
    width: 94%;
    max-width: 1112px;
    padding: 3px;
    border: 1px #dadada solid;
    background: #fff; }
    .menu-block .innar .inbox {
      margin: 0 auto;
      width: 90%; }
      .menu-block .innar .inbox .image {
        margin: 0 auto 20px;
        max-width: 470px;
        width: 50%;
        float: none;
        padding: 30px 0 0; }
      .menu-block .innar .inbox .txt {
        width: 100%;
        float: none;
        padding-bottom: 20px; }
  .menu-block .list {
    margin: 0 auto;
    width: 94%;
    max-width: 1112px; }
    .menu-block .list .h3-cover {
      margin-bottom: 10px; }
      .menu-block .list .h3-cover h3 {
        display: inline-block;
        color: #fff;
        background: #9ad1c0;
        font-weight: normal;
        font-size: 18px;
        line-height: 150%;
        padding: 10px 20px; }
    .menu-block .list ul {
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-start;
      align-items: flex-start;
      /*--- IE10 用 ---*/
      display: -ms-flexbox;
      -ms-flex-flow: row wrap;
      -ms-flex-pack: flex-start;
      -ms-flex-align: flex-start;
      /*--- Androidブラウザ用 ---*/
      display: -webkit-box;
      -webkit-box-direction: row;
      -webkit-box-pack: flex-start;
      -webkit-box-align: flex-start;
      /*--- safari（PC）用 ---*/
      display: -webkit-flex;
      -webkit-flow: row wrap;
      -webkit-justify-content: flex-start;
      -webkit-align-items: flex-start; }
      .menu-block .list ul li {
        list-style: none;
        width: 22%;
        margin-right: 4%;
        margin-bottom: 20px;
        box-sizing: border-box;
        background: #fff;
        border: 1px #d9d9d9 solid;
        text-align: center;
        padding: 10px 5px; }
        .menu-block .list ul li span {
          color: #a10303; }
        .menu-block .list ul li:nth-child(6n) {
          margin-right: 4%; }
        .menu-block .list ul li:nth-child(4n) {
          margin-right: 0 !important; }
        .menu-block .list ul li.none {
          background: none;
          border: none; }
    .menu-block .list .cap {
      margin-bottom: 20px;
      text-align: right; }
      .menu-block .list .cap span {
        color: #a10303; }

/* ================================================ 
	治療詳細
==============================================================================================================================================================*/
.treatment-intro {
  margin: 0 auto 50px; }
  .treatment-intro .image {
    max-width: 500px;
    margin: 0 auto 20px;
    width: 100%;
    float: none; }
  .treatment-intro .txt {
    width: 100%;
    float: none; }
    .treatment-intro .txt h2 {
      margin-bottom: 20px;
      border-top: 1px #9ad1c0 solid;
      border-bottom: 1px #ccc solid;
      padding: 20px 0;
      font-size: 24px;
      line-height: 150%;
      font-weight: normal; }
    .treatment-intro .txt ul {
      margin-bottom: 20px;
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-between;
      align-items: stretch;
      /*--- IE10 用 ---*/
      display: -ms-flexbox;
      -ms-flex-flow: row nowrap;
      -ms-flex-pack: space-between;
      -ms-flex-align: stretch;
      /*--- Androidブラウザ用 ---*/
      display: -webkit-box;
      -webkit-box-direction: row;
      -webkit-box-pack: space-between;
      -webkit-box-align: stretch;
      /*--- safari（PC）用 ---*/
      display: -webkit-flex;
      -webkit-flow: row nowrap;
      -webkit-justify-content: space-between;
      -webkit-align-items: stretch; }
      .treatment-intro .txt ul li {
        list-style-type: none;
        width: 30%;
        text-align: center;
        padding: 15px 10px;
        box-sizing: border-box; }
        .treatment-intro .txt ul li dl dt {
          font-size: 16px;
          line-height: 150%; }
        .treatment-intro .txt ul li dl dd {
          font-size: 13px;
          line-height: 150%; }
      .treatment-intro .txt ul.pt1 li {
        background: #efa5a3;
        color: #fff; }
    .treatment-intro .txt .sentence {
      line-height: 180%; }
      .treatment-intro .txt .sentence p {
        margin-bottom: 1em; }
        .treatment-intro .txt .sentence p:last-child {
          margin-bottom: 0; }
        .treatment-intro .txt .sentence p span {
          color: #b00400; }

.treatment-point {
  padding: 50px 0; }
  .treatment-point ul.pt1 {
    display: block; }
  .treatment-point ul.pt2 {
    display: block; }
  .treatment-point ul li {
    margin-bottom: 50px;
    width: 100%; }
    .treatment-point ul li:last-child {
      margin-bottom: 0; }
    .treatment-point ul li.image {
      margin: 0 auto 20px;
      max-width: 560px; }
    .treatment-point ul li .txt {
      padding: 0 0; }

.treatment-flow {
  background: #dff4ed;
  padding: 50px 0; }
  .treatment-flow img {
    max-width: 100%;
    height: auto; }
  .treatment-flow .tit {
    margin-bottom: 20px;
    text-align: center; }
    .treatment-flow .tit dd {
      font-family: 'HuiFontP109';
      color: #5f4b3e;
      font-size: 22px;
      line-height: 150%;
      font-weight: bold; }
  .treatment-flow .flow-box {
    margin: 0 auto 25px; }
    .treatment-flow .flow-box .ab {
      position: absolute;
      text-align: center;
      width: 100%;
      bottom: -20px; }
    .treatment-flow .flow-box .innar {
      border: 1px #e6e6e6 solid;
      padding: 30px 30px 60px;
      background: #fff; }
    .treatment-flow .flow-box .image {
      width: 34%;
      float: left; }
    .treatment-flow .flow-box .txt {
      width: 60%;
      float: right; }
      .treatment-flow .flow-box .txt h2 {
        margin-bottom: 30px;
        color: #73c2aa;
        font-size: 20px;
        line-height: 150%; }
        .treatment-flow .flow-box .txt h2 img {
          display: block;
          margin-right: 0;
          margin-bottom: 5px; }
      .treatment-flow .flow-box .txt .sentence p {
        margin-bottom: 1em;
        line-height: 160%; }
        .treatment-flow .flow-box .txt .sentence p:last-child {
          margin-bottom: 0; }

.correspondence-block {
  padding: 150px 0;
  background: url(../img/bg_correspondence.jpg) no-repeat center top #eaeeed;
  background-size: cover; }
  .correspondence-block .innar {
    margin: 0  auto;
    width: 94%;
    max-width: 1120px; }
    .correspondence-block .innar h2 {
      margin-bottom: 60px;
      width: 80%;
      font-size: 26px;
      line-height: 150%;
      font-weight: normal; }
    .correspondence-block .innar .sentence {
      width: 70%; }

.traffic-reazon ul li dl {
  position: relative;
  top: -32px;
  margin-bottom: -32px;
  width: 100%;
  display: block; }
  .traffic-reazon ul li dl dt {
    width: 62px !important;
    margin: 0 auto 10px;
    padding: 0;
    display: block; }
  .traffic-reazon ul li dl dd {
    display: block;
    padding: 0; }
    .traffic-reazon ul li dl dd p {
      display: block;
      background: #fff;
      padding: 10px;
      font-size: 14px;
      line-height: 160%;
      border-right: 1px #a19d9d solid;
      border-bottom: 1px #a19d9d solid; }

/* ================================================ 
	エンドブロック
==============================================================================================================================================================*/
.end-block .innar .flex {
  display: block; }
  .end-block .innar .flex .dial {
    margin-bottom: 20px;
    width: 100%; }
  .end-block .innar .flex .contact {
    width: 100%; }

/* ================================================ 
	患者様の声
==============================================================================================================================================================*/
.voice-area .voice-cont {
  padding: 0 20px 30px; }

/* ================================================ 
	お問い合わせ
==============================================================================================================================================================*/
.contact-block2 {
  padding: 0 3%; }
  .contact-block2 .innar {
    padding: 30px 0 50px; }

.conts,
.cofom {
  width: 100%;
  margin: 0 auto 30px;
  text-align: center; }

.conts .ms {
  text-align: center;
  margin-bottom: 40px; }

.conts dt {
  font-size: 110%;
  line-height: 150%;
  margin-bottom: 20px; }

.m-form {
  width: 100%;
  margin: 0px auto;
  text-align: left; }

.m-form td,
.m-form th {
  display: block;
  width: 100%; }

.m-form td {
  padding: 0;
  vertical-align: top;
  margin: 0;
  background: none;
  box-sizing: border-box; }
  .m-form td.cc {
    padding-bottom: 15px !important; }
  .m-form td.mid {
    text-align: center;
    padding: 15px 10px 0;
    font-size: 26px;
    line-height: 150%; }

.m-form th {
  width: 100%;
  padding: 0;
  vertical-align: top;
  margin-top: 20px;
  padding-bottom: 5px; }

.m-form td input {
  width: 100% !important;
  padding: 2% 0; }

.m-form td textarea {
  width: 100% !important;
  padding: 2% 0; }

.m-form th em {
  padding: 3px 0;
  color: #9e1818;
  font-size: 12px;
  line-height: 150%; }

.long input,
.long textarea {
  width: 90%; }

.middle input {
  width: 90%; }

.short input {
  width: 20% !important; }

.choose_list1 {
  margin-top: 30px;
  width: 100%; }

.choose_list1 li {
  width: 100%;
  float: none;
  margin: 0 0 20px !important; }
  .choose_list1 li:last-child {
    margin: 0; }

.choose_list1 li input {
  width: 100%; }

.m-form td.radio label {
  display: block; }

.m-form td.radio input {
  width: auto !important;
  padding: 0; }

.m-form td.check input {
  width: auto !important;
  padding: 0; }

.birthday p {
  display: block;
  margin-bottom: 5px; }
  .birthday p:last-child {
    margin-bottom: 0; }

.m-form td input.short {
  width: 70px !important; }

.m-form td input.code {
  width: 150px !important; }

.pv-bloxk {
  padding: 0 0 30px; }
  .pv-bloxk .innar {
    border: 1px #cdc solid;
    padding: 15px; }
    .pv-bloxk .innar h2 {
      margin-bottom: 10px;
      font-size: 20px;
      line-height: 150%;
      text-align: center; }
    .pv-bloxk .innar .txt p {
      margin-bottom: 10px;
      line-height: 160%; }
      .pv-bloxk .innar .txt p:last-child {
        margin-bottom: 0; }
