@charset "UTF-8";
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap");
@import url("https://fonts.googleapis.com/earlyaccess/hannari.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300&display=swap");
/* vars */
/* breakpoints */
/* mixins */
/* base */
html,
body {
  height: 100%; }

html {
  font-size: 62.5%;
  overflow-y: scroll; }

body {
  width: 100%; }
  body.fixed {
    position: fixed; }
  @media screen and (min-width: 768px) {
    body {
      min-width: 1200px;
      position: relative; } }

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
form {
  margin: 0;
  padding: 0;
  border: none;
  line-height: 1.5;
  list-style-type: none;
  font-style: normal;
  font-size: 1.6rem;
  font-weight: normal;
  font-family: "Noto Sans JP", sans-serif;
  text-align: left;
  color: #595757; }

img {
  vertical-align: middle;
  -webkit-backface-visibility: hidden;
  width: 100%; }

a {
  text-decoration: none;
  color: #595757; }
  @media screen and (min-width: 768px) {
    a[href^="tel:"] {
      display: inline-block;
      pointer-events: none; } }

/* for wp */
.aligncenter {
  text-align: center; }

.alignleft {
  text-align: left; }

.alignright {
  text-align: right; }

#page .post img.aligncenter {
  display: block;
  margin: 0 auto; }
#page .post img.alignright {
  display: block;
  margin: 0 0 0 auto; }
#page .post img.alignleft {
  display: block;
  margin: 0 auto 0 0; }

/* ----------------------------------------------------------------------------------------------------
*  ヘッダー
* --------------------------------------------------------------------------------------------------*/
#header {
  background: #fff;
  position: fixed;
  top: 0;
  z-index: 100;
  width: 100%; }
  #header .headerWrap {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    height: 100px;
    margin: 0 auto;
    position: relative;
    width: 92%; }
  #header .info {
    position: absolute;
    left: 0;
    top: 26px; }
    @media screen and (max-width: 880px) {
      #header .info {
        display: none; } }
    #header .info .tel {
      font-size: 2.2rem;
      letter-spacing: 1.8px; }
    #header .info .address {
      font-size: 1.4rem;
      letter-spacing: 0.3px; }
  #header .logo {
    width: 426px; }
  @media screen and (max-width: 1300px) and (min-width: 768px) {
    #header .info .tel {
      font-size: 2.1rem; }
    #header .info .address {
      font-size: 1.4rem; }
    #header .logo {
      width: 316px;
      margin-left: 110px; } }
  #header .gNav {
    display: none; }
  #header .menu {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 32px; }
    #header .menu .toggle {
      display: inline-block;
      transition: all 0.4s;
      box-sizing: border-box;
      position: relative;
      width: 45px;
      height: 22px;
      z-index: 10; }
      #header .menu .toggle span {
        display: inline-block;
        transition: all 0.4s;
        box-sizing: border-box;
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #595757;
        border-radius: 0; }
        #header .menu .toggle span:nth-of-type(1) {
          top: 0; }
        #header .menu .toggle span:nth-of-type(2) {
          top: 10px; }
        #header .menu .toggle span:nth-of-type(3) {
          bottom: 0; }
      #header .menu .toggle.active span:nth-of-type(1) {
        transform: translateY(11px) rotate(45deg); }
      #header .menu .toggle.active span:nth-of-type(2) {
        opacity: 0; }
      #header .menu .toggle.active span:nth-of-type(3) {
        transform: translateY(-10px) rotate(-45deg); }
    #header .menu p {
      font-size: 1.2rem;
      letter-spacing: 1.8px;
      margin-top: 2px;
      text-align: center;
      transition: 0.4s; }
    @media screen and (min-width: 768px) {
      #header .menu:hover .toggle span {
        background: #eb6153; }
      #header .menu:hover .toggle + p {
        color: #eb6153; } }
  #header .gNav {
    background: white;
    position: absolute;
    top: 100px;
    height: calc(100vh - 100px);
    width: 100%;
    z-index: 9999; }
    #header .gNav .wrap {
      display: flex;
      align-items: center;
      align-content: center;
      flex-wrap: wrap;
      height: 100%;
      width: 100%;
      margin: 0 auto;
      max-width: 980px; }
    #header .gNav ul {
      margin-top: -20px;
      width: 100%; }
      #header .gNav ul li {
        margin-bottom: 20px;
        text-align: center; }
        #header .gNav ul li a {
          color: #231815;
          font-size: 3rem;
          font-weight: bold;
          font-family: "Hannari", "Noto Serif JP", serif;
          padding-bottom: 5px;
          position: relative; }
          #header .gNav ul li a:after {
            background: #231815;
            content: "";
            display: block;
            height: 1px;
            position: absolute;
            bottom: 0;
            width: 100%;
            left: 0;
            right: 0;
            margin: 0 auto;
            transition: 0.3s;
            opacity: 0; }
          #header .gNav ul li a:hover:after {
            opacity: 1; }
    #header .gNav .btn {
      font-size: 1.8rem;
      margin-top: 10px;
      padding: 14px 0;
      width: 300px; }
  @media screen and (max-width: 880px) {
    #header .headerWrap {
      justify-content: space-between;
      height: 66px; }
    #header .logo {
      max-width: 290px;
      width: 74%;
      margin-left: 0; }
    #header .menu {
      transform: scale(0.7);
      top: 12px; }
    #header .gNav {
      height: calc(100vh - 66px);
      top: 66px; }
      #header .gNav ul li a {
        font-size: 6.7vw; } }
  @media screen and (orientation: landscape) and (max-width: 767px) {
    #header .gNav ul li {
      margin-bottom: 5px; }
      #header .gNav ul li a {
        font-size: 2.3rem; }
    #header .gNav .btn {
      font-size: 2rem;
      padding: 5px;
      width: 250px; } }

#main {
  margin-top: 100px; }
  @media screen and (max-width: 880px) {
    #main {
      margin-top: 66px; } }

/* ----------------------------------------------------------------------------------------------------
*  固定　診療時間
* --------------------------------------------------------------------------------------------------*/
.openingHour {
  align-items: center;
  border: 1px solid #898989;
  display: flex; }
  .openingHour .hourHead {
    padding: 20px 30px; }
    .openingHour .hourHead .headline {
      /* writing-mode: vertical-rl; */
      padding: 30px 0 30px 0; }
      .openingHour .hourHead .headline span {
        color: #eb6153;
        display: inline-block;
        font-size: 2.2rem;
        padding-top: 30px;
        position: relative; }
        .openingHour .hourHead .headline span:before {
          content: "";
          display: block;
          background: url("../images/ico_hour_ttl.png");
          background-size: cover;
          position: absolute;
          height: 22px;
          width: 22px;
          left: 0;
          right: 0;
          margin: 0 auto;
          top: 0; }
  .openingHour .hourBody {
    flex: 1;
    padding: 0 22px; }
    .openingHour .hourBody.hourBody--type01 {
      padding: 17px 22px 0 0;
      border-left: none; }
    .openingHour .hourBody.hourBody--type02 {
      padding-left: 22px; }
    .openingHour .hourBody table {
      border-collapse: collapse;
      width: 100%; }
      .openingHour .hourBody table tr:not(:last-child) {
        border-bottom: 1px solid #595757; }
      .openingHour .hourBody table th {
        font-size: 1.8rem;
        text-align: center; }
        .openingHour .hourBody table th:first-of-type {
          text-align: left;
          width: 150px; }
        .openingHour .hourBody table th.openingHour__th1--type01 {
          padding-left: 5px;
          width: 138px; }
          .openingHour .hourBody table th.openingHour__th1--type01.pdt-none {
            padding-top: 0 !important; }
        .openingHour .hourBody table th.openingHour__th1--type02 {
          width: 119px; }
        .openingHour .hourBody table th.openingHour__th2--type01 {
          text-align: left;
          padding-left: 15px; }
          .openingHour .hourBody table th.openingHour__th2--type01.pdt-none {
            padding-top: 0 !important; }
        .openingHour .hourBody table th.openingHour__th2--type02 {
          padding-left: 24px; }
      .openingHour .hourBody table td {
        font-size: 1.8rem;
        text-align: center; }
        .openingHour .hourBody table td img {
          width: 15px; }
      .openingHour .hourBody table th,
      .openingHour .hourBody table td {
        padding: 6px 0; }
  .openingHour .note {
    padding: 15px 0; }
    .openingHour .note p .ico {
      display: inline-block;
      width: 10px; }
  .openingHour .holiday {
    background: #898989;
    border-radius: 7px;
    margin: 14px 5px 0 0;
    min-width: 100px; }
    .openingHour .holiday p {
      color: #fff;
      font-size: 1.7rem;
      line-height: 1.5;
      padding: 7px 12px 8px;
      text-align: center; }

.ie .openingHour .hourHead .headline {
  max-height: 172px; }

#fixedArea {
  background: #fff;
  border-radius: 30px 0 0 30px;
  overflow: hidden;
  position: fixed;
  /*right: -335px;*/
  right: -380px;
  bottom: 90px;
  transform: scale(0.73);
  transform-origin: bottom right;
  transition: 0.3s;
  z-index: 10; }
  #fixedArea .openingHour {
    border-radius: 30px 0 0 30px;
    padding-right: 22px;
    /*width: 550px;*/
    width: 605px; }
    #fixedArea .openingHour .hourBody {
      padding-right: 0; }
    #fixedArea .openingHour .hourHead {
      cursor: pointer;
      transition: 0.3s;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl; }
      #fixedArea .openingHour .hourHead:hover {
        opacity: 0.6; }
  #fixedArea.on {
    right: 0; }
  #fixedArea.pc.on .openingHour .hourBody {
    border-left: 1px solid #898989; }

.openingHour__td1--type01 {
  width: 115px; }

.openingHour__td1--type02 {
  width: 115px; }

.border-rgt {
  border-right: 1px dotted #595757; }

/* ----------------------------------------------------------------------------------------------------
*  フッタ
* --------------------------------------------------------------------------------------------------*/
.pagetop {
  display: block;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: -18px;
  z-index: 0; }
  .pagetop:after {
    background: #2972b0;
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    position: absolute;
    top: 18px;
    z-index: -1; }
  .pagetop a.btn {
    background: #fff; }
    .pagetop a.btn:hover {
      background: #2972b0; }
    .pagetop a.btn:after {
      transform: rotate(-90deg); }

#footer {
  background: #fff;
  padding: 70px 0 0;
  position: relative; }
  #footer .info {
    justify-content: space-between; }
  #footer .head {
    width: 395px; }
    #footer .head .logo {
      margin-bottom: 10px; }
    #footer .head address {
      font-size: 1.4rem;
      margin-bottom: 0; }
    #footer .head .tel {
      font-size: 4rem;
      letter-spacing: 3px;
      /*margin-bottom: 15px;*/ }
    #footer .head .fax {
      font-size: 2.6rem;
      letter-spacing: 2px;
      margin-bottom: 15px; }
    #footer .head .btn {
      font-size: 2.2rem;
      padding: 20px 20px;
      width: 100%; }
  #footer .openingHour {
    width: 540px; }
  #footer .map {
    margin: 45px 0 70px;
    width: 100%; }
    #footer .map iframe {
      border: none;
      border-radius: 20px;
      height: 250px;
      width: 100%; }
  #footer .copyright {
    background: #231815; }
    #footer .copyright p {
      color: #fff;
      font-size: 1.3rem;
      padding: 16px 0;
      text-align: center; }
  @media screen and (max-width: 767px) {
    #footer {
      padding-top: 50px; }
      #footer .head {
        width: 100%; }
        #footer .head .tel {
          font-size: 10vw;
          text-align: center; }
        #footer .head .fax {
          font-size: 6.5vw;
          text-align: center; }
        #footer .head .btn {
          font-size: 5vw;
          padding: 14px;
          width: 90%; }
      #footer .openingHour {
        display: block;
        width: 100%;
        border: 1px solid #898989;
        padding: 15px 5% 25px;
        margin: 70px 0 20px; }
        #footer .openingHour .hourHead {
          padding: 0 0 15px;
          border-bottom: 1px solid #898989;
          letter-spacing: 2px;
          writing-mode: horizontal-tb; }
          #footer .openingHour .hourHead .headline {
            padding: 0;
            text-align: center; }
            #footer .openingHour .hourHead .headline span {
              font-size: 5.1vw;
              padding: 0 0 0 8.2vw; }
              #footer .openingHour .hourHead .headline span:before {
                left: 0;
                margin: 0;
                top: calc(50% - 3vw);
                height: 6vw;
                width: 6vw; }
        #footer .openingHour .hourBody {
          border-left: none;
          padding: 20px 0 10px; }
          #footer .openingHour .hourBody table th,
          #footer .openingHour .hourBody table td {
            padding: 7px 0; }
          #footer .openingHour .hourBody table th {
            font-size: 3.8vw;
            letter-spacing: 2px; }
            #footer .openingHour .hourBody table th:first-of-type {
              width: 31.029vw; }
            #footer .openingHour .hourBody table th.openingHour__th1--type01 {
              padding-left: 5px; }
            #footer .openingHour .hourBody table th.openingHour__th2--type01 {
              padding-left: 3.7vw; }
          #footer .openingHour .hourBody table td img {
            width: 3.5vw; }
        #footer .openingHour .flex {
          display: block;
          text-align: center; }
        #footer .openingHour .note p {
          font-size: 3.5vw;
          line-height: 2; }
        #footer .openingHour .holiday {
          display: inline-block;
          padding: 2px 10px; }
          #footer .openingHour .holiday p {
            font-size: 3.8vw;
            line-height: 1.5; }
      #footer .map {
        margin: 30px 0; }
      #footer .copyright p {
        font-size: 2.5vw;
        padding: 15px 5%;
        word-break: break-all; } }

.mac #footer .openingHour .hourHead {
  /*padding-right: 60px;*/
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl; }
@media screen and (max-width: 767px) {
  .mac #footer .openingHour .hourHead {
    padding-right: 0;
    writing-mode: horizontal-tb; } }

/* クレジットカード ↓ */
.card {
  width: 100%;
  padding: 23px 15px;
  margin-bottom: 55px;
  border: 1px solid #888; }
  .card__wrap {
    width: 100%;
    max-width: 558px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
  .card__text {
    color: #2871af;
    font-size: 2.1rem;
    font-weight: 700;
    width: 31%;
    line-height: 1.75;
    letter-spacing: 0.16em; }
  .card__imgWrap {
    width: 67%;
    max-width: 352px;
    display: flex; }
  .card__img {
    width: auto; }
    .card__img:not(:last-child) {
      margin-right: 5.6%; }
    .card__img--item1 {
      width: 28%;
      max-width: 96px; }
    .card__img--item2 {
      width: 17%;
      max-width: 58px; }
    .card__img--item3 {
      width: 12%;
      max-width: 42px; }
    .card__img--item4 {
      width: 10%;
      max-width: 32px; }
    .card__img--item5 {
      width: 13%;
      max-width: 44px; }
  @media screen and (max-width: 767px) {
    .card {
      padding: 2.998vw 15px;
      margin-bottom: 45px; }
      .card__wrap {
        display: block; }
      .card__text {
        font-size: 4.5vw;
        text-align: center;
        width: 100%;
        margin-bottom: 3.259vw; }
      .card__imgWrap {
        width: 80%;
        max-width: 352px;
        margin: 0 auto; } }

/* クレジットカード ↑ */
/* 患者様へのご案内 ↓ */
.guidance {
  margin-bottom: 55px; }
  .guidance__title {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.75; }
  .guidance__list {
    width: 100%; }
  .guidance__listItem:not(:last-child) {
    margin-bottom: 10px; }
  .guidance__listItem--heading, .guidance__listItem--text {
    line-height: 1.75; }
  .guidance__listItem--heading {
    font-size: 1.4rem;
    font-weight: 700; }
  .guidance__listItem--text {
    font-size: 1.2rem; }
  @media screen and (max-width: 767px) {
    .guidance {
      margin-bottom: 45px; }
      .guidance__title {
        font-size: 4vw;
        margin-bottom: 20px; }
      .guidance__listItem--heading {
        font-size: 3.5vw; }
      .guidance__listItem--text {
        font-size: 3vw; } }

/* 患者様へのご案内 ↑ */
/* ------------------------------
    汎用アイテム
------------------------------ */
.inner {
  max-width: 980px;
  margin: 0 auto;
  width: 94%; }

.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap; }
  .flex.bw {
    justify-content: space-between; }
  .flex.cnt {
    justify-content: center; }
  .flex.fdr {
    flex-direction: column-reverse; }
  @media screen and (max-width: 767px) {
    .flex {
      display: block; } }

.hannari {
  font-family: "Hannari", "Noto Serif JP", serif; }

.bold {
  font-weight: bold; }

.black {
  color: #231815; }

.blue {
  color: #2972b0; }

.red {
  color: #eb6153; }

.hover {
  transition: 0.3s; }
  .hover:hover {
    opacity: 0.6; }

/* shape */
.shape {
  border-radius: 15px 0 15px 0; }

.shape02 {
  border-radius: 25px 0 25px 0; }

/* btn */
.btn {
  border: 1px solid #2972b0;
  color: #2972b0;
  display: block;
  font-size: 1.4rem;
  margin: 0 auto;
  padding: 8px 30px 8px;
  position: relative;
  text-align: center;
  transition: 0.3s;
  width: 186px; }
  .btn:after {
    content: "";
    display: block;
    position: absolute;
    right: 12px;
    top: calc(50% - 4px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 7px;
    border-color: transparent transparent transparent #2972b0; }
  .btn:hover, .btn.blue {
    background: #2972b0;
    color: #fff; }
  .btn.gray {
    background: #666;
    border: #666;
    color: #fff; }
  .btn:hover:after, .btn.blue:after {
    border-color: transparent transparent transparent #fff; }
  .btn.blue:hover {
    background: #fff;
    color: #2972b0; }
    .btn.blue:hover:after {
      border-color: transparent transparent transparent #2972b0; }
  .btn.gray:hover {
    background: #ccc;
    border: 1px solid #666;
    color: #000; }
  @media screen and (max-width: 767px) {
    .btn {
      font-size: 4vw;
      width: 50vw; } }
  @media screen and (orientation: landscape) and (max-width: 767px) {
    .btn {
      font-size: 4vw; } }

.flora {
  width: 100%;
  max-width: 250px;
  margin-top: 13px; }
  @media screen and (max-width: 767px) {
    .flora {
      width: 65vw;
      max-width: initial; } }

.btn__lft {
  margin: 13px auto 0 0; }

/* bg grad */
.bg {
  background: linear-gradient(to bottom, #e9f1f7 0%, #c9ddf1 100%); }

/* secTtl */
.secTtl {
  color: #231815;
  font-size: 2.7rem;
  font-family: "Hannari", "Noto Serif JP", serif;
  font-weight: bold;
  letter-spacing: 3px;
  margin-bottom: 30px;
  padding-bottom: 8px;
  position: relative;
  text-align: center; }
  .secTtl:after {
    background: #2972b0;
    content: "";
    display: block;
    height: 2px;
    margin: 0 auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 35px; }
  .secTtl .eng {
    display: block;
    font-size: 1.4rem;
    line-height: 1; }
  .secTtl br {
    display: none; }
  @media screen and (max-width: 767px) {
    .secTtl {
      font-size: 6.5vw; }
      .secTtl .eng {
        font-size: 3.5vw; }
      .secTtl br {
        display: block; } }

/* circleIconList */
.circleIconList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .circleIconList li {
    background: #fff;
    border-radius: 140px;
    border: 2px solid #dcdddd;
    margin: 0 13px 20px;
    transition: 0.3s;
    width: 140px; }
    .circleIconList li a {
      background: #fff;
      border-radius: 140px;
      display: block;
      transition: 0.3s; }
    .circleIconList li:hover {
      background: #2972b0;
      border: 2px solid #2972b0; }
      .circleIconList li:hover a {
        background: rgba(255, 255, 255, 0.9); }

/* 角丸 */
.round {
  border-radius: 30px;
  overflow: hidden; }

/* ------------------------------
    pageTtl
------------------------------ */
.pageTtl {
  margin-bottom: 60px;
  padding: 0 4%;
  position: relative;
  width: 100%; }
  .pageTtl .img {
    border-radius: 50px;
    height: 365px;
    margin: 0 auto;
    overflow: hidden;
    z-index: 1; }
    .pageTtl .img img {
      height: 100%;
      width: 100%;
      object-fit: cover; }
  .pageTtl .txt {
    background: #fff;
    border-radius: 10px;
    padding: 20px 30px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: 0 auto; }
    .pageTtl .txt .ttl {
      display: inline-block;
      color: #231815;
      font-size: 3rem;
      font-weight: bold;
      line-height: 1;
      white-space: nowrap;
      text-align: center; }
      .pageTtl .txt .ttl .en {
        display: block;
        font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        font-size: 1.5rem;
        line-height: 1;
        margin-bottom: 5px; }
  @media screen and (max-width: 767px) {
    .pageTtl {
      margin-bottom: 30px; }
      .pageTtl .img {
        height: 100px;
        border-radius: 10px; }
      .pageTtl .txt {
        padding: 10px 12vw;
        min-width: 150px;
        text-align: center; }
        .pageTtl .txt .ttl {
          font-size: 4.5vw;
          white-space: nowrap; }
          .pageTtl .txt .ttl .en {
            font-size: 2.5vw; } }

/* スクロールダウン */
@keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.sdTxt {
  animation: blink 1s ease-in-out infinite alternate;
  position: absolute;
  bottom: 0;
  left: 1.3%;
  padding-bottom: 70px; }
  .sdTxt:after {
    background: #595757;
    content: "";
    display: block;
    height: 60px;
    position: absolute;
    left: 6px;
    bottom: 0;
    width: 1px; }
  .sdTxt p {
    font-size: 1.3rem;
    letter-spacing: 1px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; }

.ie .sdTxt p {
  height: 80px; }

/* ------------------------------
    newsList
------------------------------ */
.newsList {
  display: flex;
  flex-wrap: wrap;
  margin: 35px 0 40px; }
  .newsList li {
    border-right: 1px solid #ddd; }
    .newsList li .date {
      font-size: 1.5rem;
      letter-spacing: 1px;
      margin-bottom: 10px; }
    .newsList li img {
      box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.1);
      border-radius: 10px;
      height: auto; }
    .newsList li .imgbk {
      width: 100%;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
      .newsList li .imgbk img {
        width: 100%;
        height: auto; }
    .newsList li .ttl {
      font-size: 1.4rem;
      font-weight: bold;
      letter-spacing: 1px;
      margin: 14px 0 10px; }
    .newsList li p.detail {
      font-size: 1.2rem;
      line-height: 1.7; }
  @media screen and (max-width: 767px) {
    .newsList {
      display: block;
      margin-bottom: 0; }
      .newsList li {
        margin-bottom: 30px;
        width: 100%; }
        .newsList li a {
          margin: 0;
          width: 100%; }
        .newsList li .ttl {
          font-size: 1.6rem;
          margin-bottom: 5px; }
        .newsList li p.detail {
          font-size: 1.6rem; } }

@media screen and (max-width: 767px) {
  .news {
    padding: 50px 0; } }

/* ------------------------------
    clearfix
------------------------------ */
.cf {
  display: inline-block; }
  .cf:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden; }

* html .cf {
  height: 1%; }

.cf {
  display: block; }

/* ------------------------------
    sp/pc
------------------------------ */
@media screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

/* fixed buttons */
.fix-btn2 {
  position: fixed;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #2972b0;
  color: #fff;
  font-weight: 700;
  text-orientation: mixed;
  transition: opacity 0.3s;
  overflow: hidden; }
  .fix-btn2 span {
    writing-mode: horizontal-tb; }
  .fix-btn2::before {
    content: "";
    display: block;
    width: 1.8em;
    height: 1.8em;
    background-color: #fff;
    mask-image: url("../images/calendar.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain; }
  .fix-btn2:hover {
    opacity: 0.8; }
  @media screen and (min-width: 768px) {
    .fix-btn2 {
      top: 18vh;
      right: 0;
      width: 45px;
      padding-top: 10px;
      padding-bottom: 10px;
      border-radius: 5px 0 0 5px;
      writing-mode: vertical-rl; }
      .fix-btn2::before {
        margin-bottom: 0.5em; } }
  @media screen and (max-width: 767px) {
    .fix-btn2 {
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      padding: 1em 0;
      border-radius: 3vw 3vw 0 0; }
      .fix-btn2::before {
        margin-right: 0.5em; } }

.fix-btn {
  display: block;
  background-color: #2972b0;
  position: fixed;
  z-index: 10;
  right: 0;
  top: 30vh;
  width: 42px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  transition: opacity 0.3s;
  overflow: hidden; }
  .fix-btn-new {
    top: 18vh;
    width: 45px; }
  .fix-btn:hover {
    opacity: 0.8; }
  .fix-btn .img-pc {
    width: 24px;
    height: auto;
    margin-left: 11px; }
  .fix-btn-new .img-pc {
    width: 17px;
    height: auto;
    margin-left: 15px; }
  .fix-btn .img-sp {
    display: none; }
  @media screen and (max-width: 480px) {
    .fix-btn {
      width: 100%;
      top: auto;
      left: 0;
      bottom: 0;
      border-top-left-radius: 10px;
      border-top-right-radius: 10px;
      border-bottom-left-radius: 0;
      padding-top: 13px;
      padding-bottom: 13px; }
      .fix-btn .img-pc {
        display: none; }
      .fix-btn .img-sp {
        display: block;
        width: 248px;
        height: auto;
        margin-left: auto;
        margin-right: auto; }
      .fix-btn-new .img-sp {
        width: 94%;
        max-width: 400px; } }

@media screen and (max-width: 480px) {
  .copyright {
    padding-bottom: 65px; } }

/* ------------------------------
当院の内視鏡検査の実績
------------------------------ */
.TrackRecord__wrapper {
  padding: 20px 10px 22px 10px !important; }

.TrackRecord {
  border-collapse: collapse;
  width: 100%; }
  .TrackRecord th,
  .TrackRecord td {
    border: 1px solid #595757;
    font-size: 1.4rem;
    padding: 3px;
    text-align: center; }
  .TrackRecord tr:first-of-type th:first-of-type {
    border: none;
    background: none; }
  .TrackRecord th {
    background: rgba(41, 114, 176, 0.1); }
  @media screen and (max-width: 767px) {
    .TrackRecord th,
    .TrackRecord td {
      font-size: 4vw; } }

/* ------------------------------
さっとFAQ
------------------------------ */
@media screen and (max-width: 767px) {
  #satfaq-widget-icon {
    bottom: 6rem !important; } }

@media screen and (max-width: 767px) {
  #footer .copyright p {
    width: 50%;
    text-align: justify; } }
