@charset "UTF-8";
/* media query mixin */
/* ==============================================================
リセット CSS11
=============================================================== */
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
html {
  font-family: "Hiragino Kaku Gothic Pro W6","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  color: #727171;
  font-size: 14px;
}

a {
  color: #59BAE3;
}

.wrapper {
  /*input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}*/
  /* reset and base */
  /*  html5doctor.com Reset Stylesheet v1.6.1 Last Updated: 2010-09-17 Author: Richard Clark - http://richclarkdesign.com  Twitter: @rich_clark */
  /* body { line-height:1;} */
  /* change colours to suit your needs */
  /* change colours to suit your needs */
  /* change border colour to suit your needs */
  /* ----------------------------------------
  *	add reset style
  ---------------------------------------- */
  /* ----------------------------------------
  *	Section: Clearing
  ---------------------------------------- */
  /* IE6 */
  /* IE7 */
  /* IE7 */
}
.wrapper article, .wrapper aside, .wrapper details, .wrapper figcaption, .wrapper figure, .wrapper footer, .wrapper header, .wrapper hgroup, .wrapper main, .wrapper nav, .wrapper section, .wrapper summary {
  display: block;
}
.wrapper audio, .wrapper canvas, .wrapper progress, .wrapper video {
  display: inline-block;
  vertical-align: baseline;
}
.wrapper audio:not([controls]) {
  display: none;
  height: 0;
}
.wrapper [hidden], .wrapper template {
  display: none;
}
.wrapper a {
  background: transparent;
}
.wrapper a:active, .wrapper a:hover {
  outline: 0;
}
.wrapper a:visited {
  text-decoration: none;
}
.wrapper abbr[title] {
  border-bottom: 1px dotted;
}
.wrapper b, .wrapper strong {
  font-weight: bold;
}
.wrapper dfn {
  font-style: italic;
}
.wrapper h1 {
  font-size: 2em;
  margin: .67em 0;
}
.wrapper mark {
  background: #ff0;
  color: #000;
}
.wrapper small {
  font-size: 80%;
}
.wrapper sub, .wrapper sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.wrapper sup {
  top: -0.5em;
}
.wrapper sub {
  bottom: -0.25em;
}
.wrapper img {
  border: 0;
}
.wrapper svg:not(:root) {
  overflow: hidden;
}
.wrapper figure {
  margin: 1em 40px;
}
.wrapper hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
.wrapper pre {
  overflow: auto;
}
.wrapper code, .wrapper kbd, .wrapper pre, .wrapper samp {
  font-family: monospace,monospace;
  font-size: 1em;
}
.wrapper button, .wrapper input, .wrapper optgroup, .wrapper select, .wrapper textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
.wrapper button {
  overflow: visible;
}
.wrapper button, .wrapper select {
  text-transform: none;
}
.wrapper button, .wrapper html input[type="button"], .wrapper input[type="reset"], .wrapper input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
.wrapper button[disabled], .wrapper html input[disabled] {
  cursor: default;
}
.wrapper button::-moz-focus-inner, .wrapper input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.wrapper input {
  line-height: normal;
}
.wrapper input[type="checkbox"], .wrapper input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
.wrapper [type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
.wrapper input[type="search"]::-webkit-search-cancel-button, .wrapper input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
.wrapper fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: .35em .625em .75em;
}
.wrapper legend {
  border: 0;
  padding: 0;
}
.wrapper textarea {
  overflow: auto;
}
.wrapper optgroup {
  font-weight: bold;
}
.wrapper table {
  border-collapse: collapse;
  border-spacing: 0;
}
.wrapper td, .wrapper th {
  padding: 0;
}
.wrapper body, .wrapper div, .wrapper span,
.wrapper h1, .wrapper h2, .wrapper h3, .wrapper h4, .wrapper h5, .wrapper h6, .wrapper p, .wrapper dl, .wrapper dt, .wrapper dd, .wrapper ul, .wrapper ol, .wrapper li, .wrapper table, .wrapper tbody, .wrapper tfoot, .wrapper thead, .wrapper tr, .wrapper th, .wrapper tt, .wrapper img,
.wrapper caption, .wrapper article, .wrapper aside, .wrapper canvas, .wrapper details, .wrapper footer, .wrapper header, .wrapper hgroup, .wrapper menu, .wrapper nav, .wrapper section,
.wrapper fieldset, .wrapper form, .wrapper label, .wrapper legend, .wrapper table, .wrapper figcaption, .wrapper figure, .wrapper summary, .wrapper time, .wrapper mark, .wrapper audio, .wrapper video {
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
}
.wrapper img {
  border: none;
  vertical-align: top;
  line-height: 1;
}
.wrapper a {
  text-decoration: none;
}
.wrapper a:hover {
  text-decoration: none;
}
.wrapper ol, .wrapper ul, .wrapper li {
  list-style: none;
}
.wrapper li {
  display: list-item;
}
.wrapper body {
  /*=== fontReset ===*/
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-style: normal;
  font-size: 14px;
  line-height: 1.5;
  background: #ffffff;
  color: #727171;
}
.wrapper h1, .wrapper h2, .wrapper h3, .wrapper h4, .wrapper h5, .wrapper h6 {
  font-weight: normal;
  line-height: 1.1;
  font-size: 100%;
}
.wrapper article, .wrapper aside, .wrapper main, .wrapper details, .wrapper figcaption, .wrapper figure, .wrapper footer, .wrapper header, .wrapper hgroup, .wrapper menu, .wrapper nav, .wrapper section {
  display: block;
}
.wrapper nav ul {
  list-style: none;
}
.wrapper blockquote, .wrapper q {
  quotes: none;
}
.wrapper blockquote:before, .wrapper blockquote:after, .wrapper q:before, .wrapper q:after {
  content: '';
  content: none;
}
.wrapper a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: inherit;
}
.wrapper ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
.wrapper mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
.wrapper del {
  text-decoration: line-through;
}
.wrapper abbr[title], .wrapper dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
.wrapper table {
  border-collapse: collapse;
  border-spacing: 0;
}
.wrapper hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
.wrapper input, .wrapper select {
  vertical-align: middle;
}
.wrapper input[type="text"]:focus,
.wrapper input[type="password"]:focus,
.wrapper textarea:focus,
.wrapper select:focus {
  outline: 1px solid #8dafe6;
}
.wrapper input[type="image"]:focus,
.wrapper input[type="button"]:focus {
  outline: none;
}
.wrapper .clearfix:after {
  visibility: hidden;
  display: block;
  content: " ";
  clear: both;
  height: 0;
}
.wrapper * html .clearfix {
  zoom: 1;
}
.wrapper *:first-child + html .clearfix {
  zoom: 1;
}
.wrapper * + html * {
  zoom: 1;
}

ul, li, p, h1, h2, h3 {
  padding: 0px;
  margin: 0px;
  list-style: none;
}

img {
  vertical-align: middle;
}

.is-hidden {
  display: none;
}

.is-unvisible {
  visibility: hidden;
}

.is-show {
  display: block;
}

.is-sp-show {
  display: none;
}
@media screen and (max-width: 768px) {
  .is-sp-show {
    display: block;
  }
  br.is-sp-show {
    display: inline;
  }
  img.is-sp-show {
    display: inline;
  }
  span.is-sp-show {
    display: inline;
  }
}

.is-tablet-show {
  display: none;
}
@media screen and (min-width: 769px) and (max-width: 100%) {
  .is-tablet-show {
    display: block;
  }
  br.is-tablet-show {
    display: inline;
  }
  img.is-tablet-show {
    display: inline;
  }
  span.is-tablet-show {
    display: inline;
  }
}

.is-tabletSp-show {
  display: none;
}
@media screen and (max-width: 100%) {
  .is-tabletSp-show {
    display: block;
  }
  br.is-tabletSp-show {
    display: inline;
  }
  img.is-tabletSp-show {
    display: inline;
  }
  span.is-tabletSp-show {
    display: inline;
  }
}

@media screen and (max-width: 768px) {
  .is-tabletpc-show {
    display: none;
  }
}

@media screen and (max-width: 100%) {
  .is-pc-show {
    display: none;
  }
}

.u-cf:after {
  visibility: hidden;
  display: block;
  content: " ";
  clear: both;
  height: 0;
}
* html .u-cf {
  height: 1px;
}

.u-text-left {
  text-align: left !important;
}

.u-text-center {
  text-align: center !important;
}

.u-text-right {
  text-align: right !important;
}

.u-text-bold {
  font-weight: bold !important;
}

.u-text-italic {
  font-weight: bold !important;
}

.u-hover, .u-hoverAll a {
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -ms-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.u-hover:hover, .u-hoverAll a:hover {
  opacity: 0.6;
}

/* ==============================================================
Common CSS
=============================================================== */
body {
  max-width: 100%;
  height: 100%;
  background-color: #ffffff;
}

noscript {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  padding: 15px 0;
  color: #fff;
  text-align: center;
  font-weight: bold;
  background-color: #e00;
}

.contents {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .contents {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 15px 0 15px;
  }
}

@media screen and (min-width: 768px) {
  .br-sp {
    display: none;
  }

  .br-pc {
    display: block;
  }
}
@media screen and (max-width: 769px) {
  .br-sp {
    display: block;
  }

  .br-pc {
    display: none;
  }
}
.displyanone {
  display: none;
}

/* ==============================================================
PC header
=============================================================== */
header {
  position: fixed;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.85);
  z-index: 899;
  transition: 0.5s;
}

.h-wrap {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

.scloll {
  box-shadow: 0px 0px 10px #ccc;
}

@media screen and (min-width: 769px) {
  header {
    font-size: 100%;
    padding-bottom: 2px;
    margin-top: -50px;
    padding-top: 50px;
  }
  header h1 {
    float: left;
    width: calc(19% - 20px);
    padding-left: 20px;
  }
  header h1 img {
    width: 100%;
    max-width: 250px;
    margin-top: -7.7%;
  }
  header nav {
    float: right;
    width: 80%;
  }
  header nav ul {
    text-align: right;
    padding-right: 20px;
  }
  header nav ul li {
    transition: 0.5s;
    display: inline-block;
    margin-left: 14px;
    font-size: 14px;
  }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
  header nav ul li {
    font-size: 14px;
  }
}
@media screen and (min-width: 769px) and (max-width: 800px) {
  header nav ul li {
    font-size: 12px;
  }
}
@media screen and (min-width: 769px) and (min-width: 1000px) {
  header nav ul li {
    font-size: 16px;
  }
}
@media screen and (min-width: 769px) {
  header nav ul li a {
    display: block;
    text-decoration: none;
  }
  header nav ul li a:hover {
    text-decoration: underline;
  }
  header nav ul li img {
    transition: 0.5s;
  }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
  header nav ul li {
    padding-top: 8px;
  }
}
@media screen and (min-width: 769px) {
  header nav ul li:first-child {
    margin-left: 0px;
  }
  header nav p {
    text-align: right;
    font-size: 10px;
    margin-top: -4px;
    margin-right: 20px;
  }
  header nav .app-btn img {
    width: 140px;
    height: 56px;
  }
  header nav .app-apple {
    margin-left: 20px;
  }
  header nav .app-apple img {
    width: 115px;
  }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
  header nav .app-apple img {
    width: 73px;
    height: 34px;
  }
}
@media screen and (min-width: 769px) {
  header nav .app-google {
    margin-left: 0px;
    margin-right: -10px;
  }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
  header nav .app-google img {
    width: 98px;
    height: 36px;
  }
}

/* ==============================================================
SP header
=============================================================== */
@media screen and (max-width: 768px) {
  h1 {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 65%;
    padding-top: 2%;
    padding-right: 50px;
  }
  h1 img {
    width: 100%;
    margin-top: -15%;
  }
  h1 svg {
    width: 100%;
    height: 50px;
  }

  .toggle {
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    right: -10px;
    display: block;
    width: 45px;
    height: 40px;
    cursor: pointer;
    z-index: 901;
    top: 50%;
  }
  .toggle span {
    display: block;
    position: absolute;
    width: 70%;
    border-bottom: solid 3px #59BAE3;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    padding-top: 5px;
    right: 7px;
  }
  .toggle span:nth-child(1) {
    top: 3px;
  }
  .toggle span:nth-child(2) {
    top: 13px;
  }
  .toggle span:nth-child(3) {
    top: 23px;
  }
  .toggle span:nth-child(4) {
    border: none;
    top: 28px;
    left: 5px;
    font-size: 12px;
    font-weight: bold;
  }

  /* click */
  .toggle.active span:nth-child(1) {
    top: 15px;
    left: 4px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  .toggle.active span:nth-child(2), .toggle.active span:nth-child(3) {
    top: 15px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  /* .global_nav */
  .sp-nav {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    transform: translatex(100%);
    z-index: 900;
    padding-top: 20px;
    background: #59BAE3;
    background-color: rgba(89, 186, 227, 0.9);
    transition: all 0.8s;
    height: 100%;
  }
  .sp-nav p {
    text-align: center;
    width: 100%;
  }
  .sp-nav .tit {
    width: 70%;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
    padding-right: 50px;
  }
  .sp-nav .tit img {
    margin-top: -15%;
  }
  .sp-nav p:last-child svg {
    width: 14px;
    height: 14px;
    margin-left: 5px;
    vertical-align: baseline;
  }
  .sp-nav p:last-child svg path {
    fill: #FFF;
  }
  .sp-nav .sp-txt {
    position: absolute;
    bottom: 40px;
    width: 100%;
  }
  .sp-nav .sp-txt .txt {
    color: #FFF;
    font-size: 16px;
  }
  .sp-nav .sp-txt ul {
    text-align: center;
    margin-bottom: 20px;
  }
  .sp-nav .sp-txt ul li {
    display: inline-block;
  }
  .sp-nav .sp-txt p a {
    color: #FFF;
    text-decoration: none;
  }
  .sp-nav .sp-txt .app-btn li {
    width: 42%;
    padding: 0 2% 0 2%;
  }
  .sp-nav .sp-txt .app-btn svg {
    width: 100px;
    height: 50px;
  }
  .sp-nav .sp-txt .app-google img {
    width: 160px;
  }
  .sp-nav ul.sp-menu {
    margin: 0 25px 0 25px;
  }
  .sp-nav ul.sp-menu li {
    position: relative;
  }
  .sp-nav ul.sp-menu li a {
    padding: 10px 20px 10px 20px;
    border-bottom: solid 1px #FFF;
    display: block;
    color: #FFF;
    text-decoration: none;
    font-size: 20px;
  }
  .sp-nav ul.sp-menu li a:before {
    content: '';
    width: 14px;
    height: 14px;
    border: 0px;
    border-top: solid 2px #FFF;
    border-right: solid 2px #FFF;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 40%;
    right: 30px;
  }
  .sp-nav ul.sp-menu li:first-child {
    border-top: solid 1px #FFF;
  }

  /* .global_navに.activeが追加 */
  .sp-nav.active {
    transform: none;
  }
}
/* ==============================================================
mainV
=============================================================== */
.adjust-box {
  position: relative;
  width: 100%;
  height: auto;
}

.box-1x1:before {
  content: "";
  display: block;
  padding-top: 60%;
}
@media screen and (max-width: 680px) {
  .box-1x1:before {
    padding-top: 175%;
  }
}

.inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.inner-box {
  width: 100%;
  max-width: 1249px;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  position: fixed;
}

.mainv {
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 768px) {
  .mainv {
    display: inline;
  }
}
.mainv .main-img {
  -webkit-order: 1;
  order: 1;
  width: 90%;
  padding-top: 5%;
  background-image: url("../img/mv.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 1000px) {
  .mainv .main-img {
    width: 65%;
  }
}
@media screen and (min-width: 1100px) {
  .mainv .main-img {
    width: 67%;
    background-position: center bottom;
    padding-top: 2%;
  }
}
@media screen and (max-width: 768px) {
  .mainv .main-img {
    -webkit-order: 2;
    order: 2;
    background-position: center top;
    width: 72%;
    margin-left: auto;
    margin-right: auto;
  }
}
.mainv .main-txt {
  -webkit-order: 2;
  order: 2;
  margin-top: -10%;
  line-height: 130%;
  font-size: 46px;
  font-weight: bold;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1250px) {
  .mainv .main-txt {
    font-size: 70px;
  }
}
.mainv .main-txt span {
  color: #59BAE3;
}
@media screen and (max-width: 768px) {
  .mainv .main-txt {
    -webkit-order: 1;
    order: 1;
    padding-top: 25%;
  }
}
@media screen and (min-width: 480px) and (max-width: 768px) {
  .mainv .main-txt {
    font-size: 40px;
  }
}
@media screen and (max-width: 479px) {
  .mainv .main-txt {
    font-size: 26px;
  }
}
.mainv .main-txt .main-box {
  text-align: center;
}
.mainv .main-txt h2 {
  margin-bottom: 0px;
}
.mainv .main-txt h2:before {
  content: none;
  margin-bottom: 0px;
}

.mainvcover {
  position: relative;
  z-index: 898;
  background-color: #FFF;
}

/* ==============================================================
main
=============================================================== */
main {
  width: 100%;
  overflow: hidden;
  background-size: auto 100%;
}
main img {
  width: 100%;
}
main h2 {
  font-size: 30px;
  letter-spacing: 0.2em;
  text-align: center;
  line-height: 130%;
  position: relative;
  display: inline-block;
  margin-bottom: 40px;
  width: 100%;
}
@media screen and (min-width: 769px) {
  main h2 {
    font-size: 40px;
  }
}
main h2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px;
  display: inline-block;
  width: 120px;
  height: 2px;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #727171;
}
main h3 {
  font-size: 24px;
  text-align: center;
  line-height: 240%;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  main h3 {
    font-size: 40px;
  }
}
main .sentence-main {
  text-align: center;
  font-size: 18px;
  margin-bottom: 3em;
  line-height: 180%;
}
@media screen and (min-width: 769px) {
  main .sentence-main {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  #medical P {
    text-align: left;
  }
  #medical .sp-center {
    text-align: center;
  }
}

.medical-list p {
  margin-bottom: 30px;
  font-size: 18px;
}
@media screen and (min-width: 769px) {
  .medical-list p {
    font-size: 24px;
  }
}

.price-list {
  z-index: 15;
  position: relative;
}
.price-list p {
  margin-bottom: 30px;
  font-size: 18px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .price-list p {
    font-size: 24px;
  }
}
.price-list p:first-child {
  font-size: 30px;
}
@media screen and (max-width: 768px) {
  .price-list p:first-child {
    font-size: 18px;
  }
  .price-list p:first-child span {
    display: block;
  }
}
.price-list .btn-link a {
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
  display: block;
  width: 45%;
  padding: 10px 0 10px 0;
  margin-left: auto;
  margin-right: auto;
  background-color: #59BAE3;
  /* box-shadow */
  box-shadow: 4px 5px 12px -4px #dbdbdb;
  /* border-radius */
  border-radius: 6px;
  /* border */
  border: 2px solid #ffffff;
  shadowColor: #dbdbdb;
  shadowOpacity: 1;
  shadowRadius: 12;
  borderWidth: 2;
  borderColor: #ffffff;
  borderRadius: 6;
}
@media screen and (max-width: 540px) {
  .price-list .btn-link a {
    width: 55%;
  }
}
.price-list .btn-link a:hover {
  background-color: #FFF;
  color: #59BAE3;
  transition: all 0.5s;
}
.price-list .mark-batsu {
  display: inline-block;
  position: relative;
  padding: 0;
  width: 2px;
  height: 19px;
  background: #FFF;
  transform: rotate(45deg);
}
.price-list .mark-batsu:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: -8px;
  width: 19px;
  height: 2px;
  margin-top: -2px;
  background: #FFF;
}
.price-list .mark-check {
  position: relative;
  display: inline-block;
  top: -15px;
  left: -10px;
}
.price-list .mark-check:after, .price-list .mark-check:before {
  content: '';
  height: 18px;
  width: 2px;
  display: block;
  background: #FFF;
  position: absolute;
  left: 15px;
  top: 1px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
}
.price-list .mark-check:before {
  height: 10px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  top: 8px;
  left: 7px;
}
.price-list table {
  width: 100%;
  display: table;
  border-spacing: 0;
  border-collapse: collapse;
}
.price-list table th, .price-list table td {
  padding: 10px 5px 10px 5px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .price-list table th, .price-list table td {
    font-size: 18px;
  }
}
@media screen and (min-width: 769px) {
  .price-list table tr:nth-child(odd) td {
    background-color: #FFF;
    color: #59BAE3;
  }
  .price-list table tr:nth-child(odd) td .mark-batsu {
    background: #59BAE3;
  }
  .price-list table tr:nth-child(odd) td .mark-batsu:before {
    background: #59BAE3;
  }
  .price-list table tr:nth-child(odd) td .mark-check:after, .price-list table tr:nth-child(odd) td .mark-check:before {
    background: #59BAE3;
  }
  .price-list table tr td:first-child {
    text-align: left;
  }
}
.price-list .sp-price {
  font-size: 18px;
}
.price-list .sp-price tr:nth-child(odd) td {
  border-right: solid 1px #FFF;
}
.price-list .sp-price tr:nth-child(odd) td:last-child {
  border-right: none;
}
.price-list .sp-price tr:nth-child(3) td {
  border-right: none;
}

#introduction {
  padding: 0px;
}
@media screen and (max-width: 768px) {
  #introduction {
    padding: 40px 0px 40px 0px;
  }
}

.doctor {
  overflow: hidden;
  padding: 40px 0 0 0;
}
.doctor .doctor-img img {
  widht: 100%;
}
.doctor .doctor-detail {
  font-size: 18px;
  padding: 15px 15px 0 15px;
}
@media screen and (min-width: 769px) {
  .doctor .doctor-detail {
    font-size: 20px;
    padding: 15px 15px 0 15px;
    display: table;
  }
}
.doctor .doctor-detail p.doctor-name {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
}
@media screen and (min-width: 769px) {
  .doctor .doctor-detail p.doctor-name {
    font-size: 40px;
  }
}
.doctor .doctor-detail p.doctor-name span {
  display: block;
  font-size: 14px;
  font-weight: normal;
}
@media screen and (min-width: 769px) {
  .doctor .doctor-detail p.doctor-name span {
    font-size: 20px;
  }
}

@media screen and (min-width: 769px) {
  .doctor .doctor-img {
    float: left;
    width: 45%;
  }
  .doctor .doctor-img img {
    width: 100%;
    vertical-align: top;
  }
  .doctor .doctor-detail {
    padding: 0px 2% 0px 2%;
    float: right;
    width: 51%;
  }
}
.doctor-detail p {
  margin-bottom: 10px;
}

/* ==============================================================
acodion
=============================================================== */
@media screen and (max-width: 768px) {
  .hide-text {
    display: none;
  }

  .doctor-detail {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 769px) {
  .hide-text {
    display: inline;
  }
}
.acc-btn {
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  top: 25px;
  left: 50%;
  position: relative;
  display: inline-block;
  width: 40%;
  height: 40px;
  cursor: pointer;
  z-index: 3;
  background: #FFF;
  border-radius: 18px;
  padding: 0 2% 0 2%;
  border: solid 2px #FFF;
}
.acc-btn .acc-icon {
  border-radius: 100%;
  border: solid 1px #59BAE3;
  position: relative;
  width: 24px;
  height: 24px;
  top: 6px;
}
.acc-btn p {
  position: absolute;
  font-size: 14px;
  width: 100%;
  top: 8px;
  color: #59BAE3;
  text-align: center;
  margin-left: -2%;
}
.acc-btn p:before {
  content: "もっと読む";
}

.acc-btn span {
  display: block;
  position: absolute;
  width: 50%;
  border-bottom: solid 2px #59BAE3;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

.acc-btn span:nth-child(1) {
  top: 11px;
  left: 6px;
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.acc-btn span:nth-child(2) {
  top: 11px;
  left: 6px;
}

.acc-btn.active span:nth-child(1) {
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -ms-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  opacity: 0;
}

.acc-btn.active {
  background-color: #59BAE3;
}

.bg-in-color .acc-btn.active p {
  color: #FFF;
}

.acc-btn.active span {
  border-bottom: solid 2px #FFF;
}

.acc-btn.active .acc-icon {
  border: solid 1px #FFF;
}

.acc-btn.active p:before {
  content: "閉じる";
}

.acc-btn {
  -webkit-transition: all 400ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
  -moz-transition: all 400ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
  -ms-transition: all 400ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
  -o-transition: all 400ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
  transition: all 400ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
  display: block;
  background-color: #FFF;
  text-align: center;
  box-shadow: #59bae3 0 0px 0px 0px inset;
}

.acc-btn.acc-btn2 {
  color: white;
  box-shadow: #59bae3 0 0px 0px 40px inset;
}
.acc-btn.acc-btn2 p::before {
  color: #FFF;
}
.acc-btn.acc-btn2 .acc-icon {
  border: solid 1px #FFF;
}
.acc-btn.acc-btn2 .acc-icon span {
  border-bottom: solid 2px #FFF;
}

/* ==============================================================
footer
=============================================================== */
footer {
  background-color: #f7f7f7;
  padding-top: 30px;
  position: relative;
  z-index: 15;
}
footer ul.link {
  text-align: center;
  padding-bottom: 30px;
}
footer ul.link li {
  display: inline-block;
  border-right: solid 1px #727171;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 16px;
}
footer ul.link li a {
  color: #727171;
  text-decoration: none;
}
footer ul.link li a:hover {
  color: #59BAE3;
  text-decoration: underline;
}
footer ul.link li:last-child {
  border: none;
}
@media screen and (max-width: 599px) {
  footer ul.link li {
    width: 35%;
    border-right: solid 1px #727171;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 10px;
    font-size: 14px;
  }
  footer ul.link li:nth-child(2n) {
    border: none;
  }
}
footer .clinic-info {
  border: double 4px #95989A;
  margin: 0 10px 40px 10px;
  padding: 10px;
  text-align: center;
  font-size: 20px;
  line-height: 200%;
}
footer .clinic-info h2 {
  font-size: 30px;
  margin-bottom: 10px;
}
footer .clinic-info h2:before {
  content: none;
}
footer .clinic-info p:last-child {
  font-size: 30px;
  padding-top: 15px;
}
footer .clinic-info a {
  color: #727171;
  text-decoration: none;
  word-wrap: break-word;
}
footer .footer-info {
  background-color: #59BAE3;
  padding: 20px 0 20px 0;
  text-align: center;
  color: #FFF;
}
footer .footer-info p {
  margin-bottom: 10px;
}
footer .footer-info p:first-child {
  margin-bottom: 0px;
}
footer .footer-info p:first-child img {
  width: 400px;
  max-width: 100%;
}
footer .footer-info a {
  color: #FFF;
  text-decoration: none;
}
footer .footer-info a:hover {
  text-decoration: underline;
}
footer .footer-info svg {
  width: 14px;
  height: 14px;
  margin-left: 0px;
}
footer .footer-info svg path {
  fill: #FFF;
}
footer .footer-info .footer-app-btn {
  padding: 20px 0 20px 0px;
  overflow: hidden;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}
footer .footer-info .footer-app-btn li {
  float: left;
  margin-right: 10px;
}
footer .footer-info .footer-app-btn li:last-child {
  margin-right: 0px;
}
footer .footer-info .footer-app-btn .app-apple img {
  width: 132px;
}
footer .footer-info .footer-app-btn .app-google {
  overflow: hidden;
}
footer .footer-info .footer-app-btn .app-google img {
  width: 165px;
  margin-top: -10px;
}

.sns {
  width: auto;
  margin-bottom: 20px;
}
.sns li {
  display: inline-block;
  margin-right: 10px;
  width: auto;
  height: 58px;
}
.sns li img {
  width: auto;
  height: 58px;
}
.sns li:last-child {
  margin-right: 0px;
}
.sns li a:hover {
  opacity: 0.5;
  transition: 0.5s;
}

.icon-window path {
  fill: #FFF;
}

/* ==============================================================
TAB UnderBar
=============================================================== */
/* == TAB Design== */
.tab1 {
  border-bottom: solid 2px #666;
  margin-bottom: 20px;
}
.tab1 ul li {
  text-align: center;
}
.tab1 ul li img {
  max-width: 100px;
  width: 100%;
}
.tab1 ul li img path {
  fill: #727171;
}

/* == TAB1 and TAB2 == */
.tab1 {
  position: relative;
}
.tab1 ul {
  display: block;
  text-align: center;
}
.tab1 ul li {
  display: inline-block;
  text-align: center;
  font-size: 16px;
  padding-bottom: 5px;
}
@media screen and (min-width: 769px) {
  .tab1 ul li {
    font-size: 24px;
  }
}
.tab1 ul li span {
  display: block;
}
.tab1 ul svg {
  width: 50%;
  max-width: 60px;
  height: 60px;
  max-height: 60px;
}
.tab1 ul svg path {
  height: 60px;
}
.tab1 ul .select .icon {
  fill: #727171;
}
.tab1 ul .icon {
  fill: #9b9b9b;
  width: 10px;
  height: 10px;
}
.tab1 .current {
  opacity: 1;
}
.tab1 .line {
  background: #666;
  height: 8px;
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
}

/* == TAB Design== */
.tab2 {
  border-bottom: solid 2px #666;
  margin-bottom: 20px;
}
.tab2 ul li {
  text-align: center;
}
.tab2 ul li img {
  max-width: 100px;
  width: 100%;
}
.tab2 ul li img path {
  fill: #727171;
}

/* == TAB1 and TAB2 == */
.tab2 {
  position: relative;
}
.tab2 ul {
  display: block;
  text-align: center;
}
.tab2 ul li {
  display: inline-block;
  text-align: center;
  font-size: 16px;
  padding-bottom: 5px;
}
@media screen and (min-width: 769px) {
  .tab2 ul li {
    font-size: 24px;
  }
}
.tab2 ul li span {
  display: block;
}
.tab2 ul svg {
  width: 50%;
  max-width: 60px;
  height: 60px;
  max-height: 60px;
}
.tab2 ul svg path {
  height: 60px;
}
.tab2 ul .select .icon {
  fill: #727171;
}
.tab2 ul .icon {
  fill: #9b9b9b;
  width: 10px;
  height: 10px;
}
.tab2 .current {
  opacity: 1;
}
.tab2 .line {
  background: #666;
  height: 8px;
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
}

.tab2 ul svg {
  width: 35%;
  height: 60px;
}
@media screen and (min-width: 769px) {
  .tab2 ul svg {
    height: 80px;
  }
}

.tab-bar {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.tab-bar a {
  text-decoration: none;
  color: #FFF;
  display: block;
}

.tab1 li {
  width: 23%;
}

.tab2 li {
  width: 32%;
}

/* == TAB == */
.disnon {
  display: none;
}

.tab-cont1 {
  padding-top: 20px;
  margin-bottom: 30px;
}
.tab-cont1 p {
  text-align: center;
  margin-bottom: 30px;
  font-size: 18px;
}
@media screen and (min-width: 769px) {
  .tab-cont1 p {
    font-size: 24px;
  }
}
.tab-cont1 img {
  width: 100%;
}

.tab-cont2 {
  margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
  .tab-cont1 {
    padding-top: 10px 10xp 0 0;
    overflow: hidden;
  }
  .tab-cont1 .tabbox-right {
    float: right;
    display: table;
    width: 100%;
    width: 60%;
    font-size: 20px;
    line-height: 180%;
  }
  .tab-cont1 .tabbox-left {
    float: left;
    width: 40%;
    text-align: right;
  }
  .tab-cont1 .tabbox-left img {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  .tabbox-left img {
    width: 60%;
  }
}
.vcenter {
  display: table-cell;
  vertical-align: middle;
}

/* ==============================================================
slider
=============================================================== */
.swiper-container {
  padding-bottom: 50px;
}

.slide01 .main, .slide02 .main {
  margin-bottom: 10px;
  text-align: center;
}

.slide01 img, .slide02 img {
  width: 60%;
  height: auto;
}
@media screen and (min-width: 769px) {
  .slide01 img, .slide02 img {
    width: 70%;
  }
}

.slide01 .thumbnail .swiper-slide,
.slide02 .thumbnail .swiper-slide {
  color: #727171;
  cursor: pointer;
  text-align: center;
  line-height: 170%;
  font-size: 16px;
}
@media screen and (min-width: 769px) {
  .slide01 .thumbnail .swiper-slide,
  .slide02 .thumbnail .swiper-slide {
    font-size: 16px;
  }
}
.slide01 .thumbnail .swiper-slide span,
.slide02 .thumbnail .swiper-slide span {
  display: block;
  font-weight: bold;
  font-size: 26px;
  margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .slide01 .thumbnail .swiper-slide span,
  .slide02 .thumbnail .swiper-slide span {
    font-size: 30px;
  }
}
.slide01 .thumbnail .swiper-slide span b,
.slide02 .thumbnail .swiper-slide span b {
  font-weight: bold;
}
.slide01 .thumbnail .swiper-slide .att,
.slide02 .thumbnail .swiper-slide .att {
  font-size: 14px;
  font-weight: normal;
}

.slide01 .swiper-pagination-bullet,
.slide02 .swiper-pagination-bullet {
  background: #59BAE3;
  border: solid 2px #FFF;
  opacity: 1;
}

.slide01 .swiper-pagination-bullet-active,
.slide02 .swiper-pagination-bullet-active {
  background: #FFF;
  border: solid 2px #FFF;
  opacity: 1;
}

.slide02 .swiper-container.thumbnail {
  padding-bottom: 0px;
}

.swiper-button-prev,
.swiper-button-next {
  width: 30px;
  height: 30px;
  border: 5px solid;
  border-color: #FFF #FFF transparent transparent;
  transform: rotate(45deg);
}

.swiper-button-prev {
  transform: rotate(-135deg);
}

.swiper-slide-next,
.swiper-slide-prev {
  opacity: 0.5;
}

/* ==============================================================
display motion
=============================================================== */
.display-right {
  opacity: 0;
  transform: translate(40%, 0) scale(0.6, 0.6);
  -webkit-transform: translate(40%, 0) scale(0.6, 0.6);
  transition: 0.5s;
  transition-timing-function: cubic-bezier(0.13, 1.17, 0.43, 1.26);
}

.display-left {
  opacity: 0;
  transform: translate(-40%, 0) scale(0.6, 0.6);
  -webkit-transform: translate(-40%, 0) scale(0.6, 0.6);
  transition: 0.5s;
  transition-timing-function: cubic-bezier(0.13, 1.17, 0.43, 1.26);
}

.display-top {
  opacity: 0;
  transform: translate(0, 50px) scale(1, 1);
  -webkit-transform: translate(0, 50px) scale(1, 1);
  transition: 0.8s;
  transition-timing-function: cubic-bezier(0.03, 0.93, 0.45, 1.36);
}

.displayBottom {
  opacity: 0;
  transform: translate(0, -50px) scale(1, 1);
  -webkit-transform: translate(0, -50px) scale(1, 1);
  transition: 0.4s;
  transition-timing-function: cubic-bezier(0.01, 1.06, 0.27, 1.24);
}

.display-opacity {
  opacity: 0;
  transition: 1.0s;
}

.display-left2 {
  opacity: 0;
  transition: 1.0s;
  transform: translate(50%, 0) skewX(-20deg);
  -webkit-transform: translate(250px, 0) skewX(-20deg);
  transition-timing-function: cubic-bezier(0.21, 0.99, 0.27, 0.99);
}

.display-left3 {
  opacity: 0;
  transition: 1.0s;
  transform: translate(50%, 0) skewX(-20deg);
  -webkit-transform: translate(250px, 0) skewX(-20deg);
  transition-timing-function: cubic-bezier(0.21, 0.99, 0.27, 0.99);
}

.display-left4 {
  opacity: 0;
  transition: 0.6s;
  transform: translate(-30%, 0) scale(1, 1);
  -webkit-transform: translate(-250px, 0) scale(1, 1);
  transition-timing-function: cubic-bezier(0, 0.65, 0.58, 1);
}

.mv-ani01 img {
  width: auto;
  opacity: 0;
}

.mv-ani01 {
  position: absolute;
  width: 50%;
  left: 0px;
  right: 0px;
  bottom: -14%;
  margin: auto;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .mv-ani01 {
    top: 17%;
    width: 50%;
    margin: 0 0 0 0;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 630px) {
  .mv-ani01 img {
    width: 100%;
  }
}

.mdis01, .mdis02,
.mdis03, .mdis04 {
  opacity: 0;
}

.mdis02,
.mdis03 {
  transition: 0.5s;
}

.main-arrow {
  opacity: 0.0;
  width: 30px;
  height: 30px;
  border: 5px solid;
  border-color: transparent transparent #59BAE3 #59BAE3;
  transform: rotate(-45deg);
  position: absolute;
  right: 0;
  left: 0;
  bottom: 20px;
  margin: auto;
  z-index: 4;
  animation: main-arrow 3s ease infinite;
}

@keyframes main-arrow {
  0% {
    transform: translateY(0) rotate(-45deg);
  }
  5% {
    transform: translateY(0) rotate(-45deg);
  }
  10% {
    transform: translateY(0) rotate(-45deg);
  }
  20% {
    transform: translateY(-15px) rotate(-45deg);
  }
  25% {
    transform: translateY(0) rotate(-45deg);
  }
  30% {
    transform: translateY(-15px) rotate(-45deg);
  }
  45% {
    transform: translateY(0) rotate(-45deg);
  }
  100% {
    transform: translateY(0) rotate(-45deg);
  }
}
.fade-in {
  opacity: 1.0;
  transform: translate(0, 0) scale(1, 1) skewX(0);
  -webkit-transform: translate(0, 0);
}

.fade-out {
  opacity: 0;
  transform: translate(0, 0) scale(2, 2) skewX(0);
  -webkit-transform: translate(2, 2);
}

.display-bg-left {
  background-color: rgba(89, 186, 227, 0);
  -webkit-transform: translate(-60%, 0);
  transform: translate(-60%, 0);
  transition: 1.0s;
  transition-timing-function: cubic-bezier(0, 0.65, 0.58, 1);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.display-bg-right {
  background-color: rgba(89, 186, 227, 0);
  -webkit-transform: translate(60%, 0);
  transform: translate(60%, 0);
  transition: 1.0s;
  transition-timing-function: cubic-bezier(0, 0.65, 0.58, 1);
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.display-in {
  background-color: #59bae3;
  -webkit-transform: translate(0, 0);
  transform: translate(0%, 0);
  transition: 1.0s;
}

.display-out {
  background-color: white;
  -webkit-transform: translate(0, 0);
  transform: translate(0%, 0);
  transition: 1.0s;
}

.bgfix {
  position: relative;
  z-index: 10;
  padding: 40px 0 40px 0;
  overflow: hidden;
}

.bg-in-color {
  color: #727171;
}
.bg-in-color h2 {
  color: #FFF;
}
.bg-in-color h2:before {
  background-color: #FFF;
}
.bg-in-color h3, .bg-in-color p, .bg-in-color .step, .bg-in-color .price-list {
  color: #FFF;
}
.bg-in-color .acc-btn p {
  color: #59BAE3;
}
.bg-in-color .tab1 ul .select .icon,
.bg-in-color .tab2 ul .select .icon {
  fill: #FFF;
}
.bg-in-color .tab1, .bg-in-color .tab2 {
  border-bottom: solid 2px #FFF;
}
.bg-in-color .tab1 .line, .bg-in-color .tab2 .line {
  background: #FFF;
  width: 100%;
}
.bg-in-color .tab1 ul .icon, .bg-in-color .tab2 ul .icon {
  fill: #cdeaf6;
  width: 10px;
  height: 10px;
}
.bg-in-color .slide01 .thumbnail .swiper-slide,
.bg-in-color .slide02 .thumbnail .swiper-slide {
  color: #FFF;
}

.sp-body {
  overflow: hidden;
  height: 100%;
}

/*# sourceMappingURL=style.css.map */
