@charset "utf-8";
/* CSS Document */
*,
::before,
::after {
  box-sizing: border-box;
  /* ↓↓debug code↓↓ */
  /* outline: 1px solid red; */
}

body {
  color: #333;
  font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'Helvetica Neue', Arial,
    'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
  font-weight: 400;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.75;
  text-align: justify;
  /*background: url("../images/design.png") no-repeat;
  background-position: center top;
  opacity: 0.8;*/
}

a {
  color: #1f2774;
  text-decoration: none;
}

a:hover {
  color: #c0ab9a;
}

/* tel */
[href^='tel']:hover {
  cursor: default;
}

::selection {
  background-color: #99c1da;
}

::-moz-selection {
  background-color: #99c1da;
}

body,
.nav_wrap.fixed,
#mainvisual .inner,
header,
footer {
  min-width: 1200px;
}

@media print {
  html {
    -webkit-print-color-adjust: exact;
  }

  body {
    zoom: 80%;
  }

  .fixed {
    position: inherit !important;
  }
}

.body_inner {
  position: relative;
  overflow: hidden;
}

/* 画像のにじみ（大きい画像を小さく表示した時等）対策 */
.visibility {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  backface-visibility: hidden;
}

/*============================================================================

  共通（ロゴ・住所・電話番号）

============================================================================*/
/* ロゴ */
.info_logo,
.info_logo img {
  width: 309px;
  height: 67px;
}

.info_logo a {
  display: block;
}

.info_logo a:hover {
  opacity: 0.8;
}

/* 住所 */
.info_add {
  color: #333;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

.info_add span {
  display: block;
  margin-bottom: 3px;
}

/* 電話番号 */
.info_tel a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  color: #333;
  font-family: 'bilo', sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 32px;
  letter-spacing: 0.12em;
  line-height: 1;
}

.info_tel a.info_tel_detail::before {
  display: block;
  width: 28px;
  height: 43px;
  margin-right: 18px;
  background: url('../images/tel_icon01.svg') no-repeat;
  content: '';
}

.info_tel a span {
  margin: 12px 0 0 5px;
  font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'Helvetica Neue', Arial,
    'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
  font-weight: 700;
  font-size: 14px;
}

/*============================================================================

  header

============================================================================*/
.mv_wrap {
  position: relative;
}

.mv_wrap::before {
  position: absolute;
  top: 0px;
  left: 0px;
  width: calc(50vw - 221px);
  height: 373px;
  /*height: 433px;*/
  background-color: rgb(40, 40, 40);
  content: '';
}
.mv_bnr {
  position: absolute;
  top: 25px;
  right: 6%;
  width: 250px;
}
.mv_bnr a {
  position: relative;
  width: 250px;
  height: 95px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 21px;
  font-family: 'ryo-display-plusn', serif;
  letter-spacing: 0.16em;
  line-height: 1.9;
  font-weight: 500;
  font-style: normal;
  color: #fff;
  background: linear-gradient(25deg, #0056aa, #40b7ee);
  /*background:linear-gradient(160deg, #282828 0%, #282828 50%, #484848 50%, #484848 100%);*/
  z-index: 1;
  border: 1px solid #d1d1d1;
  box-shadow: 0px 0px 10px 0px rgba(3, 3, 3, 0.2);
  transition: ease-in-out 0.1s;
}
.mv_bnr img {
  display: block;
  width: 30px;
  margin-right: 12px;
}
.mv_bnr a::after {
  width: 100%;
  content: 'MORE';
  font-size: 11px;
  line-height: 1;
  display: block;
  text-align: right;
  position: absolute;
  right: 10px;
  bottom: 5px;
  font-family: 'bilo', sans-serif;
}
.mv_bnr a:hover {
  opacity: 0.8;
}
header {
  position: relative;
  width: calc(100% - 200px);
  height: 193px; /* navのtopと同じ値にする */
  margin: 0 auto;
  /*margin-bottom: 80px;*/ /* navのheightと同じ値にする */
}

header .inner {
  display: flex;
  justify-content: space-between;
  position: relative;
  width: 100%;
  height: inherit;
  margin: auto;
  z-index: 999;
}

/* ロゴ */
.header_logo {
  margin-top: 77px;
}

.header_logo {
  width: 17%;
  min-width: 292px;
  height: 65px;
}

.header_logo a {
  display: block;
  transition: ease-in-out 0.1s;
}

.header_logo a:hover {
  opacity: 0.8;
}

.header_info {
  flex: 1;
}

.header_info_list {
  display: flex;
  justify-content: flex-end;
  margin: 43px 0;
}

/* 住所 */
.header_info_add {
  margin: 8px 47px 0 0;
  font-size: 14px;
  text-shadow: #fff 1px 1px 0, #fff -1px -1px 0, #fff -1px 1px 0,
    #fff 1px -1px 0, #fff 0px 1px 0, #fff 0-1px 0, #fff -1px 0 0, #fff 1px 0 0;
}

.header_info_add span {
  display: inline-block;
  margin: 0 5px 0 0;
}

/* 電話番号 */
.header_info_tel a.info_tel_detail {
  font-size: 26px;
}

.header_info_tel a.info_tel_detail::before {
  width: 23px;
  height: 36px;
  margin-right: 12px;
}

/* MV上の診療表 */
.mv_shedule {
  position: absolute;
  bottom: 250px;
  right: 6%;
  width: 424px;
}
.mv_shedule .tb01 {
  margin-bottom: 0;
}
.mv_shedule .tb01 th {
  width: 30%;
  height: 60px;
}
.mv_shedule .tb01 tr:nth-of-type(1) th,
.mv_shedule .tb01 tr:nth-of-type(1) td {
  padding: 0;
}
.mv_shedule .schedule_note {
  /*width: 400px;*/
  height: 100%;
  background: #282828;
  padding-bottom: 12px;
}
.mv_shedule .tb01 tr:nth-of-type(2) th,
.mv_shedule .tb01 tr:nth-of-type(2) td {
  padding: 0;
}
.mv_shedule .tb01 tr:nth-of-type(3) th,
.mv_shedule .tb01 tr:nth-of-type(3) td {
  padding: 0 0 10px;
}
.mv_shedule .tb01 tr:nth-of-type(2) th,
.mv_shedule .tb01 tr:nth-of-type(3) th {
  padding-left: 5px;
}
.mv_shedule .tb01 tr:nth-of-type(2) {
  padding-bottom: 10px;
}
.mv_shedule .schedule_note li {
  color: #fff;
}
.schedule p.schedule_note_02 {
  background: #484848;
  padding: 10px;
  color: #fff;
  text-align: center;
  font-size: 0.9em;
  font-weight: bold;
}
.schedule_note_0630 {
  padding: 5px;
  background-color: #ffffff;
  font-weight: bold;
  font-size: 110%;
  text-align: center;
  border: solid 2px #484848;
}
.schedule_note_0630 li {
  color: red;
  animation: flash 2.5s linear infinite;
}
@keyframes flash {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}
/*============================================================================

  nav

============================================================================*/
.nav_wrap {
  position: relative;
  z-index: 10;
}

.tgl_menu_list {
  margin: auto;
}

.tgl_menu_list ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.tgl_menu_list ul li {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* リンクテキスト */
.tgl_menu_list ul li a,
.tgl_menu_list ul li p {
  position: relative;
  padding-right: 19px;
  color: #333;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
  text-shadow: #fff 1px 1px 0, #fff -1px -1px 0, #fff -1px 1px 0,
    #fff 1px -1px 0, #fff 0px 1px 0, #fff 0-1px 0, #fff -1px 0 0, #fff 1px 0 0;
  /*text-shadow: 0 0 10px #fff;*/
}

.tgl_menu_list ul li:last-child a,
.tgl_menu_list ul li:last-child p {
  padding-right: 0;
}

/* ホバーエフェクト */
.tgl_menu_list ul li a:hover {
  color: #2db0ed;
}

/* 英語 */
/*.tgl_menu_list ul li a span,
.tgl_menu_list ul li p span {
  display: block;
  margin-top: 9px;
  font-size: 12px;
  letter-spacing: 0.15em;
  line-height: 1;
}*/

/* リストのボーダー */
/*.tgl_menu_list ul li a::before,
.tgl_menu_list ul li p::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  height: 20px;
  margin: auto;
  border-right: 1px dotted #1F2774;
  content: "";
}

.tgl_menu_list ul li:last-child a::before,
.tgl_menu_list ul li:last-child p::before {
  display: none;
}*/

/* ホバー時に出る下線 */
/*.tgl_menu_list ul li a::after,
.tgl_menu_list ul li p::after {
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  width: 30px;
  height: 1px;
  margin: auto;
  background: #1F2774;
  transition: 0.2s ease-in-out;
  transform: scaleX(0);
  content: "";
}

.tgl_menu_list ul li a:hover::after,
.tgl_menu_list ul li.active a::after,
.tgl_menu_list ul li p:hover::after,
.tgl_menu_list ul li.active p::after {
  transform: scaleX(1);
}*/

/* ------- スライドメニュー シングル------- */
.tgl_menu_list ul li.nav_single_menu {
  position: relative;
}

/* ドロップダウン */
.tgl_menu_list ul li.nav_single_menu div {
  position: absolute;
  top: 95%;
  left: 0;
  width: 240px;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease-in-out;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
  /*background: rgb(40, 40, 40, 0.8);*/
  background: rgb(40, 40, 40);
  z-index: 1;
}
.tgl_menu_list ul li.nav_single_menu_2row div {
  display: flex;
  flex-wrap: wrap;
  width: 571px;
}
.tgl_menu_list ul li.nav_single_menu:hover div {
  top: 100%;
  opacity: 1;
  visibility: visible;
}

.tgl_menu_list ul li.nav_single_menu div a {
  /*display: block;*/
  display: flex;
  align-items: center;
  width: 100%;
  position: relative;
  padding: 9px 20px 9px 20px;
  /*background: rgba(255,255,255,0.6);*/
  border-bottom: 1px solid #fff;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
  text-shadow: none;
  color: #fff;
}
.tgl_menu_list ul li.nav_single_menu_2row div a {
  width: 50%;
}
.tgl_menu_list ul li.nav_single_menu div a::before,
.tgl_menu_list ul li.nav_single_menu div a::after {
  display: none;
}

.tgl_menu_list ul li.nav_single_menu div a:last-child {
  border-bottom: none;
}
.tgl_menu_list ul li.nav_single_menu.nav_single_menu_2row div a:nth-child(odd) {
  border-right: 1px solid #fff;
}
.tgl_menu_list ul li.nav_single_menu div a i.nav_arrow {
  display: none;
}

/* ホバーエフェクト */
.tgl_menu_list ul li.nav_single_menu div a:hover {
  background: rgb(40, 40, 40, 0.9);
}

.tgl_menu_list ul li.nav_single_menu div a:hover i.nav_arrow {
  right: 7px;
}

/* ------- スライドメニュー メガ------- */
.tgl_menu_list .nav_mega_menu {
  position: static;
}

/* ドロップダウン */
.tgl_menu_list .nav_mega_menu .mega_menu_wrap {
  position: absolute;
  top: 95%;
  left: 0%;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease-in-out;
  background: rgba(255, 255, 255, 0.6);
  box-shadow: rgba(0, 0, 0, 0.1) 0px 9px 12px -10px;
  z-index: 1;
}

.tgl_menu_list .nav_mega_menu:hover .mega_menu_wrap {
  top: 100%;
  opacity: 1;
  visibility: visible;
}

.tgl_menu_list .mega_menu_inner {
  display: flex;
  justify-content: space-between;
  width: 1200px;
  margin: 0 auto;
  padding: 32px 0;
}

.tgl_menu_list .menu_list {
  width: 100%;
  margin-left: 3%;
}

.tgl_menu_list .menu_list:first-child {
  margin-left: 0;
}

.tgl_menu_list ul li.nav_mega_menu .menu_list p::before,
.tgl_menu_list ul li.nav_mega_menu .menu_list p::after {
  display: none;
}

.tgl_menu_list .menu_list p {
  padding: 12px 0;
  border-bottom: 2px solid;
  font-weight: bold;
  text-align: left;
}

.tgl_menu_list .menu_list ul {
  display: block;
}

.tgl_menu_list .menu_list ul li {
  display: block;
}

.tgl_menu_list .menu_list ul li a {
  display: block;
  position: relative;
  padding: 12px 12px 12px 0;
  text-align: left;
  transition: 0.2s ease-in-out;
}

.tgl_menu_list .menu_list ul li a:hover {
  color: #5c8fce;
}

.tgl_menu_list .menu_list ul li a::before {
  position: static;
  margin-right: 10px;
  border: none;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f105';
}

.tgl_menu_list .menu_list ul li:last-child a::before {
  display: inline;
}

.tgl_menu_list ul li.nav_mega_menu div a::after {
  display: none;
}

/* ------- スライドメニュー tabindex対応------- */
/* シングル */
.tgl_menu_list ul li.nav_single_menu:focus-within > div {
  top: 100%;
  opacity: 1;
  visibility: visible;
}

/* メガ */
.tgl_menu_list ul li.nav_mega_menu:focus-within > .mega_menu_wrap {
  top: 100%;
  opacity: 1;
  visibility: visible;
}

/* 追従時の設定 */
.nav_wrap.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: rgb(40, 40, 40, 0.8);
  z-index: 10000;
}

.nav_wrap.fixed .tgl_menu_list {
  width: 1200px;
  margin: 0 auto;
}

.nav_wrap.fixed .tgl_menu_list ul {
  justify-content: space-between;
}

.nav_wrap.fixed .tgl_menu_list ul li a,
.nav_wrap.fixed .tgl_menu_list ul li p {
  padding: 20px 0;
  color: #fff;
  text-shadow: none;
}
.nav_wrap.fixed .tgl_menu_list ul li.nav_single_menu div a {
  padding: 12px 20px 12px 10px;
}
.nav_wrap.fixed .tgl_menu_list ul li.nav_single_menu div a:hover {
  background: rgb(40, 40, 40, 0.9);
}

/*============================================================================

  WEB予約・WEB問診・リハビリ予約（右サイド固定）

============================================================================*/
.fixed_side_btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  position: fixed;
  top: 0;
  right: 0;
  width: 68px;
  height: 100%;
  z-index: 100;
}

.side_btn_list {
  width: inherit;
}

.side_btn {
  width: inherit;
  margin-bottom: 7px;
}

.side_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: inherit;
  height: 179px;
  /*background: #282828;*/
  /*background: -webkit-linear-gradient(25deg, #52a42b, #aed35c); */
  background: linear-gradient(25deg, #0056aa, #40b7ee);
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1.9;
  text-align: left;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.side_btn a::before {
  display: block;
  position: relative;
  margin: 0 auto 12px;
  content: '';
}

.side_btn_reservation a::before {
  width: 26px;
  height: 26px;
  background: url('../images/clock_icon.svg') no-repeat;
}

.side_btn_inquiry a::before {
  width: 18px;
  height: 27px;
  background: url('../images/record_icon.svg') no-repeat;
}

.side_btn_rehabilitation a {
  height: 203px;
}

.side_btn_rehabilitation a::before {
  width: 30px;
  height: 30px;
  margin: 0 auto 10px;
  background: url('../images/rehabilitation_icon.svg') no-repeat;
}

.side_btn a:hover {
  opacity: 0.8;
}

/*.header_mpcloud_links {
  display: flex;
  float: right;
  width: 200px;
  margin-left: 20px;
}

.header_mpcloud_links a {
  display: block;
  min-width: 100px;
  padding: 10px;
  border:1px solid #fff;
  background-color: #1F2774;
  color: #fff;
  text-align: center;
  transition: background-color 0.5s ease;
}

.header_mpcloud_links a:hover{
  background-color: rgba(31,39,116,0.8);
}*/

/*============================================================================

  #mainvisual

============================================================================*/
/* 下層ページのメインビジュアルの高さ、背景画像（トップページの高さはtop.css参照） */
#mainvisual {
  display: block;
  position: relative;
  /*width: calc(50% + 760px);*/
  /*width: 100%;*/
  width: 89.6%;
  height: 240px;
  /*margin-left: auto;*/
  background-image: url('../images/mainvisual_img01.jpg');
  background-color: #f0f0f0;
  background-position: center;
  background-repeat: no-repeat;
  margin-left: auto;
}

#mainvisual .inner {
  display: table;
  position: relative;
  width: 1200px;
  height: inherit;
  margin: 0 auto;
  background-repeat: no-repeat;
}

/* 下層ページの見出し */
.mainvisual_headline {
  display: table-cell;
  padding-bottom: 2px;
  letter-spacing: 0.15em;
  vertical-align: middle;
  text-align: center;
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.7);
}

/* タイトル */
.mainvisual_headline p.headline {
  position: relative;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.12em;
  font-size: 27px;
  text-shadow: #fff 1px 1px 0, #fff -1px -1px 0, /*右下、左上*/ #fff -1px 1px 0,
    #fff 1px -1px 0, /*右上、左下*/ #fff 0px 1px 0, #fff 0-1px 0,
    /*右、左*/ #fff -1px 0 0, #fff 1px 0 0; /*上、下*/
  /*text-shadow: 0 0 10px #fff;*/
}

/* 英語 */
.mainvisual_headline p {
  color: #c0ab9a;
  font-family: 'bilo', sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.12em;
  text-shadow: 0 0 10px #fff;
}

.mainvisual_headline p:last-child {
  display: none;
}

/* 飾りの英語の棒 */
.mainvisual_headline p::before,
.mainvisual_headline p::after {
  position: relative;
  content: '-';
}

.mainvisual_headline p::before {
  left: -0.5em;
}

.mainvisual_headline p::after {
  right: -0.5em;
}

/* 背景変更用 */
#mainvisual.bg01 {
  background-image: url(../images/main_bg01.png);
  background-position: center 0%;
  background-size: cover;
}

#mainvisual.bg02 {
  background-image: url(../images/main_bg02.png);
  background-position: center 0%;
  background-size: cover;
}
#mainvisual.bg03 {
  background-image: url(../images/main_bg03.png);
  background-position: center 0%;
  background-size: cover;
}

#mainvisual.bg04 {
  background-image: url(../images/main_bg04.png);
  background-position: center 0%;
  background-size: auto;
}

#mainvisual.bg05 {
  background-image: url(../images/main_bg05.png);
  background-position: center 0%;
  background-size: cover;
}

/*==================================================================

  #contents

==================================================================*/
main {
  display: block;
}

#container {
  position: relative;
  padding-top: 228px;
}

#contents {
  position: relative;
  /*width: 1200px;
  margin: 0 auto;
  padding-top: 70px;
  padding-bottom: 100px;*/
}

#contents_left {
  float: left;
  width: 840px;
}

/* 診療案内 右メニュー */
#contents_right {
  position: sticky;
  top: 140px;
  float: right;
  width: 280px;
  margin: 70px 0 0;
  padding: 0;
  font-size: 15px;
  line-height: 1.6;
}

.right_medical p {
  text-align: center;
}

.right_medical p a {
  display: block;
  padding: 15px 0;
  border-radius: 20px 20px 0 0;
  background-color: #fff;
  color: #000;
  font-weight: bold;
  font-size: 19px;
  transition: 0.1s ease-in-out;
}

.right_medical p a span {
  display: block;
  font-size: 14px;
}

.right_medical p a:hover {
  background-color: #e0d6ce;
  color: #1f2774;
}
.right_medical {
  position: relative;
  padding: 10px;
  border-radius: 27px;
  background: #1f2774;
}

.right_medical ul {
  background-color: #fff;
  border-radius: 15px;
}

.right_medical li:nth-child(odd) {
  background-color: #f1ebe2;
}

.right_medical li:nth-child(even) {
  background-color: #f9f4ee;
}

.right_medical li a {
  display: block;
  padding: 10px;
  text-align: center;
}

.right_medical li a:hover {
  background-color: #fff;
}

.right_medical li:last-child a:hover {
  border-radius: 0 0 20px 20px;
}

.right_medical li:last-child {
  margin-bottom: 0;
  border-radius: 0 0 20px 20px;
}

.right_medical img {
  width: 100%;
}

.right_medical li:nth-child(odd) {
  background-color: #f1ebe2;
}

/*============================================================================

  $footer

============================================================================*/
footer {
  position: relative;
  background: #282828;
}

footer .inner {
  display: flex;
  justify-content: space-between;
  width: 1200px;
  margin: 0 auto;
  padding: 140px 0 67px;
}

.footer_info {
  width: 50%;
  padding-right: 30px;
}

.footer_logo {
  width: 309px;
  height: 68px;
  margin: 0 auto 20px;
}

.footer_info_add {
  margin-bottom: /*28*/ 80px;
  color: #fff;
  line-height: 1.6;
}

.footer_info_add span {
  margin-bottom: 1px;
}

.footer_info_tel {
  margin: 0 0 22px 20px;
}

.footer_info_tel span.tel_type {
  display: block;
  margin-bottom: 12px;
  background: #343434;
  color: #fff;
  text-align: center;
}

.footer_info_tel a {
  color: #fff;
}

.footer_info_tel a::before {
  margin-right: 18px;
  background: url('../images/tel_icon02.svg') no-repeat;
}

.footer_info_sche .schedule_detail {
  background: #343434;
}

.footer_info_sche .schedule_note li {
  color: #fff;
}

.footer_info_sche .close {
  color: #fff;
}
.footer_info_sche .schedule_note {
  padding: 10px;
  border: 1px solid #fff;
}

.footer_calendar {
  /*	width: 50%;*/
}

.calendar_box {
  width: 570px;
  /*  	height: 640px;*/
  height: 470px;
  margin: 17px 0 0 auto;
}

.calendar_box iframe {
  width: 100%;
  height: 100%;
}

.footer_calendar p {
  text-align: center;
  margin-top: 10px;
  font-weight: bold;
}

/* フッターのナビ */
/*.footer_navi .inner {
  width: 1200px;
  margin: 0 auto;
  padding: 40px 0;
}

.footer_navi ul {
  position:relative;
  width:100%;
  height:80px;
}

.footer_navi ul {
  display: flex;
  justify-content: center;
  width: 1200px;
  height: inherit;
  margin: 0 auto;
  text-align: center;
}

.footer_navi ul li {
  display: inline-table;
  position: relative;
  height: inherit;
}

.footer_navi ul li a {
  display: block;
  padding: 0 29px;
  font-weight:bold;
  font-size:15px;
  line-height: 1.6;
  text-align:center;
}

.footer_navi ul li a:hover,
.footer_navi ul li.active2 a {
  color: #1F2774;
}

.footer_navi ul li a span {
  position: relative;
  padding: 0 5px;
}*/

/* 間のボーダー */
/*.footer_navi ul li a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1px;
  width: 0;
  height: 15px;
  margin: auto;
  border-right: 1px dotted #ababab;
  color: #666;
  font-weight: 100;
  font-size: 13px;
  content: "";
}

.footer_navi ul li:first-child a::after {
  display: none;
}*/

/* ホバーのボーダー */
/*.footer_navi ul li a span::before {
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: #3D4AA5;
  transition-duration: 0.15s;
  transition-timing-function: ease-out;
  transform: scaleX(0);
  content: "";
  z-index: 1;
}

.footer_navi ul li a:hover span::before,
.footer_navi ul li.active2 a span::before {
  transform: scaleX(1);
}*/

/* ページトップ */
.pagetop,
.pagetop img {
  width: 84px;
  height: 84px;
}

.pagetop {
  position: absolute;
  bottom: 42px;
  right: 93px;
  cursor: pointer;
  z-index: 50;
}

.pagetop img {
  display: inline-block;
  position: relative;
  top: 0;
  transition: 0.5s ease-in-out;
}

.pagetop:hover img {
  top: -5px;
  padding-bottom: 5px;
  transform: rotateY(180deg);
}

/* コピーライト */
.copy {
  padding-bottom: 40px;
  text-align: center;
}

.copy small {
  color: #fff;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.12em;
  line-height: 1;
}

/*==================================================================

  タイトル

==================================================================*/
h1 {
  position: absolute;
  width: calc(100% - 200px);
  min-width: 1200px;
  top: 25px;
  right: 0;
  left: 0;
  margin: auto !important;
  color: #a8a7a7;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
}

.tit_box {
  position: relative;
}

.tit_en {
  margin-bottom: 10px;
  color: #fff;
  font-family: 'bilo', sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 54px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

.sub_tit_box {
  margin-bottom: 50px;
}

.sub_tit_box .tit_en {
  margin-bottom: 5px;
  color: #333;
}

.sub_tit_box .tit01 {
  color: #333;
}

/* 中央寄せ */
.tit01 {
  position: relative;
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 26px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

/* 左寄せ　背景画像あり */
.tit02 {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 20px;
  padding: 10px 0;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
}

.tit02::before {
  display: block;
  position: relative;
  width: 45px;
  height: 46px;
  margin-right: 20px;
  background: url('../images/logo_icon.svg') no-repeat;
  content: '';
}

/* 左寄せ+左右に三角 */
.tit03 {
  position: relative;
  margin-bottom: 20px;
  padding: 0.6em 0.7em;
  border: 1px #000 solid;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
}

.tit03::before {
  position: absolute;
  top: -5px;
  left: -5px;
  width: 55px;
  height: 45px;
  margin: auto;
  background-color: rgb(40, 40, 40, 0.5);
  -webkit-clip-path: polygon(0 0, 0 45%, 100% 0);
  clip-path: polygon(0 0, 0 45%, 100% 0);
  z-index: -1;
  content: '';
}

.tit03::after {
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 55px;
  height: 45px;
  margin: auto;
  background-color: rgb(40, 40, 40, 0.5);
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 45%);
  clip-path: polygon(0 100%, 100% 100%, 100% 45%);
  z-index: -1;
  content: '';
}

/* 左寄せ */
.tit04 {
  display: table;
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 5px;
  border-bottom: 2px solid #333;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 17px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
}

/* 左寄せ */
.tit05 {
  display: table;
  position: relative;
  margin: 0 0 20px;
  padding: 10px 15px 10px 15px;
  background: #333;
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 15px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
}

/* 左寄せ+斜線 */
.tit06 {
  position: relative;
  margin-bottom: 20px;
  padding: 0.5em 0.7em 0.4em;
  border: dashed 2px white;
  background: repeating-linear-gradient(
    45deg,
    #fff9e6,
    #fff9e6 5px,
    #fbf0d0 5px,
    #fbf0d0 10px
  );
  box-shadow: 0px 0px 0px 5px #fbf0d0;
  font-weight: 600;
  font-size: 18px;
  letter-spacing: 0.15em;
  line-height: 1.4;
  text-align: left;
}

.tit06::after {
  position: absolute;
  top: -7px;
  left: -7px;
  border-width: 0 0 15px 15px;
  border-style: solid;
  border-color: #fff #fff #f3dfa4;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
  content: '';
}

/* 左側に画像+左寄せ */
.tit07 {
  position: relative;
  margin-bottom: 30px;
  padding: 0 0 0 20px;
  border-left: 5px solid #82c79a;
  color: #1f2774;
  font-weight: 600;
  font-size: 22px;
  letter-spacing: 0.15em;
  line-height: 1.4;
  text-align: left;
}

.tit07::before {
  position: absolute;
  bottom: 0;
  left: -5px;
  width: 5px;
  height: 50%;
  background-color: #39588e;
  content: '';
}

/* 左側に電球+左寄せ */
.tit08 {
  position: relative;
  margin-bottom: 30px;
  padding: 7px 5px 7px 70px;
  border-radius: 25px 0 0 25px;
  background: #f4f4f4;
  color: #474747;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 17px;
  letter-spacing: 0.12em;
  line-height: 2;
}

.tit08::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 55px;
  height: 55px;
  padding: 0em;
  border-radius: 50%;
  background: #000;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29);
  color: #fff;
  font-family: 'Font Awesome 5 Free';
  font-weight: normal;
  line-height: 55px;
  text-align: center;
  transform: translateY(-50%);
  content: '\f0eb';
}

/* 左寄せ+下線 */
.tit09 {
  position: relative;
  margin-bottom: 15px;
  border-bottom: solid 3px #87ceeb;
  font-weight: 600;
  font-size: 22px;
  text-align: left;
}

.tit09::before {
  display: block;
  position: absolute;
  bottom: -3px;
  width: 15%;
  border-bottom: solid 3px #ffc778;
  content: ' ';
}

/* 上下線 */
.tit10 {
  margin-bottom: 20px;
  padding: 15px 30px;
  border-top: 3px solid #333;
  border-bottom: 3px solid #333;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 17px;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

/* 吹き出し+背景色あり */
.tit11 {
  position: relative;
  padding: 15px 30px;
  /*border-radius: 10px;*/
  background: rgb(40, 40, 40, 1);
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

.tit11::after {
  position: absolute;
  bottom: -10px;
  left: 15px;
  width: 0;
  height: 0;
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: rgb(40, 40, 40, 1) transparent transparent transparent;
  content: '';
}

/* 下に小さな下線 */
.tit_box01 {
  position: relative;
  margin-bottom: 30px;
}

.tit_box01 h2 {
  position: relative;
  font-size: 30px;
  text-align: center;
}

.tit_box01 p {
  font-size: 18px;
  text-align: center;
}

.tit_box01:before {
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  width: 60px;
  height: 5px;
  margin: auto;
  border-radius: 3px;
  background: #fa4141;
  content: '';
}

/*==================================================================

  .list
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
/* 院長略歴 */
.list01 {
  margin: 0 0 15px;
  padding: 0;
  border-width: 0 1px 1px;
}

.list01 dt {
  margin: 0;
  padding: 14px 3px 0px;
}

.list01 dd {
  margin: -38px 0 0;
  padding: 12px 4px 10px 100px;
  border-bottom: 1px dotted #acacac;
}

/* 院長略歴　年月無し */
.list02 {
  margin: 0 0 15px;
  border-width: 0 1px 1px;
}

.list02 li {
  margin: 0 0px 0px;
  padding: 6px 4px 6px 0;
  border-bottom: 1px dotted #ddd;
}

/* まる */
.list03 li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 15px;
}

.list03 li:last-child {
  margin-bottom: 0;
}

.list03 li::before {
  display: block;
  position: absolute;
  top: 11px;
  left: 0;
  width: 4px;
  height: 4px;
  border: 1px solid #333;
  border-radius: 100%;
  background-color: #333;
  content: '';
}

.list03 li i {
  margin-right: 8px;
}

/* さんかく */
.list04 li {
  position: relative;
  margin-bottom: 15px;
  padding-left: 22px;
  color: #223a70;
}

.list04 li::before {
  position: absolute;
  top: 0.5em;
  left: 7px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left: 5px solid #4a577f;
  content: '';
}

/* やじるし */
.list05 li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 15px;
}

.list05 li::before {
  position: absolute;
  top: 0.3em;
  left: 0;
  height: 5px;
  width: 5px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  background-color: transparent;
  transform: rotate(45deg);
  content: '';
}

/* まる & 背景 */
.list06 {
  padding: 35px 15px 25px 45px;
  background-color: #f4f4f4;
}

.list06::after {
  display: block;
  clear: both;
  content: '';
}

.list06 li {
  position: relative;
  float: left;
  margin-bottom: 15px;
  padding-left: 0.9em;
  padding-right: 5%;
}

.list06 li::before {
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
  height: 4px;
  border: 1px solid #333;
  border-radius: 100%;
  background-color: #333;
  content: '';
}

/* まる & 枠 */
.list07 {
  padding: 30px;
  border: 3px solid #eee;
}

.list07 li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 0.9em;
}

.list07 li:last-child {
  margin-bottom: 0;
}

.list07 li::before {
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
  height: 4px;
  border: 1px solid #333;
  border-radius: 100%;
  background-color: #333;
  content: '';
}

.list07 li i {
  margin-right: 8px;
}

/* チェック */
.list08 {
  margin-bottom: 30px;
  padding: 35px 10px 20px 45px;
  background-color: #f4f4f4;
}

.list08::after {
  display: block;
  clear: both;
  content: '';
}

.list08 li {
  position: relative;
  float: left;
  margin-bottom: 20px;
  margin-left: 28px;
  margin-right: 5%;
  border-bottom: 1px solid rgb(40, 40, 40, 0.08);
}

.list08 li::before {
  display: block;
  position: absolute;
  top: -2px;
  left: -35px;
  padding-left: 10px;
  color: #333;
  font-family: 'Font Awesome 5 Free';
  font-size: 18px;
  font-weight: 900;
  content: '\f00c';
}

.list08-box {
  position: relative;
  margin-bottom: 20px;
  padding: 30px;
  background: #b8bfff;
  letter-spacing: 0.15em;
}

.list08-box .list08 {
  margin-bottom: 0;
  padding: 35px 25px 20px 50px;
  background-color: #fff;
}

.list08-box .list08 li {
  width: auto;
}

.list08-box::before {
  position: absolute;
  top: -5px;
  left: -5px;
  width: 65px;
  height: 50px;
  margin: auto;
  background-color: #1f2774;
  -webkit-clip-path: polygon(0 0, 0 85%, 100% 0);
  clip-path: polygon(0 0, 0 85%, 100% 0);
  z-index: 0;
  content: '';
}

.list08-box::after {
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 65px;
  height: 50px;
  margin: auto;
  background-color: #1f2774;
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 15%);
  clip-path: polygon(0 100%, 100% 100%, 100% 15%);
  z-index: 0;
  content: '';
}

/* 数字＋背景色 */
.list09 {
  padding: 25px;
  background: #f4f4f4;
  counter-reset: section;
}

.list09 li {
  display: flex;
  align-items: baseline;
  position: relative;
  margin-bottom: 10px;
  padding-bottom: 8px;
  padding-left: 5px;
  border-bottom: 1px solid rgb(40, 40, 40, 0.08);
}

.list09 li::before {
  padding-right: 8px;
  color: #333;
  font-weight: 700;
  font-size: 106%;
  counter-increment: section;
  content: counter(section);
}

/* ●の数字＋背景色 */
.list10 {
  padding: 25px;
  background: #f4f4f4;
  counter-reset: section;
}

.list10 li {
  display: flex;
  align-items: baseline;
  position: relative;
  margin-bottom: 10px;
  padding-left: 5px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgb(40, 40, 40, 0.08);
}

.list10 li::before {
  display: inline;
  margin-right: 10px;
  padding: 2px 12px;
  border-radius: 20px;
  background-color: #333;
  color: #fff;
  font-family: 'bilo', sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 106%;
  counter-increment: section;
  content: counter(section);
}

/* 数字の右側に）＋背景色 */
.list11 {
  padding: 25px;
  background: #f4f4f4;
  counter-reset: section;
}

.list11 li {
  display: flex;
  align-items: baseline;
  position: relative;
  margin-bottom: 10px;
  padding-bottom: 8px;
  padding-left: 5px;
  border-bottom: 1px solid rgb(40, 40, 40, 0.08);
}

.list11 li::before {
  display: inline;
  flex-basis: 35px;
  flex-shrink: 0;
  color: #333;
  counter-increment: section;
  content: counter(section) ' )';
  font-size: 106%;
  font-weight: 700;
}

/* 米印のリスト */
.list12 li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 1em;
  color: #888;
  font-size: 95%;
  text-indent: -1em;
}

.list12 li::before {
  display: inline;
  content: '※';
}

/* チェックボックス（横並び） */
.list13 {
  margin-bottom: 30px;
  padding: 35px 10px 20px 45px;
  background-color: #f4f4f4;
}

.list13::after {
  display: block;
  clear: both;
  content: '';
}

.list13 li {
  position: relative;
  float: left;
  margin-bottom: 20px;
  margin-left: 28px;
  margin-right: 5%;
  border-bottom: 1px solid rgb(40, 40, 40, 0.08);
}

.list13 li::before {
  display: block;
  position: absolute;
  top: -2px;
  left: -35px;
  padding-left: 10px;
  color: #333;
  font-family: 'Font Awesome 5 Free';
  font-size: 18px;
  font-weight: 900;
  content: '\f14a';
}

/* チェックボックス（横並び） */
.list14 {
  padding: 30px;
  background-color: #f4f4f4;
}

.list14::after {
  display: block;
  clear: both;
  content: '';
}

.list14 li {
  position: relative;
  margin-bottom: 20px;
  margin-left: 28px;
  margin-right: 28px;
  border-bottom: 1px solid rgb(40, 40, 40, 0.08);
}

.list14 li:last-child {
  margin-bottom: 0;
}

.list14 li::before {
  display: block;
  position: absolute;
  top: -2px;
  left: -35px;
  padding-left: 10px;
  color: #333;
  font-family: 'Font Awesome 5 Free';
  font-size: 18px;
  font-weight: 900;
  content: '\f14a';
}

/* まる & 枠（背景色） */
.list15 {
  padding: 30px;
  background-color: #f4f4f4;
}

.list15 li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 0.9em;
}

.list15 li:last-child {
  margin-bottom: 0;
}

.list15 li::before {
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 4px;
  height: 4px;
  border: 1px solid #333;
  border-radius: 100%;
  background-color: #333;
  content: '';
}

.list15 li i {
  margin-right: 8px;
}

/* ●の数字＋背景色 */
.list16 {
  /*padding: 25px;*/
  /*background: #f5f5ff;*/
  counter-reset: section;
}

.list16 li {
  display: flex;
  align-items: baseline;
  position: relative;
  margin-bottom: 10px;
  padding-left: 5px;
  /*padding-bottom: 8px;*/
  /*border-bottom: 1px solid #1f2774;*/
}

.list16 li::before {
  display: inline;
  margin-right: 10px;
  padding: 2px 12px;
  border-radius: 20px;
  background-color: #333;
  color: #fff;
  font-family: 'bilo', sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 106%;
  counter-increment: section;
  content: counter(section);
}

/* まる */
.list17 li {
  margin-bottom: 10px;
}

.list03 li:last-child {
  margin-bottom: 0;
}

.list17 li .list17_txt {
  position: relative;
  padding-left: 15px;
}

.list17 li .list17_txt::before {
  display: block;
  position: absolute;
  top: 11px;
  left: 0;
  width: 4px;
  height: 4px;
  border: 1px solid #333;
  border-radius: 100%;
  background-color: #333;
  content: '';
}

.list17 li i {
  margin-right: 8px;
}

/* 画像を左寄せ */
.list17_img01 {
  max-width: 300px;
  text-align: left;
}

.list17_img01 img {
  width: 100%;
  height: auto;
}

.list17_img02 {
  max-width: 740px;
  text-align: left;
}

.list17_img02 img {
  width: 100%;
  height: auto;
}

/*==================================================================

  .btn
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
/* ボタン 横並び */
.btn_flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.btn_flex .btn02 {
  margin-right: 20px;
}

.btn_flex .btn02:last-child {
  margin-right: 0;
}

.btn02.no_link a {
  pointer-events: none;
}
/* ボタン ゴースト */
.btn01 {
  position: relative;
}

.btn01 a {
  display: table;
  position: relative;
  margin: 0;
  padding: 15px 25px;
  border: 1px solid #727f94;
  background: #727f94;
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: left;
  transition: ease-in-out 0.1s;
}

.btn01 a::before {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 17px;
  height: 16px;
  border: 1px solid #fff;
  transform: translateY(-50%);
  transition: ease-in-out 0.1s;
  content: '';
}

.btn01 a::after {
  position: absolute;
  top: 50%;
  right: 5px;
  width: 49px;
  height: 1px;
  background: #fff;
  transform: translateY(-50%);
  transition: ease-in-out 0.1s;
  content: '';
}

.btn01 a:hover {
  background-color: #33409a;
  color: #fff;
}

/* btn02 */
.btn02 a {
  display: inline-block;
  padding: 16px;
  border-radius: 4px;
  color: #fff;
  background: rgb(40, 40, 40, 1);
  box-shadow: 0px 5px 0 rgb(40, 40, 40, 0.7);
  text-decoration: none;
  transition: 0.2s all ease 0s;
}

.btn02 a:hover {
  box-shadow: 0px 1px 0 rgb(40, 40, 40, 0.7);
  transform: translate3d(0, 3px, 0);
}

.btn02 a i {
  margin-right: 7px;
}

/* btn03 */
.btn03 a {
  position: relative;
  display: inline-block;
  padding: 8px 20px;
  border: 1px solid #00408f;
  background: #00408f;
  color: #fff;
  font-weight: bold;
  transition: ease-in-out 0.2s;
  border-radius: 25px;
  overflow: hidden;
}
.btn03 a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: '';
  background: #fff;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.btn03 a span {
  z-index: 2;
  position: relative;
}
.btn03 a i {
  margin-right: 7px;
}
.btn03 a:hover {
  color: #00408f;
}
.btn03 a:hover::before {
  transform-origin: left top;
  color: #00408f;
  transform: scale(1, 1);
}
/*btn04*/
.btn04 a {
  position: relative;
  display: inline-block;
  padding: 8px 20px;
  color: #fff;
  background: #00408f;
  font-weight: bold;
  transition: ease-in-out 0.2s;
}
.btn04 a i {
  margin-right: 7px;
}
.btn04 a:hover {
  color: #fff;
}
.btn04 a span {
  z-index: 2;
  position: relative;
}
.btn04 a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: '';
  background: #6baaea;
  transform-origin: center center;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.btn04 a:hover::before {
  transform: scale(1, 1);
}
/*btn05*/
.btn05 a {
  width: 130px;
  display: inline-block;
  position: relative;
  padding: 9px 0 7px;
  font-family: serif;
  color: #ffffff;
  font-size: 15px;
  font-weight: 400;
  line-height: 25px;
  transition: ease-in-out 0.2s;
}
.btn05 a:before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  transition: 0.5s;
  background: -webkit-linear-gradient(0deg, #0068b7 0%, #208ee1 100%);
  background: -moz-linear-gradient(0deg, #0068b7 0%, #208ee1 100%);
  background: -o-linear-gradient(0deg, #0068b7 0%, #208ee1 100%);
  background: linear-gradient(90deg, #0068b7 0%, #208ee1 100%);
}
.btn05 a:after {
  background: -webkit-linear-gradient(0deg, #59b4f9 0%, #94d0fd 100%);
  background: -moz-linear-gradient(0deg, #59b4f9 0%, #94d0fd 100%);
  background: -o-linear-gradient(0deg, #59b4f9 0%, #94d0fd 100%);
  background: linear-gradient(90deg, #59b4f9 0%, #94d0fd 100%);
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
.btn05 a:hover:before {
  opacity: 0;
}

.btn05 p {
  z-index: 5;
  position: relative;
  text-align: center;
  margin: 0 !important;
  padding: 0 !important;
}
.btn05 p img {
  position: absolute;
  right: 15px;
  top: 9px;
}

.btn05 a:hover img {
  opacity: 1;
  transform: translateX(0.3em);
  transition: ease-in-out 0.4s;
}
/*btn06*/
.btn06 {
  font-weight: 600;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  cursor: pointer;
  user-select: none;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}
.btn06 a i {
  margin-right: 7px;
}
.btn06 a {
  border: 2px solid #000;
  border-radius: 0;
  background: #fff;
  box-shadow: 4px 4px 0 #000;
  padding: 10px;
}

.btn06 a:hover {
  box-shadow: -4px -4px 0 #000;
  transition: all 0.3s;
}
/*btn07*/
.btn07 a {
  position: relative;
  display: block;
  padding: 0.8em;
  text-align: center;
  border: 1px solid #9c27b0;
  text-decoration: none;
  outline: none;
  transition: all 0.4s;
  font-weight: 600;
}
.btn07 a i {
  margin-right: 7px;
}

.btn07 a::before,
.btn07 a::after {
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  z-index: 2;
  content: '';
  transition: all 0.4s;
}
.btn07 a::before {
  border-top: 1px solid #ff5722;
  border-bottom: 1px solid #ff5722;
  transform: scale(0, 1);
}
.btn07 a::after {
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
  transform: scale(1, 0);
}
.btn07 a:hover {
  color: #ff5722;
}
.btn07 a:hover::after,
.btn07 a:hover::before {
  transform: scale(1);
}
.btn01_arrow {
  position: relative;
  left: 0px;
  margin-right: 14px;
  transition: 0.2s ease-in, 0.22s ease-out;
}
.btn01_arrow img {
  opacity: 1 !important;
}
.btn01_arrow,
.btn01_arrow img {
  width: 18px;
  height: 13px;
}
.btn01 a:hover .btn01_arrow {
  left: 4px;
}
/*==================================================================

  $画像寄せ
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
/* 画像を右寄せ　※画像サイズはhtmlで調整 */
.img_fr {
  display: block;
  position: relative;
  float: right;
  max-width: 300px;
  margin-left: 30px;
  margin-bottom: 0 !important;
  text-align: center;
}

.img_fr.mw500 {
  max-width: 500px;
}

.img_fr img {
  border-radius: 3px;
  margin-bottom: 7px;
  width: 100%;
  height: auto;
}

/* 画像に対して説明文がある場合は、dlで囲い、dtに画像を、ddにテキストを使う */
.img_fr dd {
  padding-left: 20px;
  color: #1f2774;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.3;
  text-align: left;
}

/* 画像中央寄せ */
.img_center {
  max-width: 1000px;
  margin: 0 auto 1em;
  text-align: center;
}

.img_center img {
  width: 100%;
  height: auto;
}

.img_center02 {
  max-width: 460px;
  margin: 0 auto 1em;
  text-align: center;
}

.img_center02 img {
  width: 100%;
  height: auto;
}

.img_center03 {
  max-width: 1200px;
  margin: 0 auto 1em;
  text-align: center;
}

.img_center03 img {
  width: 100%;
  height: auto;
}

/* 画像を左寄せ */
.img_left {
  max-width: 460px;
  text-align: left;
}

.img_left img {
  width: 100%;
  height: auto;
}

/* 画像を左寄せ */
.img_left02 {
  max-width: 300px;
  text-align: left;
}

.img_left02 img {
  width: 100%;
  height: auto;
}

.img_left02 span {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
}

.img_left03 {
  max-width: 1000px;
  text-align: left;
}

.img_left03 img {
  width: 100%;
  height: auto;
}

.img_left04 {
  max-width: 560px;
  text-align: left;
}

.img_left04 img {
  width: 100%;
  height: auto;
}

.img_left04 span {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
}

/* 各種検査で使用 */
.img_flex {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.img_item {
  width: calc(100% / 3);
  margin: 0 20px 20px 0 !important;
}

.img_item:last-child {
  margin: 0 0 20px 0 !important;
}

.img_item img {
  width: 100%;
  height: auto;
}

/* 痛風ページで使用 */
.img_flex02 {
  display: flex;
  align-items: center;
}

.img_item02 {
  width: 300px;
  margin: 0 20px 20px 0 !important;
}

.img_item02:last-child {
  margin: 0 0 20px 0 !important;
}

.img_item02 img {
  width: 100%;
  height: auto;
}

.img_item02 span {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

.img_tit {
  display: table;
  position: relative;
  margin: 0 auto 20px;
  padding: 0 0 8px;
  border-bottom: 1px solid #333;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

/*==================================================================

  $アンカーリンンク
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
/* 共通CSS */
[class^='ank0'] {
  padding-top: 10px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

[class^='ank0'] li {
  margin: 0 1% 10px;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  position: relative;
}

[class^='ank0'] li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 10px 10px 20px;
  border: 1px solid rgb(40, 40, 40);
  background: rgb(40, 40, 40);
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.12em;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  transition: 0.1s ease-in-out;
}

[class^='ank0'] li a:hover {
  background-color: #fff;
  color: rgb(40, 40, 40);
}

[class^='ank0'] li i {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4px;
  margin: auto;
}

/* 2個並び */
.ank02 li {
  width: 48%;
}

/* 3個並び */
.ank03 li {
  width: 30%;
}

/* 4個並び */
.ank04 li {
  width: 23%;
}

/*==================================================================

  .layout
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/

/* --------------layout共通タイトル-------------- */
.layout_tit {
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

.layout_tit em {
  margin-right: 10px;
  color: #bda087;
  font-family: 'Times New Roman', Times, serif;
  font-size: 30px;
  font-weight: normal;
}

.layout_tit span {
  margin-right: 10px;
  color: #bda087;
  font-family: 'Times New Roman', Times, serif;
  font-size: 30px;
  font-weight: normal;
}

/* layout小タイトル */
.layout_tit_02 {
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
/* 1つ並びのレイアウト。画像は無し、左にタイトル、右に文章 */
.layout01 {
  position: relative;
  margin: 0 0 15px;
}

.layout01:before {
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid #ededed;
  content: '';
}

.layout01 .layout01_box {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin: 5px 0;
}

.layout01 .layout01_box:after {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid #f0f0f0;
  content: '';
}

.layout01 .layout01_title {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 30%;
  background-color: #f4f4f4;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 120%;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

.layout01 .layout01_title em {
  display: block;
  width: 100%;
  margin-bottom: 5px;
  color: #58554e;
  font-family: 'bilo', sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 130%;
  letter-spacing: 0.12em;
  line-height: 1;
}

.layout01 .layout01_title span {
  font-size: 75%;
}

.layout01 .layout01_text {
  width: 70%;
  padding: 3%;
}

.layout01 .layout01_text .list06 {
  padding: 0;
  background-color: transparent;
}

.layout01 .layout01_text .list06 li {
  margin-bottom: 0;
}

/* 2つ並びのレイアウト。最初(dt)にタイトル、画像がその下(dd)、画像の下に文章 */
.layout02 {
  margin: 0 0 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.layout02::after {
  display: block;
  clear: both;
  content: '';
}
.layout02 .layout02_box {
  width: 49%;
  margin: 0 2% 0 0;
  margin-bottom: 25px;
  padding: 4%;
  background-color: #f4f4f4;
}
.layout02 .layout02_box:nth-child(even) {
  margin-right: 0;
}
.layout02 .layout02_box .layout02_text {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
  color: #1f2774;
}
.layout02 .layout02_text img {
  width: 100%;
  height: auto;
}
/* 1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章 */
.layout03 {
  margin: 0 0 15px;
}
.layout03 .layout03_box {
  display: flex;
  margin-bottom: 20px;
  background-color: #f4f4f4;
  padding: 2%;
}
.layout03 .layout03_title {
  width: 27%;
  padding: 2%;
  background-color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  line-height: 1.5;
}
.layout03 .layout03_title img {
  width: 100%;
  height: auto;
}
.layout03 .layout03_text {
  width: 73%;
  padding: 1% 3%;
}

/* 1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章、タイトルと文章のエリア(dd)は背景色が別の色 */
.layout04 {
  margin: 0 0 15px;
}
.layout04 .layout04_box {
  display: flex;
  margin-bottom: 20px;
  background-color: #f4f4f4;
  padding: 2%;
}
.layout04 .layout04_title {
  width: 27%;
  padding-right: 2%;
  display: flex;
  align-items: center;
}
.layout04 .layout04_title img {
  width: 100%;
  height: auto;
}
.layout04 .layout04_text {
  width: 73%;
  padding: 3%;
  background-color: #fff;
}
/* 1つ並びで3列に区切られたレイアウト。画像が左、画像の下にタイトル、右に文章 */
.layout05 {
  margin: 0 0 15px;
}
.layout05 .layout05_box {
  display: flex;
  margin-bottom: 20px;
  background-color: #f4f4f4;
  padding: 2%;
}
.layout05 .layout05_title {
  padding: 2%;
  width: 25%;
  background-color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
}
.layout05 .layout05_title img {
  width: 100%;
  padding-bottom: 10px;
  height: auto;
  display: block;
}
.layout05 .layout05_text1 {
  padding: 1% 3%;
  vertical-align: top;
}
.layout05 .layout05_text1:nth-child(2) {
  width: 40%;
}
.layout05 .layout05_text1:nth-child(3) {
  width: 40%;
  border-left: 1px solid #e2e2e2;
}
.layout05 .layout05_title h4 {
  font-size: 18px;
  font-weight: bold;
}
.layout05 .layout05_text1 h5 {
  font-weight: bold;
  margin: 0 0 5px;
}
.layout05 .layout05_text1 h4 em,
.layout05 .layout05_text1 h5 em {
  margin-right: 10px;
  color: #bda087;
  font-family: 'Times New Roman', Times, serif;
  font-size: 30px;
  font-weight: normal;
}
.layout05_text1 ul {
  margin-bottom: 15px;
}
.layout05 ul.list03 li {
  margin: 0;
}
/* 1つ並びで3列に区切られたレイアウト。左がタイトル、真ん中と右に文章 */
.layout06 {
  margin: 0 0 15px;
}
.layout06 .layout06_box {
  display: flex;
  padding-bottom: 5px;
  position: relative;
}
.layout06 .layout06_box:before {
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid #ededed;
  content: '';
}
.layout06 .layout06_box:last-child:after {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid #f0f0f0;
  content: '';
}
.layout06 .layout06_title {
  width: 30%;
  padding: 0 3%;
  background-color: #f4f4f4;
  vertical-align: middle;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  font-size: 120%;
}
.layout06 .layout06_title h4 {
  letter-spacing: 0.1em;
  color: #1f2774;
  font-weight: bold;
  text-align: center;
}
.layout06 .layout06_box:last-of-type {
  padding: 0;
}
/* 数字 */
.layout06 .layout06_title em {
  display: block;
  width: 100%;
  line-height: 1;
  margin: 0 8px;
  font-family: 'Times New Roman', Times, serif;
  font-size: 170%;
  font-weight: normal;
  color: #c3af97;
}
.layout06 .layout06_text1 {
  padding: 2% 3%;
  vertical-align: top;
}
.layout06 .layout06_text1:nth-child(2) {
  width: 35%;
}
.layout06 .layout06_text1:nth-child(3) {
  width: 35%;
  border-left: 1px solid #e2e2e2;
}
.layout06 .layout06_text1 h5 {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 5px;
}
/* 3つ並びのレイアウト。 */
.layout07 {
  margin: 0 0 15px;
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
}
.layout07::after {
  display: block;
  clear: both;
  content: '';
}
.layout07 .layout07_box {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 2%;
  padding: 3%;
  border-radius: 10px;
  background-color: #f4f4f4;
}
.layout07 .layout07_box:nth-child(3n) {
  margin-right: 0;
}
.layout07 .layout07_box .layout07_title {
  margin-bottom: 7px;
  padding-bottom: 7px;
  border-bottom: 1px dashed #ddd;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
}
.layout07 .layout07_box .layout07_title em {
  margin-right: 8px;
  font-size: 24px;
  font-family: 'Quicksand', sans-serif;
}
.layout07 .layout07_box .layout07_text {
  line-height: 1.5;
}
/* 3つ並びのレイアウト。矢印付き */
.layout08 {
  margin: 0 0 15px;
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
}
.layout08 .layout08_box {
  position: relative;
  width: 100%;
  margin-bottom: 25px;
  padding: 3%;
  border-radius: 10px;
  background-color: #f4f4f4;
}
.layout08 .layout08_box:last-child {
  margin-right: 0;
}
.layout08 .layout08_box::before {
  position: absolute;
  right: 0px;
  left: 0;
  height: 7px;
  width: 7px;
  transform: rotate(135deg);
  background-color: transparent;
  border-top: 2px solid #1f2774;
  border-right: 2px solid #1f2774;
  content: '';
  bottom: -16px;
  margin: auto;
}
.layout08 .layout08_box:last-child::before {
  display: none;
}
.layout08 .layout08_box .layout08_title {
  margin-bottom: 7px;
  padding-bottom: 7px;
  border-bottom: 1px dashed #ddd;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
}
.layout08 .layout08_box .layout08_title em {
  margin-right: 8px;
  font-size: 24px;
  font-family: 'Quicksand', sans-serif;
}
.layout08 .layout08_box .layout08_text {
  line-height: 1.5;
}
/* 1つ並びで2列に区切られたレイアウト。画像が左、画像の下にタイトル、右に文章 */
.layout09 {
  margin: 0 0 15px;
}
.layout09 .layout09_box {
  display: flex;
  margin-bottom: 20px;
  background: #f4f4f4;
  padding: 2%;
}
.layout09 .layout09_title {
  padding: 2%;
  width: 27%;
  background-color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
}
.layout09 .layout09_title img {
  width: 100%;
  padding-bottom: 10px;
  height: auto;
  display: block;
}
.layout09 .layout09_text1 {
  padding: 1% 3%;
  width: 73%;
  vertical-align: top;
}
.layout09 .layout09_title h4 {
  font-size: 18px;
  font-weight: bold;
}
.layout09 .layout09_text1 h5 {
  font-weight: bold;
  margin: 0 0 5px;
}
.layout09 .layout09_text1 h4 em,
.layout09 .layout09_text1 h5 em {
  margin-right: 10px;
  color: #71b4d7;
  font-family: 'Times New Roman', Times, serif;
  font-size: 30px;
  font-weight: normal;
}
.layout09_text1 ul {
  margin-bottom: 15px;
}
.layout09 ul.list03 li {
  margin: 0;
}
/* layout10 */
.layout10 {
  position: relative;
}
.layout10 .flow_box {
  position: relative;
  display: flex;
  padding: 32px;
  background: #fff;
}
.layout10 .flow_box::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 60px;
  margin: auto;
  width: 4px;
  height: calc(100% - 4px);
  border-right: 4px dotted #58554e;
  box-sizing: border-box;
  content: '';
}
.layout10 .flow_box:first-child::before {
  top: 32px;
  bottom: auto;
  height: calc(100% - 34px);
}
.layout10 .flow_box:last-child::before {
  top: 2px;
  bottom: auto;
  height: 86px;
}
.layout10 .flow_box:nth-child(even) {
  background: rgb(40, 40, 40, 0.1);
}
.layout10 .flow_box:nth-child(odd) {
  background: #f4f4f4;
}
.layout10 .flow_box .number {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 60px;
  height: 60px;
  margin-bottom: 0;
  margin-right: 4%;
  padding-bottom: 4px;
  background: #333;
  border-radius: 50%;
  color: #fff;
  font-family: 'bilo', sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 28px;
  line-height: 1;
  z-index: 1;
}

.layout10 .flow_box .layout10_box {
  width: 90%;
}

.layout10 .flow_box .layout10_text .title {
  background: #333;
  margin-top: 24px;
  padding: 12px 18px;
  /*border-radius: 6px;*/
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1;
}

.layout10 .flow_box .layout10_text .title span {
  position: relative;
}

.layout10 .flow_box .layout10_text .title span::after {
  display: inline-block;
  content: '|';
  margin: 0 12px;
}

.layout10 .flow_box .layout10_text .title2 {
  padding-bottom: 2px;
  padding-top: 16px;
  margin-bottom: 10px;
  font-size: 18px;
  border-bottom: 1px dashed rgba(35, 24, 21, 0.4);
}
.layout10 .flow_box .layout10_text .list03 {
  margin-top: 8px;
}
.layout10 .flow_box .layout10_text .list03 li {
  margin-bottom: 0;
}
.layout10 .flow_box .layout10_text .list03 li::before {
  background-color: #1f2774;
  border: 1px solid #1f2774;
}

.layout10 .flow_box .layout10_text .list_column {
  display: flex;
  flex-wrap: wrap;
}
.layout10 .flow_box .layout10_text .list_column li {
  margin-right: 5%;
}

/* layout11 */
.layout11 {
  position: relative;
}
.layout11_box {
  padding: 8px;
  background: #f4f4f4;
}
[class^='layout11_image'] img {
  width: 100%;
  height: auto;
}
[class^='layout11_text'] {
  margin-top: 8px;
}
[class^='layout11_text'] dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
[class^='layout11_text'] dl dt {
  background: #1f2774;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 12px;
  border: 1px solid #1f2774;
  width: 20%;
  margin-bottom: 2px;
}
[class^='layout11_text'] dl dd {
  padding: 12px;
  background: #fff;
  border: 1px solid #1f2774;
  width: 80%;
  margin-bottom: 2px;
}
[class^='layout11_text'] .desc {
  background: #fff;
  border: 1px solid #1f2774;
  padding: 16px;
}
[class^='layout11_text'] .desc p {
  margin-bottom: 0;
}
/* layout11 ver.1 */
.layout11_text01 dl dt {
  margin-left: 0;
}
/* layout11 ver.2 */
.layout11_image02 {
  display: flex;
  justify-content: space-between;
}
.layout11_image02 span {
  position: relative;
  display: block;
  width: 47%;
}
.layout11_image02 span:last-child::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -32px;
  margin: auto;
  display: flex;
  align-items: center;
  content: '\f054';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 24px;
  color: #1f2774;
  line-height: 1;
}
.layout11_text02 dl {
  width: 100%;
}
.layout11_text02 dl dt {
  margin-left: 2px;
  margin-bottom: 2px;
  width: 15%;
}
.layout11_text02 dl dt:nth-of-type(odd) {
  margin-left: 0;
}
.layout11_text02 dl dd {
  width: calc(35% - 1px);
}
.layout11_text02 .desc {
  width: 100%;
}

/* 3つ並びのレイアウト。矢印付き */
.layout12 {
  margin: 0 0 15px;
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
}

.layout12 .layout12_box {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  padding: 3%;
  background-color: #f4f4f4;
}

.layout12 .layout12_box:last-child {
  margin-right: 0;
}

.layout12 .layout12_box .layout12_title {
  font-size: 17px;
  font-weight: bold;
  text-align: center;
}

.layout12 .layout12_box .layout12_title em {
  margin-right: 8px;
  font-size: 24px;
  font-family: 'Quicksand', sans-serif;
}

.layout12 .layout12_box .layout12_title p {
  margin-bottom: 0 !important;
}

.layout12 .layout12_box .layout12_text {
  line-height: 1.5;
  text-align: center;
}

.layout12 .layout12_box .layout12_text p {
  margin: 1em 0 !important;
}

/*注意書き*/
.caution {
  background: #f4f5fb;
  display: block;
  position: relative;
  padding: 25px;
  border-radius: 15px;
}
.caution span {
  width: 55px;
  height: 55px;
  background: #1f2774;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -15px;
  left: -5px;
  border-radius: 50%;
  font-size: 25px;
  font-weight: 600;
  color: #fff;
  z-index: 2;
}
.caution span::before {
  position: absolute;
  width: 15px;
  height: 20px;
  bottom: -3px;
  right: -3px;
  margin: auto;
  -webkit-clip-path: polygon(100% 85%, 40% 0, 0 53%);
  clip-path: polygon(100% 85%, 40% 0, 0 53%);
  background-color: #1f2774;
  z-index: 1;
  content: '';
}
.caution p:nth-of-type(1) {
  font-size: 18px;
  margin: 0 0 15px;
  padding: 0 0 0 40px;
  font-weight: 600;
  color: #1f2774;
}
/*==================================================================

  $table
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
/* 診療時間（医院案内、アクセス共通） */
.footer_info_sche {
  width: 506px;
}

.schedule table {
  width: 100%;
}

.schedule p {
  /*margin-left:22px;*/
  margin-bottom: 2px;
}

.schedule p strong {
  color: #1f2774;
}

.schedule p:last-child {
  margin-bottom: 0;
}

.schedule_detail {
  background: #282828;
}

.schedule_note li {
  display: block;
  color: #333;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
}
.schedule_note li:nth-child(4) {
  margin-top: 0.5em;
  font-size: 0.96em;
}

.close {
  color: #4a545c;
}

/*フッターの診療時間*/
.tb01 {
  margin-bottom: 12px;
  border-spacing: 0;
  border-collapse: collapse;
  white-space: nowrap;
}

.tb01 th,
.tb01 td {
  /*border-bottom: 1px solid #fff;*/
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  vertical-align: middle;
}

.tb01 tr:nth-of-type(2) th,
.tb01 tr:nth-of-type(3) th {
  font-size: 17px;
}

.tb01 th span {
  /*font-size: 14px;*/
  font-size: 10px;
}

.tb01 th {
  width: 30%;
  height: 80px;
  white-space: nowrap;
  text-align: center;
}

.tb01 td {
  width: 10%;
  text-align: center;
}

.tb01 tr:nth-of-type(2) th,
.tb01 tr:nth-of-type(2) td,
.tb01 tr:nth-of-type(3) th,
.tb01 tr:nth-of-type(3) td {
  line-height: 1 !important;
}

.tb01 tr:nth-of-type(1) th,
.tb01 tr:nth-of-type(1) td {
  padding: 40px 0 31px;
}

.tb01 tr:nth-of-type(2) th,
.tb01 tr:nth-of-type(2) td {
  padding: 0 0 33px;
}

.tb01 tr:nth-of-type(3) th,
.tb01 tr:nth-of-type(3) td {
  padding: 0 0 43px;
}

.info_sche {
  /*	width: 100%;*/
  width: 50%;
  margin-bottom: 40px;
}

.info_sche .schedule_detail {
  margin-bottom: 26px;
  padding: 0 32px 0 26px;
}

.info_sche .tb01 th {
  height: auto;
}

/*.info_sche .schedule_note li:nth-of-type(2) {
  margin-bottom: 25px;
}*/

/* 下線のみのテーブル */
.tb02 {
  width: 100%;
  border-spacing: 0;
  margin-bottom: 12px;
}

.tb02 th {
  font-weight: bold;
  width: 26%;
  border-bottom: 1px solid #e0e0e0;
  padding: 5px 0;
}

.tb02 td {
  text-align: center;
  border-bottom: 1px solid #e0e0e0;
  padding: 5px 0;
}

/*本文中のテーブル*/
.tb03 {
  width: 100%;
  border-spacing: 1px;
  border-collapse: collapse;
  border: 1px solid #282828;
}

.tb03 td,
.tb03 th {
  padding: 8px 20px;
  border: 1px solid rgb(40, 40, 40, 0.2);
}

.tb03 th {
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  text-align: center;
  background-color: #fafafa;
}

.tb03 th span {
  font-size: 13px;
}

.tb03 td {
  background-color: #ffffff;
  text-align: center;
}

/*==================================================================

  $box
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
.box1 {
  position: relative;
  width: 1200px;
  margin: 0 auto;
}

.box2 {
  position: relative;
  width: 1200px;
  margin: 0 auto;
  padding: 0 0 80px;
}

.text {
  position: relative;
  margin-bottom: 50px;
}

.text p {
  margin-bottom: 1em;
}

/* 文章が短く右に画像がある場合 */
.text2 {
  position: relative;
  margin-bottom: 150px;
}

.text2 p {
  margin-bottom: 1em;
}

.tit_text {
  padding: 30px 0;
  margin-bottom: 20px;
}

.txt_flex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.txt_left {
}

.txt_item {
  max-width: 250px;
  margin-bottom: 10px;
  text-align: right;
}

.txt_item img {
  width: 100%;
  height: auto;
}

.txt_right {
  width: 50%;
}

/*==================================================================

  .inner

==================================================================*/
.inner {
  position: relative;
}

/*==================================================================

  .top_news

==================================================================*/
.top_news {
  position: absolute;
  top: -146px;
  left: 0;
  right: 0;
  margin: auto;
}

.top_news .inner::before {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - 360px);
  height: 100%;
  background: rgb(40, 40, 40);
  content: '';
}

.top_news .inner::after {
  position: absolute;
  bottom: -65px;
  right: 0;
  width: calc(50% - 290px);
  height: 152px;
  background: #484848;
  content: '';
}

.top_news .box1 {
  padding: 84px 0 92px;
  background: rgb(40, 40, 40);
  z-index: 1;
}

.news_flex {
  display: flex;
  justify-content: space-between;
}

.top_news .tit_box {
  width: 25%;
  padding: 10px 0 0 110px;
}

.top_news .tit_en {
  margin-bottom: 5px;
  text-align: left;
}

.top_news .tit01 {
  text-align: left;
}

.top_news_frame {
  width: 75%;
  padding: 0 26px 0 39px;
}

.news_btn {
  position: absolute;
  bottom: -65px;
  right: 0;
}

.news_btn a {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 62px 185px 60px 20px;
  border: 1px solid #484848;
  background: #484848;
  transition: ease-in-out 0.1s;
}

/* 左側の三角形 */
.news_btn a::before {
  position: absolute;
  top: -125px;
  left: -125px;
  width: 0;
  height: 0;
  border: 124px solid transparent;
  border-bottom: 152px solid #484848;
  content: '';
  z-index: -1;
}

.news_btn a p {
  display: inherit;
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

/* 四角 */
.news_btn a p::before {
  position: absolute;
  top: 50%;
  right: 25px;
  width: 30px;
  height: 30px;
  border: 1px solid #fff;
  transform: translateY(-50%);
  transition: ease-in-out 0.1s;
  content: '';
}

/* 線 */
.news_btn a p::after {
  position: absolute;
  top: 50%;
  right: 45px;
  width: 117px;
  height: 1px;
  background: #fff;
  transform: translateY(-50%);
  transition: ease-in-out 0.1s;
  content: '';
}

.news_btn a:hover p::after {
  right: 36px;
}

/********************************
  お知らせの詳細
*********************************/
/* 旧仕様 */
/*.top_news_frame {
  padding: 35px 33px;
  border: 15px solid #F0F0F0;
}*/

/* お知らせの高さ */
/*.top_news .scroll_area {
  height: 285px;
  overflow-y: scroll;
}*/

.news_text p {
  margin-bottom: 10px;
}

/* css.phpに居た記述・TOPのお知らせのCSS */
.news_list li {
  margin-bottom: 35px;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.5;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.news_list li span {
  margin-right: 31px;
  font-size: 18px;
}

.news_list li em {
  display: inline-block;
  min-width: 75px;
  margin-right: 25px;
  padding: 4px 16px;
  font-style: normal;
  font-size: 16px;
  font-weight: bolder;
  text-align: center;
  background-color: #fff;
  color: #555;
}

.news_list li a {
  color: #fff;
  font-size: 18px;
}

.news_list li a:hover {
  opacity: 0.8;
}

/* スクロールバーの横幅指定 */
.scroll_area::-webkit-scrollbar {
  width: 5px;
}

/* スクロールバーの背景色・角丸指定 */
.scroll_area::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #fff;
}

/* スクロールバーの色・角丸指定 */
.scroll_area::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: #ccc;
}

/*==================================================================

  .news （下層）

==================================================================*/
.news_text p {
  margin-bottom: 10px;
}

/* タイトル */
.news_text p strong {
  margin-left: 20px;
  color: #1f2774;
  font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3',
    'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', Osaka, 'ＭＳ Ｐゴシック',
    'MS PGothic', sans-serif;
  font-size: 17.5px;
}

/* css.phpに居た記述 下層のお知らせのCSS */
.news_text_list em {
  display: inline-block;
  min-width: 75px;
  padding: 1px 6px;
  font-style: normal;
  text-align: center;
  font-weight: bolder;
  border: solid #000 1px;
}

.news_text_list dt {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 17px;
}

.news_text_list dt em,
.news_text_list dt span {
  font-weight: normal;
  font-size: 14px;
}

.news_text_list dd {
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
}

/* 日付 */
.news_text_list dd p span {
  margin-right: 10px;
  color: #c0ab92;
}

/*==================================================================

  .top_info

==================================================================*/
.top_info {
  position: relative;
}

.top_info::before {
  position: absolute;
  /*bottom: 0;*/
  bottom: -550px;
  left: 0;
  right: 0;
  width: 100%;
  height: 888px;
  margin: auto;
  background: #e7e7e7;
  content: '';
  z-index: -4;
}

/* 右上の画像 */
.top_info::after {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - (50% + 69px));
  height: 880px;
  background: url('../images/bg_info01.jpg') no-repeat;
  background-size: cover;
  content: '';
  z-index: -3;
}

/* 左下の画像 */
.top_info .inner::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100% - (50% - 161px));
  height: 403px;
  background: url('../images/bg_info02.jpg') no-repeat;
  background-size: cover;
  content: '';
}

.top_info .box1 {
  padding: 147px 0 157px;
  z-index: 2;
}

.info_flex {
  display: flex;
  justify-content: space-between;
}

.info_left {
  width: 50%;
  padding-right: 30px;
  margin-bottom: 300px;
}

.info_left .info_logo {
  margin: 0 auto 47px;
}

.info_left .info_add {
  margin-bottom: 34px;
}

.info_left .info_tel {
  margin: 0 0 47px 22px;
}

.info_btn {
  margin-right: 5px;
  text-align: center;
}

.info_btn a {
  display: inline-block;
  position: relative;
  padding: 28px 150px 28px 48px;
  border: 1px solid #484848;
  background: #484848;
  transition: ease-in-out 0.1s;
}

.info_btn a::before {
  position: absolute;
  top: 8px;
  right: -8px;
  width: 100%;
  height: 100%;
  border: 1px solid #484848;
  content: '';
  transition: ease-in-out 0.1s;
}

.info_btn a p {
  display: inherit;
  position: relative;
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  transition: ease-in-out 0.1s;
}

.info_btn a p::before {
  position: absolute;
  top: 50%;
  right: -108px;
  width: 21px;
  height: 20px;
  border: 1px solid #fff;
  transform: translateY(-50%);
  transition: ease-in-out 0.1s;
  content: '';
}

.info_btn a p::after {
  position: absolute;
  top: 50%;
  right: -95px;
  width: 69px;
  height: 1px;
  background: #fff;
  transform: translateY(-50%);
  transition: ease-in-out 0.1s;
  content: '';
}

.info_btn a:hover::before {
  top: 0;
  right: 0;
}

.info_btn a:hover p::after {
  right: -100px;
}

.info_right {
  width: 50%;
  padding-left: 30px;
}

.info_congestion {
  position: relative;
  margin-top: 165px;
}

.congestion_box {
  width: 570px;
  /*height: auto;*/
  height: 951px; /* デザインカンプの高さ（） */
  border: 10px solid rgb(40, 40, 40, 0.5);
}

.congestion_box_inner {
  width: 100%;
  height: 100%;
  padding: 47px 43px 47px;
  background: rgb(40, 40, 40);
}

.congestion_box .tit_box {
  margin-bottom: 39px;
}

.congestion_box .tit01 {
  margin-bottom: 3px;
  letter-spacing: 0.05em;
}

.congestion_box .tit_en {
  margin-bottom: 0;
  font-size: 17px;
  letter-spacing: 0.05em;
}

.congestion_item {
  width: 100%;
  height: 250px;
  margin-bottom: 100px;
}

.congestion_item:first-child {
  margin-bottom: 100px;
}

.congestion_item iframe {
  height: 250px;
}

.congestion_item_tit {
  display: table;
  position: relative;
  margin: 0 auto 24px;
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 22px;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
}

.congestion_item_tit::before {
  display: block;
  position: absolute;
  top: 10px;
  left: 85px;
  width: 167px;
  height: 1px;
  background: #868686;
  content: '';
}

.congestion_item_tit::after {
  display: block;
  position: absolute;
  top: 10px;
  right: 85px;
  width: 167px;
  height: 1px;
  background: #868686;
  content: '';
}

.congestion_item_detail {
  padding: 10px;
  background: #fff;
}

.congestion_btn {
  display: none;
  /*position: absolute;
  bottom: -30px;
  right: 0;
  z-index: 5;*/
}

.congestion_btn a {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 27px 150px 29px 19px;
  border: 1px solid #484848;
  background: #484848;
  transition: ease-in-out 0.1s;
}

/* 左側の三角形 */
.congestion_btn a::before {
  position: absolute;
  top: -71px;
  left: -69px;
  width: 0;
  height: 0;
  border: 70px solid transparent;
  border-bottom: 86px solid #484848;
  content: '';
  z-index: -2;
}

.congestion_btn a p {
  display: inherit;
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
}

/* 四角 */
.congestion_btn a p::before {
  position: absolute;
  top: 50%;
  right: 43px;
  width: 21px;
  height: 20px;
  border: 1px solid #fff;
  transform: translateY(-50%);
  transition: ease-in-out 0.1s;
  content: '';
}

/* 線 */
.congestion_btn a p::after {
  position: absolute;
  top: 50%;
  right: 55px;
  width: 69px;
  height: 1px;
  background: #fff;
  transform: translateY(-50%);
  transition: ease-in-out 0.1s;
  content: '';
}

/* 混雑状況のCSS */

/*==================================================================

  .top_medical

==================================================================*/
.top_medical {
  position: relative;
}

/* 左の黒い背景 */
.top_medical::before {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - (50% - 600px));
  height: 1168px;
  background: #313131;
  content: '';
}

/* 右の白い背景 */
.top_medical::after {
  position: absolute;
  top: 342px;
  right: 0;
  width: calc(100% - (50% - 36px));
  height: 907px;
  background: #fff;
  box-shadow: 0px 0px 35px 0px rgba(49, 49, 49, 0.24);
  content: '';
}

.top_medical .box1 {
  padding: 120px 0 208px;
  z-index: 4;
}

.top_medical .tit_box {
  margin-bottom: 57px;
}

.top_medical .tit_en {
  margin-bottom: 5px;
}

.medical_flex {
  display: flex;
  justify-content: space-between;
}

.medical_left {
  width: 50%;
  padding-right: 8px;
}

.symptom_tit {
  position: relative;
  margin: 0 55px 75px 0;
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0.12em;
  line-height: 1.6;
  text-align: center;
}

.symptom_tit::after {
  display: block;
  width: 337px;
  height: 45px;
  margin: -6px auto 0;
  background: url('../images/tit_deco.svg') no-repeat;
  content: '';
}

.symptom_list {
  position: relative;
}

.symptom_body {
  width: 309px;
  height: 495px;
  margin: 0 auto;
}

.symptom_body img {
  width: inherit;
  height: inherit;
}

.symptom_btn {
  width: 91px;
  height: 91px;
}

.symptom_btn a {
  display: block;
  position: relative;
  width: inherit;
  height: inherit;
  border-radius: 50%;
  background: #fff;
  transition: ease-in-out 0.1s;
}

.symptom_btn a::before {
  position: absolute;
  width: 68px;
  height: 1px;
  background: #fff;
  content: '';
  z-index: -1;
}

.symptom_btn a::after {
  position: absolute;
  width: 49px;
  height: 49px;
  border-radius: 50%;
  border: 1px solid #fff;
  content: '';
}

.symptom_btn_txt {
  position: relative;
  padding-top: 24px;
}

.symptom_btn_txt::before {
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  width: 80px;
  height: 29px;
  margin: auto;
  background: url('../images/semicircle.png') no-repeat;
  content: '';
}

.symptom_btn_tit {
  position: relative;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0.12em;
  line-height: 1;
  text-align: center;
}

.symptom_btn_tit::after {
  display: block;
  margin: 15px auto 0;
  color: #fff;
  font-family: 'bilo', sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.12em;
  line-height: 1;
  text-align: center;
  content: 'Click!';
}

/* 手首 */
.symptom_btn01 {
  position: absolute;
  top: 49px;
  left: 57px;
}

.symptom_btn01 a::before {
  bottom: -7px;
  right: -50px;
  transform: rotate(35deg);
}

.symptom_btn01 a::after {
  bottom: -51px;
  right: -70px;
}

/* 股関節 */
.symptom_btn02 {
  position: absolute;
  bottom: 155px;
  left: 37px;
}

.symptom_btn02 a::before {
  top: 48px;
  right: -96px;
  width: 102px;
}

.symptom_btn02 a::after {
  top: 24px;
  right: -121px;
}

/* 膝 */
.symptom_btn03 {
  position: absolute;
  bottom: 21px;
  left: 33px;
}

.symptom_btn03 a::before {
  top: 18px;
  right: -86px;
  width: 104px;
  transform: rotate(-28deg);
}

.symptom_btn03 a::after {
  top: -32px;
  right: -110px;
}

/* 肩 */
.symptom_btn04 {
  position: absolute;
  top: -32px;
  right: 154px;
}

.symptom_btn04 a::before {
  bottom: -2px;
  left: -57px;
  width: 82px;
  transform: rotate(-50deg);
}

.symptom_btn04 a::after {
  top: 102px;
  left: -69px;
}

/* 腰 */
.symptom_btn05 {
  position: absolute;
  bottom: 218px;
  right: 124px;
}

.symptom_btn05 a::before {
  top: 58px;
  left: -62px;
  width: 82px;
  transform: rotate(-10deg);
}

.symptom_btn05 a::after {
  bottom: 0;
  left: -94px;
}

/* 足首 */
.symptom_btn06 {
  position: absolute;
  bottom: 18px;
  right: 91px;
}

.symptom_btn06 a::before {
  top: -5px;
  left: -24px;
  width: 82px;
  transform: rotate(66deg);
}

.symptom_btn06 a::after {
  top: -87px;
  left: -32px;
}

.symptom_btn a:hover {
  background: #58554e;
}

.symptom_btn a:hover .symptom_btn_tit {
  color: #fff;
}

.medical_right {
  width: 50%;
  padding: 125px 0 0 22px;
}

.medical_tit {
  margin-bottom: 60px;
  padding-bottom: 35px;
  border-bottom: 1px solid #333;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 26px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: right;
}

.medical_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.medical_btn {
  width: 274px;
  height: 127px;
  margin: 0 0 20px 0;
}

.medical_btn a {
  display: block;
  position: relative;
  width: inherit;
  height: inherit;
  border: 1px solid #d1d1d1;
  background: #fff;
  box-shadow: 0px 0px 10px 0px rgba(3, 3, 3, 0.2);
  transition: ease-in-out 0.1s;
}

/* 右下の三角形 */
.medical_btn a::after {
  display: block;
  position: absolute;
  bottom: -8px;
  right: -8px;
  width: 0;
  height: 0;
  border: 11px solid transparent;
  border-top: 11px solid #88847c;
  transform: rotate(-45deg);
  content: '';
}

.medical_btn_tit_en {
  position: relative;
  margin: 20px 0 0;
  color: #868686;
  font-size: 12px;
  font-family: 'bilo', sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.12em;
  line-height: 1;
  text-align: center;
}

.medical_btn_tit_en::before {
  display: block;
  margin: 0 auto 10px;
  content: '';
}

.medical_btn_tit_jp {
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

/* リハビリテーション */
.medical_btn01 .medical_btn_tit_en::before {
  width: 37px;
  height: 37px;
  background: url('../images/medical_icon01.svg') no-repeat;
}

/* 関節リウマチ */
.medical_btn02 .medical_btn_tit_en::before {
  width: 36px;
  height: 36px;
  background: url('../images/medical_icon02.svg') no-repeat;
}

/* 骨粗しょう症 */
.medical_btn03 .medical_btn_tit_en::before {
  width: 34px;
  height: 36px;
  background: url('../images/medical_icon03.svg') no-repeat;
}

/* 痛風 */
.medical_btn04 .medical_btn_tit_en::before {
  width: 42px;
  height: 36px;
  background: url('../images/medical_icon04.svg') no-repeat;
}

/* ブロック注射 */
.medical_btn05 .medical_btn_tit_en::before {
  width: 38px;
  height: 38px;
  background: url('../images/medical_icon05.svg') no-repeat;
}

/* ロコモティブシンドローム */
.medical_btn06 .medical_btn_tit_en::before {
  width: 43px;
  height: 36px;
  background: url('../images/medical_icon06.svg') no-repeat;
}

.medical_btn06 .medical_btn_tit_jp {
  letter-spacing: 0.05em;
}

/* 各種検査 */
.medical_btn07 .medical_btn_tit_en::before {
  width: 39px;
  height: 39px;
  background: url('../images/medical_icon07.svg') no-repeat;
}

.medical_btn a:hover {
  background: #f5f5f5;
}

/*==================================================================

  .top_feature

==================================================================*/
.top_feature {
  position: relative;
}

.top_feature::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: calc(100% - 336px);
  margin: auto;
  background: url('../images/bg_feature.jpg') no-repeat;
  background-size: cover;
  content: '';
  z-index: -3;
}

.top_feature::after {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - (50% + 365px));
  height: calc(100% - 336px);
  background: url('../images/bg_diagonal.png') no-repeat;
  background-position: right top;
  content: '';
  z-index: -1;
}

.top_feature .inner::before {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - (50% + 640px));
  height: calc(100% - 336px);
  background: #313131;
  content: '';
  z-index: -2;
}

.top_feature .box1 {
  padding: 104px 0 80px;
}

.top_feature .tit_box {
  margin-bottom: 33px;
}

.top_feature .tit_en {
  margin-bottom: 5px;
  text-align: left;
}

.top_feature .tit01 {
  text-align: left;
}

.feature_list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.feature_item_detail {
  position: relative;
  background: rgb(0, 0, 0, 0.8);
}

.feature_item_tit {
  position: relative;
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 22px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

.feature_item_tit::before {
  display: block;
  margin: 0 auto 23px;
  content: '';
}

.feature_item_txt {
  color: #fff;
  font-weight: 500;
}

/* 当院の特徴01～05 */
.feature_list01 {
  justify-content: flex-end;
}

.feature_list01 .feature_item {
  width: 302px;
  height: 412px;
  margin: 0 57px 43px 0;
}

.feature_list01 .feature_item a {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  width: inherit;
  height: inherit;
  padding-bottom: 11px;
  transition: ease-in-out 0.1s;
}

.feature_list01 .feature_item_detail {
  width: 282px;
  height: 261px;
}

.feature_list01 .feature_item_tit {
  margin-top: 48px;
}

.feature_list01 .feature_item_txt {
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}

.feature_list01 .feature_item a:hover {
  opacity: 0.7;
}

/* 車でのアクセスが便利・駐車場あり  */
.feature_item01 a {
  background: url('../images/feature_img01.jpg') no-repeat;
  background-size: cover;
}

.feature_item01 .feature_item_tit::before {
  width: 61px;
  height: 48px;
  background: url('../images/feature_icon01.svg') no-repeat;
}

/* 便利な院内システムで待ち時間の短縮 */
.feature_item02 a {
  background: url('../images/feature_img02.jpg') no-repeat;
  background-size: cover;
}

.feature_item02 .feature_item_tit {
  margin: 48px 0 12px;
}

.feature_item02 .feature_item_tit::before {
  width: 51px;
  height: 48px;
  background: url('../images/feature_icon02.svg') no-repeat;
}

/* 理学療法に力を入れています */
.feature_item03 {
  margin: 0 0 43px 0 !important;
}

.feature_item03 a {
  background: url('../images/feature_img03.jpg') no-repeat;
  background-size: cover;
}

.feature_item03 .feature_item_tit::before {
  width: 49px;
  height: 49px;
  background: url('../images/feature_icon03.svg') no-repeat;
}

/* ブロック注射に対応 */
.feature_item04 {
  margin: 0 57px 81px 0 !important;
}

.feature_item04 a {
  background: url('../images/feature_img04.jpg') no-repeat;
  background-size: cover;
}

.feature_item04 .feature_item_tit::before {
  width: 51px;
  height: 51px;
  background: url('../images/feature_icon04.svg') no-repeat;
}

/* 充実した設備と機器・MRI、エコー */
.feature_item05 {
  margin: 0 179px 81px 0 !important;
}

.feature_item05 a {
  background: url('../images/feature_img05.jpg') no-repeat;
  background-size: cover;
}

.feature_item05 .feature_item_tit::before {
  width: 48px;
  height: 48px;
  background: url('../images/feature_icon05.svg') no-repeat;
}

.feature_list02 {
  justify-content: space-between;
}

.feature_list02 .feature_item {
  width: 570px;
  height: 623px;
}

.feature_list02 .feature_item a {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  width: inherit;
  height: inherit;
  padding-bottom: 72px;
}

.feature_list02 .feature_item a:hover {
  opacity: 0.8;
}

.feature_list02 .feature_item_detail {
  width: 530px;
  height: 369px;
}

.feature_list02 .feature_item_tit {
  margin: 48px 0 17px;
}

/* 交通事故治療  */
.feature_item06 a {
  background: url('../images/feature_img06.jpg') no-repeat;
  background-size: cover;
}

.feature_item06 .feature_item_tit::before {
  width: 48px;
  height: 48px;
  background: url('../images/feature_icon06.svg') no-repeat;
}

/* 交通事故治療  */
.feature_item07 a {
  background: url('../images/feature_img07.jpg') no-repeat;
  background-size: cover;
}

.feature_item07 .feature_item_tit::before {
  width: 51px;
  height: 48px;
  background: url('../images/feature_icon07.svg') no-repeat;
}

.feature_list02 .feature_item_txt {
  padding: 0 30px 0;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 1.8;
  text-align: left;
}

.feature_btn {
  position: absolute;
  bottom: -30px;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}

.feature_btn p {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 21px 95px 18px 30px;
  border: 1px solid #727f94;
  background: #727f94;
  color: #fff;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: left;
  transition: ease-in-out 0.1s;
}

.feature_btn p::before {
  position: absolute;
  top: 50%;
  right: 22px;
  width: 16px;
  height: 16px;
  border: 1px solid #fff;
  transform: translateY(-50%);
  transition: ease-in-out 0.1s;
  content: '';
}

.feature_btn p::after {
  position: absolute;
  top: 50%;
  right: 28px;
  width: 51px;
  height: 1px;
  background: #fff;
  transform: translateY(-50%);
  transition: ease-in-out 0.1s;
  content: '';
}

/*==================================================================

  .top_doctor

==================================================================*/
.top_doctor {
  position: relative;
}

/* 右側の画像 */
.top_doctor::before {
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(100% - (50% + 273px));
  height: 497px;
  background: url('../images/bg_doctor.jpg') no-repeat;
  background-size: cover;
  content: '';
}

.top_doctor .box1 {
  padding: 67px 0 129px;
}

.top_doctor .tit_box {
  margin-bottom: 20px;
}

.top_doctor .tit_en {
  margin-bottom: 5px;
  color: #333;
}

.top_doctor .tit01 {
  color: #333;
}

.doctor_flex {
  display: flex;
  justify-content: space-between;
}

.doctor_left {
  width: 684px;
}

.greeting_txt {
  margin: 78px 0 58px;
}

.greeting_txt p {
  color: #333;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 2.3;
  text-align: left;
}

.greeting_txt p:first-child {
  margin-bottom: 40px;
}

.specialist {
  margin-bottom: 13px;
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: right;
}

.doctor_name {
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: right;
}

.doctor_name span {
  margin-right: 23px;
  font-size: 18px;
  vertical-align: 1px;
}

.doctor_right {
  width: 419px;
}

.doctor_img {
  width: inherit;
}

.doctor_img img {
  max-width: 100%;
  height: auto;
}

/*==================================================================

  $doctor （下層）

==================================================================*/
.sub_doctor .box1 {
  margin-bottom: 80px;
}
.sub_doctor:nth-of-type(n + 2)::before {
  background: none;
}
.doctor_carr {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.doctor_carr h4.tit01 {
  margin-bottom: 7px;
}

.doctor_carr_sec1 {
  width: 48%;
  margin-right: 20px;
  padding: 20px 30px;
  background-color: #f4f4f4;
  font-size: 14px;
}

.doctor_carr_sec1:last-child {
  margin-right: 0;
}

.doctor_carr .tb02 td {
  text-align: left;
}

.doctor_carr .tb02 td,
.doctor_carr .tb02 th {
  font-size: 14px;
}

.doctor_carr_sec1 table {
  width: 100%;
}

.staff_flex {
  display: flex;
  justify-content: space-between;
}

.staff_left {
  width: 70%;
}

.staff_right {
  width: 25%;
}

.staff_img {
  width: 100%;
}

.staff_img img {
  width: 100%;
  height: auto;
}

.sub_staff .tit_box {
  margin-bottom: 20px;
}

.sub_staff .tit_en {
  margin-bottom: 5px;
  color: #333;
}

.sub_staff .tit01 {
  color: #333;
}

.staff_name {
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
}

.staff_detail {
  color: #333;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: left;
}

/*==================================================================

  .top_sns

==================================================================*/
.top_sns {
  position: relative;
  padding: 130px 0 54px;
}

.top_sns .inner {
  background: #f4f4f4;
  max-width: 1600px;
  margin: 0 auto;
}

.top_sns .box1 {
  padding: 103px 0 140px;
}

.top_sns .tit_box {
  margin-bottom: 58px;
}

.top_sns .tit01 {
  color: #333;
  font-size: 32px;
}

.sns_desc {
  margin-bottom: 60px;
  color: #333;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 2.1;
  text-align: center;
}

.sns_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.sns_item {
  width: 271px;
  height: 271px;
}

.sns_item a {
  display: block;
  width: inherit;
  height: inherit;
  border: 1px solid #d1d1d1;
  background: #fff;
  box-shadow: 0px 0px 10px 0px rgba(3, 3, 3, 0.2);
  transition: ease-in-out 0.1s;
}

.sns_item a:hover {
  background: #f7f7f7;
}

/* Instagram */
.sns_item01 .sns_icon {
  width: 50px;
  height: 49px;
  margin: 60px auto 26px;
}

/* Twitter */
.sns_item02 .sns_icon {
  width: 58px;
  height: 58px;
  margin: 55px auto 22px;
}

/* LINE */
.sns_item03 .sns_icon {
  width: 58px;
  height: 58px;
  margin: 55px auto 22px;
}

/* You Tube */
.sns_item04 .sns_icon {
  width: 58px;
  height: 40px;
  margin: 64px auto 31px;
}

.sns_btn {
  width: 195px;
  height: 56px;
  margin: 0 auto 10px;
  padding-top: 14px;
  background: #7e7e7e;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-align: center;
}

.sns_txt {
  color: #333;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-align: center;
}

/*==================================================================

  .top_affiliate

==================================================================*/
.top_affiliate {
  position: relative;
}

.top_affiliate .box1 {
  padding: 50px 0 186px;
}

.top_affiliate .tit_box {
  margin-bottom: 58px;
}

.top_affiliate .tit_en {
  margin-bottom: 5px;
  color: #333;
}

.top_affiliate .tit01 {
  color: #333;
}

.affiliate_list {
  display: flex;
  /*justify-content: space-between;*/
  justify-content: center;
  flex-wrap: wrap;
}

.affiliate_item {
  width: 570px;
  height: 201px;
}

.affiliate_item a {
  display: block;
}

.affiliate_item01 a img {
  border: 6px solid #aec1ca;
}

.affiliate_item02 a img {
  border: 6px solid #b6bcad;
}

.affiliate_item a:hover {
  opacity: 0.8;
}

/*==================================================================

  $access （下層）

==================================================================*/
.access_guide {
  margin-bottom: 20px;
  font-weight: bold;
}

/* 2カラム */
.access_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.access_wrap p {
  width: 100%;
}

.access_wrap p i {
  margin-right: 7px;
}

/* 子要素はクラス名の頭に「access」をつけると下記CSSが適用 */
.access_wrap [class^='access'] {
  margin-bottom: 0;
  width: 48%;
}

.access_wrap [class^='access'] img {
  width: 100%;
  height: auto;
}

.access_map {
  margin-bottom: 40px;
}

.access_map dt {
  margin-bottom: 10px;
}

.access_map dt i {
  margin-right: 7px;
}

.access_map dd {
  text-align: center;
}
.access .btn02 {
  margin-bottom: 50px;
  text-align: center;
}

.access_info {
  padding: 25px 30px 5px;
  border: 4px solid rgb(237, 237, 237);
}

.access_info dt i {
  margin-right: 7px;
}

.access_train,
.access_bus,
.access_car,
.access_bike {
  margin-bottom: 25px;
}

.access_train dt,
.access_bus dt,
.access_car dt,
.access_bike dt {
  padding-left: 0;
  margin-bottom: 5px;
  font-size: 17px;
  font-weight: bold;
}

.access_train dd,
.access_bus dd,
.access_car dd,
.access_bike dd {
  font-size: 14px;
}

/* ルート */
.access_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  counter-reset: section;
}

.access_list dl {
  width: 32%;
  margin-bottom: 30px;
}

.access_list dl.last {
  margin-right: 30%;
}

.access_list dt {
  width: 100%;
  height: auto;
}

.access_list dt img {
  width: 100%;
}

.access_list dl dd {
  width: 94%;
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.9;
  padding-left: 2.5em;
  text-indent: -2.7em;
  letter-spacing: 0.1em;
}

.access_list dl dd::before {
  counter-increment: section;
  content: counter(section);
  font-size: 18px;
  color: #fff;
  margin-right: 8px;
  padding: 7px 10px;
  line-height: 1;
  background: #1f2774;
  border-radius: 3px;
}

/*==================================================================

  $clinic

==================================================================*/
[class^='clinic_slide_wrap']:not(.clinic_slide_wrap_flex) {
  max-width: 80%;
  margin: auto;
}

/*院内スライド 共通*/
.clinic_slide_wrap_flex .slide-item {
  position: relative;
}
.clinic_slide_wrap_flex .slide-item img {
  width: 100%;
  height: auto;
}

.clinic_slide_wrap_flex .slide_text {
  position: absolute;
  bottom: 10px;
  left: 10px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.8);
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

.clinic_slide_wrap_flex .slick-dots {
  display: flex;
  flex-wrap: wrap;
}

.clinic_slide_wrap_flex .slick-dots li {
  position: relative;
  transition: 0.3s;
  cursor: pointer;
}

.clinic_slide_wrap_flex .slick-dots li:hover {
  opacity: 0.8;
}

.clinic_slide_wrap_flex .slick-dots li::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  transition: 0.3s opacity linear;
}

.clinic_slide_wrap_flex .slick-dots li.slick-active::before {
  opacity: 0;
}

.clinic_slide_wrap_flex .slick-dots li img {
  width: 100%;
  height: auto;
}

/* 院内スライド サムネイル下 */
.clinic_slide_wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.clinic_slide_wrap :focus {
  outline: none;
}

.clinic_slide_wrap #slider {
  margin: 0 auto 15px;
  width: 100%;
}

.clinic_slide_wrap .clinic_slide_wrap_flex .slick-dots {
  justify-content: space-between;
  width: 100%;
}

.clinic_slide_wrap .clinic_slide_wrap_flex .slick-dots li {
  margin-bottom: 10px;
  width: 15%;
}

.clinic_slide_wrap .caption {
  width: 100%;
  position: absolute;
  left: 0;
}

.clinic_slide_wrap .thumbnail-text-item {
  margin: 0 0 15px;
}

/* 院内スライド サムネイル横 */
.clinic_slide_wrap2 .clinic_slide_wrap_flex .slick-slider {
  display: flex !important;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 auto 15px 0;
}

.clinic_slide_wrap2 .clinic_slide_wrap_flex .slick-list {
  width: 83%;
}

.clinic_slide_wrap2 .clinic_slide_wrap_flex .slick-dots {
  width: 15%;
}

.clinic_slide_wrap2 .clinic_slide_wrap_flex .slick-dots li {
  width: 45%;
  margin-right: 5px;
  margin-bottom: 10px;
}

/* 医院概要 */
.clinic_sec1 {
  max-width: 80%;
  margin: auto;
  position: relative;
}

.clinic_sec1 ul {
  margin-bottom: 15px;
}

.clinic_sec1 > ul li {
  padding: 8px 0;
  border-bottom: 1px solid #e5e6ef;
}

.clinic_sec1 > ul li:first-child {
  padding: 0 0 8px 0;
}

.clinic_sec1 > ul li:last-child {
  border: none;
}

.clinic_sec1 dl:after {
  display: block;
  clear: both;
  content: '';
}

.clinic_sec1 dt {
  float: left;
  width: 25%;
  padding-left: 2px;
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
  color: #333;
  letter-spacing: 0.12em;
}

.clinic_sec1 dd {
  float: left;
  width: 75%;
}
.clinic_sec1 dd a,
.clinic_sec1 dd a:hover {
  color: inherit;
}

/* 医院概要の診療時間表 */
.clinic_sec1 .schedule {
  width: 75%;
  margin: 0 0 0 auto;
}

.clinic_sec1 .schedule .tb01 {
  width: 100%;
  border: 1px solid #e4e4e4;
}

.clinic_sec1 .schedule .tb01 th,
.clinic_sec1 .schedule .tb01 td {
  /*border-bottom: 1px solid #e4e4e4;*/
}

.clinic_sec1 .schedule .tb01 tr:first-child th,
.clinic_sec1 .schedule .tb01 tr:first-child td {
  color: #fff;
}

/*==================================================================

  $facilities

==================================================================*/
/* 共通CSS */
[class^='facilities_equip'] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
[class^='facilities_equip'] dl {
  background-color: #f4f4f4;
  text-align: justify;
  margin-bottom: 35px;
}
[class^='facilities_equip'] dt img {
  width: 100%;
  height: auto;
}
[class^='facilities_equip'] dd {
  padding: 10px 15px 18px;
  line-height: 1.35;
}
[class^='facilities_equip'] dd .title {
  text-align: center;
  font-size: 17px;
  font-weight: bold;
}
[class^='facilities_equip'] dd p {
  margin-top: 7px;
}

/* 機器紹介1 2列、上部ライン装飾*/
.facilities_equip dl {
  width: 42.3%;
  min-height: 280px;
  margin-left: 3.4%;
  padding: 3%;
  border-top: 4px solid #9397be;
}
.facilities_equip dl:nth-child(odd) {
  margin-left: 0;
}

/* 機器紹介名前 */
.facilities_equip dt {
  margin-bottom: 14px;
  padding-bottom: 10px;
  line-height: 1.7;
  font-size: 17px;
  font-weight: bold;
  text-align: left;
}
.facilities_equip dt span {
  display: block;
  font-size: 15px;
}
.facilities_equip dd {
  padding: 0;
  line-height: inherit;
}
.facilities_equip dd p {
  margin-top: 0;
}
.facilities_equip_img {
  margin: 0 0 20px;
}
.facilities_equip_img img {
  width: 100%;
  height: auto;
}
/* 機器紹介2 3列*/
.facilities_equip2 dl {
  width: 31%;
  margin-right: 3.5%;
}
.facilities_equip2 dl:nth-child(3n) {
  margin-right: 0;
}

/* 機器紹介3 2列*/
.facilities_equip3 dl {
  width: 47.5%;
  margin-right: 5%;
}
.facilities_equip3 dl:nth-child(even) {
  margin-right: 0;
}

/*==================================================================

  $qa

==================================================================*/
.qa1 dl {
  padding-right: 40px;
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 1px dotted #c1c1c1;
}
.qa1 dl dt {
  position: relative;
  margin-bottom: 15px;
  padding-left: 40px;
  font-weight: bold;
}

.qa1 dl dt:before {
  position: absolute;
  top: -5px;
  left: 0;
  margin-right: 7px;
  color: #333;
  font-family: 'bilo', sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 28px;
  line-height: 1;
  content: 'Q.';
}

.qa1 dl dd {
  position: relative;
  padding-left: 40px;
}

.qa1 dl dd:before {
  position: absolute;
  top: -5px;
  left: 0;
  margin-right: 7px;
  line-height: 1;
  font-family: 'bilo', sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 28px;
  color: #868686;
  content: 'A.';
}

/* アコーディオン */
.js-toggle.qa1 dt::after {
  color: #333;
  position: absolute;
  display: flex;
  align-items: center;
  right: -40px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: '\f067';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 20px;
}
.js-toggle.qa1 dt.is-open::after {
  content: '\f068';
}
.js-toggle.qa1 dd {
  display: none;
}

/*==================================================================

  $contact

==================================================================*/
.contact th,
.contact td {
  text-align: left;
  padding: 20px;
}
.contact th .required {
  display: inline-block;
  color: #fff;
  background: #f33;
  line-height: 1;
  padding: 3px;
  margin-left: 5px;
}
.contact input {
  max-width: 400px;
  width: 100%;
  font-size: 100%;
  padding: 8px 5px;
}
.contact input[type='date'] {
  width: auto;
  padding: 6px 5px 5px;
}
.contact select {
  padding: 9px 5px !important;
}
.contact textarea {
  max-width: 400px;
  width: 100%;
}
.submit_btn {
  margin-top: 40px;
  text-align: center;
}
.submit_btn input {
  cursor: pointer;
  border: none;
  padding: 15px 20px;
  transition: 0.2s ease-in-out;
  max-width: 150px;
  width: 100%;
  font-size: 100%;
  margin: 0 10px 10px;
}
.submit_btn input:hover {
  opacity: 0.8;
}
.submit_btn input[type='reset'] {
  color: #fff;
  background: #888;
}
.submit_btn input[type='submit'] {
  color: #fff;
  background: #a5cd95;
}

/*============================================================================

  schedule（MPCLOUD）

============================================================================*/
#mpcloud_schedule {
  width: 220px;
  position: fixed;
  bottom: 15px;
  right: 22px;
  border-radius: 15px;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 100;
  font-size: 14px;
  letter-spacing: 0.08em;
}
#mpcloud_schedule section {
  border-radius: 15px;
  box-shadow: 0 8px 22px 8px rgba(0, 0, 0, 0.1);
}
.shcedule_title {
  font-size: 16px;
  font-weight: 600;
  border-bottom: 2px solid #aaa;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  padding: 10px 0;
  text-align: center;
}
.shcedule_title i {
  position: relative;
  top: -2px;
  right: -25px;
  font-style: normal;
  font-size: 12px;
  cursor: pointer;
}
.schedule_time {
  margin: 8px 0 0 0;
}
.schedule_time dt {
  font-weight: bold;
}
.shcedule_box dt {
  background: #eee;
  text-align: center;
}
.shcedule_box dd {
  height: auto;
  vertical-align: top;
}
.shcedule_box dd i {
  display: inline-block;
  width: 17px;
  height: 17px;
  /*background: url("../images/schedule.svg") no-repeat center left;*/
  background-size: 17px 17px;
  padding: 2px 0 2px 22px;
  margin-left: 15px;
  vertical-align: inherit;
}
.shcedule_today {
  padding: 10px 16px;
}
.schedule_comment {
  border-top: 1px solid #d6d6d6;
  padding: 8px 12px;
  font-size: 14px;
}
/*==================================================================

  .breadcrumb（ぱんくず）

==================================================================*/
.breadcrumbs {
  position: relative;
  width: 1200px;
  margin: 0 auto;
  padding: 50px 0 50px;
  font-size: 14px;
}
.breadcrumbs:last-child {
  margin: 0 auto;
}
.breadcrumbs i {
  /*margin-left: 35px;*/
  margin-right: 5px;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs li {
  float: left;
  margin-right: 5px;
}
.breadcrumbs li:after {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 12px;
  content: '\f054';
  padding-left: 10px;
}
.breadcrumbs li:last-child:after {
  content: '';
}

.breadcrumbs li a {
  color: #333;
}

.breadcrumbs li:last-child a {
  color: #d04634 !important;
}

.breadcrumbs li span {
  font-family: 'ryo-display-plusn', serif;
  font-weight: 500;
  font-style: normal;
}

/*==================================================================

  .404_p

==================================================================*/
.none_page_p {
  text-align: center;
  font-size: 26px;
  padding-top: 100px;
}

/*==================================================================

  .loop_slide

==================================================================*/
.loop_slide_wrap {
  margin: 0 auto 100px;
}

.loop_slide_wrap .slick-slider div {
  transition: none;
}

.loop_slide_wrap .slick-list {
  overflow: hidden !important;
}

.loop_slide_wrap .slick-initialized .slick-slide {
  height: auto;
}

.loop_slide_wrap .slick-initialized .slick-slide img {
  width: 400px;
  height: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.loop_slide_wrap .slick-initialized .slick-slide:focus {
  outline: none;
}

/*==================================================================

  ・ブレイクポイント

==================================================================*/
@media screen and (max-width: 1600px) and (min-width: 640px) {
  .mv_wrap::before {
    width: calc(50vw - 201px);
  }

  .fixed_side_btn {
    top: 50px;
    width: 58px;
  }

  .side_btn a {
    height: 159px;
    font-size: 16px;
  }

  .side_btn_rehabilitation a {
    height: 179px;
  }

  .side_btn_reservation a::before {
    width: 21px;
    height: 21px;
  }

  .side_btn_inquiry a::before {
    width: 13px;
    height: 22px;
  }

  .side_btn_rehabilitation a::before {
    width: 25px;
    height: 25px;
  }

  .top_news .box1 {
    width: 1000px;
    margin-left: auto;
  }
}

/*==================================================================

  CSSアニメーション

==================================================================*/
/* フェードイン */
.fadeIn {
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeIn {
  animation: fadeIn 1s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* フェードイン（下→上） */
.fadeInUp {
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeInUp {
  animation: fadeInUp 1s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* フェードイン（右→左） */
.fadeInRight {
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeInRight {
  animation: fadeInRight 1s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* フェードイン（左→右） */
.fadeInLeft {
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeInLeft {
  animation: fadeInLeft 1s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* フリップ（右回転） */
.flipRight {
  opacity: 0;
  visibility: visible;
}
.is-visible.flipRight {
  animation: flipRight 1s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
  transform: rotateY(-180deg);
}
@keyframes flipRight {
  0% {
    opacity: 0;
    transform: rotateY(-180deg);
  }
  100% {
    opacity: 1;
    transform: rotateY(0deg);
  }
}

/* フリップ（左回転） */
.flipLeft {
  opacity: 0;
  visibility: visible;
  transform: rotateY(180deg);
}
.is-visible.flipLeft {
  animation: flipLeft 1s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
@keyframes flipLeft {
  0% {
    opacity: 0;
    transform: rotateY(180deg);
  }
  100% {
    opacity: 1;
    transform: rotateY(0deg);
  }
}

/* 恒常的に動くアニメーション */

/* ゆっくり回転（右回転） */
.rotateRight {
  animation: rotateRight 20s linear infinite;
}
@keyframes rotateRight {
  0% {
    transform: rotate(0deg);
  }
  100% {
    opacity: 1;
    transform: rotate(360deg);
  }
}

/* ゆっくり回転（左回転） */
.rotateLeft {
  animation: rotateLeft 20s linear infinite;
}
@keyframes rotateLeft {
  0% {
    transform: rotate(0deg);
  }
  100% {
    opacity: 1;
    transform: rotate(-360deg);
  }
}

/* 浮遊（基準点から上） */
.floatingUp {
  animation: floatingUp 10s ease-in-out infinite;
}
@keyframes floatingUp {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-30px);
  }
  100% {
    transform: translateY(0);
  }
}

/* 浮遊（基準点から下） */
.floatingDown {
  animation: floatingDown 10s ease-in-out infinite;
}
@keyframes floatingDown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(30px);
  }
  100% {
    transform: translateY(0);
  }
}

/* 生き物が跳ねる（鳥、リスなど） */
.jumping {
  position: relative;
  animation: jumping 1s ease-in-out infinite;
}
@keyframes jumping {
  0% {
    top: 0;
  }
  10% {
    top: -5px;
  }
  20% {
    top: 0px;
  }
  30% {
    top: -5px;
  }
  40% {
    top: 0px;
  }
  100% {
    top: 0px;
  }
}

/*common*/
.pc_inline {
  display: inline !important;
}
.sp_inline {
  display: none !important;
}
.sp_inline_ip {
  display: none !important;
}
.pc_table {
  display: none !important;
}
.sp_table {
  display: none !important;
}
address,
body,
dd,
dl,
dt,
form,
h1,
h2,
h3,
h4,
h5,
h6,
option,
p,
pre,
select {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
}
img {
  vertical-align: middle;
}
iframe {
  vertical-align: middle;
}
li,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
a img {
  border: none;
}
.w010par {
  width: 10%;
}
.w020par {
  width: 20%;
}
.w025par {
  width: 25%;
}
.w050par {
  width: 50%;
}
.w075par {
  width: 75%;
}
.w100par {
  width: 100%;
}
.w010 {
  width: 10px;
}
.w020 {
  width: 20px;
}
.w030 {
  width: 30px;
}
.w040 {
  width: 40px;
}
.w050 {
  width: 50px;
}
.w060 {
  width: 60px;
}
.w070 {
  width: 70px;
}
.w080 {
  width: 80px;
}
.w090 {
  width: 90px;
}
.w100 {
  width: 100px;
}
.w110 {
  width: 110px;
}
.w120 {
  width: 120px;
}
.w130 {
  width: 130px;
}
.w140 {
  width: 140px;
}
.w150 {
  width: 150px;
}
.w160 {
  width: 160px;
}
.w170 {
  width: 170px;
}
.w180 {
  width: 180px;
}
.w190 {
  width: 190px;
}
.w200 {
  width: 200px;
}
.w210 {
  width: 210px;
}
.w220 {
  width: 220px;
}
.w230 {
  width: 230px;
}
.w240 {
  width: 240px;
}
.w250 {
  width: 250px;
}
.w255 {
  width: 255px;
}
.w260 {
  width: 260px;
}
.w270 {
  width: 270px;
}
.w280 {
  width: 280px;
}
.w290 {
  width: 290px;
}
.w300 {
  width: 300px;
}
.w305 {
  width: 305px;
}
.w310 {
  width: 310px;
}
.w320 {
  width: 320px;
}
.w330 {
  width: 330px;
}
.w340 {
  width: 340px;
}
.w350 {
  width: 350px;
}
.w360 {
  width: 360px;
}
.w365 {
  width: 365px;
}
.w370 {
  width: 370px;
}
.w380 {
  width: 380px;
}
.w390 {
  width: 390px;
}
.w400 {
  width: 400px;
}
.w410 {
  width: 400px;
}
.w415 {
  width: 415px;
}
.w420 {
  width: 420px;
}
.w430 {
  width: 430px;
}
.w435 {
  width: 435px;
}
.w440 {
  width: 440px;
}
.w450 {
  width: 450px;
}
.w460 {
  width: 460px;
}
.w470 {
  width: 470px;
}
.w480 {
  width: 480px;
}
.w490 {
  width: 490px;
}
.w500 {
  width: 500px;
}
.w510 {
  width: 510px;
}
.w520 {
  width: 520px;
}
.w530 {
  width: 530px;
}
.w540 {
  width: 540px;
}
.w550 {
  width: 550px;
}
.w560 {
  width: 560px;
}
.w570 {
  width: 570px;
}
.w580 {
  width: 580px;
}
.w590 {
  width: 590px;
}
.w600 {
  width: 600px;
}
.w610 {
  width: 610px;
}
.w620 {
  width: 620px;
}
.w630 {
  width: 630px;
}
.w640 {
  width: 640px;
}
.w650 {
  width: 650px;
}
.w660 {
  width: 660px;
}
.w670 {
  width: 670px;
}
.w680 {
  width: 680px;
}
.w690 {
  width: 690px;
}
.w700 {
  width: 700px;
}
.w710 {
  width: 710px;
}
.w720 {
  width: 720px;
}
.w730 {
  width: 730px;
}
.w740 {
  width: 740px;
}
.w750 {
  width: 750px;
}
.w760 {
  width: 760px;
}
.w765 {
  width: 765px;
}
.w960 {
  width: 960px;
}
.w980 {
  width: 980px;
}
.h030 {
  height: 30px;
}
.h180 {
  height: 180px;
}
.h190 {
  height: 190px;
}
.h200 {
  height: 200px;
}
.h240 {
  height: 240px;
}
.h250 {
  height: 250px;
}
.h280 {
  height: 280px;
}
.h300 {
  height: 300px;
}
.h350 {
  height: 350px;
}
.mt00 {
  margin-top: 0 !important;
}
.mt01 {
  margin-top: 1px;
}
.mt02 {
  margin-top: 2px;
}
.mt03 {
  margin-top: 3px;
}
.mt04 {
  margin-top: 4px;
}
.mt05 {
  margin-top: 5px;
}
.mt06 {
  margin-top: 6px;
}
.mt07 {
  margin-top: 7px;
}
.mt08 {
  margin-top: 8px;
}
.mt09 {
  margin-top: 9px;
}
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}
.mt25 {
  margin-top: 25px;
}
.mt30 {
  margin-top: 30px;
}
.mt35 {
  margin-top: 35px;
}
.mt40 {
  margin-top: 40px;
}
.mt45 {
  margin-top: 45px;
}
.mt50 {
  margin-top: 50px;
}
.mt60 {
  margin-top: 60px;
}
.mt70 {
  margin-top: 70px;
}
.mt80 {
  margin-top: 80px;
}
.mt90 {
  margin-top: 90px;
}
.mt100 {
  margin-top: 100px;
}
.mt110 {
  margin-top: 110px;
}
.mt120 {
  margin-top: 120px;
}
.mr00 {
  margin-right: 0 !important;
}
.mr01 {
  margin-right: 1px;
}
.mr02 {
  margin-right: 2px;
}
.mr03 {
  margin-right: 3px;
}
.mr04 {
  margin-right: 4px;
}
.mr05 {
  margin-right: 5px;
}
.mr06 {
  margin-right: 6px;
}
.mr07 {
  margin-right: 7px;
}
.mr08 {
  margin-right: 8px;
}
.mr09 {
  margin-right: 9px;
}
.mr10 {
  margin-right: 10px;
}
.mr15 {
  margin-right: 15px;
}
.mr20 {
  margin-right: 20px;
}
.mr25 {
  margin-right: 25px;
}
.mr30 {
  margin-right: 30px;
}
.mr35 {
  margin-right: 35px;
}
.mr40 {
  margin-right: 40px;
}
.mr45 {
  margin-right: 45px;
}
.mr50 {
  margin-right: 50px;
}
.mr60 {
  margin-right: 60px;
}
.mr70 {
  margin-right: 70px;
}
.mr80 {
  margin-right: 80px;
}
.mr90 {
  margin-right: 90px;
}
.mr100 {
  margin-right: 100px;
}
.mb00 {
  margin-bottom: 0 !important;
}
.mb01 {
  margin-bottom: 1px;
}
.mb02 {
  margin-bottom: 2px;
}
.mb03 {
  margin-bottom: 3px;
}
.mb04 {
  margin-bottom: 4px;
}
.mb05 {
  margin-bottom: 5px;
}
.mb06 {
  margin-bottom: 6px;
}
.mb07 {
  margin-bottom: 7px;
}
.mb08 {
  margin-bottom: 8px;
}
.mb09 {
  margin-bottom: 9px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb35 {
  margin-bottom: 35px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb45 {
  margin-bottom: 45px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px;
}
.mb70 {
  margin-bottom: 70px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb90 {
  margin-bottom: 90px;
}
.mb100 {
  margin-bottom: 100px;
}
.ml00 {
  margin-left: 0 !important;
}
.ml01 {
  margin-left: 1px;
}
.ml02 {
  margin-left: 2px;
}
.ml03 {
  margin-left: 3px;
}
.ml04 {
  margin-left: 4px;
}
.ml05 {
  margin-left: 5px;
}
.ml06 {
  margin-left: 6px;
}
.ml07 {
  margin-left: 7px;
}
.ml08 {
  margin-left: 8px;
}
.ml09 {
  margin-left: 9px;
}
.ml10 {
  margin-left: 10px;
}
.ml12 {
  margin-left: 12px;
}
.ml15 {
  margin-left: 15px;
}
.ml20 {
  margin-left: 20px;
}
.ml25 {
  margin-left: 25px;
}
.ml30 {
  margin-left: 30px;
}
.ml35 {
  margin-left: 35px;
}
.ml40 {
  margin-left: 40px;
}
.ml45 {
  margin-left: 45px;
}
.ml50 {
  margin-left: 50px;
}
.ml60 {
  margin-left: 60px;
}
.ml70 {
  margin-left: 70px;
}
.ml80 {
  margin-left: 80px;
}
.ml90 {
  margin-left: 90px;
}
.ml100 {
  margin-left: 100px;
}
.ml140 {
  margin-left: 140px;
}
.ml160 {
  margin-left: 160px;
}
.ma10 {
  margin: 10px;
}
.ma15 {
  margin: 15px;
}
.ma_auto {
  margin-left: auto;
  margin-right: auto;
}
.pt00 {
  padding-top: 0 !important;
}
.pt01 {
  padding-top: 1px;
}
.pt02 {
  padding-top: 2px;
}
.pt03 {
  padding-top: 3px;
}
.pt04 {
  padding-top: 4px;
}
.pt05 {
  padding-top: 5px;
}
.pt06 {
  padding-top: 6px;
}
.pt07 {
  padding-top: 7px;
}
.pt08 {
  padding-top: 8px;
}
.pt09 {
  padding-top: 9px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}
.pt35 {
  padding-top: 35px;
}
.pt40 {
  padding-top: 40px;
}
.pt45 {
  padding-top: 45px;
}
.pt50 {
  padding-top: 50px;
}
.pt60 {
  padding-top: 60px;
}
.pt70 {
  padding-top: 70px;
}
.pt80 {
  padding-top: 80px;
}
.pt90 {
  padding-top: 90px;
}
.pt100 {
  padding-top: 100px;
}
.pt120 {
  padding-top: 120px;
}
.pr00 {
  padding-right: 0 !important;
}
.pr01 {
  padding-right: 1px;
}
.pr02 {
  padding-right: 2px;
}
.pr03 {
  padding-right: 3px;
}
.pr04 {
  padding-right: 4px;
}
.pr05 {
  padding-right: 5px;
}
.pr06 {
  padding-right: 6px;
}
.pr07 {
  padding-right: 7px;
}
.pr08 {
  padding-right: 8px;
}
.pr09 {
  padding-right: 9px;
}
.pr10 {
  padding-right: 10px;
}
.pr15 {
  padding-right: 15px;
}
.pr20 {
  padding-right: 20px;
}
.pr25 {
  padding-right: 25px;
}
.pr30 {
  padding-right: 30px;
}
.pr35 {
  padding-right: 35px;
}
.pr40 {
  padding-right: 40px !important;
}
.pr45 {
  padding-right: 45px;
}
.pr50 {
  padding-right: 50px;
}
.pr60 {
  padding-right: 60px;
}
.pr70 {
  padding-right: 70px;
}
.pr80 {
  padding-right: 80px;
}
.pr90 {
  padding-right: 90px;
}
.pr100 {
  padding-right: 100px;
}
.pb00 {
  padding-bottom: 0 !important;
}
.pb01 {
  padding-bottom: 1px;
}
.pb02 {
  padding-bottom: 2px;
}
.pb03 {
  padding-bottom: 3px;
}
.pb04 {
  padding-bottom: 4px;
}
.pb05 {
  padding-bottom: 5px;
}
.pb06 {
  padding-bottom: 6px;
}
.pb07 {
  padding-bottom: 7px;
}
.pb08 {
  padding-bottom: 8px;
}
.pb09 {
  padding-bottom: 9px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb35 {
  padding-bottom: 35px;
}
.pb40 {
  padding-bottom: 40px;
}
.pb45 {
  padding-bottom: 45px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb60 {
  padding-bottom: 60px;
}
.pb70 {
  padding-bottom: 70px;
}
.pb80 {
  padding-bottom: 80px;
}
.pb90 {
  padding-bottom: 90px;
}
.pb100 {
  padding-bottom: 100px;
}
.pl00 {
  padding-left: 0 !important;
}
.pl01 {
  padding-left: 1px;
}
.pl02 {
  padding-left: 2px;
}
.pl03 {
  padding-left: 3px;
}
.pl04 {
  padding-left: 4px;
}
.pl05 {
  padding-left: 5px;
}
.pl06 {
  padding-left: 6px;
}
.pl07 {
  padding-left: 7px;
}
.pl08 {
  padding-left: 8px;
}
.pl09 {
  padding-left: 9px;
}
.pl10 {
  padding-left: 10px;
}
.pl15 {
  padding-left: 15px;
}
.pl20 {
  padding-left: 20px;
}
.pl25 {
  padding-left: 25px;
}
.pl30 {
  padding-left: 30px;
}
.pl35 {
  padding-left: 35px;
}
.pl40 {
  padding-left: 40px;
}
.pl45 {
  padding-left: 45px;
}
.pl50 {
  padding-left: 50px;
}
.pl60 {
  padding-left: 60px;
}
.pl70 {
  padding-left: 70px;
}
.pl80 {
  padding-left: 80px;
}
.pl90 {
  padding-left: 90px;
}
.pl100 {
  padding-left: 100px;
}
.pa01 {
  padding: 1px;
}
.pa02 {
  padding: 2px;
}
.pa03 {
  padding: 3px;
}
.pa04 {
  padding: 4px;
}
.pa05 {
  padding: 5px;
}
.pa10 {
  padding: 10px;
}
.pa15 {
  padding: 15px;
}
.fr {
  float: right;
}
.fl {
  float: left;
}
.fr10 {
  float: right;
  margin-left: 10px;
}
.fr15 {
  float: right;
  margin-left: 15px;
}
.fr30 {
  float: right;
  margin-left: 15px;
}
.fl10 {
  float: left;
  margin-right: 10px;
}
.fl15 {
  float: left;
  margin-right: 15px;
}
.fl30 {
  float: left;
  margin-right: 30px;
}
.txt10 {
  font-size: 10px;
}
.txt11 {
  font-size: 11px;
}
.txt12 {
  font-size: 12px;
}
.txt13 {
  font-size: 13px;
}
.txt14 {
  font-size: 14px;
}
.txt15 {
  font-size: 15px;
}
.txt16 {
  font-size: 16px;
}
.txt17 {
  font-size: 17px;
}
.txt18 {
  font-size: 18px;
}
.txt19 {
  font-size: 19px;
}
.txt20 {
  font-size: 20px;
}
.txt21 {
  font-size: 21px;
}
.txt22 {
  font-size: 22px;
}
.txt23 {
  font-size: 23px;
}
.txt24 {
  font-size: 24px;
}
.txt25 {
  font-size: 25px;
}
.txt26 {
  font-size: 26px;
}
.txt27 {
  font-size: 27px;
}
.txt28 {
  font-size: 28px;
}
.txt29 {
  font-size: 29px;
}
.txt30 {
  font-size: 30px;
}
.txt31 {
  font-size: 31px;
}
.txt32 {
  font-size: 32px;
}
.txt33 {
  font-size: 33px;
}
.txt34 {
  font-size: 34px;
}
.txt35 {
  font-size: 35px;
}
.txt36 {
  font-size: 36px;
}
.txt37 {
  font-size: 37px;
}
.txt38 {
  font-size: 38px;
}
.txt39 {
  font-size: 39px;
}
.txt40 {
  font-size: 40px;
}
.bold {
  font-weight: 700;
}
.left {
  text-align: left !important;
}
.center {
  text-align: center !important;
}
.right {
  text-align: right;
}
.clear {
  clear: both;
}
.v_top {
  vertical-align: top;
}
.v_mid {
  vertical-align: middle;
}
.v_btm {
  vertical-align: bottom;
}
.color_red {
  color: #f33;
}
.color_pink {
  color: #ed8c96;
}
.color_blue {
  color: #00408f;
}
.color_green {
  color: #479f9d;
}
.color_ore {
  color: #ff8327;
}
.color_yellow {
  color: #ffeb8b;
}
.color_beige {
  color: #dac58b;
}
.color_brown {
  color: #9b8052;
}
.color_navy {
  color: #1f2774;
}
.color_black {
  color: #3e3a39;
}
.ls_0 {
  letter-spacing: 0;
}
.ls_1 {
  letter-spacing: 1px;
}
.indent {
  margin-left: 1em !important;
  text-indent: -1em;
}
.line_h_2 {
  line-height: 2 !important;
}
.clearfix:after {
  display: block;
  clear: both;
  content: '';
}
.sp {
  display: none !important;
}
