@charset "UTF-8";
/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
body {
  background: #fff;
  font-size: 14px;
  font-family: "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "HiraKakuPro-W3", "Hiragino Kaku Gothic Pro", "Helvetica Neue", "游ゴシック  Medium", meiryo, sans-serif;
  line-height: 1.4;
}

h1 {
  color: #00317a;
}

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

:focus {
  outline: none;
}

a:hover {
  opacity: .8;
}

button:hover {
  cursor: pointer;
  opacity: .7;
}

#main-contents P {
  text-align: left;
  line-height: 2;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/* style */
.txt_img_sp {
  display: none;
}

.inner-box {
  display: block;
  max-width: 1000px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.inner-box.w900 {
  max-width: 900px;
}

.sec1 {
  margin-bottom: 92px;
}

.sec2 {
  margin-top: 48px;
}

.lp-lb1 {
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  padding: 18px;
  margin-bottom: 43px;
  position: relative;
}
.lp-lb1:after {
  content: "";
  background: #00317a;
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.lp-lb1 + .inner-box p.cat:first-child {
  margin-top: -10px;
}

.lp-lb2 {
  background: url("../img/lb_sub_bg.png") center bottom no-repeat;
  padding: 0 18px 29px;
  margin-bottom: 29px;
}

#main-contents p.cat {
  margin-bottom: 26px;
  text-align: center;
  font-size: 143%;
}

ul.disc li {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 7px;
}
ul.disc li:before {
  content: "・";
}

.bt_dotLine {
  background: url("../img/line_dot.png") 0 bottom repeat-x;
}

#main-contents p.t-center {
  text-align: center;
}

.f-left {
  float: left;
}

.f-right {
  float: right;
}

.wred {
  color: #b50101;
  font-weight: 700;
}

.over-hidden {
  overflow: hidden;
}

/* header */
#LP-header .inner-box {
  padding: 17px 0 14px;
  position: relative;
}
#LP-header #cv {
  background: url("../img/cv_bg.png") right 0 no-repeat;
  width: 251px;
  height: 214px;
  position: absolute;
  top: 0;
  right: -32px;
  z-index: 2;
}
#LP-header #cv span {
  display: inline-block;
}
#LP-header #cv .tel-link {
  width: 209px;
  padding: 27px 0 15px;
}
#LP-header #cv .mail-link {
  width: 112px;
  padding: 12px 0 22px;
}

#vi {
  position: relative;
}
#vi img.vi-img {
  width: 100%;
}
#vi img.vi-overTxt {
  max-width: 80%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

#LP-navi {
  display: table;
  background: #002e71;
  color: #fff;
  width: 100%;
  padding: 12px 0;
}
.naviFix #LP-navi {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
#LP-navi a {
  display: block;
  color: #fff;
  padding: 7px;
}
#LP-navi ul, #LP-navi ul li {
  display: inline-block;
  vertical-align: top;
}
#LP-navi ul li {
  margin: 0 30px;
}

#cv_sp {
  display: none;
  padding: 0 20px;
  margin: 30px 0 -50px;
}
#cv_sp a {
  display: inline-block;
  background: #00317a;
  border-radius: 8px;
  width: 37%;
  padding: 15px 4% 17px;
  margin: 0 1.5%;
  vertical-align: top;
}

@media screen and (min-width: 768px) and (max-width: 1080px) {
  #LP-navi {
    letter-spacing: -0.4em;
  }
  #LP-navi ul {
    max-width: 376px;
    width: 50%;
  }
  #LP-navi ul li {
    margin: 0;
    letter-spacing: normal;
  }
  #LP-navi ul li.gnv_01 {
    width: 71%;
  }
  #LP-navi ul li.gnv_02 {
    width: 29%;
  }
  #LP-navi ul li.gnv_03, #LP-navi ul li.gnv_05 {
    width: 25%;
  }
  #LP-navi ul li.gnv_04 {
    width: 50%;
  }
}
@media screen and (max-width: 899px) {
  #LP-header h1 {
    padding-right: 140px;
  }
  #LP-header #cv {
    background-size: cover;
    width: 194px;
    height: 165px;
    right: -4%;
  }
  #LP-header #cv .tel-link {
    width: 87%;
    padding: 10% 0 5%;
  }
  #LP-header #cv .mail-link {
    width: 50%;
    padding: 4% 0;
  }
}
@media screen and (max-width: 767px) {
  #LP-navi {
    padding: 0;
  }
  #LP-navi ul {
    display: table;
    width: 100%;
  }
  #LP-navi ul:nth-child(1) {
    border-bottom: solid 1px rgba(255, 255, 255, 0.6);
  }
  #LP-navi ul li {
    display: table-cell;
    border-right: solid 1px rgba(255, 255, 255, 0.6);
  }
  #LP-navi ul li:last-child {
    border-right: none;
  }
  #LP-navi ul li.gnv_01 {
    width: 67%;
  }
  #LP-navi ul li.gnv_02 {
    width: 33%;
  }
  #LP-navi ul li.gnv_03, #LP-navi ul li.gnv_05 {
    width: 27%;
  }
  #LP-navi ul li.gnv_04 {
    width: 46%;
  }
  #LP-navi a {
    padding: 12px;
  }
}
@media screen and (max-width: 599px) {
  #LP-header h1 {
    padding-right: 0;
  }
  #LP-header #cv {
    display: none;
  }

  #cv_sp {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  #cv_sp {
    padding: 0 1%;
    /*a {
      display: block;
      width: 80%;
      margin: 20px auto;
    }*/
  }
}
@media screen and (max-width: 420px) {
  #LP-navi ul li.gnv_01 {
    width: 70%;
  }
  #LP-navi ul li.gnv_02 {
    width: 30%;
  }
  #LP-navi ul li.gnv_03, #LP-navi ul li.gnv_05 {
    width: 24%;
  }
  #LP-navi ul li.gnv_04 {
    width: 52%;
  }
}
/* footer */
#LP-footer {
  background: #00317a;
  color: #fff;
}
#LP-footer .inner-box {
  padding: 43px 0 35px;
  position: relative;
}
#LP-footer #btn-pagetop {
  position: absolute;
  top: -70px;
  right: -41px;
}
#LP-footer .logo {
  margin-bottom: 14px;
}
#LP-footer .copy {
  font-size: 86%;
}

@media screen and (max-width: 960px) {
  #LP-footer #btn-pagetop {
    top: -60px;
    right: 0;
  }
}
@media screen and (max-width: 480px) {
  #LP-footer .inner-box {
    padding: 35px 0 20px;
  }
}
/* main */
.naviFix #LP-container {
  padding-top: 54px;
}

#prp, #voice,
#doctor, #freecons,
#clinic {
  margin-top: -54px;
  padding-top: 54px;
}

@media screen and (max-width: 767px) {
  .naviFix #LP-container {
    padding-top: 81px;
  }

  #prp, #voice,
  #doctor, #freecons,
  #clinic {
    margin-top: -81px;
    padding-top: 81px;
  }
}
#intro {
  margin-top: 100px;
}
#intro h2 {
  margin-bottom: 50px;
}
#intro p {
  text-align: center;
  line-height: 2.45;
}

#prp .lp-lb1:after {
  width: 378px;
}
#prp .merit-list {
  width: 103.2%;
  margin-top: 36px;
}
#prp .merit-list li {
  background: url("../img/bg_check.png");
  background-image: url("../img/corner_1.png"), url("../img/corner_2.png"), url("../img/corner_3.png"), url("../img/corner_4.png"), url("../img/bg_check.png");
  background-position: 0 0, right 0, right bottom, 0 bottom, 0 0;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat;
  float: left;
  width: 23.9%;
  padding: 42px 3.1% 28px;
  margin-right: 3.2%;
  position: relative;
}
#prp .merit-list li:before {
  content: "";
  background: center 0 no-repeat;
  width: 100%;
  height: 47px;
  position: absolute;
  top: -31px;
  left: 0;
}
#prp .merit-list li:nth-child(1):before {
  background-image: url("../img/merit_lb1.png");
}
#prp .merit-list li:nth-child(2):before {
  background-image: url("../img/merit_lb2.png");
}
#prp .merit-list li:nth-child(3):before {
  background-image: url("../img/merit_lb3.png");
}
#prp .merit-list h4 {
  color: #00317a;
  margin-bottom: 12px;
  font-size: 129%;
  font-weight: 700;
  white-space: nowrap;
}
#prp .merit-list .txt-box {
  margin-top: 10px;
}
#prp .half-box {
  display: table;
  width: 100%;
}
#prp .half-box .img-box,
#prp .half-box .txt-box {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
}
#prp .half-box .img-box {
  background: url("../img/img_02.jpg") center center no-repeat;
  background-size: cover;
}
#prp .half-box .img-box img {
  width: 100%;
  visibility: hidden;
}
#prp .half-box .txt-box {
  background: url("../img/bg_pat.jpg") center center no-repeat;
  background-size: cover;
  padding: 0 7.1%;
}
#prp .flow-list {
  width: 102.4%;
}
#prp .flow-list li {
  float: left;
  width: 25%;
}
#prp .flow-list li:last-child {
  width: 50%;
}
#prp .flow-list li:last-child .img-box, #prp .flow-list li:last-child p {
  width: 96%;
}
#prp .flow-list li:last-child .img-box {
  white-space: nowrap;
}
#prp .flow-list li:last-child img {
  max-width: 49.5%;
}
#prp .flow-list li:last-child img + img {
  margin-left: 1%;
}
#prp .flow-list .img-box, #prp .flow-list p {
  width: 90%;
}
#prp .flow-list .img-box {
  background: url("../img/icon_arrow.png") 98.5% center no-repeat;
  padding-right: 10%;
}
#prp .flow-list p {
  text-align: center;
  font-size: 115%;
  font-weight: 700;
}

#voice .lp-lb1:after {
  width: 536px;
}
#voice .voice-list li {
  border: solid 5px #d4deed;
  padding: 40px 45px 35px;
  margin-bottom: 35px;
}
#voice .voice-list h3 {
  padding-left: 156px;
  margin-bottom: 22px;
  text-align: left;
  position: relative;
}
#voice .voice-list h3 img.voice-num {
  position: absolute;
  top: 0;
  left: 0;
}
#voice .voice-list h3 .voice-title {
  display: block;
  background: url("../img/line_dash.png") 0 bottom repeat-x;
  padding: 5px 0 10px;
  font-size: 129%;
  font-weight: 700;
}
#voice .voice-list .voice-name {
  text-align: right;
}

#doctor .lp-lb1:after {
  width: 102px;
}
#doctor .img-box.f-left {
  width: 50%;
}
#doctor .img-box.f-left p {
  text-align: center;
  font-size: 115%;
}
#doctor .txt-box.f-right {
  width: 47.5%;
}
#doctor .prof-box {
  width: 48%;
  margin-top: 39px;
  text-align: left;
}
#doctor .prof-box h3 {
  background: #eee;
  padding: 7px;
  margin-bottom: 10px;
}
#doctor .prof-box dl dt, #doctor .prof-box dl dd {
  float: left;
  margin-bottom: 7px;
}
#doctor .prof-box dl dt {
  clear: both;
  width: 75px;
}
#doctor .prof-box.f-right img {
  margin-left: 10px;
}

#freecons .lp-lb1:after {
  width: 258px;
}
#freecons .freecons-intro-box {
  background: #00317a;
  color: #fff;
  padding: 50px 0 44px;
  position: relative;
}
#freecons .freecons-intro-box:after {
  content: "";
  border-style: solid;
  border-color: #00317a transparent transparent transparent;
  border-width: 26px 36px 0 36px;
  position: absolute;
  bottom: -26px;
  left: 50%;
  margin-left: -36px;
}
#freecons .freecons-intro-box .txt-box {
  width: 47.5%;
}
#freecons .freecons-intro-box .img-box {
  width: 50%;
}
#freecons #form-box {
  background: #eee;
  padding: 76px 0 98px;
}
#freecons #form-box .wred {
  margin-left: .5em;
}
#freecons #form-box li.bt_dotLine {
  padding-bottom: 20px;
}
#freecons #form-box li.bt_dotLine + li {
  padding-top: 20px;
}
#freecons #form-box input[type="text"], #freecons #form-box input[type="tel"], #freecons #form-box input[type="email"] {
  border: solid 1px #ddd;
  border-radius: 0;
  box-shadow: none;
  padding: 12px;
  margin: 0;
}
#freecons #form-box input.w-full {
  width: 91.5% !important;
}
#freecons #form-box input.w-half {
  width: 10em !important;
}
#freecons #form-box .mfp_buttons button {
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  text-shadow: none;
}

div.mfp_buttons .mfp_element_button {
  border: none;
  border-radius: 0;
  width: 140px;
  height: 45px;
  padding: 0;
  margin: 0 5px;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
div.mfp_buttons #mfp_button_send {
  background: url("../img/btn_submit.png") center center no-repeat;
}
div.mfp_buttons #mfp_button_cancel {
  background: url("../img/btn_back.png") center center no-repeat;
}

#clinic .lp-lb1:after {
  width: 102px;
}
#clinic .map-wrap {
  width: 100%;
  height: 0;
  padding-top: 350px;
  margin: 38px 0 33px;
  position: relative;
}
#clinic .map-wrap #map {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#clinic .info-box.f-right {
  border-left: solid 1px #e1e1e1;
  padding-left: 45px;
}
#clinic .info-box h3 {
  margin-bottom: 18px;
  text-align: left;
  font-size: 143%;
  font-weight: 700;
}
#clinic .time-table {
  width: 500px;
  margin-bottom: 5px;
}
#clinic .time-table th, #clinic .time-table td {
  border: solid 1px #ddd;
}
#clinic .time-table th {
  background: #a0a0a0;
  color: #fff;
  padding: 5px;
  text-align: center;
}
#clinic .time-table td {
  width: 10.8%;
  padding: 8px;
}
#clinic .time-table .time {
  width: 24.4%;
}
#clinic .time-table span {
  font-size: 150%;
}
#clinic .time-table .md {
  color: #00317a;
}

/* media query */
@media screen and (min-width: 768px) and (max-width: 1199px) {
  #prp .merit-list h4 {
    white-space: normal;
  }
  #prp .half-box .txt-box {
    padding: 40px 7.1%;
  }

  #doctor .prof-box.f-right img {
    float: none;
    margin-left: 0;
    margin-bottom: 10px;
  }

  #clinic .info-box.f-left {
    border-right: solid 1px #e1e1e1;
    width: 45%;
    padding-right: 3%;
  }
  #clinic .info-box.f-right {
    border-left: none;
    width: 48%;
    padding-left: 0;
  }
  #clinic .time-table {
    width: 100%;
  }
  #clinic .time-table td {
    padding: 4px;
  }
}
@media screen and (max-width: 960px) {
  /* main */
  #freecons .freecons-intro-box .txt-box,
  #freecons .freecons-intro-box .img-box {
    width: 100%;
  }
  #freecons .freecons-intro-box .txt-box {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  /* main */
  #prp .merit-list {
    width: 100%;
  }
  #prp .merit-list li {
    width: 93.8%;
    margin: 58px 0 0;
  }
  #prp .merit-list li:first-child {
    margin-top: 0;
  }
  #prp .half-box .img-box {
    display: block;
    width: 100%;
  }
  #prp .half-box .txt-box {
    display: block;
    width: 85.8%;
    padding: 26px 7.1%;
  }
  #prp .flow-list {
    width: 100%;
  }
  #prp .flow-list li {
    background: url("../img/icon_arrow_sp.png") center bottom no-repeat;
    float: none;
    width: 100% !important;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  #prp .flow-list li:last-child {
    background: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  #prp .flow-list .img-box, #prp .flow-list p {
    width: 100% !important;
  }
  #prp .flow-list .img-box {
    background: none;
    padding-right: 0;
  }

  #doctor .lp-lb1:after {
    width: 102px;
  }
  #doctor .img-box.f-left,
  #doctor .txt-box.f-right {
    width: 100%;
    margin-bottom: 15px;
  }
  #doctor .prof-box {
    width: 100%;
    margin-top: 20px;
  }
  #doctor .prof-box.f-right img {
    margin-bottom: 10px;
  }

  #clinic .info-box {
    width: 100%;
  }
  #clinic .info-box.f-right {
    border-left: none;
    border-top: solid 1px #e1e1e1;
    padding: 15px 0 0;
    margin-top: 15px;
  }
  #clinic .info-box h3 {
    margin-bottom: 10px;
  }
  #clinic .time-table {
    width: 100%;
  }
  #clinic .time-table td {
    padding: 0;
  }
}
@media screen and (max-width: 599px) {
  /* main */
  #prp .flow-list li:last-child .img-box {
    white-space: normal;
  }
  #prp .flow-list li:last-child img {
    display: block;
    max-width: none;
    margin: 0 auto;
  }
  #prp .flow-list li:last-child img + img {
    margin: 5px auto 0;
  }

  #voice .voice-list li {
    padding: 25px 6%;
    margin-bottom: 30px;
  }
  #voice .voice-list h3 {
    padding-left: 0;
    margin-bottom: 14px;
  }
  #voice .voice-list h3 img.voice-num {
    margin-bottom: 7px;
    position: relative;
  }

  #freecons .freecons-intro-box {
    padding: 33px 0 28px;
  }
  #freecons #form-box {
    padding: 60px 0 50px;
  }
  #freecons #form-box input.w-full {
    width: 100% !important;
  }
}
@media screen and (max-width: 480px) {
  /* style */
  .txt_img_pc {
    display: none;
  }

  .txt_img_sp {
    display: inline;
  }

  .sec1 {
    margin-bottom: 45px;
  }

  .sec2 {
    margin-top: 45px;
  }

  .lp-lb1 {
    margin-bottom: 30px;
  }

  .lp-lb2 {
    padding: 0 0 29px;
    margin-bottom: 15px;
  }

  #main-contents p.cat {
    margin-bottom: 15px;
    text-align: left;
    font-size: 128%;
  }

  /* main */
  #intro h2 {
    margin-bottom: 30px;
  }
  #intro p {
    text-align: left;
    line-height: 2;
  }

  #prp .lp-lb1:after {
    width: 73%;
  }

  #voice .lp-lb1:after {
    width: 64%;
  }

  #doctor .lp-lb1:after {
    width: 26%;
  }
  #doctor .prof-box dl dt, #doctor .prof-box dl dd {
    float: none;
  }
  #doctor .prof-box dl dt {
    margin-bottom: 3px;
  }
  #doctor .prof-box dl dd {
    margin-bottom: 12px;
  }
  #doctor .prof-box.f-right img {
    float: none;
    margin-left: 0;
    margin-bottom: 10px;
  }

  #freecons .lp-lb1:after {
    width: 51%;
  }

  #clinic {
    margin-bottom: 60px;
  }
  #clinic .lp-lb1:after {
    width: 26%;
  }
  #clinic .map-wrap {
    padding-top: 220px;
    margin: 15px 0 22px;
  }
}
