@charset "UTF-8";
/* ==========================================================
0～768px
========================================================== */
@media screen and (max-width: 768px) {
  .pc {
    display: none; }

  body {
    font-size: 15px;
    font-size: 1.5rem; }

  #wrapper {
    padding-bottom: 60px; }

  /*テキスト共通*/
  p {
    line-height: 2.0; }

  /*ボタン共通*/
  .btn--dot {
    padding: 0 1em; }
    .btn--dot span {
      font-size: 16px;
      font-size: 1.6rem; }

  /* header
  ----------------------------------------------------------- */
  .head__wrap {
    height: 60px; }

  .head__logo {
    padding: 10px 0 0 5%; }
    .head__logo .logo {
      width: 46px; }

  .head__logo--sp {
    width: 46px;
    padding: 0;
    position: absolute;
    top: 10px;
    left: 5%; }

  /* nav */
  .hamburger {
    background: #fff;
    display: block;
    width: 60px;
    height: 60px;
    padding: 30px 15px;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    touch-action: manipulation; }

  .hamburger__icon {
    position: relative; }

  .hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
    display: block;
    width: 30px;
    height: 1px;
    background-color: #E97223 !important;
    transition-property: background-color, transform;
    transition-duration: 0.4s; }

  .hamburger__icon:before, .hamburger__icon:after {
    position: absolute;
    content: ""; }

  .hamburger__icon:before {
    top: -7px; }

  .hamburger__icon:after {
    top: 7px; }

  .hamburger.active .hamburger__icon {
    background-color: transparent; }

  .hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
    background-color: #fff; }

  .hamburger.active .hamburger__icon:before {
    transform: translateY(7px) rotate(45deg); }

  .hamburger.active .hamburger__icon:after {
    transform: translateY(-7px) rotate(-45deg); }

  .hamburger.active .hamburger__icon {
    width: 0; }

  .fat-nav {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    background: #faf5f0;
    transition-property: transform;
    transition-duration: 0.4s;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    z-index: 9999; }

  .fat-nav__wrapper {
    width: 100%;
    height: 100%; }

  .fat-nav.active {
    transform: scale(1); }

  #global-nav {
    padding-top: 72px;
    margin-right: 0; }
    #global-nav .menu {
      display: block; }
      #global-nav .menu > li {
        margin-bottom: 2em; }
        #global-nav .menu > li a {
          font-size: 17px;
          padding: 20px 0 0 0;
          padding-right: 0;
          padding-left: 0; }
          #global-nav .menu > li a span {
            font-size: 12px;
            margin-top: 0.6em; }
          #global-nav .menu > li a::before {
            background-size: 4.5px;
            width: 9px;
            height: 28px; }
          #global-nav .menu > li a.menu__rec span {
            color: #a1ca5a; }

  .head__tel, .head__contact, .side__nav {
    display: none; }

  /* visual
  ----------------------------------------------------------- */
  .tp__visual {
    background: url("../images/common/header_bg.jpg") no-repeat center bottom/cover;
    margin-top: -2vw; }

  .tp__visual__inner img {
    width: 100%; }

  .tp__slide__copy {
    top: 30px;
    left: 20px; }
    .tp__slide__copy::after {
      top: calc((30 / 750) * 100vw);
      left: calc(((80 / 750) * 100vw) * -1);
      background: url("../images/common/olive01.png") no-repeat top left;
      background-size: 100%;
      width: calc((157 / 750) * 100vw);
      height: calc((157 / 750) * 100vw);
      z-index: -1; }

  .tp__slide__copy > span {
    font-size: 17px;
    font-size: 1.7rem;
    margin: 0 3px; }
    .tp__slide__copy > span.slide__copy--02 {
      top: 0; }

  .parts__circle--01 {
    width: 10vw;
    top: 24vw;
    left: 0; }

  .parts__circle--02 {
    width: 24vw;
    top: -5vw;
    right: 12vw; }

  /* tp__about
  ----------------------------------------------------------- */
  .tp__about {
    margin-top: -3.5vw;
    padding-bottom: 80px;
    padding: 80px 5% 80px; }
    .tp__about::before {
      background-size: 100%;
      height: 3.5vw;
      top: -3.5vw; }
    .tp__about::after {
      background: url("../images/common/parts_line02.svg") no-repeat bottom center/contain;
      height: 660px; }

  .tp__about__ttl--center::before {
    background: url("../images/shape_house@2x.png") no-repeat top left/60px;
    width: 119px;
    height: 200px;
    top: -25px;
    left: -4%; }
  .tp__about__ttl--center .en {
    font-size: 12px;
    font-size: 1.2rem;
    top: -20px;
    left: 56px; }
  .tp__about__ttl--center .ja {
    font-size: 4.5vw;
    line-height: 2.4; }
    .tp__about__ttl--center .ja .line--btm {
      padding-bottom: 0.6em; }

  .tp__about__detail {
    margin-top: 40px;
    display: block; }

  .tp__about__img {
    width: auto;
    margin-right: 0; }
    .tp__about__img img {
      width: 100%;
      max-width: none; }

  .tp__about__txt {
    width: auto;
    flex: 1;
    padding-right: 0;
    padding-top: 2em;
    z-index: 10;
    position: relative; }

  .tp__about__btn {
    width: 100%;
    margin-top: 40px; }

  .parts__circle--about01 {
    display: none; }

  .parts__circle--about02 {
    width: 10vw;
    top: 8vw;
    right: 10vw; }

  /* tp__promise
  ----------------------------------------------------------- */
  .tp__promise {
    padding-bottom: 40px; }

  .tp__promise__intro {
    display: block;
    padding: 0 5%; }

  .tp__promise__ttl {
    padding-right: 0;
    margin-top: 8vw; }
    .tp__promise__ttl .ja {
      font-size: 30px;
      margin: 0 auto; }

  .tp__promise__txt {
    padding-right: 0; }
    .tp__promise__txt .en {
      font-size: 20vw;
      top: -42vw;
      left: 0;
      right: auto; }
    .tp__promise__txt .tp__promise__detail {
      font-size: 15px;
      padding-top: 40px;
      padding-left: 0; }

  .tp__promise__inner {
    margin-top: 60px;
    padding: 0 8%; }
    .tp__promise__inner::after {
      background-size: cover; }

  .tp__promise__list {
    width: 100%;
    height: 100vw;
    padding-top: 8vw; }
    .tp__promise__list .ja {
      font-size: 20px;
      font-size: 2rem; }
    .tp__promise__list p {
      font-size: 14px;
      font-size: 1.4rem; }
    .tp__promise__list.list01 {
      background-size: 100%;
      margin: 0 auto;
      margin-bottom: -12vw; }
    .tp__promise__list.list02 {
      background-size: 100%;
      margin-right: 0;
      margin-top: 0;
      margin-bottom: -12vw; }
    .tp__promise__list.list03 {
      background-size: 100%;
      margin-left: 0;
      margin-top: 0; }

  .list02-03 {
    display: block; }

  .tp__promise__list__img {
    width: 32vw;
    margin: 0 auto; }

  .parts__circle--promise01 {
    width: 20vw;
    top: -15vw;
    right: 2vw; }

  .parts__bg--promise01 {
    display: none; }

  /* tp__care
  ----------------------------------------------------------- */
  .tp__care {
    padding: 4px; }

  .tp__care__inner {
    padding-top: 40px;
    padding-bottom: 60px; }
    .tp__care__inner::before {
      top: -28px;
      left: 30%; }
    .tp__care__inner::after {
      top: -28px;
      right: 30%; }

  .tp__care__ttl .en {
    font-size: 12px;
    font-size: 1.2rem; }
  .tp__care__ttl .ja {
    font-size: 24px;
    font-size: 2.4rem; }

  .tp__care__list {
    padding: 0 calc((100 / 1920) * 100vw); }
    .tp__care__list ul {
      flex-wrap: wrap; }
    .tp__care__list li {
      width: 46%;
      margin-bottom: 32px; }

  .tp__care__list__img::before {
    background-size: 29px;
    top: -6px;
    left: -6px; }

  .tp__care__list__txt {
    padding-top: 0;
    font-size: 16px;
    font-size: 1.6rem; }
    .tp__care__list__txt::before {
      top: -20px; }

  .tp__care__list__attent {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0 5%;
    margin-top: 0;
    text-align: left; }

  .tp__care__btn {
    width: 90%; }

  /* tp__service
  ----------------------------------------------------------- */
  .tp__service {
    padding-top: 30vw; }

  .tp__service__inner {
    background-size: contain;
    padding: 0 5%; }

  .tp__service__ttl {
    top: 0;
    margin-bottom: 80px; }
    .tp__service__ttl .en--serif {
      font-size: 20vw; }
    .tp__service__ttl .ja {
      font-size: 24px;
      line-height: 1.4; }

  .tp__service__list__inner {
    width: 100%;
    margin: 0 auto;
    display: block;
    padding-bottom: 24vw; }

  .tp__service__list {
    width: 100%;
    border-bottom-right-radius: 20px;
    padding-bottom: 0; }
    .tp__service__list::before {
      width: 100%;
      height: 23vw;
      top: -23vw; }
    .tp__service__list a {
      margin-top: 0; }
      .tp__service__list a::before {
        background-size: 59px;
        width: 59px;
        height: 59px; }
    .tp__service__list .tp__service__list__icon {
      position: relative;
      top: -8vw; }
      .tp__service__list .tp__service__list__icon img {
        width: 8vw; }
    .tp__service__list .ja {
      font-size: 24px;
      font-size: 2.4rem;
      position: relative;
      top: -6vw; }
    .tp__service__list .en {
      font-size: 12px;
      font-size: 1.2rem;
      position: relative;
      top: -5vw; }
    .tp__service__list .tp__service__list__img {
      margin-top: 0;
      padding: 0 5%; }
    .tp__service__list .tp__service__list__txt {
      margin-top: 20px;
      padding: 0 2em 3em 2em; }
    .tp__service__list.s02 {
      margin-top: 32vw; }
    .tp__service__list.s03 {
      margin-top: 32vw; }
    .tp__service__list.s04 {
      margin-top: 32vw; }

  .tp__service__olive--r {
    width: 15vw;
    top: 10vw;
    right: -10vw; }

  .tp__service__olive--l {
    width: 20vw;
    bottom: -8vw;
    left: -10vw;
    z-index: 0; }

  .parts__circle--service {
    width: 24vw;
    top: 15vw;
    left: 2vw; }

  /* tp__area
  ----------------------------------------------------------- */
  .tp__area__inner {
    background-size: contain;
    padding: 20vw 5% 180px; }

  .tp__area__ttl .en {
    font-size: 12px;
    font-size: 1.2rem; }
  .tp__area__ttl .ja {
    font-size: 24px; }

  .tp__area__intro {
    text-align: left;
    margin-top: 2em; }

  .tp__area__detail {
    width: 100%;
    margin: 40px auto 0;
    display: block; }
    .tp__area__detail .tp__area {
      width: 90%;
      margin: 0 auto 60px; }
      .tp__area__detail .tp__area .tp__area--ttl {
        width: 32vw;
        bottom: 0;
        right: 0; }
    .tp__area__detail .tp__map {
      width: 100%;
      height: 0;
      padding-bottom: 75%;
      overflow: hidden;
      position: relative; }
      .tp__area__detail .tp__map iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }

  .parts__circle--area01 {
    width: 20vw;
    top: -3vw;
    right: 10vw; }

  .parts__circle--area02 {
    width: 20vw;
    bottom: 10vw;
    left: 5vw; }

  /* tp__info
  ----------------------------------------------------------- */
  .tp__info {
    padding: 0 5% 120px; }

  .tp__info__inner {
    width: 100%;
    display: block; }

  .tp__info__ttl {
    width: 160px;
    height: 80px;
    border-radius: 50% / 100% 100% 0 0;
    margin: -60px auto 60px; }
    .tp__info__ttl .tp__info__img {
      padding-top: 30px; }
    .tp__info__ttl .en {
      font-size: 12px;
      font-size: 1.2rem;
      margin-top: 16px; }
    .tp__info__ttl .ja {
      font-size: 20px;
      font-size: 2rem;
      margin-top: 8px; }

  .tp__news {
    width: 100%; }
    .tp__news li a {
      display: block; }
    .tp__news li .date {
      width: 100%;
      font-size: 13px;
      font-size: 1.3rem; }
    .tp__news li .title {
      margin-top: 0.4em; }

  .tp__schedule {
    width: 100%;
    margin-top: 120px; }

  .tp__schedule__table {
    padding: 1em 1.2em 0; }

  /*診療スケジュール*/
  .timetable tr:last-of-type {
    border: none; }
  .timetable tr.week td {
    padding-bottom: 1em;
    font-size: 12px;
    font-size: 1.2rem; }
  .timetable tr.check th {
    padding: 1em 0;
    font-size: 14px;
    font-size: 1.4rem; }
  .timetable tr.check td {
    width: 11%;
    font-size: 14px;
    font-size: 1.4rem; }
    .timetable tr.check td.last {
      width: 12% !important;
      font-size: 12px;
      font-size: 1.2rem; }

  /* tp__recruit
  ----------------------------------------------------------- */
  .tp__recruit__ttl {
    padding-left: 15vw; }
    .tp__recruit__ttl .ja {
      font-size: 20px;
      font-size: 2rem; }
    .tp__recruit__ttl .en--serif {
      font-size: 16vw; }

  .tp__recruit__img {
    margin-top: -3vw; }

  .tp__recruit__txt {
    width: 100%;
    padding: 10px 5% 0; }

  .tp__recruit__txt__inner {
    width: 100%;
    padding-bottom: 80px;
    display: block; }
    .tp__recruit__txt__inner p {
      margin-top: 0; }
    .tp__recruit__txt__inner .tp__recruit__btn {
      width: 160px;
      margin: 30px auto 0; }

  .tp__recruit__olive {
    width: 15vw;
    top: -10vw; }

  /* footer
  ----------------------------------------------------------- */
  .ft__wrap {
    padding-bottom: 40px; }

  .ft__logo {
    padding-top: 60px; }
    .ft__logo img {
      width: 80px; }

  .ft__contact {
    width: 100%;
    margin: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10000; }

  .ft__contact__tel {
    width: 50%;
    height: 60px;
    margin: 0;
    padding: 0.7em 0 0 0;
    border-radius: 0; }
    .ft__contact__tel .num {
      font-size: 20px;
      font-size: 2rem;
      padding-left: 1.5em; }
      .ft__contact__tel .num::before {
        background-size: 24px;
        width: 30px;
        height: 30px;
        left: 0;
        top: calc(50% - (30px / 2)); }
    .ft__contact__tel .fax {
      font-size: 12px;
      font-size: 1.2rem;
      padding-right: 0;
      padding-left: 0.4em;
      text-decoration: none; }

  .ft__contact__contact {
    width: 50%;
    height: 60px;
    margin: 0;
    padding: 0; }
    .ft__contact__contact a {
      height: 80px;
      font-size: 17px;
      font-size: 1.7rem;
      padding: 1.3em 0 0 0;
      border-radius: 0; }
      .ft__contact__contact a span {
        padding-left: 1.8em; }
        .ft__contact__contact a span::before {
          background-size: 24px;
          width: 30px;
          height: 30px;
          left: 0;
          top: calc(50% - (30px / 2)); }

  .ft__info {
    width: 100%;
    margin: 40px auto 0;
    display: block; }

  .ft__info__detail {
    width: 100%; }
    .ft__info__detail .site__name {
      font-size: 15px;
      font-size: 1.5rem; }
    .ft__info__detail address {
      font-size: 13px;
      font-size: 1.3rem; }
    .ft__info__detail .time {
      font-size: 13px;
      font-size: 1.3rem; }
    .ft__info__detail .line__attent {
      font-size: 15px;
      font-size: 1.5rem;
      margin-top: 1em; }

  .ft__info__link {
    width: 100%; }
    .ft__info__link ul {
      margin-top: 60px; }
    .ft__info__link li {
      font-size: 13px;
      font-size: 1.3rem; }
      .ft__info__link li:nth-child(1), .ft__info__link li:nth-child(2) {
        border-top: 1px solid #e7d9cc; }
      .ft__info__link li a {
        padding: 1em 0 1em 1em; }
        .ft__info__link li a::before {
          width: 6px;
          height: 6px;
          top: 1.3em; }

  .ft__info__sns {
    text-align: center;
    margin-top: 80px; }

  .ft__copyright {
    margin-top: 60px; }
    .ft__copyright p {
      font-size: 10px;
      font-size: 1rem; }

  .ft__olive--l {
    width: 20vw;
    top: -6vw; }

  .ft__olive--r {
    width: 25vw;
    top: -4vw; }

  /* sub_common
  ----------------------------------------------------------- */
  .sub__visual {
    height: calc((700 / 1920) * 100vw);
    padding: 0 0 0 5%; }
    .sub__visual::before {
      height: 4vw;
      bottom: -1px; }

  .sub__visual__inner {
    width: 100%; }

  .sub__visual__img {
    width: 60vw;
    bottom: -4vw; }

  .sub__visual__ttl {
    padding-top: calc((90 / 700) * 100vw); }

  .sub__visual__ttl--ja {
    font-size: calc((36 / 700) * 100vw);
    background-size: 417px; }

  .sub__visual__ttl--en {
    font-size: calc((90 / 700) * 100vw);
    top: calc(((110 / 700) * 100vw) * -1);
    left: calc(((64 / 1700) * 100vw) * -1); }

  .breadCrumb {
    padding: 0 5% 40px;
    line-height: 1.4; }

  main {
    width: 100%;
    position: relative; }

  section {
    width: 100%;
    position: relative; }

  .inner {
    width: 100%; }

  .sub__ttl h2 {
    font-size: 22px;
    font-size: 2.2rem;
    background-size: 417px; }

  /* クリニックについて
  ----------------------------------------------------------- */
  .about .sub__contents__w {
    padding: 60px 0 0;
    z-index: 3;
    position: relative; }
    .about .sub__contents__w .parts__circle01 {
      width: calc((232 / 1200) * 100vw);
      top: calc((40 / 1200) * 100vw);
      left: 2vw; }

  .about__detail {
    margin-top: 40px; }

  .about__inner {
    display: block;
    padding-bottom: 60px; }
    .about__inner::before {
      background-size: contain;
      width: 100%;
      height: 660px;
      bottom: 0; }
    .about__inner figure {
      width: 90%; }
    .about__inner .about__detail__txt {
      width: 100%;
      padding: 40px 5% 0 5%;
      margin-left: 0; }

  .about__inner.reverse figure {
    margin-left: auto;
    margin-top: 0; }
  .about__inner.reverse .about__detail__txt {
    padding: 40px 5% 0 5%;
    margin-left: 0;
    margin-top: 0; }

  .about__clinic {
    padding: 0 2%; }
    .about__clinic::after {
      background: url("../images/tp_promise_bg_pink.png") no-repeat left top;
      background-size: 40vw;
      top: -30vw; }

  .about__clinic .board_frame {
    margin: 120px auto; }

  .board_frame__inner {
    padding-top: 40px;
    padding-bottom: 20px; }
    .board_frame__inner::before {
      left: 30%; }
    .board_frame__inner::after {
      right: 30%; }

  .dotline__ttl .ja {
    font-size: 22px;
    font-size: 2.2rem; }

  .about__clinic__list {
    margin-top: 24px;
    padding: 0 4%; }
    .about__clinic__list ul {
      display: block; }
    .about__clinic__list li {
      width: 100%;
      padding: 1em 0 1.1em 1.3em;
      position: relative; }
      .about__clinic__list li::before {
        content: '';
        position: absolute;
        width: 8px;
        height: 8px;
        background: #f1873a;
        left: 0;
        top: calc(50% - (8px / 2));
        border-radius: 50%; }

  .table__base .about-i {
    padding-bottom: 1em;
    display: block; }
  .table__base .about-v {
    border-top: none;
    padding-top: 0;
    display: block; }
    .table__base .about-v .tp__schedule__table {
      padding: 1em 3%; }
    .table__base .about-v .timetable tr.week td {
      padding-bottom: 1em;
      font-size: 12px;
      font-size: 1.2rem; }
    .table__base .about-v .timetable tr.check th {
      padding: 1em 0;
      font-size: 13px;
      font-size: 1.3rem; }
    .table__base .about-v .timetable tr.check td {
      width: 11%;
      font-size: 13px;
      font-size: 1.3rem; }
      .table__base .about-v .timetable tr.check td.last {
        width: 12% !important;
        font-size: 12px;
        font-size: 1.2rem; }

  .about__faci {
    background-size: contain;
    padding: 20vw 5% 100px; }
    .about__faci .parts__circle01 {
      width: calc((226 / 1200) * 100vw);
      top: 0;
      right: 5vw; }

  .about__faci__list {
    margin: 40px auto 0; }
    .about__faci__list ul {
      gap: 40px 4%; }
    .about__faci__list li {
      width: 48%; }
    .about__faci__list .about__faci__item {
      padding: 0.8em 1.4em 0 0.5em;
      border-radius: 0 20px 0 0; }
      .about__faci__list .about__faci__item h3 {
        font-size: 17px;
        font-size: 1.7rem; }

  /* はじめての方へ
  ----------------------------------------------------------- */
  .first .sub__contents__w {
    padding: 60px 0 100px; }
    .first .sub__contents__w .parts__circle01 {
      width: calc((232 / 1200) * 100vw);
      top: calc((40 / 1200) * 100vw);
      left: 2vw; }

  .first__flow {
    width: 100%;
    margin: 50px auto 0;
    padding: 0 5%; }
    .first__flow.flow-doc {
      margin-top: 40px; }

  .flow__target {
    font-size: 20px;
    font-size: 2rem;
    padding-left: 46px; }
    .flow__target::before {
      background-size: 30px;
      width: 30px; }

  .flow-doc .flow__target::before {
    background-size: 30px;
    width: 30px;
    left: 0; }

  .first__flow__box {
    padding: 2em;
    margin-bottom: 80px;
    display: block; }
    .first__flow__box::after {
      content: '';
      position: absolute;
      background: url("../images/icon_arrow_btm.svg") no-repeat top center;
      background-size: 31px;
      width: 31px;
      height: 56px;
      bottom: -68px;
      left: 0;
      right: 0;
      margin: 0 auto; }

  .flow__box--img {
    width: 70%;
    margin: 0 auto; }

  .flow__box--detail {
    width: 100%; }

  .flow__box--ttl {
    display: block;
    text-align: center; }
    .flow__box--ttl .num {
      margin: -10px auto 0;
      width: 50px; }
    .flow__box--ttl .ja {
      font-size: 24px;
      font-size: 2.4rem;
      margin-left: 0;
      margin-bottom: 1em;
      padding-top: 0.8em; }

  .flow__box--txt > p.attent {
    font-size: 14px;
    font-size: 1.4rem; }

  .flow__box--tel {
    padding: 1.5em 1.5em 1em 1.5em;
    display: block; }
    .flow__box--tel .num {
      font-size: 26px;
      font-size: 2.6rem;
      padding-left: 50px; }
      .flow__box--tel .num::before {
        background-size: 40px;
        width: 40px; }
    .flow__box--tel .reception {
      font-size: 12px;
      font-size: 1.2rem;
      margin-left: 0;
      text-align: center;
      padding-top: 0.8em; }
    .flow__box--tel .fax {
      font-size: 16px;
      font-size: 1.6rem;
      margin-left: 3em; }

  .first__price {
    background-size: contain;
    padding: 20vw 2% 80px; }
    .first__price .parts__circle01 {
      width: calc((226 / 1200) * 100vw);
      top: -5vw;
      right: calc((160 / 1200) * 100vw);
      z-index: 2; }

  .first__price__inner .sub__ttl {
    margin-bottom: 2em; }

  .first__price__intro {
    width: 90%;
    margin: 0 auto 70px; }

  .first__price .dotline__ttl {
    margin-bottom: 1.5em; }

  .first__price__list {
    width: 96%; }
    .first__price__list .alignC {
      font-size: 13px;
      font-size: 1.3rem;
      text-align: left !important; }
    .first__price__list .item th, .first__price__list .item td {
      padding: 1em;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.3; }
    .first__price__list .value th, .first__price__list .value td {
      padding: 1em 0.5em;
      letter-spacing: 0;
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 1.3; }
    .first__price__list .attent {
      margin-top: 2em;
      font-size: 12px;
      font-size: 1.2rem;
      padding: 0 1em; }

  .price02 {
    margin-top: 60px; }

  .price02 .first__price__list {
    width: 96%; }

  .price03 {
    margin-top: 60px; }

  .first__price__list li {
    font-size: 13px;
    font-size: 1.3rem;
    padding: 1em; }

  .first__payment {
    background-size: contain;
    padding: 20vw 2% 100px; }
    .first__payment .parts__circle01 {
      width: calc((232 / 1200) * 100vw);
      top: 0;
      right: 3vw; }

  .first__payment__inner {
    width: 100%;
    margin: 30px auto 0;
    padding: 0 5%;
    display: block; }

  .first__payment__txt {
    padding-top: 2em;
    padding-right: 0; }
    .first__payment__txt ul {
      margin-bottom: 2em; }
    .first__payment__txt li {
      line-height: 1.6;
      padding: 0.2em 0 0.2em 1em;
      margin-bottom: 1em; }
      .first__payment__txt li.icon__circle--or::before {
        top: 11px; }

  .first__payment__copy {
    font-size: 16px;
    font-size: 1.6rem;
    padding-bottom: 0.4em; }

  /* 在宅診療
  ----------------------------------------------------------- */
  .service .sub__contents__w {
    padding: 60px 0 40px; }
    .service .sub__contents__w::before {
      background-size: contain;
      width: 100%; }
    .service .sub__contents__w::after {
      background-size: 225px;
      width: 225px;
      top: 240px; }
    .service .sub__contents__w .inner {
      padding-bottom: 60px; }
    .service .sub__contents__w .parts__circle01 {
      width: calc((232 / 1200) * 100vw);
      top: calc((40 / 1200) * 100vw);
      left: 2vw; }

  .service__detail {
    margin-top: 40px;
    display: block; }
    .service__detail figure {
      width: 85%; }
    .service__detail .service__detail__txt {
      width: 100%;
      padding: 30px 5% 0 5%;
      margin-left: 0; }

  .service__care {
    margin: 40px auto; }
    .service__care .board_frame__inner {
      padding: 2em; }

  .service__care__list {
    margin-top: 20px;
    padding: 0; }
    .service__care__list ul {
      display: block; }
    .service__care__list li {
      width: 100%;
      line-height: 1.6; }
      .service__care__list li::before {
        top: 25px; }

  .service__care__list__attent {
    font-size: 13px;
    font-size: 1.3rem;
    margin-top: 30px;
    text-align: left; }

  .service__mitori {
    background-size: contain;
    padding: 20vw 2% 100px; }
    .service__mitori::after {
      background-size: 180px;
      width: 180px;
      top: -130vw; }

  .service__mitori__inner {
    width: 100%;
    padding: 0 5%; }
    .service__mitori__inner .sub__ttl {
      margin-bottom: 2em; }

  .service__syoti {
    padding: 0 5%; }
    .service__syoti .sub__ttl {
      margin-bottom: 2em; }

  .service__syoti__list {
    padding: 1em; }
    .service__syoti__list .listbox {
      padding: 2em;
      display: block; }
      .service__syoti__list .listbox:first-child {
        margin-bottom: 1em; }
    .service__syoti__list h3 {
      font-size: 18px;
      font-size: 1.8rem;
      padding-left: 1em;
      margin-right: 0; }
    .service__syoti__list ul {
      display: block;
      margin-top: 1.8em; }
    .service__syoti__list li {
      width: 100%;
      padding-bottom: 1em; }

  .service__syoti__img {
    padding: 80px 0 0; }

  .service__renkei {
    padding: 100px 5%; }
    .service__renkei .parts__circle01 {
      width: 15vw;
      top: 10vw;
      right: 6vw; }

  .service__renkei__inner {
    width: 100%; }

  /* スタッフ紹介
  ----------------------------------------------------------- */
  .staff .sub__contents__w {
    padding: 60px 5% 40px; }
    .staff .sub__contents__w .parts__circle01 {
      width: calc((232 / 1200) * 100vw);
      top: calc((40 / 1200) * 100vw);
      left: 2vw; }
    .staff .sub__contents__w::after {
      content: '';
      position: absolute;
      background: url("../images/common/parts_log_bg.svg") no-repeat top right;
      top: 29vw;
      right: 0;
      width: 1083px;
      height: 1117px;
      z-index: -1; }

  .staff__director {
    width: 100%;
    margin: 40px auto 0; }

  .staff__director__inner {
    display: block; }
    .staff__director__inner figure {
      width: 80%;
      margin: 0 auto; }
    .staff__director__inner .staff__detail__txt {
      width: 100%; }
      .staff__director__inner .staff__detail__txt .tp__about__ttl--center {
        padding-left: 8vw;
        padding-top: 40px; }
        .staff__director__inner .staff__detail__txt .tp__about__ttl--center::before {
          top: -24px;
          left: 0; }
        .staff__director__inner .staff__detail__txt .tp__about__ttl--center .ja {
          font-size: 5.6vw;
          z-index: 3; }

  .staff__director__inner.reverse {
    flex-direction: row;
    margin-top: 60px; }
    .staff__director__inner.reverse figure {
      margin: 0 auto 40px; }

  .director__name .ja {
    font-size: 20px;
    font-size: 2rem; }
    .director__name .ja span {
      font-size: 14px;
      font-size: 1.4rem; }

  .staff__director__info {
    width: 100%;
    margin: 60px auto 0;
    display: block; }
    .staff__director__info dl {
      width: 100%; }
    .staff__director__info dt {
      font-size: 16px;
      font-size: 1.6rem; }
    .staff__director__info dd {
      padding: 1em 2em 2em; }
      .staff__director__info dd li {
        font-size: 14px;
        font-size: 1.4rem; }

  .staff__doctor {
    background-size: contain;
    padding: 20vw 5% 20px; }
    .staff__doctor .parts__circle01 {
      width: calc((226 / 1200) * 100vw);
      top: 0;
      left: 4vw; }

  .staff__doctor__inner {
    width: 100%; }
    .staff__doctor__inner .sub__ttl {
      margin-bottom: 40px; }

  .doctor__box {
    padding: 2em;
    display: block;
    margin-bottom: 40px; }
    .doctor__box figure {
      width: 100%;
      margin-right: 0; }
    .doctor__box .doctor__detail {
      width: 100%; }

  .doctor__detail--info {
    display: block; }
    .doctor__detail--info .name {
      width: 100%;
      margin-top: 1em;
      text-align: center; }
      .doctor__detail--info .name .job {
        font-size: 14px;
        font-size: 1.4rem; }
      .doctor__detail--info .name h3 {
        font-size: 24px;
        font-size: 2.4rem; }
    .doctor__detail--info dl {
      display: block;
      margin-top: 2em; }
      .doctor__detail--info dl dt {
        width: 100%;
        font-size: 15px;
        font-size: 1.5rem;
        padding: 1em 0 0.7em 1em; }
        .doctor__detail--info dl dt::before {
          top: 1.3em; }
      .doctor__detail--info dl dd {
        width: 100%;
        font-size: 14px;
        font-size: 1.4rem;
        border-top: none;
        padding-top: 0; }

  .staff__detail--comment {
    margin-top: 1em;
    font-size: 14px;
    font-size: 1.4rem; }

  .staff__list {
    width: 100%;
    padding: 80px 5% 60px; }
    .staff__list .sub__ttl {
      margin-bottom: 40px; }
    .staff__list .parts__circle01 {
      width: calc((122 / 1200) * 100vw);
      top: calc((60 / 1200) * 100vw);
      right: 8vw; }

  .staff__list__inner {
    width: 100%;
    padding: 2em;
    margin-bottom: 40px;
    display: block; }
    .staff__list__inner figure {
      width: 100%; }

  .staff__list__txt {
    width: 100%;
    margin-left: 0;
    padding: 40px 0 0 0; }
    .staff__list__txt h3 {
      font-size: 24px;
      font-size: 2.4rem;
      text-align: center; }

  /* よくある質問
  ----------------------------------------------------------- */
  .qa__inner {
    padding: 60px 5% 0; }
    .qa__inner .inner {
      padding-bottom: 64px; }

  .colorful__ttl .ja {
    font-size: 24px;
    font-size: 2.4rem; }

  .qa .colorful__ttl {
    margin-bottom: 40px; }

  .qa__box {
    padding: 2em; }

  .q_txt p {
    font-size: 18px;
    font-size: 1.8rem;
    padding-left: 48px;
    line-height: 1.6; }
    .q_txt p::before {
      background-size: 32px;
      width: 32px;
      height: 32px; }

  .a_txt {
    margin-top: 1.5em;
    padding: 2em;
    padding-left: 2em;
    display: block; }
    .a_txt .en {
      font-size: 26px;
      font-size: 2.6rem;
      color: #a1ca5a;
      padding: 0.3em 1em 0 0; }
    .a_txt p {
      margin-top: 0.5em;
      font-size: 15px;
      font-size: 1.5rem; }

  /* プライバシーポリシー
  ----------------------------------------------------------- */
  .sub__intro {
    padding: 60px 5% 30px; }

  .privacy .sub__contents__w {
    padding: 0 5%;
    padding-top: 80px; }
    .privacy .sub__contents__w .parts__circle01 {
      width: calc((232 / 1200) * 100vw);
      top: 0;
      left: 2%; }
    .privacy .sub__contents__w .parts__circle02 {
      display: none; }

  .detail__box dt {
    font-size: 18px; }
  .detail__box dd {
    font-size: 14px;
    margin-top: 1em;
    margin-bottom: 48px; }

  .privacy .detail__box {
    margin-top: 48px;
    padding-bottom: 60px; }

  .privacy .sub__contents__baige {
    background-size: contain;
    padding: 20vw 5% 0; }
    .privacy .sub__contents__baige::after {
      height: 80px; }
    .privacy .sub__contents__baige .parts__circle01 {
      width: calc((232 / 1200) * 100vw);
      position: absolute;
      top: -5vw;
      left: 5%;
      z-index: 2; }

  /* お知らせ
  ----------------------------------------------------------- */
  .news__inner {
    padding: 24px 5% 40px; }
    .news__inner .parts__circle01 {
      display: none; }

  .news__top {
    width: 100%;
    padding-top: 24px; }
    .news__top .date {
      font-size: 13px;
      font-size: 1.3rem;
      padding: 0 0 0 1em; }
    .news__top .ttl {
      font-size: 22px;
      font-size: 2.2rem;
      background-size: 180%; }

  .news__article {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 40px; }
    .news__article::after {
      background-size: 180%; }
    .news__article p {
      margin-bottom: 2em; }

  .news__nav {
    width: 100%;
    padding-top: 40px;
    padding-bottom: 40px; }

  .news__nav--prev .btn--dot {
    width: 40vw; }
    .news__nav--prev .btn--dot span {
      font-size: 13px;
      font-size: 1.3rem;
      padding: 0.8em; }
    .news__nav--prev .btn--dot::before {
      background-size: 8px;
      left: 1.23em; }

  .news__nav--next a {
    width: 40vw; }
    .news__nav--next a .btn--dot {
      font-size: 13px;
      font-size: 1.3rem;
      padding: 0.8em; }
      .news__nav--next a .btn--dot::before {
        background-size: 8px;
        right: 1.23em; }

  .news__list {
    width: 100%; }
    .news__list li a {
      padding: 1.6em 0;
      display: block; }
    .news__list li .date {
      width: 100%;
      font-size: 13px;
      font-size: 1.3rem;
      padding: 0 0 0 1em; }
    .news__list li .title {
      margin-top: 0.4em; }

  /* contact
  ----------------------------------------------------------- */
  /*入力画面*/
  .contact #wrapper {
    padding-bottom: 0; }

  .contact .sub__contents__w {
    padding: 60px 5% 40px; }
    .contact .sub__contents__w .parts__circle01 {
      width: calc((232 / 1200) * 100vw);
      top: calc((40 / 1200) * 100vw);
      left: 2vw; }

  .contact__tel {
    width: 100%;
    margin: 2em auto 0;
    padding: 1.8em 1.5em 1.5em;
    display: block;
    text-align: center; }
    .contact__tel .num {
      font-size: 30px;
      font-size: 3rem;
      padding-left: 35px; }
      .contact__tel .num::before {
        background-size: 25px;
        width: 25px;
        height: 25px;
        top: calc(50% - (25px / 2)); }
    .contact__tel .reception {
      font-size: 13px;
      font-size: 1.3rem;
      margin-left: 0; }

  .contact .sub__contents__baige {
    background-size: contain;
    padding: 20vw 5% 60px; }
    .contact .sub__contents__baige::after {
      display: none; }

  .contact__intro {
    text-align: left;
    margin-top: 2em; }
    .contact__intro p {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 2.0; }

  .privacy__btn {
    margin-top: 2em;
    margin-bottom: 3em; }
    .privacy__btn .btn--line {
      font-size: 13px;
      font-size: 1.3rem; }

  .contact__wrap {
    padding: 0 5% 40px; }
    .contact__wrap th {
      width: 100%;
      display: block;
      position: relative;
      padding: 1.8em 0;
      border-bottom: none; }
    .contact__wrap td {
      width: 100%;
      display: block;
      padding: 0;
      padding-left: 0;
      padding-bottom: 1em; }
    .contact__wrap .txtfield {
      font-size: 15px;
      font-size: 1.5rem;
      padding: 1em; }
    .contact__wrap textarea {
      width: 100%;
      height: 240px;
      font-size: 15px;
      font-size: 1.5rem;
      padding: 1em;
      border: none; }
    .contact__wrap label {
      line-height: 2.0; }

  .sup {
    font-size: 13px;
    font-size: 1.3rem;
    right: 0;
    top: 1.5em; }

  input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0; }

  .submit__btn {
    width: 90%;
    margin: 30px auto 0;
    font-size: 18px;
    font-size: 1.8rem; }

  /*確認画面*/
  .contact .sub__contents__w.confirm {
    padding: 20px 5% 80px; }

  .confirm .contact__wrap {
    margin-top: 2em; }

  .confirm .contact__wrap th {
    padding: 1.5em 0 1em; }
  .confirm .contact__wrap td {
    padding: 0 0 1.5em 0; }

  .soushin__btn {
    width: 100%;
    padding-bottom: 80px; }
    .soushin__btn input {
      width: 100%;
      margin: 30px auto 0;
      font-size: 18px;
      font-size: 1.8rem; }
      .soushin__btn input.inback {
        width: 50%;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 40px;
        top: auto;
        bottom: 0;
        left: 0; }

  /*送信完了*/
  .finish {
    margin-bottom: 0;
    padding-bottom: 100px !important; }

  .finish .sub__ttl h2 {
    font-size: 18px;
    font-size: 1.8rem;
    padding-bottom: 0.8em;
    line-height: 1.8; }

  .finish__info {
    width: 100%; }
    .finish__info .finish__info--txt {
      text-align: left;
      margin-top: 2em;
      font-size: 15px;
      font-size: 1.5rem; }

  .finish__info--attent {
    padding: 1.5em; }
    .finish__info--attent p {
      font-size: 14px;
      font-size: 1.4rem; }

  .finish__btn {
    width: 100% !important;
    margin-top: 60px; }
    .finish__btn .btn--dot {
      width: 60%;
      margin: 0 auto; } }
/* -----@media screen and (max-width:768px) ------ */
