@charset "utf-8";
/* CSS Document */
*, ::before, ::after {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
body {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
  font-style: normal;
  font-weight: normal;
  font-size: 1.2rem;
  color: #333;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  z-index: 0;
  font-feature-settings: "pkna"1;
  overflow-x: hidden;
  letter-spacing: 0.1em;
}
a {
  text-decoration: none;
}
h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0;
  font-weight: 400;
  font-size: inherit;
  font-feature-settings: "palt";
  line-height: 1.65;
}
p {
  margin-bottom: 0;
}
pre {
  margin-bottom: 0;
}
dl {
  margin-bottom: 0;
}
ul {
  margin-bottom: 0;
}
ol {
  margin-bottom: 0;
  list-style: decimal;
  padding-left: 1em;
}
img {
  max-width: 100%;
}
.biz-hour {
  width: 100%;
  /* overflow-x: scroll;で、
  スマホ画面幅に表が入りきらない場合は
  横スクロールしてくれます */
  overflow-x: scroll;
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
.biz-hour th {
  /* １番上の線 */
  /* #A28C63っていうのが色の名前なので、ここをお好みで */
  border-top: 1px solid #A28C63;
}
.biz-hour th, .biz-hour td {
  padding: 2rem;
  text-align: center;
  /* ２番目以降の線 */
  /* 色はお好みで */
  border-bottom: 1px solid #A28C63;
  vertical-align: middle;
}
/* スマホ時に横スクロールしないよう、横の余白（padding）を20px→10pxに */
@media screen and (max-width: 559px) {
  .biz-hour th, .biz-hour td {
    padding: 1rem;
  }
}
.biz-hour th {
  font-weight: normal;
}
.biz-hour .yel {
  color: #E3CB00;
}
/* 「土」の文字色 */
.biz-hour th.sat {
  color: #3db2da;
}
/* 「日」の文字色 */
.biz-hour th.sun {
  color: #e66a6a;
}
/* Navbar & Navmenu color */ :root {
  --background-navbar: rgba(0, 0, 0, 0.60);
}
.submenu {
  display: none;
  padding-top: 1rem;
}
/* Nav items */
.menu {
  list-style: none;
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  margin-top: 52px;
  padding: 0 0 10px 0;
  clear: both;
  background: var(--background-navbar);
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transform: scale(1, 0);
  transform-origin: top;
}
/* Hamburger menu button */
.menu-btn:checked ~ .menu {
  transform: scale(1, 1);
  transform-origin: top;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  z-index: 99;
  padding: 2rem 0;
}
/* Hamburger menbu text */
.menu a {
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 2px;
  font-size: 16px;
  text-transform: capitalize;
  color: #333;
  opacity: 0;
  transition: 0.5s;
	display:block;
	position:relative;
}
.menu li {
  border-top: 1px solid rgb(255, 255, 255);
  padding: 15px 0;
  margin: 0 54px;
  opacity: 0;
  transition: 0.5s;
}
.menu li li {
  border-top: 1px solid rgb(255, 255, 255);
  padding: 15px 0;
  margin: 0 10px;
  opacity: 0;
  transition: 0.5s;
}
.menu-btn:checked ~ .menu a, .menu-btn:checked ~ .menu li {
  opacity: 1;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
  color: #FFFFFF;
}
.menu__item a
{
	position:relative;
}
.menu__item__link::after {
  border-right: solid 2px #fff;
  border-top: solid 2px #fff;
  content: "";
  display: block;
  height: 8px;
  position: absolute;
  right: 25px;
  top: 38%;
  transform: rotate(135deg);
  transition: transform .3s ease-in-out, top .3s ease-in-out;
  width: 8px;
}
.menu__item__link.add::after
{
	transform: rotate(-45deg);
}
.menu-btn {
  display: none;
}
.menu-icon {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding: 24px 14px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.navicon {
  background: #333333;
  display: block;
  height: 3px;
  width: 26px;
  position: relative;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.navicon:before, .navicon:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  background: #333333;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.navicon:before {
  top: 9px;
}
.navicon:after {
  bottom: 9px;
}
/* Hamburger Menu Animation Start */
.menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}
.menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
  top: 0;
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  bottom: 0;
}
.menu-btn:checked ~ .menu-icon .navicon {
  background: rgba(0, 0, 0, 0);
  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* Hamburger Menu Animation End */
/* Navbar Container */
.navtext-container {
  width: 100%;
  height: 52px;
  position: absolute;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* Navbar Text */
.navtext {
  position: absolute;
  text-transform: uppercase;
  color: #333333;
  letter-spacing: 4px;
  font-size: 20px;
  width: 50%;
}
.reserve {
  position: fixed;
  bottom: 36%;
  right: 0;
  z-index: 999;
}
.line {
  position: fixed;
  bottom: 2%;
  right: auto;
  left: auto;
  z-index: 999;
}
.close_btn {
  position: absolute;
  top: -1rem;
  right: -1rem;
  z-index: 99;
}
.none {
  display: none;
}
/* fadeUp */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger {
  opacity: 0;
}
.delay-time02 {
  animation-delay: 0.2s;
}
.delay-time04 {
  animation-delay: 0.4s;
}
.delay-time06 {
  animation-delay: 0.6s;
}
.delay-time08 {
  animation-delay: 0.8s;
}
a:hover {
  opacity: 0.6;
}
.table-wrap {
  overflow-x: scroll;
}
.table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
}
.com {
  width: 400px;
  margin: 0 auto 20px;
  text-align: left;
}
table .ttl {
  color: #333333;
}
/*tabの形状*/
.tab{
	display: flex;
	flex-wrap: wrap;
}
.tab li a{
	display: block;
	background:#ddd;
	margin:0 1rem;
	padding:1rem 3rem;
    font-size: 1.6rem;
}
/*liにactiveクラスがついた時の形状*/
.tab li.active a{
	background:#e3cb00;
    color: #FFFFFF;
    font-size: 1.6rem;
}


/*エリアの表示非表示と形状*/
.area {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
	background: #fff;
	padding:50px 20px;
}

/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.week
{
    background: #DDDDDD;
}
.close
{
    background: #ccc!important;
    color: #333;
}
.incyo th
{
    background: #E3CB00!important;
    color: #FFFFFF;
}
.incyo td
{
    background: #E3CB00;
    color: #FFFFFF;
}
.staffbg01 th
{
    background: #AE006E!important;
    color: #FFFFFF;
}
.staffbg01 td
{
    background: #AE006E;
    color: #FFFFFF;
}
.staffbg02 th
{
    background: #2E62A5!important;
    color: #FFFFFF;
}
.staffbg02 td
{
    background: #2E62A5;
    color: #FFFFFF;
}
.fixed01{
  position: sticky;
  left: 0;
}
  .fixed01:before{
    content: "";
    position: absolute;
    top: 0;
    left: -1px;
    border: 1px solid #FFFFFF;
      width: 100%;
      height: 100%;
  }
.fixed02 {
    position: sticky;
    left: 110px;
}
.fixed02:before{
    content: "";
    position: absolute;
    top: 0;
    left: -1px;
    border: 1px solid #FFFFFF;
      width: 100%;
      height: 100%;
  }
/* 固定 */
.fixed {
    position: fixed!important;
    top: 0;
    width: 100%;
    z-index: 1000;
    background: rgba(255,255,255,0.80);
    height: 100px;
	padding:1rem 0;
}

/* Grid style */
.display-posts-listing.grid {
    display: grid;
    grid-gap: 16px;
}
 
.display-posts-listing.grid .title {
    display: block;
}
 
.display-posts-listing.grid img { 
    display: block; 
    max-width: 100%; 
    height: auto; 
}
 
@media (min-width: 600px) {
    .display-posts-listing.grid {
        grid-template-columns: repeat( 2, 1fr );
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
    }
}
 
@media (min-width: 1024px) {
	
    .display-posts-listing.grid {
        grid-template-columns: repeat( 3, 1fr );
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
    }
}
.listing-item {
    margin-bottom: 4rem;
}
.cale .common_tbl2 td
{
	text-align:center!important;
}
td.fixed02 {
    border: none;
}
th.fixed01 {
    border: none;
}
.cale .common_tbl2 td {
    border: solid 1px #fff;
}
.infologo {
    margin-right: 5rem;
}
/*-----------------------------------------------------------------*/
/*------------SPサイト-------------*/
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
  .pc-tab-only {
    display: none !important;
  }
  #header {
    width: 100%;
    position: fixed;
    height: 70px;
    z-index: 999;
    background: rgba(0, 0, 0, 0.80);
  }
  .header {
    background: rgba(255, 255, 255, 0.60);
    position: fixed;
    width: 100%;
    height: 100px;
    z-index: 999;
  }
  #header .inner {
    padding: 2rem 3%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: calc(767px + 6%);
    width: 100%;
  }
  #headerNav ul {
    display: flex;
    padding: 0 1rem;
    align-items: center;
    flex-wrap: nowrap;
  }
  #headerNav ul li {
    padding: 2.4rem 1rem;
    position: relative;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    white-space: nowrap;
  }
  #headerNav ul li::after {
    content: "";
    background: url("images/nav_icon.png") no-repeat center;
    position: absolute;
    top: 0;
    left: 50%;
    background-size: cover;
    width: 22px;
    height: 20px;
    transform: translateX(-50%);
  }
  #headerNav .en {
    font-size: 1.6rem;
    font-weight: 600;
    color: #E3CB00;
    display: block;
    margin-top: 0.4rem;
  }
  .logo {
    width: 40%;
  }
  .red {
    color: #AC0000;
  }
  .h_tel p {
    text-align: center;
    font-size: 1.2rem;
    padding: 1rem 0;
  }
  .mv {
    position: relative;
    max-width: 767px;
    width: 100%;
    padding-top: 100px;
    margin: 0 auto;
  }
  .catch {
    font-size: 2rem;
    font-weight: 600;
    color: #FFFFFF;
    position: absolute;
    right: 50%;
    top: 50%;
    letter-spacing: 0.6rem;
    line-height: 1.4;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
    transform: translate(50%, -50%);
    white-space: nowrap;
  }
    .catchcopy
    {
        padding: 2rem 0;
        text-align: center;
    }
    .catchcopy p
    {
        font-size: 2rem;
        font-weight: 600;
    }
	video#video {
    height: 25vh;
    width: 100%;
    object-fit: cover;
}
  .mv_icon {
    text-align: center;
    margin-bottom: 1rem;
	  width:25%;
	  margin:1rem auto;
  }
  .container {
    max-width: calc(845px + 6%);
    margin: 0 auto;
    padding: 3rem 3%;
  }
  .news {
    margin-bottom: 3%;
  }
  .news .container {
    max-width: calc(900px + 6%);
    margin: 0 auto;
    padding: 3rem 3%;
  }
  .toggle {
    display: none;
  }
  .Label { /*タイトル*/
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    padding: 2rem 4rem;
    border: 1px solid #333333;
    text-align: center;
  }
  .Label::before { /*タイトル横の矢印*/
    content: "";
    width: 10px;
    height: 10px;
    border-top: 3px solid #E3CB00;
    border-right: 3px solid #E3CB00;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 6px);
    right: 20px;
    transform: rotate(135deg);
  }
  .Label, .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
  }
  .content { /*本文*/
    height: 0;
    margin-bottom: 10px;
    padding: 0 20px;
    overflow: hidden;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .content p {
    margin-bottom: 2rem;
  }
  .toggle:checked + .Label + .content { /*開閉時*/
    height: auto;
    padding: 20px;
    transition: all .3s;
    border: 1px solid #333333;
  }
  .toggle:checked + .Label::before {
    transform: rotate(-45deg) !important;
  }
  .f24 {
    font-size: 2.4rem;
    margin-top: 2rem;
  }
  .lineinfo {
    background: url("images/line_bg.png") no-repeat center;
    background-size: cover;
    padding: 3%;
    position: relative;
    z-index: 1;
    color: #FFFFFF;
  }
  .linearea {
    margin-bottom: 3rem;
    text-align: center;
  }
  .ttl {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: 3rem;
    
  }
  .lineinfo p {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .infobtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 8rem 2rem 2rem;
    color: #FFFFFF;
    background: #E3CB00;
    position: relative;
  }
  .infobtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/Icon-dropright.png") no-repeat center;
    width: 29px;
    height: 29px;
    background-size: 50%;
  }
  .infobtn {
    margin: 5rem 0;
  }
  .infoimg {
    width: 100%;
    padding: 1rem;
    margin: 0 auto;
  }
  .infotxt {
    width: 100%;
    padding: 1rem;
    margin: 0 auto;
  }
  .h_tel {
    position: relative;
    font-family: Allura, sans-serif;
    width: 100%;
    font-size: 3.8rem;
  }
    .h_tel a
    {
        text-align: center;
        display: block;
    }
    .h_tel img
    {
        transform: translateY(-30%);
    }
  .logotel {
    display: flex;
    margin-bottom: 3rem;
    align-items: center;
      flex-direction: column;
  }
	.address
	{
		font-size:1.6rem;
		margin-bottom:3rem;
		text-align:center;
	}
  .infologo {
    margin-bottom: 3rem;
	  margin-right:2rem;
  }
  .infotel {
    color: #FFFFFF;
      width: 100%;
  }
  .infoarea {
    display: flex;
    justify-content: space-between;
    padding: 5rem 0;
    flex-direction: column;
    max-width: 390px;
  }
  .biz-hour {
    width: 100%;
    /* overflow-x: scroll;で、
  スマホ画面幅に表が入りきらない場合は
  横スクロールしてくれます */
    overflow-x: scroll;
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
  .biz-hour th {
    /* １番上の線 */
    /* #A28C63っていうのが色の名前なので、ここをお好みで */
    border-top: 1px solid #A28C63;
  }
  .biz-hour th, .biz-hour td {
    padding: 2rem;
    text-align: center;
    /* ２番目以降の線 */
    /* 色はお好みで */
    border-bottom: 1px solid #A28C63;
    vertical-align: middle;
    white-space: nowrap
  }
  /* スマホ時に横スクロールしないよう、横の余白（padding）を20px→10pxに */
  @media screen and (max-width: 559px) {
    .biz-hour th, .biz-hour td {
      padding: 0.4rem;
    }
  }
  .biz-hour th {
    font-weight: normal;
  }
  .biz-hour .yel {
    color: #E3CB00;
  }
  /* 「土」の文字色 */
  .biz-hour th.sat {
    color: #3db2da;
  }
  /* 「日」の文字色 */
  .biz-hour th.sun {
    color: #e66a6a;
  }
  .info_bnr {
    padding: 2rem 0;
  }
  .blog {
    background: url("images/blog_bg.png")no-repeat center;
    background-size: cover;
    margin-top: -6rem;
    padding: 20% 3%;
	  position:relative;
  }
  .blog::before {
    content: "";
    background: url("images/news.png") no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 394px;
    height: 75px;
    background-size: 70%;
  }

  .h3_bttl {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 3rem;
    padding-left: 10rem;
    position: relative;
  }
  .h3_bttl span {
    margin-left: 1rem;
    color: #E3CB00;
    font-size: 1.6rem;
    font-weight: 600;
    
  }
  .h3_bttl::after {
    content: "";
    background: url("images/bttl_icon.png") no-repeat center;
    background-size: 80%;
    position: absolute;
    top: 30%;
    left: 10rem;
    width: 62px;
    height: 50px;
  }
  .blog_ttl_area {
    padding: 5rem 0;
  }
  .blog_ttl_area .h3_bttl {
    padding: 3rem 0 3rem 16rem;
    position: relative;
    font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
  }
  .blog_ttl_area .h3_bttl::before {
    content: "";
    position: absolute;
    width: 100px;
    height: 1px;
    background: #000;
    left: 0;
    top: 50%;
    margin: auto;
  }
  .blog_bgbox {
    background: #FFFFFF;
    padding: 3rem 0rem 5rem;
    width: 100%;
	  overflow-x:scroll;
  }
  .news_wrapper {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
	  flex-direction: column;
  }
  .news_imgbox {
    display: flex;
    flex-direction: column;
    width: 100%;
	  height:170px;
  }
	.news_imgbox img
	{
		width:100%;
		object-fit:cover;
	}
  .news_txtbox {
    background: #FFFFFF;
    padding: 1rem;
    width: 100%;
  }
  .blog_date {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
  .blog_more {
    font-size: 1.4rem;
    font-weight: 600;
    color: #E3CB00;
  }
  .blog_ttl {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 2rem;
  }
  .blog_more {
    display: flex;
    margin-bottom: 1rem;
  }
  .u_more {
    text-align: right;
    
    font-size: 2rem;
    padding: 1rem 14rem 1rem 3rem;
    position: absolute;
    left: 1rem;
    bottom: 12rem;
  }
  .u_more a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    background: url("images/more_arrow.png") no-repeat center;
    width: 115px;
    height: 20px;
    transform: translateY(-50%);
  }
  .flex {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
  }
  .blogbox {
    margin: 1rem;
    width: 90%;
    box-shadow: 2px 4px 10px -3px #777777;
  }
  .blogdate {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
  .blogttl {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 2rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 1rem;
  }
  .more {
    font-size: 1.6rem;
    font-weight: 600;
    color: #E3CB00;
    padding: 2rem 0;
  }
  .blogtxtbox {
    padding: 2rem;
    background: #FFFFFF;
  }
  .blogbtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 6rem 2rem 8rem;
    color: #FFFFFF;
    background: #E3CB00;
    position: relative;
  }
  .blogbtn a::before {
    content: "";
    position: absolute;
    left: 6%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/blog_btn_icon.png") no-repeat center;
    width: 55px;
    height: 62px;
    background-size: 60%;
  }
  .blogbtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/Icon-dropright.png") no-repeat center;
    width: 29px;
    height: 29px;
    background-size: 50%;
  }
  .blogbtn {
    margin-top: 10rem;
    text-align: center;
  }
  .concept {
    padding: 15% 0 3%;
  }
  .concept .h3_ttl {
    font-size: 1.8rem;
    margin-bottom: 2rem;
    font-weight: 600;
    text-align: center;
    position: relative;
    font-family: "Hiragino Mincho ProN", "Yu Mincho", "serif";
    padding: 2rem 0;
  }
  .concept .h3_ttl span {
    font-size: 3rem;
    display: inline;
    color: #333333;
  }
  .concept .h3_ttl::before {
    content: "";
    background: url("images/miru.png") no-repeat center;
    position: absolute;
    left: 4rem;
    top: -3rem;
    width: 139px;
    height: 80px;
    background-size: 60%;
  }
  .concept .h3_ttl::after {
    content: "";
    background: url("images/icon_miru.png") no-repeat center;
    position: absolute;
    left: 50%;
    top: -5rem;
    width: 90px;
    height: 90px;
    transform: translateX(-50%);
    background-size: 60%;
  }
  .miru_bg {
    background: url("images/miru_bg.png")no-repeat center;
    background-size: cover;
    padding-top: 2rem;
  }
  .mov_flex {
    display: flex;
    justify-content: space-between;
  }
  .txt {
    width: 100%;
    padding: 1%;
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 400;
  }
  .mov {
    width: 100%;
    padding: 1%;
    height: 300px;
  }
  .mov video {
    max-width: 100%;
    height: 100%;
    margin: 0 auto;
  }
  .mov_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3%;
    flex-direction: column;
  }
  .mov_txtbox {
    text-align: center;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .mov_txt_ttl {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 2rem;
    font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
  }
  .mov_txt_ttl span {
    display: block;
    
  }
  .mov_txt {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
  }
  .img {
    width: 100%;
    position: relative;
    margin-bottom: 0rem;
  }
  .batu {
    width: 10%;
    margin: 3rem auto;
    text-align: center
  }
  .reason {
    padding: 3% 0;
  }
  .reason .h3_ttl {
    font-size: 2.8rem;
    text-align: center;
    padding-bottom: 6%;
    
  }
  .reason .h3_ttl span {
    display: block;
    color: #E3CB00;
    font-size: 1.6rem
  }
  .ttlbg01::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url("images/ttlbg01.png") no-repeat center;
    width: 195px;
    height: 112px;
    background-size: 50%;
  }
  .reason_bg {
    background: url("images/reason_bg.jpg") no-repeat center;
    background-size: cover;
    padding: 6% 0 10%;
  }
  .reason .flex {
    display: flex;
    justify-content: space-evenly;
    align-items: stretch;
    flex-direction: column;
  }
  .reasonBox {
    width: 90%;
    background: #FFFFFF;
    box-shadow: 2px 4px 10px -3px #777777;
    position: relative;
    margin: 3rem auto;
  }
  .reason_txtarea {
    padding: 8rem 2rem 12rem;
  }
  .reasonttl {
    font-size: 2.4rem;
    font-weight: 600;
    padding: 3rem 0;
    text-align: center;
    position: relative;
  }
  .dog::after {
    content: "";
    position: absolute;
    top: -3.8rem;
    left: 50%;
    transform: translateX(-50%);
    background: url("images/dog_icon01.png")no-repeat center;
    width: 105px;
    height: 60px;
    background-size: 80%;
  }
  .cat::after {
    content: "";
    position: absolute;
    top: -4rem;
    left: 50%;
    transform: translateX(-50%);
    background: url("images/cat_icon01.png")no-repeat center;
    width: 80px;
    height: 68px;
    background-size: 80%;
  }
  .reasontxt {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .reason_btn {
    position: absolute;
    bottom: -5%;
    left: 50%;
    transform: translateX(-50%);
    padding: 4rem 3.8rem;
    background: #333;
    color: #FFFFFF;
    font-size: 1.8rem;
    text-align: center;
    border-radius: 50%;
    outline: 1px solid #FFFFFF;
    outline-offset: -6px;
  }
  .reason_btn:hover {
    opacity: 0.6;
  }
  .reason_flex {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 6rem;
    flex-direction: column;
  }
  .reason_flex::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url("images/reason_bg01.png") no-repeat center;
    width: 100%;
    height: calc(100% + 120px);
    z-index: -1;
    padding-bottom: 3rem;
  }
  .reason_flex02 {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 6rem;
    flex-direction: column !important;
  }
  .reason_flex02::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url("images/reason_bg02.png") no-repeat center;
    width: 100%;
    height: calc(100% + 120px);
    z-index: -1;
  }
  .reason_flex .medicalbtn, .reason_flex02 .medicalbtn {
    text-align: left;
  }
  .reason_flex .medicalbtn a, .reason_flex02 .medicalbtn a {
    padding: 2rem 14rem 2rem 2rem;
  }
  .reason_flex .img, .reason_flex02 .img {
    transform: translateY(-5%);
    width: 100%;
  }
  .reason_flex .txt, .reason_flex02 .txt {
    width: 100%;
    padding: 2rem;
  }
  .reason_ttl {
    font-size: 2rem;
    font-weight: 400;
    ;
    margin-bottom: 3rem;
    padding-left: 11rem;
    position: relative;
  }
  .reason_ttl::before {
    content: "";
    position: absolute;
    top: 10%;
    left: 0;
    background: url("images/dog_icon01.png")no-repeat;
    width: 105px;
    height: 60px;
  }
  .reason_ttl span {
    
    display: block;
  }
  .reason_ttl02 {
    font-size: 2rem;
    font-weight: 400;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", YuMincho, "serif";
    margin-bottom: 3rem;
    padding-left: 11rem;
    position: relative;
  }
  .reason_ttl02::before {
    content: "";
    position: absolute;
    top: -6%;
    left: 0;
    background: url("images/cat_icon01.png")no-repeat;
    width: 80px;
    height: 68px;
  }
  .reason_ttl02 span {
    
    display: block;
  }
  .reason_flex .txt p {
    font-size: 1.6rem;
    margin-bottom: 3rem;
  }
  .h3_ttl {
    font-size: 2.8rem;
    text-align: center;
    font-weight: 600;
    margin: 3rem 0 1rem;
    
  }
  .h3_ttl span {
    font-size: 1.6rem;
    color: #E3CB00;
    line-height: 1.6;
    display: block;
    
  }
  .medical .h3_ttl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    background: url("images/ttlbg02.png") no-repeat;
    width: 175px;
    height: 115px;
    transform: translateX(-24%);
    background-size: 50%;
  }
  .medical_container {
    width: 100%;
    margin: 0 auto;
  }
  .medical_content {
    padding: 3% 0;
  }
  .medical_flex {
    display: flex;
    justify-content: space-evenly;
    align-items: stretch;
    flex-direction: column-reverse !important;
  }
  .medical_flex .txt {
    background: url("images/black_bg.png");
    background-size: cover;
    padding: 6rem 3rem;
    color: #FFFFFF;
    width: 100%;
    position: relative;
  }
  .medical_flex .txt::before {
    content: "";
    position: absolute;
    width: 300px;
    height: 320px;
    background: url("images/str01.png")repeat left top / auto;
    left: 0;
    bottom: 0;
    z-index: 0;
  }
  .medical_ttl {
    font-size: 2rem;
    color: #FFFFFF;
    margin-bottom: 3rem;
    
  }
  .medical_ttl span {
    font-size: 1.6rem;
    color: #FFFFFF;
    display: block;
    
  }
  .medical .medicalbtn a {
    background: #333;
    border: 1px solid #FFFFFF;
    padding: 2rem 8rem 2rem 2rem;
  }
  .medical_content {
    padding: 5% 0 2%;
  }
  .flex .txt {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    width: 90%;
  }
  .flex .img {
    width: 90%;
  }
  .medical_content .flex {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
  }
  .medicalbtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 6rem 2rem 2rem;
    color: #FFFFFF;
    background: #E3CB00;
    position: relative;
  }
  .medicalbtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/Icon-dropright.png") no-repeat center;
    width: 29px;
    height: 29px;
    background-size: 50%;
  }
  .medicalbtn {
    margin-top: 3rem;
    text-align: center;
  }
  .specialized {
    padding: 8% 0 3%;
  }
  .specialized .h3_ttl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-25%);
    background: url("images/ttlbg03.png")no-repeat;
    width: 200px;
    height: 96px;
    background-size: 50%;
  }
  .sub_ttl {
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 6rem;
    border-bottom: 1px solid #E3CB00;
    padding: 1rem;
    
  }
  .center p {
    font-size: 1.6rem;
    font-weight: 400;
    text-align: left;
    line-height: 1.6;
    margin-bottom: 5rem;
    padding: 0 2rem;
  }
  .fl3 {
    width: 100%;
    position: relative;
  }
  .fl3 img {
    height: 100%;
    object-fit: cover;
  }
	.fl3_s {
    width: 100%;
    position: relative;
        margin-bottom: 2rem;
  }
  .fl3_s img {
    height: 100%;
    object-fit: cover;
  }
    .op_flex
    {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: center;
        flex-direction: column;
    }
  .fl2 {
    width: 100%;
    position: relative;
    height: 320px;
  }
  .fl2 img {
    height: 100%;
    object-fit: cover;
  }
  .bnr_txt {
    position: absolute;
    top: 40%;
    left: 50%;
    box-sizing: border-box;
    font-size: 2.8rem;
    text-align: center;
    color: #FFFFFF;
    font-weight: 600;
    ;
    transform: translate(-50%, -50%);
    white-space: nowrap;
  }
  .bnr_txt::before {
    content: "";
    background: url("images/arrow02.png")no-repeat center;
    width: 115px;
    height: 22px;
    bottom: -8rem;
    left: 50%;
    position: absolute;
    transform: translate(-50%, 0);
  }
  .bnr_txt span {
    display: block;
    font-weight: 400;
    font-size: 1.6rem;
    
  }
  .bnr_txt span {
    display: block;
    font-weight: 400;
    position: relative;
  }
	.bnr_txt02::before {
  content: "";
  background: url("images/arrow02.png")no-repeat center;
  width: 115px;
  height: 22px;
  bottom: -4rem;
  left: 50%;
  position: absolute;
  transform: translate(-50%, 0);
}
.bnr_txt02 {
    position: absolute;
    top: 40%;
    left: 50%;
    box-sizing: border-box;
    font-size: 2rem;
    text-align: center;
    color: #FFFFFF;
    font-weight: 600;
    ;
    transform: translate(-50%, -50%);
  }
  .bnr_txt02 span {
    display: block;
    font-weight: 400;
    font-size: 1.6rem;
    
  }
  .service {
    padding: 3%;
  }
  .service_box {
    position: relative;
    text-align: center;
    max-width: 1400px;
    width: 100%;
    margin: 3rem auto;
  }
  .service_txt {
    position: absolute;
    right: 0%;
    top: 50%;
    transform: translateY(-50%);
  }
  .service_ttl {
    font-size: 2.4rem;
    font-weight: 600;
    color: #E3CB00;
    text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff;
    margin-bottom: 1rem;
  }
  .service_box p {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.8;
  }
  .service .medicalbtn a {
    background: #333;
    border: 1px solid #FFFFFF;
    padding: 2rem 12rem 2rem 4rem;
  }
  .service .fl3 {
    padding: 1rem 0;
  }
  .recruit .container {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
  }
  .recruit_box {
    margin: 3rem auto;
  }
  .flex_recruit {
    background: url("images/recruit_bg.png")no-repeat center;
    padding: 8rem 2rem;
    margin: 3rem auto;
    flex-direction: column;
    background-size: cover;
  }
  .r_ttl_box {
    font-size: 2.8rem;
    font-weight: 600;
    text-align: center;
    color: #FFFFFF;
    width: 100%;
    ;
    border-bottom: 1px solid #FFFFFF;
    margin-bottom: 3rem;
      padding-bottom: 1rem;
  }
  .r_ttl_box span {
    
    font-size: 1.6rem;
    display: block;
  }
  .r_txt_box {
    width: 100%;
    color: #FFFFFF;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
  .r_txt_ttl {
    font-size: 2.4rem;
    margin-bottom: 1rem;
    ;
  }
  .r_txt_box p {
    line-height: 1.6;
  }
  .r_btn_box {
    width: 100%;
    margin-top: 5rem;
  }
  .r_btn_box .medicalbtn {
    margin-top: 0rem;
    text-align: center;
  }
  .recruit_box .medicalbtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 8rem 2rem 4rem;
    color: #333333;
    background: #FFFFFF;
    position: relative;
    border: 1px solid #333333;
  }
  .recruit_box .medicalbtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/icon_arrow_bl.png") no-repeat center;
    width: 9px;
    height: 17px;
    background-size: 80%;
  }
  .deco {
    position: absolute;
    top: 8rem;
    left: 0;
    z-index: -1;
    width: 80%;
  }
  .recruit .flex {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
  }
  .recruit .flex .img {
    width: 90%;
    padding: 2rem;
    transform: translateY(0);
    margin: 0 auto;
  }
  .recruit .txt {
    width: 90%;
    padding: 2rem;
    margin: 0 auto;
  }
  .recruit .txt p {
    margin-bottom: 5rem;
  }
  .txt .flex {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: nowrap;
    text-align: center;
  }
  .recruit_ttl {
    font-size: 2rem;
    margin-bottom: 3rem;
    font-weight: 600;
  }
  .rec_btn {
    padding: 3rem 2.6rem;
    background: #333;
    color: #FFFFFF;
    font-size: 1.6rem;
    text-align: center;
    border-radius: 50%;
    outline: 1px solid #FFFFFF;
    outline-width: 1px;
    outline-offset: -6px;
    margin-right: 3rem;
    white-space: nowrap;
    display: block;
  }
  .rec_btn:hover {
    opacity: 0.6;
  }
  .rec_icon img {
    width: 80%;
  }
  .gallery {
    padding: 5%;
    background: url("images/gallery_bg.png") no-repeat;
    background-size: cover;
  }
  .gallery .h3_ttl::before {
    content: "";
    background: url("images/ttlbg05.png")no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    width: 144px;
    height: 58px;
    transform: translateX(-50%);
  }
  .slider img {
    width: 100%; /*スライダー内の画像を横幅100%に*/
    height: auto;
  }
  /*slickのJSで書かれるタグ内、スライド左右の余白調整*/
  .slider .slick-slide {
    margin: 0 10px; /*スライド左右の余白調整*/
  }
  .slick-track {
    display: flex !important;
    align-items: center;
  }
  .gmap {
    width: 100%;
    height: auto;
  }
  #footer {
    padding: 5% 0 0;
  }
  #footer .flex {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-direction: column;
  }
  #footer .flex .img {
    width: 80%;
    padding: 0 1rem;
    transform: translateY(0);
    margin: 2rem auto
  }
  #footer .infotxt {
    width: 100%;
    margin: 0 auto;
  }
  .copy {
    text-align: center;
    padding: 1rem 0;
    background: #E3CB00;
    color: #FFFFFF;
    margin-top: 2rem;
  }
  .close_btn {
    position: absolute;
    top: -15px;
    right: 0;
    z-index: 99;
  }
  .sp_btnarea {
    display: flex;
    justify-content: space-around;
    align-items: center;
  }
  .hyou {
    background: #E3CB00;
    margin: 0 1rem;
    text-align: center;
    width: 49%
  }
  .hyou a {
    color: #FFFFFF;
    width: 100%;
    padding: 1rem 0 1rem 3rem;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 400;
    display: block;
    position: relative;
  }
  .hyou a::after {
    content: "";
    background: url("images/hyou_icon.png") no-repeat center;
    position: absolute;
    top: 50%;
    left: 1rem;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
  }
  .sp_tel {
    margin: 0 1rem;
    width: 49%;
    position: relative;
  }
  .sp_tel a::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 1rem;
    width: 12px;
    height: 12px;
    background: url("images/icon-phone.png") no-repeat center;
    transform: translateY(-50%);
  }
  .sp_tel a {
    padding: 1rem;
    background: #E3CB00;
    color: #FFFFFF;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 400;
    width: 100%;
    display: block;
  }
  /*----------
    
    下層ページ
    
    ----------*/
  .h2_ttl {
    background: url("images/h2_bg.png")no-repeat center;
    background-size: cover;
    padding: 10px 0;
    margin-bottom: 3rem;
  }
    .h2_ttl02 {
    background: url("images/h2_bg02.png")no-repeat center;
    background-size: cover;
    padding: 10px 0;
    margin-bottom: 3rem;
  }
    .h2_ttl02 span {
    font-size: 1.6rem;
    display: block;
    color: #E3CB00; 
  }
    .page_title {
    padding-top: 100px;
}
  .h2_txt {
    font-size: 3.2rem;
    text-align: center;
    color: #FFFFFF;
    padding: 6rem 0;
    font-weight: 600;
    ;
  }
  .h2_ttl span {
    font-size: 1.6rem;
    display: block;
    color: #E3CB00; 
  }
  .u_container {
    max-width: calc(1200px + 6%);
    margin: 0 auto;
    padding: 3%;
  }
  .unh3_ttl {
    font-size: 2.4rem;
    font-weight: 600;
    margin-bottom: 3rem;
    text-align: center;
    padding: 2rem 0;
    position: relative;
    ;
  }
  .unh3_ttl span {
    font-size: 1.4rem;
    text-shadow: #333 1px 1px 0px, #333 -1px 1px 0px, #333 1px -1px 0px, #333 -1px -1px 0px;
    color: #fff;
    letter-spacing: 0.2em;
    display: block;
    text-align: center;
    font-family: 'Courgette', cursive , Cinzel, "serif";
  }
  .unh3_ttl::after {
    content: "";
    height: 3px;
    width: 40%;
    background: #E3CB00;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .ph_sub_ttl {
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    padding-bottom: 3rem;
    line-height: 1.8em;
    ;
  }
  .h4_ttl {
    font-size: 2rem;
    font-weight: 600;
    margin: 3rem 0;
    position: relative;
    padding: 0 0 1rem 4rem;
    border-bottom: 1px solid #CCCCCC;
    ;
  }
  .h4_ttl::after {
    content: "";
    position: absolute;
    top: 0.4rem;
    left: 0;
    height: 26px;
    width: 26px;
    background: url("images/h4_icon.png") no-repeat center;
    background-size: 80%;
  }
  .h5_ttl {
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 3rem;
    padding-left: 3rem;
    position: relative;
    ;
  }
  .h5_ttl::after {
    content: "";
    background: url("images/icon-check.png") no-repeat center;
    position: absolute;
    top: 1rem;
    left: 0;
    width: 12px;
    height: 12px;
  }
  .fi_txt {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    width: 100%;
    padding: 1rem;
  }
  .fi_img {
    width: 100%;
    padding: 1rem;
    text-align: center;
  }
  .rev {
    flex-direction: row-reverse;
  }
  .medflex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 5rem 0;
  }
  .med_icon {
    width: 30%;
    margin-bottom: 3rem;
  }
  .t_box {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
  .medical_bnr {
    width: 100%;
    position: relative;
    margin-bottom: 3rem;
  }
  .medical_bnr img {
    width: 100%;
  }
  .medical_txt_box {
    background-color: rgba(0, 0, 0, 0.60);
    max-width: 80%;
    width: 100%;
    border: 1px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    color: #FFFFFF;
    padding: 15% 5%;
  }
  .medical_department {
    font-size: 2.8rem;
    margin-bottom: 1rem;
    font-weight: 600;
    text-align: center;
    
  }
  .medical_department span {
    display: block;
    font-size: 1.4rem;
    font-family: Cinzel, "serif"
  }
  .medical_ex {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .more_btn {
    padding: 2rem;
    background-color: rgba(255, 255, 255, 0.60);
    border: 1px solid #333333;
    font-size: 1.6rem;
    text-align: center;
    margin-top: 3rem;
  }
  .t20 {
    font-size: 1.6rem;
    margin-bottom: 1rem;
    line-height: 1.6;
  }
  .t18 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    line-height: 1.6;
  }
  .t16 {
    font-size: 1.6rem;
    margin-bottom: 1rem;
    line-height: 1.6;
  }
  .t14 {
    font-size: 1.4rem;
    margin-bottom: 1rem;
    line-height: 1.6;
  }
  /*アコーディオン全体*/
  .accordion-area {
    list-style: none;
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
  }
  .accordion-area li {
    margin: 10px 0;
  }
  .accordion-area section {
    border: 1px solid #ccc;
  }
  /*アコーディオンタイトル*/
  .title {
    position: relative; /*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size: 1.6rem;
    font-weight: normal;
    padding: 2%;
    transition: all .5s ease;
  }
  /*アイコンの＋と×*/
  .title::before, .title::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 2px;
    background-color: #333;
  }
  .title::before {
    top: 48%;
    right: 15px;
    transform: rotate(0deg);
  }
  .title::after {
    top: 48%;
    right: 15px;
    transform: rotate(90deg);
  }
  /*　closeというクラスがついたら形状変化　*/
  .title.close::before {
    transform: rotate(45deg);
  }
  .title.close::after {
    transform: rotate(-45deg);
  }
  /*アコーディオンで現れるエリア*/
  .box {
    display: none; /*はじめは非表示*/
    background: #f3f3f3;
    margin: 0 3% 3% 3%;
    padding: 2%;
    font-size: 1.6rem;
  }
  .stepbar {
    position: relative;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .stepbar li {
    position: relative;
    list-style: none;
    text-align: center;
    color: #333333;
    font-size: 2rem;
    font-weight: 600;
  }
  .stepbar li p {
    font-weight: 400;
    margin: 10px 40px;
    font-size: 1.6rem
  }
  .stepbar li:before {
    display: block;
    width: 18px;
    height: 18px;
    margin: 0.5em auto;
    content: "";
    text-align: center;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #000;
  }
  .stepbar li:after {
    position: absolute;
    z-index: -1;
    top: 1em;
    left: -50%;
    width: 100%;
    height: 1px;
    content: "";
    background-color: #000;
  }
  .stepbar li:first-child:after {
    content: none;
  }
  @media screen and (max-width: 960px) {
    .stepbar li p {
      margin: 10px 15px;
      font-size: 1.4rem;
    }
  }
  nav ul ul {
    display: block;
  }
  /*下の階層のulや矢印の基点にするためliにrelativeを指定*/
  nav ul li {
    position: relative;
  }
  /*ナビゲーションのリンク設定*/
  nav ul li a {
    display: block;
    text-decoration: none;
    color: #333333;
    transition: all .3s;
  }
  nav ul li li a {
    padding: 1rem;
  }
  nav ul li a:hover {}
  #sp_headerNav ul ul {
    display: block;
  }
  #sp_headerNav ul ul li::after {
    content: "";
    display: none;
  }
  #sp_headerNav ul li li {
    padding: 1rem;
    font-size: 1.6rem;
  }
  /*== 2・3階層目の共通設定 */
  /*下の階層を持っているulの指定*/
  nav li.has-child ul {
    /*絶対配置で位置を指定*/
    position: absolute;
    left: 0;
    top: 80px;
    z-index: 4;
    /*形状を指定*/
    background: rgba(255, 255, 255, 0.80);
    width: 240px;
    /*はじめは非表示*/
    visibility: hidden;
    opacity: 0;
    /*アニメーション設定*/
    transition: all .3s;
  }
  /*hoverしたら表示*/
  nav li.has-child:hover > ul, nav li.has-child ul li:hover > ul, nav li.has-child:active > ul, nav li.has-child ul li:active > ul {
    visibility: visible;
    opacity: 1;
  }
  /*ナビゲーションaタグの形状*/
  nav li.has-child ul li a {
    color: #333333;
    border-bottom: solid 1px rgba(0, 0, 0, 0.6);
  }
  nav li.has-child ul li:last-child a {
    border-bottom: none;
  }
  nav li.has-child ul li a:hover, nav li.has-child ul li a:active {
    background: #FFE100;
  }
  /*==3階層目*/
  /*3階層目の位置*/
  nav li.has-child ul ul {
    top: 0;
    left: 182px;
    background: #66ADF5;
  }
  nav li.has-child ul ul li a:hover, nav li.has-child ul ul li a:active {
    background: #448ED3;
  }
  /*==768px以下の形状*/
  @media screen and (max-width:768px) {
    nav {
      padding: 0;
    }
    nav ul {
      display: block;
    }
    nav li.has-child ul, nav li.has-child ul ul {
      position: relative;
      left: 0;
      top: 0;
      width: 100%;
      visibility: visible; /*JSで制御するため一旦表示*/
      opacity: 1; /*JSで制御するため一旦表示*/
      display: none; /*JSのslidetoggleで表示させるため非表示に*/
      transition: none; /*JSで制御するためCSSのアニメーションを切る*/
    }
    nav ul li a {
      border-bottom: 1px solid #ccc;
    }
    /*矢印の位置と向き*/
    nav ul li.has-child::before {
      left: 20px;
    }
    nav ul ul li.has-child::before {
      transform: rotate(135deg);
      left: 20px;
    }
    nav ul li.has-child.active::before {
      transform: rotate(-45deg);
    }
  }
  .res_flex {
    display: flex;
    justify-content: space-around;
    padding-bottom: 3rem;
    flex-wrap: wrap;
  }
  .res_flex .txt {
    width: 100%;
    padding: 1rem;
  }
  .res_flex .txt p {
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 2rem;
  }
  .res_flex .img {
    width: 100%;
    padding: 1rem;
  }
  .fo18 {
    font-size: 1.8rem;
  }
  .fo-red {
    color: #990002;
  }
  .bold {
    font-weight: 600;
  }
  .bgg {
    width: 90%;
    padding: 3rem;
    background: #DCDCDC;
    font-size: 1.6rem;
    margin: 0 auto;
  }
  .disc ul {
    padding-bottom: 3rem;
  }
  .disc li {
    list-style: outside disc;
    line-height: 1.8;
    margin-left: 3rem;
  }
  .res2_flex {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  .res2_flex .txt {
    width: 100%;
    padding: 1rem;
  }
  .res2_flex .img {
    width: 100%;
    padding: 1rem;
  }
  .res2_flex .txt p {
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 2rem;
  }
  .clinicname {
    font-size: 1.8rem;
    font-weight: 400;
    margin-bottom: 1rem;
  }
  .name {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #CCCCCC;
  }
  .name span {
    font-size: 1.4rem;
    font-weight: 400;
    color: #E3CB00;
    margin-left: 3rem;
  }
  .doc_flex {
    display: flex;
    justify-content: space-around;
    margin: 3rem 0;
    flex-wrap: wrap;
  }
  .ali_center {
    align-items: center;
  }
  .doc_flex .txt {
    width: 100%;
    padding: 1rem;
  }
  .doc_flex .img {
    width: 100%;
    padding: 1rem;
  }
  .car_flex {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    flex-wrap: wrap;
    margin-bottom: 3rem;
  }
  .career {
    width: 100%;
    padding: 1rem;
    background: #EEEEEE;
    margin-bottom: 3rem;
  }
  .career_box {
    background: #EEEEEE;
    padding: 3rem 2rem;
    font-size: 1.6rem;
  }
  .car_ttl {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid #CCCCCC;
  }
  .career_box ul li {
    display: flex;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px dashed #333333;
  }
  .career_box ul li dt {
    width: 32%;
  }
  .career_box .disc li {
    list-style: disc;
    margin-left: 1rem;
    line-height: 1;
  }
  .between {
    justify-content: space-between;
  }
  .staff_flex {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .staff_flex .img {
    width: 100%;
    padding: 2rem;
  }
  .flexbase {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2rem;
    flex-wrap: wrap;
  }
  .flexbase .img {
    width: 100%;
    padding: 1rem;
  }
  .flexbase .txt {
    width: 100%;
    padding: 1rem;
  }
  .txt .h4_ttl {
    margin-top: 0;
  }
  .flow > li {
    position: relative;
  }
  .flow > li:not(:last-child) {
    margin-bottom: 40px;
  }
  .flow > li:not(:first-child)::before {
    content: "";
    height: 60px;
    display: block;
    border-left: 4px dotted #e5e5e5;
    position: absolute;
    top: -40px;
    left: -webkit-calc(10% + 30px - 2px);
    left: calc(10% + 30px - 2px);
    z-index: 10;
  }
  .flow > li dl {
    width: 100%;
    padding: 5rem 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 2px solid #E3CB00;
    border-radius: 10px;
    position: relative;
  }
  .flow > li:not(:last-child) dl::before, .flow > li:not(:last-child) dl::after {
    content: "";
    border: solid transparent;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .flow > li:not(:last-child) dl::before {
    border-width: 22px;
    border-top-color: #E3CB00;
  }
  .flow > li:not(:last-child) dl::after {
    border-width: 20px;
    border-top-color: #fff;
  }
  .flow > li dl dt {
    font-size: 20px;
    font-weight: 600;
    color: #E3CB00;
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    margin-right: 2vw;
    text-align: center;
  }
  .flow > li dl dt .icon {
    font-size: 12px;
    color: #fff;
    background: #E3CB00;
    background: -moz-linear-gradient(left, rgba(51, 51, 51, 1) 0%, rgba(0, 0, 0, 1) 100%);
    background: -webkit-linear-gradient(left, rgba(51, 51, 51, 1) 0%, rgba(51, 51, 51, 1) 100%);
    background: linear-gradient(to right, rgba(51, 51, 51, 1) 0%, rgba(0, 0, 0, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#000000', GradientType=1);
    padding: 5px 10px;
    margin-bottom: 10px;
    display: block;
    border-radius: 20px;
    position: relative;
    z-index: 100;
  }
  .flow dd {
    font-size: 1.6rem;
  }
  .common_tbl2 {
    width: 100%;
    border: solid 1px #dddddd;
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 3rem;
  }
  .tbl_w25 th {
    width: 25%;
  }
  .common_tbl2 th {
    text-align: left;
    vertical-align: middle;
    padding: 2rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    background-color: #f8f8f8;
  }
  .common_tbl2 td {
    text-align: left;
    vertical-align: middle;
    padding: 2rem;
    border-bottom: solid 1px #dddddd;
  }
	.cale .common_tbl2 td {
    text-align: left;
    vertical-align: middle;
    padding: 1rem;
    border-bottom: solid 1px #fff;
  }
	.cale .common_tbl2 th {
    text-align: left;
    vertical-align: middle;
    padding: 2rem;
		border:none;
}
	
  .cat_flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
    flex-wrap: wrap;
  }
  .cat_box {
    padding: 2rem;
    width: 100%;
    margin: 1rem;
    border: 1px solid #333333;
    box-shadow: 8px 8px 25px -10px #777777;
  }
  .num {
    font-size: 1.8rem;
    font-weight: 400;
    color: #E3CB00;
    font-family: 'Raleway', sans-serif;
    margin-bottom: 2rem;
    text-align: center;
  }
  .cat_box_ttl {
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 2rem;
  }
  .h2_mv {
    width: 100vw;
    height: 100%;
    margin-bottom: 3rem;
  }
  .general_img {
    text-align: center;
    margin: 3rem;
  }
  .ge_stepbar {
    margin: 0 auto;
    width: 80%;
  }
  .ge_stepbar .stepbarwrap {
    margin: 4em 0;
    position: relative;
  }
  .ge_stepbar .stepbarwrap .steptitle {
    display: inline-flex;
    align-items: center;
    width: 100%;
  }
  .ge_stepbar .stepbarwrap .steptitle .stepcircle {
    display: inline-block;
    width: 9em;
    height: 8em;
    content: "";
    border-radius: 50%;
    color: #E3CB00;
    text-align: center;
    border: 1px solid #E3CB00
  }
  .ge_stepbar .stepbarwrap .steptitle .stepcircle span {
    display: inline-block;
    line-height: 1.2em;
    font-size: 1.6rem;
    font-weight: bold;
    position: relative;
    top: 1.8em;
    font-family: 'Raleway', sans-serif;
  }
  .ge_stepbar .stepbarwrap .steptitle .ge_title {
    margin: 0.5em;
    font-weight: bold;
    font-size: 2rem;
  }
  .ge_stepbar .stepbarwrap .steptxt {
    padding-left: 2.5em;
    width: 80%;
  }
  .ge_stepbar .stepbarwrap .steptxt .txt {
    font-size: 1.6rem;
  }
  .ge_stepbar .stepbarwrap .stepline {
    width: 1px;
    height: calc(100% - 7em);
    background-color: #E3CB00;
    position: absolute;
    top: 11em;
    left: 4em;
    z-index: -1;
  }
  .stepbarwrap:last-of-type .stepline:last-of-type {
    display: none;
  }
  @media screen and (max-width: 960px) {
    .ge_stepbar {
      width: 90%;
    }
  }
  .bg_box {
    background: #EEEEEE;
    padding: 3rem;
    margin-bottom: 2rem;
  }
  .bg_box .ph_sub_ttl {
    border-bottom: 1px solid #CCCCCC;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
  }
  .p11_01_tbl2 {
    width: 100%;
    border: solid 1px #dddddd;
  }
  .p11_01_tbl2 .ttl {
    vertical-align: middle;
    padding: 1rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    background-color: #efefef;
    text-align: center;
    font-size: 1.6rem;
  }
  .p11_01_tbl2 td {
    text-align: center;
    vertical-align: middle;
    padding: 1rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    width: 30%;
    font-size: 1.6rem;
  }
  .p11_01_tbl2 th {
    vertical-align: middle;
    padding: 1rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    background-color: #f8f8f8;
    text-align: center;
    font-size: 1.6rem;
  }
  .clinic_flex {
    display: flex;
    flex-wrap: wrap;
  }
  .clinic_flex .img {
    width: 100%;
    padding: 1rem;
    margin-bottom: 2rem;
  }
  .t_center {
    text-align: center;
  }
	.news_flex {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 1200px;
}
	.info_flex
	{
		display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
		width:1300px;
	}
	.info_flex::after {
    content: "横にスライドできます";
    color: #9a0000;
    position: absolute;
    top: 1rem;
    left: 1rem;
    font-size: 1.4rem;
}
	.info_flex .news_wrapper {
margin:1rem;
		width:21%;
}
	.imgbox {
    width: 100%;
    margin-bottom: 3rem;
}
}
/*------------tablet---------------*/
@media only screen and (min-width: 768px) and (max-width: 845px) {
  .sp-only {
    display: none !important;
  }
  .pc-only {
    display: none !important;
  }
  #header {
    width: 100%;
    position: fixed;
    height: 140px;
    z-index: 999;
    background: rgba(255, 255, 255, 0.80);
  }
  .header {
    background: rgb(255 255 255 / .6);
    position: fixed;
    width: 100%;
    height: 52px;
    z-index: 999;
  }
  #header .inner {
    padding: 2rem 3%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: calc(1600px + 6%);
    width: 100%;
  }
  #headerNav ul {
    display: flex;
    padding: 0 1rem;
    align-items: center;
    flex-wrap: nowrap;
  }
  #headerNav ul li {
    padding: 2.4rem 1rem;
    position: relative;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    white-space: nowrap;
  }
  #headerNav ul li::after {
    content: "";
    background: url("images/nav_icon.png") no-repeat center;
    position: absolute;
    top: 0;
    left: 50%;
    background-size: cover;
    width: 22px;
    height: 20px;
    transform: translateX(-50%);
  }
  #headerNav .en {
    font-size: 1.6rem;
    font-weight: 600;
    color: #E3CB00;
    display: block;
    margin-top: 0.4rem;
  }
  .logo {
    width: 20%;
  }
  .red {
    color: #AC0000;
  }
  .h_tel p {
    text-align: center;
    font-size: 1.2rem;
    padding: 1rem 0;
  }
  .mv {
    position: relative;
    max-width: 1500px;
    width: 100%;
    padding-top: 52px;
    margin: 0 auto;
  }
  .catch {
    font-size: 4rem;
    font-weight: 600;
    color: #FFFFFF;
    position: absolute;
    right: 50%;
    top: 50%;
    letter-spacing: 0.6rem;
    line-height: 1.4;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
    font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
    transform: translate(50%, -50%);
  }
    .catchcopy
    {
        padding: 2rem 0;
        text-align: center;
    }
    .catchcopy p
    {
        font-size: 2rem;
        font-weight: 600;
    }
  .mv_icon {
    text-align: center;
    margin-bottom: 1rem;
  }
  .container {
    max-width: calc(845px + 6%);
    margin: 0 auto;
    padding: 3rem 3%;
  }
  .news {
    margin-bottom: 3%;
  }
  .news .container {
    max-width: calc(900px + 6%);
    margin: 0 auto;
    padding: 3rem 3%;
  }
  .toggle {
    display: none;
  }
  .Label { /*タイトル*/
    display: block;
    font-size: 2rem;
    font-weight: 600;
    padding: 2rem;
    border: 1px solid #333333;
    text-align: center;
  }
  .Label::before { /*タイトル横の矢印*/
    content: "";
    width: 10px;
    height: 10px;
    border-top: 3px solid #E3CB00;
    border-right: 3px solid #E3CB00;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 6px);
    right: 20px;
    transform: rotate(135deg);
  }
  .Label, .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
  }
  .content { /*本文*/
    height: 0;
    margin-bottom: 10px;
    padding: 0 20px;
    overflow: hidden;
    font-size: 1.6rem;
    line-height: 1.6;
    text-align: center;
  }
  .content p {
    margin-bottom: 2rem;
  }
  .toggle:checked + .Label + .content { /*開閉時*/
    height: auto;
    padding: 20px;
    transition: all .3s;
    border: 1px solid #333333;
  }
  .toggle:checked + .Label::before {
    transform: rotate(-45deg) !important;
  }
  .h_tel {
    position: relative;
    display: flex;
    font-family: Allura, sans-serif;
    font-size: 3.8rem;
    width: 340px;
    align-items: center;
    text-align: center;
  }
  .f24 {
    font-size: 2.4rem;
    margin-top: 2rem;
  }
  .lineinfo {
    background: url("images/line_bg.png") no-repeat center;
    background-size: cover;
    padding: 3%;
    position: relative;
    z-index: 1;
  }
  .linearea {
    margin-bottom: 3rem;
    text-align: center;
  }
  .infoarea .biz-hour {
    color: #fff;
  }
  .infoarea .biz-hour th, .infoarea .biz-hour td {
    border-bottom: 1px solid #FFFFFF;
  }
  .infoarea .biz-hour th {
    border-top: 1px solid #FFFFFF;
  }
	.info_flex
	{
		display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;	
	}
  .ttl {
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: 3rem;
    
  }
  .lineinfo p {
    font-size: 1.8rem;
    line-height: 1.6;
  }
  .infobtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 8rem 2rem 2rem;
    color: #FFFFFF;
    background: #E3CB00;
    position: relative;
  }
  .infobtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/Icon-dropright.png") no-repeat center;
    width: 29px;
    height: 30px;
    background-size: 60%;
  }
  .infobtn {
    margin: 5rem 0;
  }
  .infoimg {
    width: 100%;
    padding: 1rem;
    margin: 0 auto;
    color: #FFFFFF;
  }
  .infotxt {
    width: 100%;
    padding: 1rem;
    margin: 0 auto;
    color: #FFFFFF;
  }
  .logotel {
    display: flex;
    margin-bottom: 3rem;
  }
	.address
	{
		font-size:1.6rem;
		margin-bottom:3rem;
		text-align:center;
	}
  .infologo {
    margin-right: 6rem;
  }
  .infotel {
    color: #FFFFFF;
  }
  .infoarea {
    display: flex;
    justify-content: space-between;
    padding: 5rem 0;
    flex-direction: column;
  }
  .biz-hour {
    width: 100%;
    /* overflow-x: scroll;で、
  スマホ画面幅に表が入りきらない場合は
  横スクロールしてくれます */
    overflow-x: scroll;
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
  .biz-hour th {
    /* １番上の線 */
    /* #A28C63っていうのが色の名前なので、ここをお好みで */
    border-top: 1px solid #A28C63;
  }
  .biz-hour th, .biz-hour td {
    padding: 2rem;
    text-align: center;
    /* ２番目以降の線 */
    /* 色はお好みで */
    border-bottom: 1px solid #A28C63;
    vertical-align: middle;
  }
  /* スマホ時に横スクロールしないよう、横の余白（padding）を20px→10pxに */
  @media screen and (max-width: 559px) {
    .biz-hour th, .biz-hour td {
      padding: 1rem;
    }
  }
  .biz-hour th {
    font-weight: normal;
  }
  .biz-hour .yel {
    color: #E3CB00;
  }
  /* 「土」の文字色 */
  .biz-hour th.sat {
    color: #3db2da;
  }
  /* 「日」の文字色 */
  .biz-hour th.sun {
    color: #e66a6a;
  }
  .info_bnr {
    padding: 2rem 0;
  }
  .blog {
    background: url("images/blog_bg.png")no-repeat center;
    background-size: cover;
    margin-top: -6rem;
    padding: 8% 3%;
	  position:relative;
  }
  .h3_bttl {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 3rem;
    padding-left: 10rem;
    position: relative;
  }
  .h3_bttl {
    font-size: 3.8rem;
    font-weight: 600;
    margin-bottom: 3rem;
    padding-left: 10rem;
    position: relative;
  }
  .h3_bttl span {
    margin-left: 3rem;
    color: #E3CB00;
    font-size: 1.6rem;
    font-weight: 600;
    
  }
  .h3_bttl::after {
    content: "";
    background: url("images/bttl_icon.png") no-repeat center;
    background-size: 80%;
    position: absolute;
    top: 34%;
    left: 20rem;
    width: 62px;
    height: 50px;
  }
  .blog_ttl_area {
    padding: 5rem 0;
  }
  .blog_ttl_area .h3_bttl {
    padding: 5rem 0 5rem 26rem;
    position: relative;
    font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
  }
  .blog_ttl_area .h3_bttl::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 1px;
    background: #000;
    left: 0;
    top: 50%;
    margin: auto;
  }
  .blog::before {
    content: "";
    background: url("images/news.png") no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 573px;
    height: 154px;
  }
  .blog_bgbox {
    background: #FFFFFF;
    padding: 8rem 8rem 5rem;
    width: 700px;
  }
  .news_wrapper {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
	  width:100%;
  }
  .news_imgbox {
    width: 40%;
  }
  .news_txtbox {
    display: flex;
    flex-direction: column;
    width: 50%;
  }
  .blog_date {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
  .blog_ttl {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 2rem;
  }
  .blog_more {
    font-size: 1.6rem;
    font-weight: 600;
    color: #E3CB00;
  }
  .u_more {
    text-align: right;
    
    font-size: 2rem;
    padding: 3rem 14rem 3rem 3rem;
    position: relative;
  }
  .u_more a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    background: url("images/more_arrow.png") no-repeat center;
    width: 115px;
    height: 18px;
    transform: translateY(-50%);
  }
  .flex {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
  }
  .blogbox {
    margin: 1rem;
    width: 22%;
    box-shadow: 2px 4px 10px -3px #777777;
  }
  .blogdate {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
  .blogttl {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 2rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 1rem;
  }
  .more {
    font-size: 1.6rem;
    font-weight: 600;
    color: #E3CB00;
    padding: 2rem 0;
  }
  .blogtxtbox {
    padding: 2rem;
    background: #FFFFFF;
  }
  .blogbtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 6rem 2rem 8rem;
    color: #FFFFFF;
    background: #E3CB00;
    position: relative;
  }
  .blogbtn a::before {
    content: "";
    position: absolute;
    left: 6%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/blog_btn_icon.png") no-repeat center;
    width: 55px;
    height: 62px;
    background-size: 60%;
  }
  .blogbtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/Icon-dropright.png") no-repeat center;
    width: 29px;
    height: 29px;
    background-size: 50%;
  }
  .blogbtn {
    margin-top: 10rem;
    text-align: center;
  }
  .concept {
    padding: 5% 0 3%;
  }
  .concept .h3_ttl {
    font-size: 2.8rem;
    margin-bottom: 4rem;
    font-weight: 600;
    text-align: center;
    position: relative;
  }
  .concept .h3_ttl span {
    font-size: 6rem;
    display: inline;
    color: #333333;
     !important;
  }
  .concept .h3_ttl::before {
    content: "";
    background: url("images/miru.png") no-repeat center;
    position: absolute;
    left: 10%;
    top: -35%;
    width: 139px;
    height: 80px;
  }
  .concept .h3_ttl::after {
    content: "";
    background: url("images/icon_miru.png") no-repeat center;
    position: absolute;
    left: 50%;
    top: -50%;
    width: 90px;
    height: 90px;
    transform: translateX(-50%);
  }
  .mov_flex {
    display: flex;
    justify-content: space-between;
  }
  .mov_txtbox {
    text-align: center;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .mov_txt_ttl {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 1rem;
    font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
  }
  .mov_txt_ttl span {
    display: block;
    
  }
  .mov_txt {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
  }
  .miru_bg {
    background: url("images/miru_bg.png")no-repeat center;
    background-size: auto;
    background-size: cover;
    padding-top: 2rem;
  }
  .trf {
    transform: translateY(20%);
  }
  .txt {
    width: 50%;
    padding: 1%;
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 400;
  }
  .mov {
    width: 46%;
    padding: 1%;
    height: 300px;
  }
  .mov video {
    max-width: 100%;
    height: 100%;
    margin: 0 auto;
  }
  .mov_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3%;
  }
  .img {
    width: 32%;
    position: relative;
  }
  .batu {
    width: 2%;
  }
  .reason {
    padding: 3% 0;
  }
  .reason .h3_ttl {
    font-size: 3.4rem;
    text-align: center;
    padding-bottom: 3%;
  }
  .reason .h3_ttl span {
    display: block;
    color: #E3CB00;
    font-size: 1.6rem
  }
  .reason_bg {
    background: url("images/reason_bg.jpg") no-repeat center;
    background-size: cover;
    padding: 6% 0 10%;
  }
  .reason .flex {
    display: flex;
    justify-content: space-evenly;
    align-items: stretch;
  }
  .reasonBox {
    width: 45%;
    background: #FFFFFF;
    box-shadow: 2px 4px 10px -3px #777777;
    position: relative;
  }
  .reason_txtarea {
    padding: 8rem 2rem 12rem;
  }
  .reasonttl {
    font-size: 2.4rem;
    font-weight: 600;
    padding: 3rem 0;
    text-align: center;
    position: relative;
  }
  .reason_flex {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 6rem;
  }
  .reason_flex::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url("images/reason_bg01.png") no-repeat center;
    width: 100%;
    height: calc(100% - 60px);
    z-index: -1;
  }
  .reason_flex02 {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 6rem;
  }
  .reason_flex02::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url("images/reason_bg02.png") no-repeat center;
    width: 100%;
    height: calc(100% - 60px);
    z-index: -1;
  }
  .reason_flex .medicalbtn, .reason_flex02 .medicalbtn {
    text-align: left;
  }
  .reason_flex .medicalbtn a, .reason_flex02 .medicalbtn a {
    padding: 2rem 14rem 2rem 2rem;
  }
  .reason_flex .img, .reason_flex02 .img {
    transform: translateY(-5%);
    width: 48%;
  }
  .reason_flex .txt, .reason_flex02 .txt {
    width: 50%;
    padding: 2rem 2rem 1rem 2rem;
  }
  .reason_flex .txt p {
    font-size: 1.6rem;
    margin-bottom: 3rem;
  }
  .reason_ttl {
    font-size: 2.4rem;
    font-weight: 400;
    ;
    margin-bottom: 3rem;
    padding-left: 7rem;
    position: relative;
  }
  .reason_ttl::before {
    content: "";
    position: absolute;
    top: 25%;
    left: 0;
    background: url("images/dog_icon01.png")no-repeat;
    width: 105px;
    height: 60px;
    background-size: 60%;
  }
  .reason_ttl span {
    
    display: block;
  }
  .reason_ttl02 {
    font-size: 2.4rem;
    font-weight: 400;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", YuMincho, "serif";
    margin-bottom: 3rem;
    padding-left: 7rem;
    position: relative;
  }
  .reason_ttl02::before {
    content: "";
    position: absolute;
    top: 25%;
    left: 0;
    background: url("images/cat_icon01.png")no-repeat;
    width: 80px;
    height: 68px;
    background-size: 60%;
  }
  .reason_ttl02 span {
    
    display: block;
  }
  .dog::after {
    content: "";
    position: absolute;
    top: -3.8rem;
    left: 50%;
    transform: translateX(-50%);
    background: url("images/dog_icon01.png")no-repeat center;
    width: 105px;
    height: 60px;
    background-size: 80%;
  }
  .cat::after {
    content: "";
    position: absolute;
    top: -4rem;
    left: 50%;
    transform: translateX(-50%);
    background: url("images/cat_icon01.png")no-repeat center;
    width: 80px;
    height: 68px;
    background-size: 80%;
  }
  .reasontxt {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .reason_btn {
    position: absolute;
    bottom: -5%;
    left: 50%;
    transform: translateX(-50%);
    padding: 4rem 3.8rem;
    background: #333;
    color: #FFFFFF;
    font-size: 1.8rem;
    text-align: center;
    border-radius: 50%;
    outline: 1px solid #FFFFFF;
    outline-offset: -6px;
  }
  .reason_btn:hover {
    opacity: 0.6;
  }
  .h3_ttl {
    font-size: 3.8rem;
    text-align: center;
    font-weight: 600;
    margin-bottom: 3rem;
    
  }
  .h3_ttl span {
    font-size: 1.6rem;
    color: #E3CB00;
    line-height: 1.6;
    display: block;
    
  }
  .medical_flex {
    display: flex;
    justify-content: space-evenly;
    align-items: stretch;
  }
  .medical_flex .txt {
    background: url("images/black_bg.png");
    background-size: cover;
    padding: 10rem 3rem 2rem;
    color: #FFFFFF;
    width: 50%;
    position: relative
  }
  .medical_flex .txt::before {
    content: "";
    position: absolute;
    width: 460px;
    height: 320px;
    background: url("images/str01.png")repeat left top / auto;
    left: 0;
    bottom: 0;
    z-index: 0;
  }
  .medical_flex .img {
    width: 50%;
  }
  .medical_flex .img img {
    height: 600px;
    width: 100%;
    object-fit: cover;
  }
  .medical .medicalbtn a {
    background: #333;
    border: 1px solid #FFFFFF;
    padding: 2rem 8rem 2rem 2rem;
  }
  .medical_ttl {
    font-size: 2.4rem;
    font-weight: 600;
    color: #FFFFFF;
    margin-bottom: 3rem;
    
  }
  .medical_ttl span {
    font-size: 1.6rem;
    display: block;
    
  }
  .medical_content {
    padding: 5% 0 2%;
    background: #FFFDF0;
  }
  .flex .txt {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    width: 42%;
  }
  .flex .img {
    width: 45%;
  }
  .medical_content .flex {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
  }
  .medicalbtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 6rem 2rem 2rem;
    color: #FFFFFF;
    background: #E3CB00;
    position: relative;
  }
  .medicalbtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/Icon-dropright.png") no-repeat center;
    width: 29px;
    height: 29px;
    background-size: 50%;
  }
  .medicalbtn {
    margin-top: 3rem;
    text-align: center;
  }
  .specialized {
    padding: 8% 0 3%;
  }
  .sub_ttl {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 6rem;
    
  }
  .sub_ttl span {
    border-bottom: 1px solid #E3CB00;
    padding: 1rem;
  }
  .center p {
    font-size: 1.8rem;
    font-weight: 400;
    text-align: center;
    line-height: 1.6;
    margin-bottom: 5rem;
  }
  .fl3 {
    width: 33.333333%;
    position: relative;
  }
	.fl3_s {
    width: 33.333333%;
    position: relative;
		margin-bottom:2rem;
		padding:1rem;
  }
    .op_flex
    {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: center;
    }
  .fl2 {
    width: 50%;
    position: relative;
  }
  .bnr_txt span {
    display: block;
    font-weight: 400;
    position: relative;
  }
	.bnr_txt02::before {
  content: "";
  background: url("images/arrow02.png")no-repeat center;
  width: 115px;
  height: 22px;
  bottom: -4rem;
  left: 50%;
  position: absolute;
  transform: translate(-50%, 0);
}
.bnr_txt02 {
    position: absolute;
    top: 40%;
    left: 50%;
    box-sizing: border-box;
    font-size: 2.4rem;
    text-align: center;
    color: #FFFFFF;
    font-weight: 600;
    ;
    transform: translate(-50%, -50%);
  }
  .bnr_txt02 span {
    display: block;
    font-weight: 400;
    font-size: 1.6rem;
    
  }
  .service {
    padding: 3%;
  }
  .service .medicalbtn a {
    background: #333;
    border: 1px solid #FFFFFF;
    padding: 2rem 12rem 2rem 4rem;
  }
  .service .h3_ttl::before {
    content: "";
    background: url("images/ttlbg04.png")no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    width: 130px;
    height: 82px;
    transform: translateX(-50%);
  }
  .bnr_txt {
    position: absolute;
    top: 40%;
    left: 50%;
    box-sizing: border-box;
    font-size: 2.8rem;
    text-align: center;
    color: #FFFFFF;
    font-weight: 600;
    ;
    transform: translate(-50%, -50%);
    width: 100%;
  }
  .bnr_txt::before {
    content: "";
    background: url("images/arrow02.png")no-repeat center;
    width: 115px;
    height: 22px;
    bottom: -3rem;
    left: 50%;
    position: absolute;
    transform: translate(-50%, 0);
    background-size: 50%;
  }
  .bnr_txt span {
    display: block;
    font-weight: 400;
    font-size: 1.4rem;
    
  }
  .service_box {
    position: relative;
    text-align: center;
    max-width: 1400px;
    width: 90%;
    margin: 3rem auto;
  }
  .service_txt {
    position: absolute;
    right: 8%;
    top: 50%;
    transform: translateY(-50%);
  }
  .medical_flex p {
    margin-bottom: 5rem
  }
  .service_ttl {
    font-size: 2.4rem;
    font-weight: 600;
    color: #E3CB00;
    text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff;
    margin-bottom: 1rem;
  }
  .service_box p {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.8;
  }
  .service .fl3 {
    padding: 1rem;
  }
  .recruit .container {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
  }
  .deco {
    position: absolute;
    top: 8rem;
    left: 0;
    z-index: -1;
    width: 50%;
  }
  .recruit .flex {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
  }
  .recruit .flex .img {
    width: 48%;
    padding: 2rem;
    transform: translateY(0);
  }
  .recruit .txt {
    width: 50%;
    padding: 2rem;
  }
  .recruit .txt p {
    margin-bottom: 5rem;
  }
  .txt .flex {
    display: flex;
    justify-content: space-evenly;
    align-items: flex-end;
    flex-wrap: nowrap;
  }
  .recruit_ttl {
    font-size: 2.4rem;
    margin-bottom: 3rem;
    font-weight: 600;
  }
  .recruit_box {
    background: url("images/recruit_bg.png")no-repeat;
    padding: 5rem;
    width: 96%;
    max-width: 1600px;
    margin: 3rem auto;
  }
  .flex_recruit {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .r_ttl_box {
    font-size: 2.8rem;
    font-weight: 600;
    text-align: center;
    color: #FFFFFF;
    width: 20%;
    ;
    border-right: 1px solid #FFFFFF;
  }
  .r_ttl_box span {
    
    font-size: 1.6rem;
    display: block;
  }
  .r_txt_box {
    width: 45%;
    margin: 0 3rem;
    color: #FFFFFF;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
  .r_txt_box p {
    line-height: 1.6;
  }
  .r_txt_ttl {
    font-size: 2.2rem;
    margin-bottom: 1rem;
    ;
    font-weight: 600;
  }
  .r_btn_box {
    width: 25%;
  }
  .r_btn_box .medicalbtn {
    margin-top: 0rem;
    text-align: center;
  }
  .recruit_box .medicalbtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 3rem 2rem 2rem;
    color: #333333;
    background: #FFFFFF;
    position: relative;
    border: 1px solid #333333;
  }
  .recruit_box .medicalbtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/icon_arrow_bl.png") no-repeat center;
    width: 9px;
    height: 17px;
    background-size: 80%;
  }
  .rec_btn {
    padding: 3rem 2.6rem;
    background: #333;
    color: #FFFFFF;
    font-size: 1.6rem;
    text-align: center;
    border-radius: 50%;
    outline: 1px solid #FFFFFF;
    outline-width: 1px;
    outline-offset: -6px;
    margin-right: 3rem;
    white-space: nowrap;
    display: block;
  }
  .rec_btn:hover {
    opacity: 0.6;
  }
  .rec_icon img {
    width: 80%;
  }
  .gallery {
    padding: 5%;
    background: url("images/gallery_bg.png") no-repeat;
    background-size: cover;
  }
  .gallery .h3_ttl::before {
    content: "";
    background: url("images/ttlbg05.png")no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    width: 144px;
    height: 58px;
    transform: translateX(-50%);
  }
  .slider img {
    width: 100%; /*スライダー内の画像を横幅100%に*/
    height: auto;
  }
  /*slickのJSで書かれるタグ内、スライド左右の余白調整*/
  .slider .slick-slide {
    margin: 0 10px; /*スライド左右の余白調整*/
  }
  .slick-track {
    display: flex !important;
    align-items: center;
  }
  .gmap {
    width: 100%;
    height: auto;
  }
  #footer {
    padding: 5% 0 0;
  }
  #footer .flex {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-direction: column;
  }
  #footer .flex .img {
    width: 80%;
    padding: 0 1rem;
    transform: translateY(0);
    margin: 2rem auto
  }
  #footer .infotxt {
    width: 90%;
    margin: 0 auto;
  }
  #footer .biz-hour {
    color: #333333;
  }
  .copy {
    text-align: center;
    padding: 1rem 0;
    background: #E3CB00;
    color: #FFFFFF;
    margin-top: 5rem;
  }
  .line {
    position: fixed;
    bottom: 2%;
    right: 5%;
    z-index: 999;
  }
  /*----------
    
    下層ページ
    
    ----------*/
  .h2_ttl {
    background: url("images/h2_bg.png")no-repeat center;
    background-size: cover;
    padding-top: 76px;
    margin-bottom: 3rem;
  }
  .h2_txt {
    font-size: 4.2rem;
    text-align: center;
    color: #FFFFFF;
    padding: 12rem 0;
    font-weight: 600;
      ;
  }
  .h2_ttl span {
    font-size: 1.6rem;
    display: block;
    color: #E3CB00;
  }
    .h2_ttl02 {
    background: url("images/h2_bg02.png")no-repeat center;
    background-size: cover;
    padding: 10px 0;
    margin-bottom: 3rem;
  }
    .h2_ttl02 span {
    font-size: 1.6rem;
    display: block;
    color: #E3CB00; 
  }
  .u_container {
    max-width: calc(1200px + 6%);
    margin: 0 auto;
    padding: 3%;
  }
  .unh3_ttl {
    font-size: 3.2rem;
    font-weight: 600;
    margin-bottom: 5rem;
    text-align: center;
    padding: 2rem 0;
    position: relative;
	  ;
  }
  .unh3_ttl span {
    font-size: 2rem;
    padding-left: 6rem;
    text-shadow: #333 1px 1px 0px, #333 -1px 1px 0px, #333 1px -1px 0px, #333 -1px -1px 0px;
    color: #fff;
    letter-spacing: 0.2em;
      font-family: 'Courgette', cursive , Cinzel, "serif";
  }
  .unh3_ttl::after {
    content: "";
    height: 3px;
    width: 40%;
    background: #E3CB00;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .ph_sub_ttl {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    padding-bottom: 3rem;
    line-height: 1.8em;
  }
  .h4_ttl {
    font-size: 2rem;
    font-weight: 600;
    margin: 3rem 0;
    position: relative;
    padding: 0 0 1rem 4rem;
    border-bottom: 1px solid #CCCCCC;
  }
  .h4_ttl::after {
    content: "";
    position: absolute;
    top: 1rem;
    left: 0;
    height: 26px;
    width: 26px;
    background: url("images/h4_icon.png") no-repeat center;
  }
  .h5_ttl {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 3rem;
    padding-left: 3rem;
    position: relative;
  }
  .h5_ttl::after {
    content: "";
    background: url("images/icon-check.png") no-repeat center;
    position: absolute;
    top: 1rem;
    left: 0;
    width: 12px;
    height: 12px;
  }
  .fi_txt {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    width: 50%;
    padding: 1rem;
  }
  .fi_img {
    width: 46%;
    padding: 1rem;
    text-align: center;
  }
  .rev {
    flex-direction: row-reverse;
  }
  .medflex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 5rem 0;
  }
  .med_icon {
    width: 13%;
  }
  .t_box {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
  .medical_bnr {
    width: 30%;
    position: relative;
    margin-bottom: 3rem;
  }
  .medical_bnr img {
    width: 100%
  }
  .medical_txt_box {
    background-color: rgba(0, 0, 0, 0.60);
    max-width: 80%;
    width: 100%;
    border: 1px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    color: #FFFFFF;
    padding: 15% 5%;
  }
  .medical_department {
    font-size: 2rem;
    margin-bottom: 1rem;
    font-weight: 600;
    text-align: center;
  }
  .medical_department span {
    display: block;
    font-size: 1.4rem;
  }
  .medical_ex {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .more_btn {
    padding: 2rem;
    background-color: rgba(255, 255, 255, 0.60);
    border: 1px solid #333333;
    font-size: 1.6rem;
    text-align: center;
    margin-top: 3rem;
  }
  .t20 {
    font-size: 2rem;
    margin-bottom: 3rem;
    line-height: 1.6;
  }
  .t18 {
    font-size: 1.8rem;
    margin-bottom: 3rem;
    line-height: 1.6;
  }
  .t16 {
    font-size: 1.6rem;
    margin-bottom: 3rem;
    line-height: 1.6;
  }
  .t14 {
    font-size: 1.4rem;
    margin-bottom: 3rem;
    line-height: 1.6;
  }
  /*アコーディオン全体*/
  .accordion-area {
    list-style: none;
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
  }
  .accordion-area li {
    margin: 10px 0;
  }
  .accordion-area section {
    border: 1px solid #ccc;
  }
  /*アコーディオンタイトル*/
  .title {
    position: relative; /*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size: 2rem;
    font-weight: normal;
    padding: 2%;
    transition: all .5s ease;
  }
  /*アイコンの＋と×*/
  .title::before, .title::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 2px;
    background-color: #333;
  }
  .title::before {
    top: 48%;
    right: 15px;
    transform: rotate(0deg);
  }
  .title::after {
    top: 48%;
    right: 15px;
    transform: rotate(90deg);
  }
  /*　closeというクラスがついたら形状変化　*/
  .title.close::before {
    transform: rotate(45deg);
  }
  .title.close::after {
    transform: rotate(-45deg);
  }
  /*アコーディオンで現れるエリア*/
  .box {
    display: none; /*はじめは非表示*/
    background: #f3f3f3;
    margin: 0 3% 3% 3%;
    padding: 2%;
    font-size: 1.6rem;
  }
  .stepbar {
    position: relative;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
  }
  .stepbar li {
    position: relative;
    list-style: none;
    text-align: center;
    color: #333333;
    font-size: 2rem;
    font-weight: 600;
  }
  .stepbar li p {
    font-weight: 400;
    margin: 10px 40px;
    font-size: 1.6rem
  }
  .stepbar li:before {
    display: block;
    width: 18px;
    height: 18px;
    margin: 0.5em auto;
    content: "";
    text-align: center;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #000;
  }
  .stepbar li:after {
    position: absolute;
    z-index: -1;
    top: 1em;
    left: -50%;
    width: 100%;
    height: 1px;
    content: "";
    background-color: #000;
  }
  .stepbar li:first-child:after {
    content: none;
  }
  @media screen and (max-width: 960px) {
    .stepbar li p {
      margin: 10px 15px;
      font-size: 1.4rem;
    }
  }
  nav ul ul {
    display: block;
  }
  /*下の階層のulや矢印の基点にするためliにrelativeを指定*/
  nav ul li {
    position: relative;
  }
  /*ナビゲーションのリンク設定*/
  nav ul li a {
    display: block;
    text-decoration: none;
    color: #333333;
    transition: all .3s;
  }
  nav ul li li a {
    padding: 1rem;
  }
  nav ul li a:hover {}
  #headerNav ul ul {
    display: block;
  }
  #headerNav ul ul li::after {
    content: "";
    display: none;
  }
  #headerNav ul li li {
    padding: 1rem;
    font-size: 1.6rem;
  }
  /*== 2・3階層目の共通設定 */
  /*下の階層を持っているulの指定*/
  nav li.has-child ul {
    /*絶対配置で位置を指定*/
    position: absolute;
    left: 0;
    top: 80px;
    z-index: 4;
    /*形状を指定*/
    background: rgba(255, 255, 255, 0.80);
    width: 240px;
    /*はじめは非表示*/
    visibility: hidden;
    opacity: 0;
    /*アニメーション設定*/
    transition: all .3s;
  }
  /*hoverしたら表示*/
  nav li.has-child:hover > ul, nav li.has-child ul li:hover > ul, nav li.has-child:active > ul, nav li.has-child ul li:active > ul {
    visibility: visible;
    opacity: 1;
  }
  /*ナビゲーションaタグの形状*/
  nav li.has-child ul li a {
    color: #333333;
    border-bottom: solid 1px rgba(0, 0, 0, 0.6);
  }
  nav li.has-child ul li:last-child a {
    border-bottom: none;
  }
  nav li.has-child ul li a:hover, nav li.has-child ul li a:active {
    background: #FFE100;
  }
  /*==3階層目*/
  /*3階層目の位置*/
  nav li.has-child ul ul {
    top: 0;
    left: 182px;
    background: #66ADF5;
  }
  nav li.has-child ul ul li a:hover, nav li.has-child ul ul li a:active {
    background: #448ED3;
  }
  /*==768px以下の形状*/
  @media screen and (max-width:768px) {
    nav {
      padding: 0;
    }
    nav ul {
      display: block;
    }
    nav li.has-child ul, nav li.has-child ul ul {
      position: relative;
      left: 0;
      top: 0;
      width: 100%;
      visibility: visible; /*JSで制御するため一旦表示*/
      opacity: 1; /*JSで制御するため一旦表示*/
      display: none; /*JSのslidetoggleで表示させるため非表示に*/
      transition: none; /*JSで制御するためCSSのアニメーションを切る*/
    }
    nav ul li a {
      border-bottom: 1px solid #ccc;
    }
    /*矢印の位置と向き*/
    nav ul li.has-child::before {
      left: 20px;
    }
    nav ul ul li.has-child::before {
      transform: rotate(135deg);
      left: 20px;
    }
    nav ul li.has-child.active::before {
      transform: rotate(-45deg);
    }
  }
  .res_flex {
    display: flex;
    justify-content: space-around;
    padding-bottom: 3rem;
  }
  .res_flex .txt {
    width: 46%;
    padding: 1rem;
  }
  .res_flex .txt p {
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 2rem;
  }
  .res_flex .img {
    width: 46%;
    padding: 1rem;
  }
  .fo18 {
    font-size: 1.8rem;
  }
  .fo-red {
    color: #990002;
  }
  .bold {
    font-weight: 600;
  }
  .bgg {
    width: 90%;
    padding: 5rem;
    background: #DCDCDC;
    font-size: 1.6rem;
    margin: 0 auto;
  }
  .disc ul {
    padding-bottom: 3rem;
  }
  .disc li {
    list-style: outside disc;
    line-height: 1.8;
    margin-left: 3rem;
  }
  .res2_flex {
    display: flex;
    justify-content: space-around;
  }
  .res2_flex .txt {
    width: 60%;
    padding: 1rem;
  }
  .res2_flex .img {
    width: 30%;
    padding: 1rem;
  }
  .res2_flex .txt p {
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 2rem;
  }
  .clinicname {
    font-size: 1.8rem;
    font-weight: 400;
    margin-bottom: 1rem;
  }
  .name {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #CCCCCC;
  }
  .name span {
    font-size: 1.4rem;
    font-weight: 400;
    color: #E3CB00;
    margin-left: 3rem;
  }
  .doc_flex {
    display: flex;
    justify-content: space-around;
    margin: 3rem 0;
  }
  .ali_center {
    align-items: center;
  }
  .doc_flex .txt {
    width: 60%;
    padding: 1rem;
  }
  .doc_flex .img {
    width: 35%;
    padding: 1rem;
  }
  .car_flex {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    flex-wrap: wrap;
    margin-bottom: 3rem;
  }
  .career {
    width: 48%;
    padding: 1rem;
    background: #EEEEEE;
    margin-bottom: 3rem;
  }
  .career_box {
    background: #EEEEEE;
    padding: 3rem 2rem;
    font-size: 1.6rem;
  }
  .car_ttl {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid #CCCCCC;
  }
  .career_box ul li {
    display: flex;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px dashed #333333;
  }
  .career_box ul li dt {
    width: 32%;
  }
  .career_box .disc li {
    list-style: disc;
    margin-left: 3rem;
    line-height: 1;
  }
  .between {
    justify-content: space-between;
  }
  .staff_flex {
    display: flex;
    justify-content: flex-start;
  }
  .staff_flex .img {
    width: 30%;
    padding: 2rem;
  }
  .flexbase {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
  }
  .flexbase .img {
    width: 38%;
    padding: 1rem;
  }
  .flexbase .txt {
    width: 58%;
    padding: 1rem;
  }
  .txt .h4_ttl {
    margin-top: 0;
  }
  .flow > li {
    position: relative;
  }
  .flow > li:not(:last-child) {
    margin-bottom: 40px;
  }
  .flow > li:not(:first-child)::before {
    content: "";
    height: 60px;
    display: block;
    border-left: 4px dotted #e5e5e5;
    position: absolute;
    top: -40px;
    left: -webkit-calc(10% + 30px - 2px);
    left: calc(10% + 30px - 2px);
    z-index: 10;
  }
  .flow > li dl {
    width: 100%;
    padding: 5rem 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 2px solid #E3CB00;
    border-radius: 10px;
    position: relative;
  }
  .flow > li:not(:last-child) dl::before, .flow > li:not(:last-child) dl::after {
    content: "";
    border: solid transparent;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .flow > li:not(:last-child) dl::before {
    border-width: 22px;
    border-top-color: #E3CB00;
  }
  .flow > li:not(:last-child) dl::after {
    border-width: 20px;
    border-top-color: #fff;
  }
  .flow > li dl dt {
    font-size: 20px;
    font-weight: 600;
    color: #E3CB00;
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    margin-right: 2vw;
    text-align: center;
  }
  .flow > li dl dt .icon {
    font-size: 12px;
    color: #fff;
    background: #E3CB00;
    background: -moz-linear-gradient(left, rgba(51, 51, 51, 1) 0%, rgba(0, 0, 0, 1) 100%);
    background: -webkit-linear-gradient(left, rgba(51, 51, 51, 1) 0%, rgba(51, 51, 51, 1) 100%);
    background: linear-gradient(to right, rgba(51, 51, 51, 1) 0%, rgba(0, 0, 0, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#000000', GradientType=1);
    padding: 5px 10px;
    margin-bottom: 10px;
    display: block;
    border-radius: 20px;
    position: relative;
    z-index: 100;
  }
  .flow dd {
    font-size: 1.6rem;
  }
  .common_tbl2 {
    width: 100%;
    border: solid 1px #dddddd;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .tbl_w25 th {
    width: 25%;
  }
  .common_tbl2 th {
    text-align: left;
    vertical-align: middle;
    padding: 2rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    background-color: #f8f8f8;
  }
  .common_tbl2 td {
    text-align: left;
    vertical-align: middle;
    padding: 2rem;
    border-bottom: solid 1px #dddddd;
  }
  .cat_flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
  }
  .cat_box {
    padding: 2rem;
    width: 30%;
    margin: 1rem;
    border: 1px solid #333333;
    box-shadow: 8px 8px 25px -10px #777777;
  }
  .num {
    font-size: 1.8rem;
    font-weight: 400;
    color: #E3CB00;
    font-family: 'Raleway', sans-serif;
    margin-bottom: 2rem;
    text-align: center;
  }
  .cat_box_ttl {
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 2rem;
  }
  .h2_mv {
    width: 100vw;
    height: 100%;
    padding-top: 52px;
    margin-bottom: 3rem;
  }
  .general_img {
    text-align: center;
    margin: 3rem;
  }
  .ge_stepbar {
    margin: 0 auto;
    width: 80%;
  }
  .ge_stepbar .stepbarwrap {
    margin: 4em 0;
    position: relative;
  }
  .ge_stepbar .stepbarwrap .steptitle {
    display: inline-flex;
    align-items: center;
    width: 100%;
  }
  .ge_stepbar .stepbarwrap .steptitle .stepcircle {
    display: inline-block;
    width: 8em;
    height: 8em;
    content: "";
    border-radius: 50%;
    color: #E3CB00;
    text-align: center;
    border: 1px solid #E3CB00
  }
  .ge_stepbar .stepbarwrap .steptitle .stepcircle span {
    display: inline-block;
    line-height: 1.2em;
    font-size: 1.6rem;
    font-weight: bold;
    position: relative;
    top: 1.8em;
    font-family: 'Raleway', sans-serif;
  }
  .ge_stepbar .stepbarwrap .steptitle .ge_title {
    margin: 0.5em;
    font-weight: bold;
    font-size: 2rem;
  }
  .ge_stepbar .stepbarwrap .steptxt {
    padding-left: 2.5em;
    width: 80%;
  }
  .ge_stepbar .stepbarwrap .steptxt .txt {
    font-size: 1.6rem;
  }
  .ge_stepbar .stepbarwrap .stepline {
    width: 1px;
    height: calc(100% - 4em);
    background-color: #E3CB00;
    position: absolute;
    top: 8em;
    left: 4em;
    z-index: -1;
  }
  .stepbarwrap:last-of-type .stepline:last-of-type {
    display: none;
  }
  @media screen and (max-width: 960px) {
    .ge_stepbar {
      width: 90%;
    }
  }
  .bg_box {
    background: #EEEEEE;
    padding: 3rem;
    margin-bottom: 2rem;
  }
  .bg_box .ph_sub_ttl {
    border-bottom: 1px solid #CCCCCC;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
  }
  .p11_01_tbl2 {
    width: 100%;
    border: solid 1px #dddddd;
  }
  .p11_01_tbl2 .ttl {
    vertical-align: middle;
    padding: 1rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    background-color: #efefef;
    text-align: center;
    font-size: 1.6rem;
  }
  .p11_01_tbl2 td {
    text-align: center;
    vertical-align: middle;
    padding: 1rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    width: 30%;
    font-size: 1.6rem;
  }
  .p11_01_tbl2 th {
    vertical-align: middle;
    padding: 1rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    background-color: #f8f8f8;
    text-align: center;
    font-size: 1.6rem;
  }
  .clinic_flex {
    display: flex;
    flex-wrap: wrap;
  }
  .clinic_flex .img {
    width: 33.33333%;
    padding: 1rem;
    margin-bottom: 2rem;
  }
  .t_center {
    text-align: center;
  }
	.imgbox {
    width: 40%;
    margin-bottom: 3rem;
}
}
/*------------PCサイト-------------*/
@media (min-width: 846px) {
  .sp-only {
    display: none !important;
  }
  .tab-only {
    display: none !important;
  }
  .sp-tab-only {
    display: none !important;
  }
  #header {
    width: 100%;
    height: 100px;
    z-index: 999;
    top: 0;
  }
  #header .inner {
    padding: 2rem 2%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: calc(1600px + 4%);
    width: 100%;
    margin: 0 auto;
  }
  .header_right {
    margin-left: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .h_access {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 138px;
    position: relative;
  }
  .h_access::before, .h_time::before, .h_tel::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 20px;
    background: #333;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .h_access p {
    font-size: 1.6rem;
    text-align: center;
  }
  .map_icon {
    text-align: center;
    line-height: 1;
    margin-bottom: 1rem;
  }
  .h_time {
    width: 380px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .h_time p {
    font-size: 1.6rem;
    text-align: center;
  }
  .h_tel {
    position: relative;
    display: flex;
    font-size: 3.8rem;
    width: 340px;
    align-items: center;
    text-align: center;
  }
  .h_tel a {
    margin: 0 auto;
  }
  .h_tel img {
    transform: translateY(-14%);
  }
  .yel {
    color: #FFE100 !important;
  }
  #headerNav ul {
    display: flex;
    padding: 0 1rem;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-between;
    max-width: 1240px;
    margin: 0 auto;
  }
  #headerNav ul li {
    padding: 2.4rem 1rem;
    position: relative;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
    white-space: nowrap;
  }
  #headerNav .en {
    font-size: 1.4rem;
    font-weight: 600;
    display: block;
    margin-top: 0.4rem;
  }
  #headerNav > ul > li:not(:last-child):before {
    content: "";
    position: absolute;
    width: 1px;
    height: 42px;
    transform: rotate(26deg);
    right: -1.5vw;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #CCCCCC;
  }
  .logo {
    width: 20%;
  }
  .red {
    color: #AC0000;
  }
  .h_tel p {
    text-align: center;
    font-size: 1.2rem;
    padding: 1rem 0;
  }
	video#video {
    height: 100vh;
    width: 100%;
    object-fit: cover;
        /*padding: 2rem 0;*/
        background: #CCCCCC;
}
.mv_bg
	{
		background-color: rgba(0,0,0,0.3);
		width:100%;
		height:100vh;
	}
  .mv {
    position: relative;
    height: 100vh;
    margin: 0 auto;
  }
  .mv img {
    height: 100vh;
    object-fit: cover;
    width: 100%;
  }
  .catch {
    font-size: 6rem;
    font-weight: 600;
    color: #FFFFFF;
    position: absolute;
    right: 50%;
    top: 50%;
    letter-spacing: 0.6rem;
    line-height: 1.4;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
    font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
    transform: translate(50%, -50%);
  }
    .catchcopy
    {
        padding: 2rem 0;
        text-align: center;
    }
    .catchcopy p
    {
        font-size: 3rem;
        font-weight: 600;
    }
  .catch img {
    width: 76px;
    height: 54px;
  }
  .mv_icon {
    text-align: center;
    margin-bottom: 1rem;
  }
  .container {
    max-width: calc(1400px + 6%);
    margin: 0 auto;
    padding: 3rem 3%;
  }
  .news {
    margin-bottom: 3%;
  }
  .news .container {
    max-width: calc(900px + 6%);
    margin: 0 auto;
    padding: 3rem 3%;
  }
  .toggle {
    display: none;
  }
  .Label { /*タイトル*/
    display: block;
    font-size: 2rem;
    font-weight: 600;
    padding: 2rem;
    border: 1px solid #333333;
    text-align: center;
  }
  .Label::before { /*タイトル横の矢印*/
    content: "";
    width: 10px;
    height: 10px;
    border-top: 3px solid #E3CB00;
    border-right: 3px solid #E3CB00;
    -webkit-transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 6px);
    right: 20px;
    transform: rotate(135deg);
  }
  .Label, .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
  }
  .content { /*本文*/
    height: 0;
    margin-bottom: 10px;
    padding: 0 20px;
    overflow: hidden;
    font-size: 1.6rem;
    line-height: 1.6;
    text-align: center;
  }
  .content p {
    margin-bottom: 2rem;
  }
  .toggle:checked + .Label + .content { /*開閉時*/
    height: auto;
    padding: 20px;
    transition: all .3s;
    border: 1px solid #333333;
  }
  .toggle:checked + .Label::before {
    transform: rotate(-45deg) !important;
  }
  .f24 {
    font-size: 2.4rem;
    margin-top: 2rem;
  }
  .lineinfo {
    background: url("images/line_bg.png") no-repeat center;
    background-size: cover;
    padding: 3%;
    position: relative;
    z-index: 1;
  }
  .lineinfo::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    background: url("images/line_application.png") no-repeat;
    width: 1256px;
    height: 364px;
  }
  .linearea {
    margin-bottom: 3rem;
    text-align: center;
  }
  .ttl {
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: 3rem;
    font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
    color: #FFFFFF;
  }
  .lineinfo p {
    font-size: 1.8rem;
    line-height: 1.6;
    color: #FFFFFF;
  }
  .infobtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 8rem 2rem 2rem;
    color: #FFFFFF;
    background: #E3CB00;
    position: relative;
  }
  .infobtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/Icon-dropright.png") no-repeat center;
    width: 29px;
    height: 30px;
    background-size: 60%;
  }
  .infobtn {
    margin: 5rem 0;
  }
  .infoimg {
    width: 45%;
    padding: 1rem;
  }
  .infotxt {
    width: 58%;
    padding: 1rem;
    color: #FFFFFF;
  }
  .logotel {
    display: flex;
    margin-bottom: 3rem;
  }
	.address
	{
		font-size:1.6rem;
		margin-bottom:3rem;
		text-align:center;
	}
  .infologo {
    margin-right: 6rem;
  }
  .infotel {
    color: #FFFFFF;
  }
  .infotime {
    color: #FFFFFF;
  }
  .infoarea {
    display: flex;
    justify-content: space-between;
    padding: 5rem 0;
  }
  .biz-hour {
    width: 100%;
    /* overflow-x: scroll;で、
  スマホ画面幅に表が入りきらない場合は
  横スクロールしてくれます */
    overflow-x: scroll;
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
  .biz-hour th {
    border-top: 1px solid #FFFFFF;
  }
  .biz-hour th, .biz-hour td {
    padding: 2rem 1rem;
    text-align: center;
    /* ２番目以降の線 */
    /* 色はお好みで */
    border-bottom: 1px solid #FFFFFF;
    vertical-align: middle;
  }
  /* スマホ時に横スクロールしないよう、横の余白（padding）を20px→10pxに */
  @media screen and (max-width: 559px) {
    .biz-hour th, .biz-hour td {
      padding: 1rem;
    }
  }
  .biz-hour th {
    font-weight: normal;
  }
  .biz-hour .yel {
    color: #E3CB00;
  }
  /* 「土」の文字色 */
  .biz-hour th.sat {
    color: #3db2da;
  }
  /* 「日」の文字色 */
  .biz-hour th.sun {
    color: #e66a6a;
  }
  .info_bnr {
    padding: 2rem 0;
  }
  .blog {
    background: url("images/blog_bg.png")no-repeat center;
    background-size: cover;
    margin-top: -6rem;
    padding: 8% 10% 22% 10%;
    position: relative;
  }
  .blog::before {
    content: "";
    background: url("images/news.png") no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 573px;
    height: 154px;
  }
  .h3_bttl {
    font-size: 3.8rem;
    font-weight: 600;
    margin-bottom: 3rem;
    padding-left: 10rem;
    position: relative;
  }
  .h3_bttl span {
    margin-left: 3rem;
    color: #E3CB00;
    font-size: 1.6rem;
    font-weight: 600;
    
  }
  .h3_bttl::after {
    content: "";
    background: url("images/bttl_icon.png") no-repeat center;
    background-size: 80%;
    position: absolute;
    top: 30%;
    left: 29rem;
    width: 62px;
    height: 50px;
  }
  .blog_ttl_area {
    padding: 5rem 0;
  }
  .blog_ttl_area .h3_bttl {
    padding: 5rem 0 5rem 36rem;
    position: relative;
    font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
  }
  .blog_ttl_area .h3_bttl::before {
    content: "";
    position: absolute;
    width: 290px;
    height: 1px;
    background: #000;
    left: 0;
    top: 50%;
    margin: auto;
  }
  .blog_bgbox {
    background: #FFFFFF;
    padding: 5rem 3rem 5rem;
  }
  .news_wrapper {
    display: flex;
    justify-content: space-between;
    margin: 1rem;
	  flex-direction:column;
	  width:22%;
  }
  .news_txtbox {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .news_imgbox {
    width: 100%;
	  margin-bottom:1rem;
  }
  .blog_date {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
  .blog_ttl {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 2rem;
  }
  .blog_more {
    font-size: 1.6rem;
    font-weight: 600;
    color: #E3CB00;
  }
  .u_more {
    text-align: right;
    
    font-size: 2rem;
    padding: 3rem 14rem 3rem 3rem;
    position: relative;
	top: -90px;
    right: 40px;
  }
  .u_more a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    background: url("images/more_arrow.png") no-repeat center;
    width: 115px;
    height: 18px;
    transform: translateY(-50%);
  }
  .flex {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
  }
  .blogbox {
    margin: 1rem;
    width: 22%;
    box-shadow: 2px 4px 10px -3px #777777;
  }
  .blogdate {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
  .blogttl {
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 2rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 1rem;
  }
  .more {
    font-size: 1.6rem;
    font-weight: 600;
    color: #E3CB00;
    padding: 2rem 0;
  }
  .blogtxtbox {
    padding: 2rem;
    background: #FFFFFF;
  }
  .blogbtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 6rem 2rem 8rem;
    color: #FFFFFF;
    background: #E3CB00;
    position: relative;
  }
  .blogbtn a::before {
    content: "";
    position: absolute;
    left: 6%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/blog_btn_icon.png") no-repeat center;
    width: 55px;
    height: 62px;
    background-size: 60%;
  }
  .blogbtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/Icon-dropright.png") no-repeat center;
    width: 29px;
    height: 29px;
    background-size: 50%;
  }
  .blogbtn {
    margin-top: 10rem;
    text-align: center;
  }
  .concept {
    padding: 5% 0 3%;
  }
  .miru_bg {
    background: url("images/miru_bg.png")no-repeat center;
    background-size: contain;
    padding-top: 8rem;
  }
  .miru_bg .container {
    padding-top: 0;
  }
  .miru_bg .mov_flex {
    padding-top: 0;
  }
  .concept .h3_ttl {
    font-size: 2.8rem;
    margin-bottom: 4rem;
    font-weight: 600;
    text-align: left;
    position: relative;
    padding: 2rem 0 0 40rem;
  }
  .concept .h3_ttl span {
    font-size: 6rem;
    display: inline;
    color: #333333;
  }
  .concept .h3_ttl::before {
    content: "";
    background: url("images/miru.png") no-repeat center;
    position: absolute;
    left: 300px;
    top: -30%;
    width: 139px;
    height: 80px;
  }
  .concept .h3_ttl::after {
    content: "";
    position: absolute;
    width: 290px;
    height: 1px;
    background: #000;
    left: 0;
    top: 50%;
    margin: auto;
  }
  .concept .h3_ttl span::after {
    content: "";
    background: url("images/icon_miru.png") no-repeat center;
    position: absolute;
    left: 280px;
    top: 36px;
    width: 109px;
    height: 60px;
    background-size: 80%;
  }
  .mov_flex {
    display: flex;
    justify-content: space-between;
    position: relative;
  }
  .txt {
    width: 52%;
    padding: 1%;
    font-size: 1.8rem;
    line-height: 1.8;
    font-weight: 400;
  }
  .mov {
    width: 46%;
    padding: 1%;
    height: 300px;
  }
  .mov video {
    max-width: 100%;
    height: 100%;
    margin: 0 auto;
  }
  .mov_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3%;
  }
  .mov_txtbox {
    text-align: center;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .mov_txt_ttl {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 2rem;
    font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
  }
  .mov_txt_ttl span {
    display: block;
    
  }
  .mov_txt {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
  }
  .trf {
    transform: translateY(20%);
  }
  .img {
    width: 28%;
    position: relative;
  }
  .batu {
    width: 2%;
  }
  .reason {
    padding: 3% 0;
  }
  .reason .h3_ttl {
    font-size: 3.8rem;
    text-align: center;
    padding-bottom: 3%;
  }
  .reason .h3_ttl span {
    display: block;
    color: #E3CB00;
    font-size: 1.6rem
  }
  .reason_bg {
    background: url("images/reason_bg.jpg") no-repeat center;
    background-size: cover;
    padding: 6% 0 10%;
  }
  .reason .flex {
    display: flex;
    justify-content: space-evenly;
    align-items: stretch;
  }
  .reasonBox {
    width: 34%;
    background: #FFFFFF;
    box-shadow: 2px 4px 10px -3px #777777;
    position: relative;
  }
  .reason_txtarea {
    padding: 8rem 4rem 12rem;
  }
  .reasonttl {
    font-size: 2.8rem;
    font-weight: 600;
    padding: 3rem 0;
    text-align: center;
    position: relative;
  }
  .reason_ttl {
    font-size: 2.8rem;
    font-weight: 400;
    margin-bottom: 3rem;
    padding-left: 11rem;
    position: relative;
  }
  .reason_ttl::before {
    content: "";
    position: absolute;
    top: 25%;
    left: 0;
    background: url("images/dog_icon01.png")no-repeat;
    width: 105px;
    height: 60px;
  }
  .reason_ttl span {
    display: block;
  }
  .reason_ttl02 {
    font-size: 2.8rem;
    font-weight: 400;
    margin-bottom: 3rem;
    padding-left: 11rem;
    position: relative;
  }
  .reason_ttl02::before {
    content: "";
    position: absolute;
    top: 25%;
    left: 0;
    background: url("images/cat_icon01.png")no-repeat;
    width: 80px;
    height: 68px;
  }
  .reason_ttl02 span {
    display: block;
  }
  .reason_flex {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 6rem;
  }
  .reason_flex::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url("images/reason_bg01.png") no-repeat center;
    width: 100%;
    height: calc(100% - 60px);
    z-index: -1;
  }
  .reason_flex02 {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 6rem;
  }
  .reason_flex02::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url("images/reason_bg02.png") no-repeat center;
    width: 100%;
    height: calc(100% - 60px);
    z-index: -1;
  }
  .reason_flex .medicalbtn, .reason_flex02 .medicalbtn {
    text-align: left;
  }
  .reason_flex .medicalbtn a, .reason_flex02 .medicalbtn a {
    padding: 2rem 14rem 2rem 2rem;
  }
  .reason_flex .img, .reason_flex02 .img {
    transform: translateY(-5%);
    width: 46%;
  }
  .reason_flex .txt, .reason_flex02 .txt {
    width: 42%;
    padding: 8rem 8rem 1rem 2rem;
  }
  .reason_flex .txt p {
    font-size: 1.6rem;
    margin-bottom: 3rem;
  }
  .rev .txt {
    padding-left: 10rem;
  }
  .dog::after {
    content: "";
    position: absolute;
    top: -3.8rem;
    left: 50%;
    transform: translateX(-50%);
    background: url("images/dog_icon01.png")no-repeat center;
    width: 105px;
    height: 60px;
    background-size: 80%;
  }
  .cat::after {
    content: "";
    position: absolute;
    top: -4rem;
    left: 50%;
    transform: translateX(-50%);
    background: url("images/cat_icon01.png")no-repeat center;
    width: 80px;
    height: 68px;
    background-size: 80%;
  }
  .reasontxt {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .reason_btn {
    position: absolute;
    bottom: -5%;
    left: 50%;
    transform: translateX(-50%);
    padding: 4rem 3.8rem;
    background: #333;
    color: #FFFFFF;
    font-size: 1.8rem;
    text-align: center;
    border-radius: 50%;
    outline: 1px solid #FFFFFF;
    outline-offset: -6px;
  }
  .reason_btn:hover {
    opacity: 0.6;
  }
  .h3_ttl {
    font-size: 3.8rem;
    text-align: center;
    font-weight: 600;
    margin-bottom: 3rem;
    font-family: "Zen Kaku Gothic New" , "Zen Maru Gothic", serif;
      position: relative;
  }
  .ttlbg01 {
    position: relative;
  }
  .ttlbg01::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url("images/ttlbg01.png") no-repeat center;
    width: 195px;
    height: 112px;
  }
  .h3_ttl span {
    font-size: 1.6rem;
    color: #E3CB00;
    line-height: 1.6;
    display: block;
    
  }
  .medical .h3_ttl {
    position: relative;
  }
  .medical .h3_ttl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    background: url("images/ttlbg02.png") no-repeat;
    width: 175px;
    height: 115px;
    transform: translateX(-38%);
    background-size: 80%;
  }
  .medical_container {
    width: 100%;
    max-width: calc(1700px + 6%);
    padding: 3rem 3%;
    margin: 0 auto;
  }
  .medical_ttl {
    font-size: 3.8rem;
    color: #FFFFFF;
    margin-bottom: 3rem;
    
  }
  .medical_ttl span {
    font-size: 1.6rem;
    display: block;
    
  }
  .medical_content {
    padding: 3% 0;
  }
  .flex .txt {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    width: 34%;
  }
  .flex .img {
    width: 34%;
    transform: translateY(30%);
  }
  .medical_content .flex {
    display: flex;
    justify-content: space-evenly;
    align-items: flex-start;
  }
  .medical_flex {
    display: flex;
    justify-content: space-evenly;
    align-items: stretch;
  }
  .medical_flex .txt {
    background: url("images/black_bg.png");
    background-size: cover;
    padding: 10rem 6rem 2rem;
    color: #FFFFFF;
    width: 50%;
    position: relative
  }
  .medical_flex .txt::before {
    content: "";
    position: absolute;
    width: 460px;
    height: 320px;
    background: url("images/str01.png")repeat left top / auto;
    left: 0;
    bottom: 0;
    z-index: 0;
  }
  .medical_flex .img {
    width: 50%;
  }
  .medical_flex .img img {
    height: 600px;
    width: 100%;
    object-fit: cover;
  }
  .medical .medicalbtn a {
    background: #333;
    border: 1px solid #FFFFFF;
    padding: 2rem 8rem 2rem 2rem;
  }
  .medicalbtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 6rem 2rem 2rem;
    color: #FFFFFF;
    background: #E3CB00;
    position: relative;
  }
  .medicalbtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/Icon-dropright.png") no-repeat center;
    width: 29px;
    height: 29px;
    background-size: 50%;
  }
  .medicalbtn {
    margin-top: 5rem;
    text-align: center;
  }
  .medical .medicalbtn {
    margin-top: 10rem;
  }
  .specialized {
    padding: 5% 0 3%;
  }
  .specialized .h3_ttl {
    position: relative;
  }
  .specialized .h3_ttl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url("images/ttlbg03.png")no-repeat;
    width: 200px;
    height: 96px;
  }
  .sub_ttl {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 6rem;
    
  }
  .sub_ttl span {
    border-bottom: 1px solid #E3CB00;
    padding: 1rem;
  }
  .center p {
    font-size: 1.8rem;
    font-weight: 400;
    text-align: center;
    line-height: 1.6;
    margin-bottom: 5rem;
  }
  .fl3 {
    width: 33.333333%;
    position: relative;
  }
	.fl3_s {
    width: 33.333333%;
    position: relative;
	margin-bottom:2rem;
	padding:1rem;
  }
    .op_flex
    {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: center;
    }
  .fl2 {
    width: 50%;
    position: relative;
  }
  .bnr_txt {
    position: absolute;
    top: 40%;
    left: 50%;
    box-sizing: border-box;
    font-size: 3rem;
    text-align: center;
    color: #FFFFFF;
    font-weight: 600;
    ;
    transform: translate(-50%, -50%);
  }
  .bnr_txt span {
    display: block;
    font-weight: 400;
    font-size: 1.6rem;
    
  }
  .bnr_txt::before {
    content: "";
    background: url("images/arrow02.png")no-repeat center;
    width: 115px;
    height: 22px;
    bottom: -8rem;
    left: 50%;
    position: absolute;
    transform: translate(-50%, 0);
  }
	.bnr_txt02::before {
  content: "";
  background: url("images/arrow02.png")no-repeat center;
  width: 115px;
  height: 22px;
  bottom: -4rem;
  left: 50%;
  position: absolute;
  transform: translate(-50%, 0);
}
.bnr_txt02 {
    position: absolute;
    top: 40%;
    left: 50%;
    box-sizing: border-box;
    font-size: 2rem;
    text-align: center;
    color: #FFFFFF;
    font-weight: 600;
    ;
    transform: translate(-50%, -50%);
  }
  .bnr_txt02 span {
    display: block;
    font-weight: 400;
    font-size: 1.6rem;
    
  }
  .service {
    padding: 3%;
  }
  .service .h3_ttl::before {
    content: "";
    background: url("images/ttlbg04.png")no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    width: 130px;
    height: 82px;
    transform: translateX(-50%);
  }
  .service .medical_flex .txt {
    padding: 10rem 0rem 0rem 10rem;
  }
  .service .medicalbtn a {
    background: #333;
    border: 1px solid #FFFFFF;
    padding: 2rem 12rem 2rem 4rem;
  }
  .service .medicalbtn {
    margin-top: 5rem;
    text-align: left;
  }
  .service_box {
    position: relative;
    text-align: center;
    max-width: 1400px;
    width: 90%;
    margin: 3rem auto;
  }
  .service_txt {
    position: absolute;
    right: 12%;
    top: 50%;
    transform: translateY(-50%);
  }
  .service_ttl {
    font-size: 2.8rem;
    font-weight: 600;
    color: #E3CB00;
    text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff;
    margin-bottom: 3rem;
  }
  .service_box p {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.8;
  }
  .service .fl3 {
    padding: 2rem;
  }
  .recruit .container {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
  }
  .deco {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .recruit_box {
    background: url("images/recruit_bg.png")no-repeat;
    padding:9vw 3rem 11vw;
    margin: 3rem auto;
	  background-size:contain;
  }
  .flex_recruit {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .r_ttl_box {
    font-size: 3.8rem;
    font-weight: 600;
    text-align: center;
    color: #FFFFFF;
    width: 20%;
    ;
    border-right: 1px solid #FFFFFF;
  }
  .r_ttl_box span {
    
    font-size: 1.6rem;
    display: block;
  }
  .r_txt_box {
    width: 45%;
    margin: 0 3rem;
    color: #FFFFFF;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
  }
  .r_txt_box p {
    line-height: 1.6;
  }
  .r_txt_ttl {
    font-size: 2.8rem;
    margin-bottom: 1rem;
    
  }
  .r_btn_box {
    width: 25%;
  }
  .r_btn_box .medicalbtn {
    margin-top: 0rem;
    text-align: center;
  }
  .recruit_box .medicalbtn a {
    font-size: 1.6rem;
    text-align: center;
    padding: 2rem 8rem 2rem 4rem;
    color: #333333;
    background: #FFFFFF;
    position: relative;
    border: 1px solid #333333;
  }
  .recruit_box .medicalbtn a::after {
    content: "";
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    background: url("images/icon_arrow_bl.png") no-repeat center;
    width: 9px;
    height: 17px;
    background-size: 80%;
  }
  .recruit .flex {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
  }
  .recruit .service .medicalbtn a {
    background: #FFFFFF;
    border: 1px solid #333333;
    padding: 2rem 12rem 2rem 4rem;
  }
  .recruit .flex .img {
    width: 45%;
    padding: 2rem;
    transform: translateY(0);
  }
  .recruit .txt {
    width: 45%;
    padding: 2rem;
  }
  .recruit .txt p {
    margin-bottom: 5rem;
  }
  .txt .flex {
    display: flex;
    justify-content: space-evenly;
    align-items: flex-end;
    flex-wrap: nowrap;
  }
  .recruit_ttl {
    font-size: 2.8rem;
    margin-bottom: 3rem;
    font-weight: 600;
  }
  .rec_btn {
    padding: 3rem 2.6rem;
    background: #333;
    color: #FFFFFF;
    font-size: 1.6rem;
    text-align: center;
    border-radius: 50%;
    outline: 1px solid #FFFFFF;
    outline-width: 1px;
    outline-offset: -6px;
    margin-right: 3rem;
    white-space: nowrap;
    display: block;
  }
  .rec_btn:hover {
    opacity: 0.6;
  }
  .rec_icon img {
    width: 80%;
  }
  .gallery {
    padding: 5%;
    background: url("images/gallery_bg.png") no-repeat;
    background-size: cover;
  }
  .gallery .h3_ttl::before {
    content: "";
    background: url("images/ttlbg05.png")no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    width: 144px;
    height: 58px;
    transform: translateX(-50%);
  }
  .slider img {
    width: 100%; /*スライダー内の画像を横幅100%に*/
    height: auto;
  }
  /*slickのJSで書かれるタグ内、スライド左右の余白調整*/
  .slider .slick-slide {
    margin: 0 10px; /*スライド左右の余白調整*/
  }
  .slick-track {
    display: flex !important;
    align-items: center;
  }
  .gmap {
    width: 100%;
    height: auto;
  }
  #footer {
    padding: 5% 0 0;
  }
  #footer .flex {
    display: flex;
    justify-content: space-around;
    align-items: center;
  }
  #footer .flex .img {
    width: 45%;
    padding: 0 1rem;
    transform: translateY(0);
  }
  #footer .infotxt {
    width: 54%;
    color: #333333;
  }
  .copy {
    text-align: center;
    padding: 1rem 0;
    background: #E3CB00;
    color: #FFFFFF;
    margin-top: 5rem;
  }
  .line {
    position: fixed;
    bottom: 10%;
    right: 3%;
    z-index: 999;
  }
  #footer .biz-hour th {
    border-top: 1px solid #333333;
  }
  #footer .biz-hour th, #footer .biz-hour td {
    padding: 2rem;
    text-align: center;
    /* ２番目以降の線 */
    /* 色はお好みで */
    border-bottom: 1px solid #333333;
    vertical-align: middle;
  }
  /*----------
    
    下層ページ
    
    ----------*/
  .h2_ttl {
    background: url("images/h2_bg.png")no-repeat center;
    background-size: cover;
    padding-top: 140px;
  }
  .h2_txt {
    font-size: 4.2rem;
    text-align: center;
    color: #FFFFFF;
    padding: 6rem 0 18rem;
    font-weight: 600;
  }
  .h2_ttl span {
    font-size: 1.6rem;
    display: block;
    color: #E3CB00; 
  }
    .h2_ttl02 {
    background: url("images/h2_bg02.png")no-repeat center;
    background-size: cover;
    padding-top: 140px;
  }
    .h2_ttl02 span {
    font-size: 1.6rem;
    display: block;
    color: #E3CB00; 
  }
  .u_container {
    max-width: calc(1200px + 6%);
    margin: 0 auto;
    padding: 3% 3% 5%;
  }
  .unh3_ttl {
    font-size: 3.8rem;
    font-weight: 600;
    margin-bottom: 5rem;
    text-align: center;
    padding: 2rem 0;
    position: relative;
    
  }
  .unh3_ttl span {
    font-size: 2rem;
    padding-left: 6rem;
    text-shadow: #333 1px 1px 0px, #333 -1px 1px 0px, #333 1px -1px 0px, #333 -1px -1px 0px;
    color: #fff;
    letter-spacing: 0.2em;
    font-family: 'Courgette', cursive , Cinzel, "serif";
  }
  .unh3_ttl::after {
    content: "";
    height: 3px;
    width: 40%;
    background: #E3CB00;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .ph_sub_ttl {
    font-size: 2.6rem;
    font-weight: 600;
    text-align: center;
    padding-bottom: 3rem;
    line-height: 1.8em;
    ;
  }
  .h4_ttl {
    font-size: 2.4rem;
    font-weight: 600;
    margin: 3rem 0;
    position: relative;
    padding: 0 0 1rem 4rem;
    border-bottom: 1px solid #CCCCCC;
    ;
  }
  .h4_ttl::after {
    content: "";
    position: absolute;
    top: 1rem;
    left: 0;
    height: 26px;
    width: 26px;
    background: url("images/h4_icon.png") no-repeat center;
  }
  .h5_ttl {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 3rem;
    padding-left: 3rem;
    position: relative;
    ;
  }
  .h5_ttl::after {
    content: "";
    background: url("images/icon-check.png") no-repeat center;
    position: absolute;
    top: 1rem;
    left: 0;
    width: 12px;
    height: 12px;
  }
  .fi_txt {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    width: 50%;
    padding: 1rem;
  }
  .fi_img {
    width: 46%;
    padding: 1rem;
    text-align: center;
  }
  .rev {
    flex-direction: row-reverse;
  }
  .medflex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 5rem 0;
  }
  .med_icon {
    width: 13%;
  }
  .t_box {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
  .medical_bnr {
    width: 30%;
    position: relative;
    margin-bottom: 3rem;
  }
  .medical_bnr img {
    width: 100%;
  }
  .medical_txt_box {
    background-color: rgba(0, 0, 0, 0.60);
    max-width: 80%;
    width: 100%;
    border: 1px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    color: #FFFFFF;
    padding: 15% 5%;
  }
  .medical_department {
    font-size: 2.8rem;
    margin-bottom: 1rem;
    font-weight: 600;
    text-align: center;
    ;
  }
  .medical_department span {
    display: block;
    font-size: 1.4rem;
    font-family: Cinzel, "serif";
  }
  .medical_ex {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .more_btn {
    padding: 2rem;
    background-color: rgba(255, 255, 255, 0.60);
    border: 1px solid #333333;
    font-size: 1.6rem;
    text-align: center;
    margin-top: 3rem;
  }
  .t20 {
    font-size: 2rem;
    margin-bottom: 3rem;
    line-height: 1.6;
  }
  .t18 {
    font-size: 1.8rem;
    margin-bottom: 3rem;
    line-height: 1.6;
  }
  .t16 {
    font-size: 1.6rem;
    margin-bottom: 3rem;
    line-height: 1.6;
  }
  .t14 {
    font-size: 1.4rem;
    margin-bottom: 3rem;
    line-height: 1.6;
  }
  /*アコーディオン全体*/
  .accordion-area {
    list-style: none;
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
  }
  .accordion-area li {
    margin: 10px 0;
  }
  .accordion-area section {
    border: 1px solid #ccc;
  }
  /*アコーディオンタイトル*/
  .title {
    position: relative; /*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size: 2rem;
    font-weight: normal;
    padding: 2%;
    transition: all .5s ease;
  }
  /*アイコンの＋と×*/
  .title::before, .title::after {
    position: absolute;
    content: '';
    width: 15px;
    height: 2px;
    background-color: #333;
  }
  .title::before {
    top: 48%;
    right: 15px;
    transform: rotate(0deg);
  }
  .title::after {
    top: 48%;
    right: 15px;
    transform: rotate(90deg);
  }
  /*　closeというクラスがついたら形状変化　*/
  .title.close::before {
    transform: rotate(45deg);
  }
  .title.close::after {
    transform: rotate(-45deg);
  }
  /*アコーディオンで現れるエリア*/
  .box {
    display: none; /*はじめは非表示*/
    background: #f3f3f3;
    margin: 0 3% 3% 3%;
    padding: 2%;
    font-size: 1.6rem;
  }
  .stepbar {
    position: relative;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
  }
  .stepbar li {
    position: relative;
    list-style: none;
    text-align: center;
    color: #333333;
    font-size: 2rem;
    font-weight: 600;
  }
  .stepbar li p {
    font-weight: 400;
    margin: 10px 40px;
    font-size: 1.6rem
  }
  .stepbar li:before {
    display: block;
    width: 18px;
    height: 18px;
    margin: 0.5em auto;
    content: "";
    text-align: center;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #000;
  }
  .stepbar li:after {
    position: absolute;
    z-index: -1;
    top: 1em;
    left: -50%;
    width: 100%;
    height: 1px;
    content: "";
    background-color: #000;
  }
  .stepbar li:first-child:after {
    content: none;
  }
  @media screen and (max-width: 960px) {
    .stepbar li p {
      margin: 10px 15px;
      font-size: 1.4rem;
    }
  }
  nav ul ul {
    display: block;
  }
  /*下の階層のulや矢印の基点にするためliにrelativeを指定*/
  nav ul li {
    position: relative;
  }
  /*ナビゲーションのリンク設定*/
  nav ul li a {
    display: block;
    text-decoration: none;
    transition: all .3s;
  }
  nav ul li li a {
    padding: 1rem;
  }
  nav ul li a:hover {}
  #headerNav ul ul {
    display: block;
  }
  #headerNav ul ul li::after {
    content: "";
    display: none;
  }
  #headerNav ul li li {
    padding: 1rem;
    font-size: 1.6rem;
  }
  #headerNav {
    position: relative;
    bottom: 0;
    width: 100%;
  }
  /*== 2・3階層目の共通設定 */
  /*下の階層を持っているulの指定*/
  nav li.has-child ul {
    /*絶対配置で位置を指定*/
    position: absolute;
    left: 0;
    top: 80px;
    z-index: 4;
    /*形状を指定*/
    background: rgba(255, 255, 255, 0.80);
    width: 240px;
    /*はじめは非表示*/
    visibility: hidden;
    opacity: 0;
    /*アニメーション設定*/
    transition: all .3s;
  }
  /*hoverしたら表示*/
  nav li.has-child:hover > ul, nav li.has-child ul li:hover > ul, nav li.has-child:active > ul, nav li.has-child ul li:active > ul {
    visibility: visible;
    opacity: 1;
  }
  /*ナビゲーションaタグの形状*/
  nav li.has-child ul li a {
    color: #333333;
    border-bottom: solid 1px rgba(0, 0, 0, 0.6);
  }
  nav li.has-child ul li:last-child a {
    border-bottom: none;
  }
  nav li.has-child ul li a:hover, nav li.has-child ul li a:active {
    background: #FFE100;
  }
  /*==3階層目*/
  /*3階層目の位置*/
  nav li.has-child ul ul {
    top: 0;
    left: 182px;
    background: #66ADF5;
  }
  nav li.has-child ul ul li a:hover, nav li.has-child ul ul li a:active {
    background: #448ED3;
  }
  /*==768px以下の形状*/
  @media screen and (max-width:768px) {
    nav {
      padding: 0;
    }
    nav ul {
      display: block;
    }
    nav li.has-child ul, nav li.has-child ul ul {
      position: relative;
      left: 0;
      top: 0;
      width: 100%;
      visibility: visible; /*JSで制御するため一旦表示*/
      opacity: 1; /*JSで制御するため一旦表示*/
      display: none; /*JSのslidetoggleで表示させるため非表示に*/
      transition: none; /*JSで制御するためCSSのアニメーションを切る*/
    }
    nav ul li a {
      border-bottom: 1px solid #ccc;
    }
    /*矢印の位置と向き*/
    nav ul li.has-child::before {
      left: 20px;
    }
    nav ul ul li.has-child::before {
      transform: rotate(135deg);
      left: 20px;
    }
    nav ul li.has-child.active::before {
      transform: rotate(-45deg);
    }
  }
  .res_flex {
    display: flex;
    justify-content: space-around;
    padding-bottom: 3rem;
  }
  .res_flex .txt {
    width: 46%;
    padding: 1rem;
  }
  .res_flex .txt p {
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 2rem;
  }
  .res_flex .img {
    width: 46%;
    padding: 1rem;
  }
  .fo18 {
    font-size: 1.8rem;
  }
  .fo-red {
    color: #990002;
  }
  .bold {
    font-weight: 600;
  }
  .bgg {
    width: 90%;
    padding: 5rem;
    background: #DCDCDC;
    font-size: 1.6rem;
    margin: 0 auto;
  }
  .disc ul {
    padding-bottom: 3rem;
  }
  .disc li {
    list-style: outside disc;
    line-height: 1.8;
    margin-left: 3rem;
  }
  .res2_flex {
    display: flex;
    justify-content: space-around;
  }
  .res2_flex .txt {
    width: 60%;
    padding: 1rem;
  }
  .res2_flex .img {
    width: 30%;
    padding: 1rem;
  }
  .res2_flex .txt p {
    font-size: 1.6rem;
    line-height: 1.6;
    margin: 2rem;
  }
  .clinicname {
    font-size: 1.8rem;
    font-weight: 400;
    margin-bottom: 1rem;
  }
  .name {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #CCCCCC;
  }
  .name span {
    font-size: 1.4rem;
    font-weight: 400;
    color: #E3CB00;
    margin-left: 3rem;
  }
  .doc_flex {
    display: flex;
    justify-content: space-around;
    margin: 3rem 0;
  }
  .ali_center {
    align-items: center;
  }
  .doc_flex .txt {
    width: 60%;
    padding: 1rem;
  }
  .doc_flex .img {
    width: 35%;
    padding: 1rem;
  }
  .car_flex {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    flex-wrap: wrap;
    margin-bottom: 3rem;
  }
  .career {
    width: 48%;
    padding: 1rem;
    background: #EEEEEE;
    margin-bottom: 3rem;
  }
  .career_box {
    background: #EEEEEE;
    padding: 3rem 2rem;
    font-size: 1.6rem;
  }
  .car_ttl {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid #CCCCCC;
  }
  .career_box ul li {
    display: flex;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px dashed #333333;
  }
  .career_box ul li dt {
    width: 32%;
  }
  .career_box .disc li {
    list-style: disc;
    margin-left: 3rem;
    line-height: 1;
  }
  .between {
    justify-content: space-between;
  }
  .staff_flex {
    display: flex;
    justify-content: flex-start;
  }
  .staff_flex .img {
    width: 30%;
    padding: 2rem;
  }
  .flexbase {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
  }
  .flexbase .img {
    width: 38%;
    padding: 1rem;
  }
  .flexbase .txt {
    width: 58%;
    padding: 1rem;
  }
  .txt .h4_ttl {
    margin-top: 0;
  }
  .flow > li {
    position: relative;
  }
  .flow > li:not(:last-child) {
    margin-bottom: 40px;
  }
  .flow > li:not(:first-child)::before {
    content: "";
    height: 60px;
    display: block;
    border-left: 4px dotted #e5e5e5;
    position: absolute;
    top: -40px;
    left: -webkit-calc(10% + 30px - 2px);
    left: calc(10% + 30px - 2px);
    z-index: 10;
  }
  .flow > li dl {
    width: 100%;
    padding: 5rem 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 2px solid #E3CB00;
    border-radius: 10px;
    position: relative;
  }
  .flow > li:not(:last-child) dl::before, .flow > li:not(:last-child) dl::after {
    content: "";
    border: solid transparent;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .flow > li:not(:last-child) dl::before {
    border-width: 22px;
    border-top-color: #E3CB00;
  }
  .flow > li:not(:last-child) dl::after {
    border-width: 20px;
    border-top-color: #fff;
  }
  .flow > li dl dt {
    font-size: 20px;
    font-weight: 600;
    color: #E3CB00;
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    margin-right: 2vw;
    text-align: center;
  }
  .flow > li dl dt .icon {
    font-size: 12px;
    color: #fff;
    background: #E3CB00;
    background: -moz-linear-gradient(left, rgba(51, 51, 51, 1) 0%, rgba(0, 0, 0, 1) 100%);
    background: -webkit-linear-gradient(left, rgba(51, 51, 51, 1) 0%, rgba(51, 51, 51, 1) 100%);
    background: linear-gradient(to right, rgba(51, 51, 51, 1) 0%, rgba(0, 0, 0, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#000000', GradientType=1);
    padding: 5px 10px;
    margin-bottom: 10px;
    display: block;
    border-radius: 20px;
    position: relative;
    z-index: 100;
  }
  .flow dd {
    font-size: 1.6rem;
  }
  .common_tbl2 {
    width: 100%;
    border: solid 1px #dddddd;
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 3rem;
  }
  .tbl_w25 th {
    width: 25%;
  }
  .common_tbl2 th {
    text-align: left;
    vertical-align: middle;
    padding: 2rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    background-color: #f8f8f8;
  }
  .common_tbl2 td {
    text-align: left;
    vertical-align: middle;
    padding: 2rem;
    border: solid 1px #dddddd;
  }
  .cat_flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
  }
  .cat_box {
    padding: 2rem;
    width: 30%;
    margin: 1rem;
    border: 1px solid #333333;
    box-shadow: 8px 8px 25px -10px #777777;
  }
  .num {
    font-size: 1.8rem;
    font-weight: 400;
    color: #E3CB00;
    font-family: 'Raleway', sans-serif;
    margin-bottom: 2rem;
    text-align: center;
  }
  .cat_box_ttl {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 2rem;
  }
  .h2_mv {
    width: 100vw;
    height: 100%;
    margin-bottom: 3rem;
	  position:relative;
  }
  .general_img {
    text-align: center;
    margin: 3rem;
  }
  .ge_stepbar {
    margin: 0 auto;
    width: 80%;
  }
  .ge_stepbar .stepbarwrap {
    margin: 4em 0;
    position: relative;
  }
  .ge_stepbar .stepbarwrap .steptitle {
    display: inline-flex;
    align-items: center;
    width: 100%;
  }
  .ge_stepbar .stepbarwrap .steptitle .stepcircle {
    display: inline-block;
    width: 8em;
    height: 8em;
    content: "";
    border-radius: 50%;
    color: #E3CB00;
    text-align: center;
    border: 1px solid #E3CB00
  }
  .ge_stepbar .stepbarwrap .steptitle .stepcircle span {
    display: inline-block;
    line-height: 1.2em;
    font-size: 1.6rem;
    font-weight: bold;
    position: relative;
    top: 1.8em;
    font-family: 'Raleway', sans-serif;
  }
  .ge_stepbar .stepbarwrap .steptitle .ge_title {
    margin: 0.5em;
    font-weight: bold;
    font-size: 2rem;
  }
  .ge_stepbar .stepbarwrap .steptxt {
    padding-left: 2.5em;
    width: 80%;
  }
  .ge_stepbar .stepbarwrap .steptxt .txt {
    font-size: 1.6rem;
  }
  .ge_stepbar .stepbarwrap .stepline {
    width: 1px;
    height: calc(100% - 4em);
    background-color: #E3CB00;
    position: absolute;
    top: 8em;
    left: 4em;
    z-index: -1;
  }
  .stepbarwrap:last-of-type .stepline:last-of-type {
    display: none;
  }
  @media screen and (max-width: 960px) {
    .ge_stepbar {
      width: 90%;
    }
  }
  .bg_box {
    background: #EEEEEE;
    padding: 3rem;
    margin-bottom: 2rem;
  }
  .bg_box .ph_sub_ttl {
    border-bottom: 1px solid #CCCCCC;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
  }
  .p11_01_tbl2 {
    width: 100%;
    border: solid 1px #dddddd;
  }
  .p11_01_tbl2 .ttl {
    vertical-align: middle;
    padding: 1rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    background-color: #efefef;
    text-align: center;
    font-size: 1.6rem;
  }
  .p11_01_tbl2 td {
    text-align: center;
    vertical-align: middle;
    padding: 1rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    width: 30%;
    font-size: 1.6rem;
  }
  .p11_01_tbl2 th {
    vertical-align: middle;
    padding: 1rem;
    border-bottom: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    background-color: #f8f8f8;
    text-align: center;
    font-size: 1.6rem;
  }
  .clinic_flex {
    display: flex;
    flex-wrap: wrap;
  }
  .clinic_flex .img {
    width: 33.33333%;
    padding: 1rem;
    margin-bottom: 2rem;
  }
  .t_center {
    text-align: center;
  }
  .page_title {
    position: relative;
  }
  .page_title #headerNav {
	position: relative;
	bottom: 0;
	width: 100%;
  }
    .price_flex
    {
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        padding: 5% 0;
    }
    .price_flex .txt
    {
        width: 48%;
    }
		.info_flex
	{
		display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
		  margin-bottom: 6rem;
	}
	.news_imgbox img {
  width: 100%;
  object-fit: cover;
		height: 154px;
}
	.imgbox {
    width: 30%;
    margin-bottom: 3rem;
}
	
}
