@charset "utf-8";
/* CSS Document */
*,
::before,
::after {
    box-sizing: border-box;
    /* ↓↓debug code↓↓ */
    /* outline: 1px solid red; */
}
body {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333333;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
    text-align: justify;
}
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.fixed,
#mainvisual .inner,
header,
footer {
    min-width:1240px;
}
@media print{
    html {
        -webkit-print-color-adjust: exact;
    }
    body {
        zoom: 80%;
    }
    .fixed {
        position: inherit !important;
    }
}

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

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

  .top_campain

==================================================================*/
.top_campain {
    position: relative;
    padding: 45px 0;
}
.top_campain::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%);
    margin-left: -806px;
    font-family: classico-urw, sans-serif;
    font-weight: 400;
    font-size: 160px;
    letter-spacing: 0.11em;
    color: #333;
    opacity: 0.07;
    content: "CAMPAIN";
}
.top_campain_slide_wrap {
        max-width: 1242px;
    width: 100%;
    margin: 0 auto;
}
.top_campain_slide {
    position: relative;
}
.top_campain_slide .slick-slide {
    margin: 0 22px;
}
.top_campain_slide .slick-slide a {
    opacity: 1;
    transition: 0.3s ease-in-out;    
}


@media (hover: hover) and (pointer: fine) {
    .top_campain_slide .slick-slide a:hover {
        opacity: 0.7;
    }
}
.top_campain_slide .prev-arrow,
.top_campain_slide .next-arrow {
    position: absolute;
    z-index: 1;
    top: 50%;
    margin-top: -21px;
    opacity: 1;
    transition: 0.3s ease-in-out;    
}
.top_campain_slide .prev-arrow {
    left: 0;
}
.top_campain_slide .next-arrow {
    right: 0;
}
.top_campain_slide .prev-arrow:hover,
.top_campain_slide .next-arrow:hover {
    cursor: pointer;
    opacity: 0.8;
}

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

  header

============================================================================*/
header {
    position: absolute;
    width: 100%;
    color: #fff;
}
header .inner {
    position: relative;
    width: 1200px;
    margin: auto;
}
/* ロゴ */
header .header_logo {
    position: absolute;
    top: 52px;
    z-index: 11;
    font-family: classico-urw, sans-serif;
}
header .header_logo img {
    width: 180px;
    height: auto;
}


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

  nav

============================================================================*/
.nav_wrap {
  position: absolute;
  z-index: 10;
  top: 58px;
  width: 100%;
}
.tgl_menu_list {
  width: 1200px;
  margin: 0 auto;
  filter: drop-shadow(0 0 3px #605252)drop-shadow(0 0 2px #212121);
}
.tgl_menu_list ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 30px;
}
.tgl_menu_list ul li {
  position: relative;
  padding-bottom: 10px;
}
.tgl_menu_list ul li a, .tgl_menu_list ul li p {
  position: relative;
  font-family: classico-urw, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  color: #fff;
}
.tgl_menu_list ul li a span, .tgl_menu_list ul li p span {
  display: block;
  line-height: 1;
  letter-spacing: 0.15em;
  font-size: 12px;
  margin-top: 9px;
}
/* ホバーエフェクト */
.tgl_menu_list ul li a:hover {
  color: #fff;
}
/* ホバー時に出る下線 */
.tgl_menu_list ul li a::after, .tgl_menu_list ul li p::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -4px;
  left: 0;
  margin: auto;
  width: 100%;
  height: 1px;
  background: #fff;
  transition: 0.2s ease-in-out;
  transform: scaleX(0);
}
.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 a.nolink:hover::after, .tgl_menu_list ul li.active a.nolink::after {
  transform: scaleX(0);
}
/* ------- スライドメニュー シングル------- */
.tgl_menu_list ul li.nav_single_menu {
  position: relative;
}
.tgl_menu_list ul li.nav_single_menu div {
  position: absolute;
  z-index: 1;
  top: 95%;
  right: -190px;
  width: 320px;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease-in-out;
  /*box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;*/
}
.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 {
  position: relative;
  display: block;
  text-align: left;
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.12em;
  color: #fff;
  padding: 14px 20px 14px 16px;
  background-color: rgba(0, 0, 0, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.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 div a i.nav_arrow {
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  display: flex;
  align-items: center;
  transition: 0.2s ease-in-out;
}
/* ホバーエフェクト */
.tgl_menu_list ul li.nav_single_menu div a:hover {
  color: #fff;
  background: rgba(0, 0, 0, 0.8);
}
.tgl_menu_list ul li.nav_single_menu div a:hover i.nav_arrow {
  right: 7px;
}
/* ------- スライドメニュー メガ------- */
.tgl_menu_list ul li.nav_mega_menu {
  position: static;
}
.tgl_menu_list ul li.nav_mega_menu .mega_menu_wrap {
  position: absolute;
  z-index: 1;
  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;
}
.tgl_menu_list ul li.nav_mega_menu:hover .mega_menu_wrap {
  top: 100%;
  opacity: 1;
  visibility: visible;
}
.tgl_menu_list .mega_menu_inner {
  padding: 32px 0;
  width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.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 {
  text-align: left;
  padding: 12px 0;
  font-weight: bold;
  border-bottom: 2px solid;
}
.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 {
  position: relative;
  display: block;
  text-align: left;
  padding: 12px 12px 12px 0;
  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;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  border: none;
  margin-right: 10px;
}
.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 {
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  padding: 15px 0 5px;
  background-color: rgba(0, 0, 0, 0.5);
}
.nav_wrap.fixed ul {
  justify-content: center;
}
/* 追従ボタン */
.btn_area {
  position: fixed;
  z-index: 100;
  right: 0;
  bottom: 0;
}
.btn_area ul {
  display: flex;
  background: #fff;
}
.btn_area li.btn {
  width: 100%;
  color: #fff;
  font-family: zen-old-mincho, sans-serif;
  font-weight: 700;
}
.btn_area li.btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
  font-weight: bold;
  /* padding: 13px 2%;*/
}
.btn_area li.btn_tel {
  width: 240px;
  padding: 18px 0 18px 11px;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  background: rgb(150, 150, 150);
  background: linear-gradient(0deg, rgba(150, 150, 150, 1) 0%, rgba(159, 159, 166, 1) 47%, rgba(204, 204, 204, 1) 100%);
  transition: 0.3s ease-in-out;
}
.btn_area li.btn_tel a {
  background: url("../images/foot_btn_icon01.png") no-repeat left 8px center;
}
.btn_area li.btn_yoyaku {
  width: 160px;
  padding-left: 12px;
  font-size: 15px;
  letter-spacing: 0.1em;
  background: rgb(50, 74, 115);
/*  background: linear-gradient(0deg, rgba(50, 74, 115, 1) 0%, rgba(75, 104, 154, 1) 47%, rgba(87, 130, 205, 1) 100%);*/
  background: linear-gradient(0deg, rgb(129 89 89 / 50%), rgba(232, 52, 52, 0.8) 47%, rgb(248 177 177 / 50%) 100%);
  transition: 0.3s ease-in-out;
}
.btn_area li.btn_yoyaku a {
  background: url("../images/foot_btn_icon02.png") no-repeat left 9px bottom 28px
}
.btn_area li.btn_line {
  width: 200px;
  background: rgb(37, 180, 98);
  background: linear-gradient(0deg, rgba(37, 180, 98, 1) 0%, rgba(7, 212, 91, 1) 47%, rgba(29, 245, 117, 1) 100%);
  transition: 0.3s ease-in-out;
}
.btn_area li.btn_line i {
  font-weight: normal;
  font-size: 26px;
  margin-right: 8px;
}
.btn_area li.btn_line span {
  text-align: left;
  line-height: 10px;
}
.btn_area li.btn_line em {
  font-size: 13px;
}
.btn_area li.btn_instagram {
  width: 200px;
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  transition: 0.3s ease-in-out;
}
.btn_area li.btn_instagram i {
  font-weight: normal;
  font-size: 26px;
  margin-right: 8px;
}
.btn_area li.btn_instagram span {
  text-align: left;
  line-height: 10px;
  font-size: 18px;
}
.btn_area li.btn_top {
  width: 90px;
  background: #2b5c93;
  background: linear-gradient(0deg, rgb(78, 102, 149) 0%, rgb(43, 92, 147) 47%, rgb(121, 153, 203) 100%);
  transition: 0.3s ease-in-out;
  height: 75px;
}
.btn_area li.btn_top a::before {
  display: inline-block;
  width: 19px;
  height: 19px;
  margin-right: 8px;
  background: url("../images/foot_btn_icon03.png") no-repeat;
  content: "";
  vertical-align: middle;
}
@media (hover: hover) and (pointer: fine) {
  .btn_area li.btn_yoyaku:hover, .btn_area li.btn_line:hover, .btn_area li.btn_top:hover, .btn_area li.btn_instagram:hover {
    filter: brightness(1.1);
  }
}
.footer_insta a {
  opacity: 1;
  transition: 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  .footer_insta a:hover {
    opacity: 0.6;
  }
}
.fixed_btn_sns {
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 11;
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    gap: 10px;
    transform: translateY(-50%);
}
.fixed_btn_sns a {
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.25);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70px;
    height: 70px;
    padding: 0 0 0 3px;
    background: var(--main-color);
    color: #ffffff;
    transition: opacity 0.2s, width 0.2s;
}
.fixed_btn_sns a:hover{
	opacity: .8;
}
.fixed_btn_sns a.instagram {
    background: linear-gradient(135deg, rgb(131, 58, 180, 0.8), rgb(253, 29, 29, 0.8), rgb(252, 176, 69, 0.8));
}
.fixed_btn_sns a i {
    font-size: 28px;
}
.fixed_btn_sns a.tiktok {
    background: rgb(0, 0, 0, 0.8);
}
/*============================================================================

  #mainvisual

============================================================================*/
#mainvisual {
    display: block;
    position: relative;
    height: 900px;
    background-image: url("../images/top_mv05.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#mainvisual .inner {
    display: table;
    position: relative;
    height: inherit;
    width: 1200px;
    margin: 0 auto;
    background-repeat: no-repeat;
}
#mainvisual p.headline {
    position: relative;
}
/* キャッチフレーズ */
.mainvisual_catch {
    position: absolute;
    width: 100%;
    top: 380px;
    color: #fff;
}
.mainvisual_catch p {
    display: block;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 700;
    font-size: 22px;
    letter-spacing: 0.11em;
    text-align: center;
}
.mainvisual_catch span {
    display: block;
    margin-top: -30px;
    text-align: center;
}
.mainvisual_open {
    position: absolute;
    bottom: 30px;
    right: 0;
    width: 250px;
}
.mainvisual_open img {
    width: 100%;
}


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

  #contents

==================================================================*/
main {
    display: block;
}
#container {
    overflow: hidden;
}

/* メニュー */
.top_menu,.top_feature,.top_recruit {
    position: relative;
    padding: 120px 0;
    background-color: #f6f6f6;
}
.top_recruit {
    position: relative;
    padding: 120px 40px;
    background-color: #ffffff;
}
.top_menu::before {
    position: absolute;
    top: 60px;
    left: 50%;
    margin-left: -800px;
    font-family: classico-urw, sans-serif;
    font-weight: 400;
    font-size: 160px;
    letter-spacing: 0.11em;
    line-height: 1;
    color: #333333;
    opacity: 0.07;
    content: "MENU";
}
.top_recruit::before {
    position: absolute;
    top: 60px;
    left: 50%;
    margin-left: -800px;
    font-family: classico-urw, sans-serif;
    font-weight: 400;
    font-size: 160px;
    letter-spacing: 0.11em;
    line-height: 1;
    color: #333333;
    opacity: 0.07;
    content: "RECRUIT";
}
.top_menu h2,.top_recruit h2 {
    position: relative;
    width: 1200px;
    margin: 0 auto 40px;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 400;
    font-size: 36px;
    letter-spacing: 0.07em;
    color: #333;
}
.top_menu h2::before {
    display: inline-block;
    margin-right: 12px;
    font-family: classico-urw, sans-serif;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.11em;
    content: "MENU";
}
.top_recruit h2::before {
    display: inline-block;
    margin-right: 12px;
    font-family: classico-urw, sans-serif;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.11em;
    content: "RECRUIT";
}
.top_menu_list {
    display: flex;
    justify-content:center;
	flex-wrap:wrap;
    max-width: 1200px;
    margin: 0 auto;
	gap:20px;
}
.top_menu_list li {
	display:flex;
	justify-content:center;
	align-items: center;
    box-sizing: border-box;
   	width:calc((100% / 4) - (20px * 4));
    height: 160px;
    text-align: center;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 400;
    font-size: 19px;
    letter-spacing: 0.08em;
    color: #fff;
    background-color: #5a5a5a;
	line-height: 1.5em;
}
.top_recruit h3 {
  margin-bottom: 40px;
  font-family: zen-old-mincho, sans-serif;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 0.11em;
}
.recruit_box {
  max-width: 1200px;
  margin: 0 auto;
}
.btn01 a {
  display: inline-block;
  padding: 8px 30px 8px 15px;
  margin: 10px 0;
  background-color: #2b5c93;
  color: #fff;
  border: 1px solid #2b5c93;
  position: relative;
}

.btn01 a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  display: block;
  height: 30px;
  position: absolute;
  right: 15px;
  top: 5px;
  bottom: 0;
  margin: auto;
}

@media (hover: hover) {
  .btn01 a {
    transition: 0.2s ease-in-out;
  }

  .btn01 a:hover {
    background-color: #fff;
    color: #2b5c93;
  }
}
.list03 li {
  position: relative;
  padding-left: 15px;
  line-height: 2;
}
.list03 li:not(:last-child) {
  margin-bottom: 10px;
}
.list03 li::before {
  display: block;
  position: absolute;
  top: calc((2em - 5px) / 2);
  left: 0;
  width: 5px;
  height: 5px;
  background-color: #2b5c93;
  border-radius: 50%;
  content: '';
}

/* 特徴*/
.top_feature {
    position: relative;
    padding: 120px 0;
    background-color: rgba(224, 202, 130, 0.15);
	background: url("../images/doctor_crr_bg.jpg");
}
.top_feature::before {
    position: absolute;
    top: 60px;
    left: 54%;
    margin-left: -800px;
    font-family: classico-urw, sans-serif;
    font-weight: 400;
    font-size: 160px;
    letter-spacing: 0.11em;
    line-height: 1;
    color: #333333;
    opacity: 0.07;
    content: "FEATURE";
}
.top_feature h2 {
    position: relative;
    width: 1200px;
    margin: 0 auto 40px;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 400;
    font-size: 36px;
    letter-spacing: 0.07em;
    color: #333;
}
.top_feature h2::before {
    display: inline-block;
    margin-right: 12px;
    font-family: classico-urw, sans-serif;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.11em;
    content: "FEATURE";
}

.top_feature_wrap{
	max-width:1200px;
	margin:0 auto;
}
.top_feature_list li{
	margin-bottom:30px;
	padding: 20px 40px;
  	background: rgba(255,255,255,0.7);
}
.top_feature_list li .feature_list_tit{
	display:flex;
	align-items:center;
	gap:0 20px;
}
.top_feature_list h3{
	margin-bottom:0.2em;
	font-family: zen-old-mincho, sans-serif;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.07em;
    line-height: 1.5;
}
.top_feature_list .feature_item_num{
	width: 100%;
	max-width:120px;
	display:inline-block;
	margin-bottom:0.5em;
	background: #2b5c93;
	padding:0px 10px 5px;
	text-align:center;
	letter-spacing:0.1em;
	font-family: zen-old-mincho, sans-serif;
	font-style: italic;
	font-size: 18px;
	color:#fff;
}
/* ごあいさつ */
.top_doctor {
    position: relative;
}
.top_doctor::before {
    position: absolute;
    top: 124px;
    left: 50%;
    margin-left: -800px;
    font-family: classico-urw, sans-serif;
    font-weight: 400;
    font-size: 160px;
    letter-spacing: 0.11em;
    line-height: 1;
    color: #333333;
    opacity: 0.07;
    content: "GREETING";
}
.doctor_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1200px;
    margin: 0 auto;
    padding: 200px 0 0;
}
.doctor_text {
    width: 540px;
}
.doctor_text h2 {
    margin-bottom: 80px;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 400;
    font-size: 36px;
    letter-spacing: 0.11em;
    line-height: 1.636;
}
.doctor_text h2::before {
  display: inline-block;
  margin-right: 12px;
  font-family: classico-urw, sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.11em;
  content: "GREETING";
}
.doctor_text h3{
    margin-bottom: 40px;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 400;
    font-size: 24px;
    letter-spacing: 0.11em;
}
.doctor_text p {
    font-size: 16px;
    letter-spacing: 0.11em;
    line-height: 3.375;
}
.top_doctor_img {
    position: relative;
    width: 544px;
    padding-top: 200px;
    text-align: left;
}
.top_doctor_img::before {
    position: absolute;
    top: -82px;
    left: 160px;
    z-index: -1;
    width: 777px;
    height: 631px;
    background: url("../images/clinic.jpg") no-repeat;
    content: "";
}
.doctor_name {
    width: 395px;
    margin-top: 20px;
    line-height: 1;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0.11em;
    text-align: right;
}
.doctor_name span {
    font-size: 21px;
}
.doctor_crr {
    display: flex;
    justify-content: center;
    gap: 40px;
    width: 100%;
    margin-top: 60px;
    padding: 80px 0 120px;
    background: url("../images/doctor_crr_bg.jpg");
}
.doctor_crr_box {
    box-sizing: border-box;
    width: 580px;
    padding: 35px 35px 30px;
    background-color: rgba(137, 183, 230, 0.15);
}
.doctor_crr_box h3 {
    margin-bottom: 18px;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 700;
    font-size: 22px;
    letter-spacing: 0.11em;
    line-height: 1;
}
.doctor_crr_box table{
	width: 100%;
}
.doctor_crr_box table tr{
	display: block;
	margin-bottom: 8px;
}
.doctor_crr_box table th{
	width: auto;
    min-width: 110px;
	vertical-align: baseline;
}
.doctor_crr_box table td{
	width: 100%;
}
.doctor_crr_box li {
    margin-bottom: 12px;
    font-size: 16px;
    line-height: 1.3;
}


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

  $news

============================================================================*/
.top_news {
    position: relative;
    padding: 120px 0;
    background-color: #f6f6f6;
}
.top_news::before {
  position: absolute;
  top: 60px;
  left: 53%;
  margin-left: -800px;
  font-family: classico-urw, sans-serif;
  font-weight: 400;
  font-size: 160px;
  letter-spacing: 0.11em;
  line-height: 1;
  color: #333333;
  opacity: 0.07;
  content: "NEWS";
}
.top_news h2{
  position: relative;
  width: 1200px;
  margin: 0 auto 40px;
  font-family: zen-old-mincho, sans-serif;
  font-weight: 400;
  font-size: 36px;
  letter-spacing: 0.07em;
  color: #333;
}
.top_news h2::before {
  display: inline-block;
  margin-right: 12px;
  font-family: classico-urw, sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.11em;
  content: "NEWS";
}
.top_news_wrap{
	max-width:1200px;
	margin:0 auto;
}

.top_news_frame {
    width: 100%;
}

.news_list li{
	text-overflow: ellipsis;
	padding: 15px 110px 15px 13px;
	border-bottom: 1px solid #ccc;
	transition: 0.2s;
    pointer-events: none;
}
.news_list li span{
	font-size: 16px;
	font-family: zen-old-mincho, sans-serif;
    letter-spacing: 0.1em;
    margin-right: 30px;
}
.news_list li em{
	margin-right: 30px;
    display: inline-block;
    min-width: 110px;
	background:#5a5a5a;
    padding: 1px 6px;
    font-size: 14px;
    letter-spacing: 0.02em;
    font-style: normal;
    text-align: center;
	color:#fff;
}
.news_list li a{
	pointer-events: all;
	color:#333;
    transition: 0.2s;
}
.news_list li a:hover{
	color:#d5d3ce;
}
.news_txt{
	margin-top: 15px;
}
.news_tit_area{
	display:flex;
	align-items: center;
    margin-bottom: 15px;
}
/*============================================================================

  $footer

============================================================================*/
footer {
    position: relative;
    width: 100%;
    background-color: #5a5a5a;
    color: #d5d3ce;
}

/* フッターの医院概要 */
.footer_info {
    display: flex;
    justify-content: flex-start;
    gap: 158px;
    width: 1200px;
    margin: 0 auto;
    padding: 160px 0 100px;
}
.footer_info_left,
 .footer_info_right {
    width: 470px;
}
.footer_info_logo {
    margin-bottom: 50px;
}
.footer_info_logo i {
    display: block;
}
.footer_info_logo i img {
    width: 220px;
    height: auto;
}
.footer_info_logo span {
    display: block;
    margin-top: 12px;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 1;
}
.footer_info_logo em {
    display: block;
    margin-top: 17px;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1;
}
.footer_info_overview {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
    padding-top: 40px;
    border-top: 1px solid #838383;
}
.footer_info_overview dt {
    width: 116px;
    margin-bottom: 20px;
    font-family: zen-old-mincho, sans-serif;
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 1;
}
.footer_info_overview dd {
    width: 354px;
    margin-bottom: 20px;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1.857;
}
.footer_info_access_map {
    margin-bottom: 30px;
}
.footer_info_access_map iframe {
    width: 100%;
    height: 340px;
}
.footer_info_access_desc .tit {
    padding-bottom: 7px;
    font-family: classico-urw, sans-serif;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 1;
    border-bottom: 1px solid #838383;
}
.footer_info_access_desc ul {
    padding-top: 12px;
}
.footer_info_access_desc li {
    font-size: 14px;
    font-weight: 500;
    line-height: 2.143;
    letter-spacing: 0.1em;
}
.footer_info_access_map iframe {
    height: 300px;
}


/* コピーライト */
.copy {
    padding: 40px 0 110px;
    text-align: center;
    border-top: 1px solid #838383;
}
.copy small {
    font-family: classico-urw, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1;
}

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

  タイトル

==================================================================*/
h1 {
    position: absolute;
    width: 1200px;
    top: 23px;
    right: 0;
    left: 0;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #efefef;
    margin: auto !important;
}


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

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

==================================================================*/
.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;
}


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

  CSSアニメーション

==================================================================*/
/* フェードイン */
.fadeIn{
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeIn{
  animation: fadeIn 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) 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.000) 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.000) 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.000) 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.000) 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.000) 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}