@charset "UTF-8";
/*
Theme Name: レスポンシブテンプレート
Theme URI: 
Description: サインズ
Version: 1.0
Author: sains
Author URI: 
*/

/******************
画像位置ぞろえ[共通]
******************/
.nextFade .animation-bg {
	background: #fff;
  	content: "";
  	position: fixed;
  	z-index: 999;
  	top: 0;
  	left: 0;
  	width: 100%;
 	height: 100vh;
  	animation-name: PageAnime-fade;
  	animation-duration: 0.2s;
  	animation-delay: 0.4s;
  	animation-timing-function: ease-in-out;
  	animation-fill-mode: forwards;
  	pointer-events: none;
}
@keyframes PageAnime-fade {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    display: none;
  }
}

@keyframes fadein {
  from {
    opacity: 0;
	transform: translateY(10px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}
img.aligncenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

img.alignright{
	margin-left: auto;
	display:block;
}

img.alignleft{
	text-align: left;
}

/******************
オールクリア[共通]
******************/

body,div,pre,p,blockquote,
form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
table,th,td,embed,object{
	margin: 0;
	padding: 0;
}

:root {
  	--basecolor: #323232;
  	--themecolor: #39b259;
	--hovercolor: #9ace49;
	--btncolor: #e2eed3;
	--circlecolor:#bfe589;
	--enLg: "Shippori Mincho", serif;
}

html{
	scroll-behavior: smooth;
	 font-size: 62.5%; 
	scroll-padding-top: 70px;
}
body{
	font-family: "Noto Sans JP", "Noto Serif JP", "Shippori Mincho", 'ヒラギノ角ゴシック','Hiragino Sans','メイリオ','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Osaka' ,'Yu Gothic','Arial', sans-serif , serif;
	font-size:1.6rem;
	color:var(--basecolor);
	font-weight:400;
	line-height:3.2rem;
	-webkit-text-size-adjust: 100%;
	word-break:break-all;
	letter-spacing: 1px;
	-webkit-text-size-adjust: 100%;
	word-break:break-all;
 	-webkit-font-smoothing: antialiased;
	-webkit-font-smoothing: subpixel-antialiased;
	scroll-behavior: smooth;
	background:#fefff5;
	position:relative;
}
img{
	border:none;
	vertical-align:bottom;
	max-width:100%;
	height:auto;
	-webkit-backface-visibility: hidden;
}
li{
	list-style-type:none;	
}
a{
	backface-visibility: hidden; 
	color:#1a1a1a;
	text-decoration:none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
a:hover{
	color:var(--themecolor);
	text-decoration:underline;
}
a img{
    -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
		outline:none;
		box-shadow: #000 0 0 0;
}
a:hover img{
	opacity:0.7;
	-moz-opacity:0.7;
	-webkit-opacity:0.7;
}
table{
	border-collapse:collapse;
	border-color: #333333;
}

th{
	font-weight:500;
}

td{
	vertical-align:top;
}
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 1s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.fadeIn_only {
  opacity: 0;
  transition: opacity 2s ease;
}
.fadeIn_only.is-show {
  opacity: 1;
}
.fadeIn_up_naka {
  opacity: 0;
  transform: translate(0, 10%);
  transition: 1s;
}
.fadeIn_up_naka.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.pc{
	display:block!important;
}
.sp{
	display:none!important;
}
.grecaptcha-badge{
	display:none;
}
@media screen and (max-width: 1000px) {
body{
	font-size:1.6rem;
	line-height:3rem;
}
}
@media screen and (max-width:900px) {
 html {
    scroll-behavior: auto;
  }
}
@media screen and (max-width: 781px) {
.pc{
	display:none!important;
}

.sp{
	display:block!important;
}
.heiSmt50{
	height:50px!important;
}
}


/******************
汎用[共通]
******************/

.float_left{
	float:left;
}

.float_right{
	float:right;
}

.clear{
	clear:both;
	height:40px;
}

.cenclear{
	clear:both;
	text-align:center;
	padding-top:30px;
}

.txt_center{
	text-align:center;
}
.resizeimage{
	width:100%;
}
.button{
	width:600px;
	margin:0 auto;
}
.button a{
    display: inline-block; 
  	color: #c1282d;
  	background: #fff;
  	padding: 30px 0 27px 0;
  	text-decoration: none;
	transition: .3s;
	border:3px solid #c1282d;
	text-align:center;
	width:100%;
	font-size:125%;
}
.button a:hover {
  background: #c1282d;
  color:  #fff;
	border:3px solid #c1282d;
}
.button a span{
	padding-right:2%;
}
@media screen and (min-width: 851px)  and (max-width: 1200px) {
.button{
	width:70%;
}
}
@media screen and (max-width: 850px) {
.button{
	width:80%;
}
.button a{
  	padding: 23px 0 20px 0;
	font-size:115%;
}
.clear{
	height:30px;
}
}


/******************
ヘッダー【トップ＋コンテンツ共通】[PC+タブレット]
******************/
.header {
  	transition: box-shadow 0.3s ease;
	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
  	z-index: 1000;
}
.headerUp{
	width:100%;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	padding:15px 0;
	border-bottom:1px solid #c9c9c9;
}
.headerUpL{
	width: 100%;
  	max-width: 420px;
	transition:0.3s ease;
	margin:0 0 0 2%;
}
.header-logo {
    display: block;
  	width: 420px;
    margin: 0;
    transition: width 0.3s ease, height 0.3s ease;
	will-change: height,background-color;
	backface-visibility: hidden;
}
.header-logo img{
	width: 100%;
    height: auto;
    display: block;
	transition: width 0.3s ease;
}
.headerUpR{
	display:flex;
	width:330px;
	justify-content:space-between;
	align-items:center;
}
.headerUpSns{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:7px;
}
.headerTelWrapper{
	margin:0 2% 0 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	z-index: auto;
	transition:0.3s ease;
	border:1px solid var(--basecolor);
	border-radius:30px;
	padding:7px 5% 9px 5%;
	box-sizing:border-box;
	line-height: 1;
	width:235px;
}
.headerTel {
  	display: flex;
  	align-items: center; 
  	gap: 10px;
  	white-space: nowrap;
	line-height: 1;
}
.headerTelIcon img {
  	display: block;
	transform: translateY(2px);
}
.headerTelNo{
	font-size:2.2rem;
	letter-spacing:0.3rem;
	line-height: 1;
}
.headerNakaWrapper{
	width:100%;
	margin: 0 auto;
	z-index: 999;
  	transition: 0.3s ease;
	position: sticky;
  	top: 0;
	transition: 0.3s ease;
}
.headerNakaWrapper.is-fixed {
  	position: fixed;
  	top: 0;
  	left: 0;
  	width: 100%;
	background:rgba(254,255,245,.95);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.headerNaka{
	width: 100%;
	max-width:1100px;
  	margin: 0 auto;
  	display: flex;
  	align-items: center;
  	justify-content: space-between;
  	z-index: auto;
	transition:0.3s ease;
	padding:15px 0;
}
.headerR{
	width: 100%;
}
.headerRM{
	width: 100%;
	display: flex;
  	align-items: center;
  	justify-content: space-between;
	 position: relative;
  	z-index: auto;
	transition:0.3s ease;
	overflow: visible
}
.headerPc{
	display:block;
	position: relative;
  	z-index: auto;
}
.headerRSp{
	display:none;
}
.header-nav{
	width: 100%;
  	max-width: 100%;
	 position: relative;
  	z-index: auto;
	overflow: visible
}
.header-list {
  	display: flex;
  	justify-content: space-between;
	 position: relative;
  	z-index: auto;
	overflow: visible
}
.header-item {
  	transition:.3s;
	position:relative;
  	z-index: auto;
	overflow: visible
}
.header-item:hover {
  	/*background-color: #fff;*/
}
.header-list li a{
  	color: var(--basecolor);
	transition:.3s;
	font-size:1.75rem;
	position: relative;
  	display: inline-block;
	text-shadow: 0 0 2px #fff, 0 0 6px #fff
}
.header-list li a::after {
  	content: "";
  	position: absolute;
  	left: 50%;
  	bottom: -2px;
  	width: 0;
  	height: 2px;
  	background: var(--themecolor);
  	transition: .3s ease;
  	transform: translateX(-50%);
}
.header-list li a:hover{
  	text-decoration:none;
}
.header-list li a:hover::after {
  width: 100%;
}
.header-item a {
  	color: var(--basecolor);
  	display: block;
  	padding:0;
	transition:.3s;
	font-size:1.7rem;
}
.header-item a:hover {
  	color:var(--themecolor);
	text-decoration:none;
}
.megaMenu {
	background-color:#fff;
  	height: 0;
	left:0;
  	overflow: hidden;
  	position: absolute;
  	text-align: center;
  	transition: height .3s;
  	width: 280px;
  	max-width: 280px;
	margin:auto;
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);
	-moz-box-shadow:0px 5px 10px 0px rgba(0, 0, 0, 0.3);
	-webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3);
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	 z-index: 120;
}
.megaMenuNaka{
	width:90%;
	max-width:90%;
	margin:0 auto;
}
.megaMenu-list{
	position:relative;
}
.megaMenu-list li{
	border-bottom:1px solid #f2f2f2;
}
.megaMenu-list li:last-child{
	border-bottom:none;
}
.megaMenu-list a{
	color:var(--basecolor);
  	display:block;
	width:98%;
	font-size:1.6rem!important;
	z-index: 1;
	position: relative;
	padding: 10px 0;
	transition:.3s;
	text-align:left;
}
.megaMenu-list a::before {
  	font-family: 'Material Icons';
  	content:'\e5c8';
  	transition: 0.3s;
  	position: absolute;
  	right: 4%;
  	top: 23%;
  	color:var(--themecolor);
	font-size:1.8rem;
	transition:.3s;
}
.megaMenu-list a::after {
	display:none;
}
.megaMenu-list a:hover::before {
  	right: 2%;
}
.megaMenu-item {
    position: relative;
}
.megaMenu-item .sub-submenuNaka {
    position: absolute;
    top: 0;
    left: 105%;
    z-index: 9999;
    background: #fff;
    display: none;
    width: 220px;
    border: 1px solid #eee;
}
.header-item:hover .megaMenu, .megaMenu:hover {
  	height: auto;
  	overflow: visible;
  	padding: 5px 0 0 0;
}
.megaMenu .sub-submenu {
  	position: absolute;
  	top: 0;
  	left: 100%;
  	z-index: 10;
}
#dropmenu li ul {
  	list-style: none;
  	position: absolute;
  	z-index: 100;
  	top: 100%;
  	left: 0;
  	width: 100%;
  	margin: 0;
  	padding: 0;
}
#dropmenu li ul li {
  	overflow: hidden;
  	width: 100%;
  	height: 0;
  	color: #fff;
  	transition: .2s;
}
#dropmenu li ul li a {
  	padding: 13px 15px;
  	background: #7c8c0e;
  	text-align: left;
  	font-size: 12px;
  	font-weight: normal;
}
.header-item:hover .megaMenu {
  	height: auto;
  	padding: 5px 0 0 0;
}
.c-menu{
	display:none;
}
@media screen and (max-width: 1300px) {
.header-list li a{
	text-shadow: 0 0 18px rgba(255, 255, 255, 1);
}
}
@media screen and (max-width: 1200px) {
.headerNaka{
	width: 86%;
	max-width:86%;
}
}
@media screen and (max-width: 1000px) {
.header-list li a{
	font-size:1.7rem;
}
}
@media screen and (max-width: 900px) {
.headerNakaWrapper.is-fixed {
  	display:none;
}
.headerRSp{
  	display: block;
}
.headerRSp > *{
  width: 25%;
  text-align: center;
}
.headerRM{
	display:none;
}
.headerUpR{
    display:none;
}
.spBottomNav{
    position: fixed;
	bottom:0;
    left: 0;
    width: 100%;
    height: 64px;
    background: #5aa391;
    display: flex;
    z-index: 12000;
	align-items: center;
}
.spNavItem{
    width: 25%;
	height: 100%; 
    display: flex;
    flex-direction: column;
  	justify-content: center;
  	align-items: center;
    text-decoration: none;
    color: #fff;
    font-size: 1.3rem;
    border-right: 1px solid rgba(255,255,255,0.3);
    background: transparent;
	background: #5aa391;
}
.spNavItem:last-child{
    border-right: none;
}
.spNavItem .label{
  font-size: 1.3rem;
  line-height: 1;
  margin: 0;
  display: block;
}
.spNavItem .icon{
  	width: 20px;
  	height: 20px;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	margin-bottom: 6px;
	line-height: 0;
}
.spNavItem .icon img{
  	display: block;
}
.spBottomNav a:hover{
	background:#1d7754;
	text-decoration:none;
	color:#fff;
}
.spBottomNav a:hover .spNavItem .icon img{
  	opacity:1!important;
	-moz-opacity:1!important;
	-webkit-opacity:1!important;
}
.sp-menu-btn_03 .label{
	padding:16px 0 0 0;
}
.sp-menu-btn_03{
  	background: transparent;
  	border: none;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	justify-content: center;
  	cursor: pointer;
	 padding: 0;
  	margin: 0;
  	line-height: 1;
  	font: inherit;
  	color: #fff;
  	padding: 0;
  	margin: 0;
  	appearance: none;
  	-webkit-appearance: none;
}
.hamburger{
  	 display: flex;
  	flex-direction: column;
  	justify-content: center;
  	align-items: flex-start;
  	gap: 5px;
	transform: translateY(7px);
}
.hamburger .line{
  	height: 2px;
  	background: #fff;
  	transition: 0.3s ease;
}
.hamburger .line1{
  	width: 20px;
}
.hamburger .line2{
   width: 14px;
}
.sp-menu-btn_03:hover{
	background:#1d7754;
	text-decoration:none;
	color:#fff;
}
.sp-menu-btn_03.active .hamburger{
  position: relative;
}
.sp-menu-btn_03.active .line1{
  transform: translateY(3.5px) rotate(45deg);
  width: 20px;
}
.sp-menu-btn_03.active .line2{
  transform: translateY(-3.5px) rotate(-45deg);
  width: 20px;
}
.headerRSpMenu {
   z-index: 10000;
    position: fixed;
    left: 0;
    background: #fff;
	inset: 0;
    width: 100%;
    height: calc(100dvh - 64px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
    opacity: 0;
    transform: translateY(0);
    transition: opacity 0.3s ease, top 0.3s ease;
    pointer-events: none;
}
.headerRSpMenu.active {
    top: 0;
    opacity: 1;
    pointer-events: auto;
}
.headerRSpMenuNaka {
  	height: auto; 
  	top: 0;
  	left: 0;
  	width: 100%;
  	background-color: #fff;
  	z-index: 999; 
}
.header__navi_03 ul {
  	padding: 50px 0;
  	text-align: left;
	width:80%;
	margin:0 auto;
}
.header__navi_03 li {
  	list-style: none;
}
.header__navi_03 li a {
  	color: var(--basecolor);
	display:block;
	text-align:left;
  	text-decoration: none;
	border-bottom:1px solid #e5e5e5;
	display:block;
	padding:12px 0;
	font-weight:500;
	font-size:1.6rem;
	position:relative;
}
.header__navi_03 li:first-child a{
  	padding:0 0 20px 0;
}
.header__navi_03 li:nth-child(2) a.active , .header__navi_03 li:nth-child(3) a.active{
	border-bottom:none;
}
.header__navi_03 li:last-child a::before {
  	list-style: none;
}
.header-item.recruit-link a {
    display: block;
}
.accBtn:after {
	font-family: 'Material Icons';
  	content:'\e313';
  	transition: 0.3s;
  	position: absolute;
  	right: 1%;
  	top: 26%;
  	color:var(--themecolor);
	font-size:2rem;
	transition:.3s;
}
.accBtn.active:after{
	content:'\e316';
     -ms-transform: rotate(360deg);
     -webkit-transform: rotate(360deg);
     transform: rotate(360deg);
	color:var(--themecolor);
}
.spSubMenu {
	display: none;
}
.spSubMenu ul{
	padding:0 0 0 2%!important;
	width:98%!important;
}
.spSubMenu ul li:first-child{
	padding:5px 0 0 0;
}
.spSubMenu ul li a{
	width:94%;
	font-size:1.5rem!important;
	padding: 7px 2%  7px 15px;
	border-bottom:none;
	color:var(--basecolor);
	position:relative;
}
.spSubMenu ul li:first-child a{
	padding: 7px 2%  7px 15px!important;
}
.spSubMenu ul li a::before{
	content: "";
  	display: inline-block;
  	width: 10px;
  	height: 2px;
  	background-color: var(--themecolor);
  	position: absolute;
  	top: 50%;
  	left: 0;
}
.spMenuSns{
	display:flex;
	width:100%;
	justify-content:center;
	align-items:center;
	gap:20px;
	padding:0 0 40px 0;
}
.spMenuSnsOne{
	width:100%;
	max-width:55px;
}
.spMenuSnsOne img{
	width:100%;
	max-width:100%;
	border-radius:7px;
}
}

@media screen and (max-width: 640px) {
.headerUpL{
  	max-width: 380px;
}
.header-logo {
  	width: 380px;
}
.sp-menu-btn_03 {
     right: 1px;
     top: 4px;
}
.header__navi_03 ul {
  	padding: 30px 0;
	width:84%;
}
.accBtn:after {
  	top: 20%;
}
}

@media screen and (max-width: 480px) {
.header {
    height: 60px;
    min-height: 60px;
}
.headerLSub {
    display:none;
}
.headerUpL{
  	max-width: 340px;
}
.header-logo {
  	width: 340px;
}
.sp-menu-btn_03 .label{
	width:100%;
}
}

@media screen and (max-width: 400px) {
.headerUpL{
  	max-width: 320px;
}
.header-logo {
  	width: 320px;
}
.sp-menu-btn_03 span {
    width: 36px;
	font-size: 1.15rem;
}
.hamburger{
	width:auto!important;
}
}
@media screen and (max-width: 340px) {
.headerUpL{
  	max-width: 280px;
}
.header-logo {
  	width: 280px;
}
.sp-menu-btn_03 .label{
	font-size:1.2rem;
}
}

/******************
コンテンツボックス[共通]
******************/
#wrapperTop{
	width:100%;
	margin:0 auto;
}
#wrapperTop .main {
    width:94%;
	max-width:1200px;
	margin:0 auto;
	padding:90px 0;
}
#wrapperTop .mainInfo{
	width:100%;
	margin:0 auto;
	position: relative;
}
#wrapperTop .mainInfo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(./images/top/top-bg.webp) no-repeat left top;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #fefff5 30%, #fefff5 85%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #fefff5 30%, #fefff5 85%, transparent 100%);
  z-index: 1;
}
#wrapperTop .contents{
	width:100%;
	margin:0 auto;
	clear:both;
	position:relative;
	z-index:1;	
}
#wrapper{
	width:100%;
	margin:0 auto;
	position:relative;
}
#wrapper::before {
  	content: "";
  	position: absolute;
  	inset: 0;
  	background: url(./images/common/h2-bg.png) no-repeat left top;
  	-webkit-mask-image: linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%);
  	mask-image: linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%);
  	z-index: 1;
	pointer-events: none;
}
#wrapper .contents {
	width:100%;
	margin:0 auto;
	clear:both;
	position:relative;
	z-index:1;
	padding:135px 0 0 0;
}
#wrapper .contents::after {
  	content: "";
  	position: absolute;
  	left: 0;
  	right: 0;
  	bottom: 0;
  	height: 620px; 
  	background: url(./images/common/contents-bg.png) no-repeat left top;
  	-webkit-mask-image: linear-gradient(to bottom,transparent 0%,#000 20%,#000 100%);
  	mask-image: linear-gradient(to bottom,transparent 0%,#000 20%,#000 100%);
  	z-index: -1;
}
#wrapper .main  {
    width:90%;
	max-width:1200px;
	margin:0 auto;
	padding:0 0 60px 0;
	position:relative;
}
@media screen and (max-width: 1500px) {
#wrapperTop .main  {
    width:90%;
	max-width:90%;
	padding:70px 0;
}
}
@media screen and (max-width: 1340px) {
#wrapperTop .main {
	max-width:90%;
	padding:60px 0;
}
}
@media screen and (max-width: 900px) {
#wrapper .contents {
	padding:70px 0 0 0;
}
}
@media screen and (max-width: 800px) {
#wrapperTop{
	overflow:hidden;
}
#wrapperTop .main {
	padding:40px 0;
}
}
@media screen and (max-width: 640px) {
#wrapperTop .main {
	max-width:86%;
}
#wrapper .main  {
    width:86%;
	max-width:86%;
	padding:0 0 40px 0;
}
#wrapperTop .contentsTopRec{
	padding:60px 0 5px 0;
}
}

/******************
診療時間
******************/
.shinryoTime{
	width:100%;
	margin:0 auto;
	position:relative;
	display:flex;
	justify-content:space-between;
}
.spTxt{
	display:none;
}
.shinryoTimeL{
	width:60%;
}
.shinryoTimeR{
	width:34%;
}
.clinicTableWrap {
  overflow-x: auto;
}
.clinicTable {
  	width: 99%;
  	border-collapse: separate;
  	border-spacing: 0;
  	border-radius: 20px;
  	overflow: hidden;
  	background: #fff;
  	box-shadow: 3px 3px 6px 0 rgba(0,0,0,.15);
	margin:0 1% 20px 0;
	table-layout: fixed;
}
.clinicTable th,
.clinicTable td {
  	padding: 14px 10px;
  	text-align: center;
  	border-right: 1px solid #bb9e76;
  	border-bottom: 1px solid #bb9e76;
}
.clinicTable th:first-child,
.clinicTable td:first-child {
  		width: 25%;
}
.clinicTable th:not(:first-child),
.clinicTable td:not(:first-child) {
  	width: calc(75% / 7);
}
.clinicTable tr th:last-child,
.clinicTable tr td:last-child {
  	border-right: none;
}
.clinicTable tr:last-child td {
  	border-bottom: none;
}
.clinicTable__head th {
  	background: #ece4d9;
  	font-weight: 500;
}
.clinicTable__time {
  	background: #fff;
  	text-align: left;
  	padding-left: 20px;
  	font-weight: 500;
}
.clinicTable__time br{
	display:none;
}
.is-sat {
  	background: #cfdab8;
}
.is-sun {
  	background: #f3d7a7;
}
.is-open {
  	color: #86b34d;
  	font-weight: 600;
  	font-size: 1.6rem;
}
.is-close {
  	color: #323232;
}
.tsKyusyin{
	color:#39b259;
	font-size:1.7rem;
	margin:0 auto 10px auto;
}
.tk0{
	margin:0 auto;
}
.tsKyusyinUnder{
	text-indent:-1.0em;
	padding:0 0 0 15px;
}
.tsKyusyinUnder span{
	font-size:1.8rem;
	font-weight:600;
}
.tsKyusyinUnder a{
	text-decoration:underline;
	color:#39b259;
}
.shinryoYoyaku{
	width:100%;
	margin:0 auto;
	overflow:hidden;
}
.shinryoYoyaku a {
  	display: flex;
  	align-items: center;
  	gap: 12px;
  	text-decoration: none;
	border:3px solid #f9c86e;
	background:#fff;
	box-shadow: 3px 3px 6px 0 rgba(0,0,0,.15);
	width:88%;
	margin:8px 1% 13px 1%;
	box-sizing:border-box;
	padding:15px 5%;
	border-radius:15px;
	font-size:2rem;
	color:#f6892d;
	transition: all 0.3s ease;
  	position: relative;
	letter-spacing:0.2rem;
}
.shinryoYoyaku:nth-child(2) a {
	border:3px solid #9cc469;
	color:#72ab29;
	letter-spacing:0;
}
.shinryoYoyakuIcon {
  	width: 40px;
  	flex-shrink: 0;
  	display: flex;
  	justify-content: center;
}
.shinryoYoyakuIcon img {
  	max-width: 100%;
  	height: auto;
  	display: block;
}
.shinryoYoyakuTxt{
	flex: 1;
  	text-align: center;
  	white-space: nowrap;
}
.shinryoYoyaku a:hover{
	text-decoration:none;
	transform: translateY(-3px);
	box-shadow: 6px 6px 12px rgba(0,0,0,0.2);
	background:#fceacd;
}
.shinryoYoyaku:nth-child(2) a:hover{
	background:#dff2c4;
}
.shinryoYoyaku a:hover .shinryoYoyakuIcon img {
	opacity:1!important;
	-moz-opacity:1!important;
	-webkit-opacity:1!important;
}
@media screen and (max-width:1250px) {
.clinicTable__head th {
  	font-size:1.4rem;
	padding:10px;
}
.clinicTable__head th.is-sun {
	letter-spacing: -0.05rem;
}
.clinicTable__time {
  	font-size:1.5rem;
	letter-spacing: -0.05rem;
}
}
@media screen and (max-width:1060px) {
.shinryoTime {
    display:block;
}
.shinryoTimeL {
    width: 100%;
	margin:0 auto 30px auto;
}
.shinryoTimeR {
    width: 100%;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	gap:10px;
}
.shinryoYoyaku {
    width: 49%;
}
.shinryoYoyaku a {
	box-sizing:border-box;
	width:95%;
	margin:10px 1%;
	padding:16px 5%;
	border-radius:10px;
	font-size:1.9rem;
}
}
@media screen and (max-width:800px) {
.clinicTable__head th {
    padding:7px 5px;
}
.clinicTable td {
    padding: 10px 5px;
}
.shinryoTimeR {
	margin:0 auto 30px auto;
}
.shinryoTimeR {
	display:block;
	gap:unset;
}
.shinryoYoyaku {
    width: 98%;
	margin:0 auto;
}
}
@media screen and (max-width:640px) {
.clinicTable {
    border-radius: 5px;
    box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, .15);
}
.clinicTable__head th {
  	font-size:1.3rem;
	font-weight:600;
}
.clinicTable__time {
  	font-size:1.4rem;
}
.clinicTable__head th {
    padding:10px 0;
}
.clinicTable td {
    padding: 13px 0;
}
.shinryoTimeL {
	margin:0 auto 20px auto;
}
.shinryoYoyaku a {
	padding:12px 5%;
	font-size:1.85rem;
	font-weight:500;
}
.shinryoYoyakuIcon {
    width: 40px;
}
}
@media screen and (max-width:480px) {
.clinicTable th:first-child, .clinicTable td:first-child {
    width: 16%;
}
.clinicTable th:not(:first-child):not(:last-child),
.clinicTable td:not(:first-child):not(:last-child) {
  width: calc((84% - 2%) / 6);
}

.clinicTable th:last-child,
.clinicTable td:last-child {
  width: calc((84% - 2%) / 6 + 2%);
}
.clinicTable__time {
  	text-align:center;
	line-height:1.1;
	font-weight:400;
}
.clinicTable__time br{
	display:block;
}
.clinicTable td {
    vertical-align:middle;
	line-height:1.1;
}
.tsKyusyin {
    font-size: 1.6rem;
    margin: 0 auto 5px auto;
	line-height:1.5;
}
.tsKyusyinUnder {
    text-indent: -1.1em;
}
.tsKyusyinUnder span {
    font-size: 1.65rem;
}
}
@media screen and (max-width:380px) {
.clinicTable__head th.is-sun {
	letter-spacing: -0.1rem;
	font-size: 1.2rem;
}
}
@media screen and (max-width:360px) {
.shinryoYoyaku a {
	font-size:1.65rem;
}
}

/******************
フッターコンタクト
******************/
.noContact{
	border-top:2px solid #ebefea;
}
.contactMidashiWrapper{
	width:100%;
	margin:0 auto;
	overflow:hidden;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.commonContactL{
	width:100%;
	max-width:300px;
}
.contactMidashi{
	font-family:var(--enLg);
	color:var(--themecolor);
	font-size:4.3rem;
	font-weight:600;
	line-height:1.4;
	letter-spacing:0.4rem;
}
.contactMidashi span{
	display:block;
	color:var(--basecolor);
	font-size:1.5rem;
	font-weight:500;
	letter-spacing:0;
}
.commonContactR{
	overflow: hidden;
	width:calc(100% - 800px);
	margin:0 250px;
}
.commonContactRUp{
	width:100%;
	margin:0 auto 30px auto;
	display:flex;
	justify-content:space-between;
}
.commonContactRTel{
	
}
.commonContactRTel a{
	pointer-events:none;
	color:var(--themecolor);
}
.commonContactRFax{
	margin-left: auto;
}
.ccTTxt{
	color:var(--themecolor);
	font-size:3.2rem;
	font-weight:600;
	font-family:var(--enLg);
}
.commonContactRUnder{
	width:100%;
	margin:0 auto;
}
.ccMail{
	width:100%;
	text-align:center;
}
.ccMail a{
	width:100%;
	box-sizing:border-box;
	background:var(--themecolor);
	color:#fff;
	padding:12px 5%;
	border-radius:10px;
	-moz-border-radius:10px;
	-webkit-border-radius:10px;
	display: inline-flex;
  	align-items: center;
	justify-content: center;
  	gap: 4px;
	font-size:1.8rem;
	transition:.3s;
}
.ccMail a:hover{
	text-decoration:none;
	background:#f2d55a;
	color:var(--basecolor);
}


@media screen and (max-width:1500px) {
.commonContactR{
	overflow: hidden;
	width:calc(100% - 700px);
	margin:0 200px;
}
}
@media screen and (max-width:1400px) {
.commonContactR{
	overflow: hidden;
	width:calc(100% - 600px);
	margin:0 150px;
}
}
@media screen and (max-width:1200px) {
.commonContactL{
	max-width:280px;
}
.commonContactR{
	overflow: hidden;
	width:calc(100% - 400px);
	margin:0 60px;
}
}
@media screen and (max-width:1000px) {
.commonContactL{
	max-width:250px;
}
.commonContactR{
	overflow: hidden;
	width:calc(100% - 310px);
	margin:0 30px;
}
}
@media screen and (max-width:900px) {
.commonContactR{
	overflow: hidden;
	width:calc(100% - 250px);
	margin:0;
}
}
@media screen and (max-width:800px) {
.commonContactL{
	max-width:30%;
}
.commonContactR{
	width:62%;
}
.contactMidashi{
     font-size: 3.6rem;
     letter-spacing: 0.1rem;
     font-weight: 700;
}
.commonContactRUp {
    display: block;
	text-align:center;
}
.commonContactRTel {
	margin:0 auto 10px auto;
	overflow:hidden;
	width:100%;
}
.commonContactRTel a {
    pointer-events: inherit;
}
.ccTTxt {
    font-size: 2.8rem;
}
.ccMail a {
    font-size: 1.7rem;
}
}
@media screen and (max-width:640px) {
.contactMidashiWrapper {
    display: block;
}
.commonContactL {
    max-width: 100%;
	margin:0 auto;
	overflow:hidden;
	text-align:center;
}
.contactMidashi{
	margin:0 auto 25px auto;
}
.commonContactR{
	width:100%;
}
.contactMidashi {
    line-height: 1.2;
}
}
@media screen and (max-width:480px) {

}
@media screen and (max-width:400px) {
.ccMail a {
    font-size: 1.6rem;
}
}

/******************
フッター(中部)[共通]
******************/
.footer{
	clear:both;
	width:100%;
	overflow:hidden;
	margin:0 auto;
	position: relative;
	background:#fff;
}
.footerNaka{
	width:90%;
	max-width:1400px;
	margin:0 auto;
	padding:80px 0 10px 0;
}
.footerUpper{
	width:100%;
	max-width:100%;
	display:flex;
	justify-content:space-between;
	margin:0 auto 60px auto;
	overflow:hidden;
}
.footerL{
	width:34%;
}
.footerR{
	width:54%;
}
.footerR .shinryoTimeR{
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.footerR .shinryoTimeR .shinryoYoyaku a{
	padding:10px 5%;
}
.footerLogo{
	width:100%;
	overflow:hidden;
	margin:0 0 15px 0;
}
.footerLogo img{
	max-width:100%;
	display:block;
	margin:0;
	height:auto;
}
.footerTel {
  	white-space: nowrap;
	line-height: 1;
	margin:0 0 0 65px;
}
.footerTel a{
	display:flex;
  	align-items:center;
  	gap:10px;
	pointer-events:none;
}
.footerTelIcon img {
  	display: block;
	transform: translateY(2px);
}
.footerTelNo{
	font-size:1.9rem;
	letter-spacing:0.2rem;
	line-height: 1;
}
.footerMiddle{
	width:100%;
	max-width:100%;
	display:flex;
	justify-content:space-between;
	margin:0 auto 40px auto;
	overflow:hidden;
	border-bottom:1px solid var(--basecolor);
	padding:0 0 40px 0;
}
.footerMiddleL{
	width:55%;
}
.footerMiddleL .shinryoTimeL {
  	width: 100%;
}
.footerMiddleL .shinryoTimeL .clinicTable th, .footerMiddleL .shinryoTimeL .clinicTable td {
  	padding: 10px;
}
.footerMiddleR{
	width:38%;
}
.footerMidashi {
  	font-family: var(--enLg);
  	font-size: 2.6rem;
  	font-weight: 400;
  	line-height: 1.5;
  	letter-spacing: 0.3rem;
  	margin: 0 auto 25px auto;
}
.footerMidashi span {
  	display: block;
  	font-size: 1.4rem;
  	font-weight: 400;
  	letter-spacing: 0.2rem;
  	font-family: "Noto Sans JP", "Noto Serif JP", "Shippori Mincho", 'ヒラギノ角ゴシック','Hiragino Sans','メイリオ','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Osaka' ,'Yu Gothic','Arial', sans-serif , serif;
}
.footerAddTxt span.fat1{
	padding:0 5px;
	color:#39b259;
	font-family: "Shippori Mincho", serif;
	font-size:2.5rem;
	font-style: italic;
}
.footerAddTxt span.fat2{
	padding:0 5px;
	color:#f7b34d;
	font-family: "Shippori Mincho", serif;
	font-size:2.7rem;
	font-style: italic;
}
.footerAddTxt span.underLine{
	border-bottom:1px solid #9cc469;
	padding: 0 0 5px 0;
}
.footerGm{
	position: relative;
    padding-bottom: 55%;
    height: 0;
    overflow: hidden;
	margin:30px auto 0 auto;
}
.footerGm iframe, .footerGm object, .footerGm embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.footerUnder{
	width:100%;
	margin:0 auto;
	overflow:hidden;
}
.footerUnderNaka{
	width:90%;
	max-width:1400px;
	margin:0 auto;
	padding:0 0 40px 0;
}
.footerMenu{
	width:100%;
	margin:0 auto;
	overflow:hidden;
	position:relative;
	display:flex;
}
.fMenu{
	position:relative;
	width:28%;
	padding:0 2%;
}
.fMenu li{
	position:relative;
	padding:0 0 5px 12px;
}
.fMenu li::before{
	position:absolute;
	content:'';
	width:7px;
	height:7px;
	background:var(--basecolor);
	top:14px;
	left:0.1px;
}
.fMenu li a{
	position:relative;
	font-size:1.4rem;
}
.fMenu li ul{
	position:relative;
	width: 98%;
  	margin: 0 0 0 5px;
}
.fMenu li ul li{
	width:100%;
	padding:3px 0;
}
.fSubMenu{
	position:relative;
		width: 99%;
  	margin: 0 0 0 1%;
}
.fSubMenu li{
	width:100%!important;
	position:relative;
	padding:1px 0;
}
.fSubMenu li::before{
	display:none;
}
.fSubMenu li a{
	width:100%;
	display:block;
	position:relative;
	padding:0 0 0 10px;
}
.fSubMenu li a::before{
	position:absolute;
	content:'';
	width:5px;
	height:5px;
	background:var(--basecolor);
	top:16px;
	left:0.1px;
	border-radius:50%;
}
.copy{
	clear:both;
	text-align:center;
	width:100%;
	overflow:hidden;
	font-size:1.1rem;
}
.copy br{
	display:none;
}
.copySp{
	display:none;
}
#pageTopBtn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;
  display: none;
}
#fixSideBtn {
	position: fixed;
	top: 32%;
	right: 0;
	z-index: 900;
	width: 350px;
	height: 230px;
	overflow: hidden;
	pointer-events: none;
}
.fixedMenuTrigger,
.fixedMenuMenu{
	pointer-events: auto;
}
.fixedMenuInner {
	display: flex;
	width: 350px;
	height: 100%;
	align-items: stretch;
	transform: translateX(301px);
	transition: transform 0.3s ease;
	border-radius: 10px 0 0 10px;
}
.fixedMenuTrigger {
	width: 50px;
	background: #f49000;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	cursor: pointer;
	height: 100%;
	box-sizing: border-box;
	z-index: 2;
	border-radius: 10px 0 0 10px;
	position: relative;
}
.fixedMenuTrigger .material-symbols-outlined {
	font-size: 145%;
	line-height: 1;
}
.fixedMenuTrigger .menuText {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1.3;
}
.fixedMenuMenu {
	width: 300px;
	background: #f49000;
	padding: 0 30px;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}
.fmmTtl {
	text-align: center;
	color: #fff;
	font-weight: 500;
	margin: 0 auto;
	overflow: hidden;
}
.fmmBtn {
	width: 100%;
	margin: 15px auto 10px auto;
}
.fmmBtn a {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: #fff;
	color: #f49000;
	padding: 13px 3%;
	border-radius: 10px;
	text-decoration: none;
	font-size: 1.75rem;
	font-weight: 500;
	line-height: 1;
	transition: .3s;
	box-sizing: border-box;
	letter-spacing: 0.2rem;
	box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.fmmBtn a:hover {
	border-radius: 20px;
}
.fmmTxt {
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	line-height: 1.5;
}

#fixBottom{
	display:none;
}
@media screen and (max-width:1340px) {
.footerUpper{
	margin:0 auto 50px auto;
}
.footerL{
	width:34%;
}
.footerR{
	width:58%;
}
.footerMiddleL .shinryoTimeL .clinicTable th, .footerMiddleL .shinryoTimeL .clinicTable td {
  	padding: 10px 5px;
}
.footerUnderNaka{
	width:98%;
	max-width:98%;
}
.fMenu{
	position:relative;
	width:30%;
	padding:0 1%;
}
.fSubMenu li a::before {
  top: 14px;
}
.fMenu li a{
	position:relative;
	font-size:1.25rem;
}
}
@media screen and (max-width:1240px) {
.footerUpper {
    display: block;
}
.footerNaka {
    padding: 60px 0 10px 0;
}
.footerL{
	width:100%;
	margin:0 auto 30px auto;
}
.footerR{
	width:100%;
	margin:0 auto;
}
.footerLogo {
    max-width: 420px;
    margin: 0 auto 20px auto;
}
.footerTel {
    margin: 0;
    text-align: center;
}
.footerTel a {
    justify-content: center;
}
.footerTelNo {
    font-size: 2.1rem;
}
.footerMidashi {
  	font-size: 2.3rem;
  	line-height: 1.4;
  	letter-spacing: 0.2rem;
  	margin: 0 auto 15px auto;
}
.footerMidashi span {
  	font-size: 1.3rem;
  	letter-spacing: 0.1rem;
}
}
@media screen and (max-width:1060px) {
.footerUpper {
    margin:0 auto 30px auto;
}
.footerMiddle {
    display: block;
}
.footerMiddleL{
	width: 100%;
	margin:0 auto 30px auto;
}
.footerMiddleR{
	width: 100%;
	margin:0 auto;
}
.footerMiddleL .shinryoTimeL {
  	width: 98%;
}
.footerGm{
    padding-bottom: 45%;
}
}
@media screen and (max-width:900px) {
.footer {
    padding: 0 0 70px 0;
}
.footerMiddle {
    margin: 0 auto;
    border-bottom: none;
    padding: 0 0 20px 0;
}
.footerUnderNaka{
	display:none;
}
#fixSideBtn{
	display:none;
}
}
@media screen and (max-width:800px) {
.footerMidashi {
  	font-size: 2.2rem;
}
.footerR .shinryoTimeR {
    display: block;
	margin:0 auto 20px auto;
}
.footerGm{
    padding-bottom: 50%;
}
.footerTelNo a{
   	pointer-events:inherit;
}
}
@media screen and (max-width:640px) {
.footerLogo {
    max-width: 380px;
}
.footerUpper {
    margin: 0 auto 15px auto;
}
.footerL {
    margin: 0 auto 20px auto;
}
.footerNaka {
    padding: 40px 0 10px 0;
}
.footerMiddleL .shinryoTimeL .clinicTable__time br{
	display:block;
}
.footerMiddleL .shinryoTimeL .clinicTable th, .footerMiddleL .shinryoTimeL .clinicTable td {
  	line-height:1.2;
}
.footerMiddleL .shinryoTimeL .clinicTable__head th {
    padding:7px 5px;
}
.footerMiddleL .shinryoTimeL .clinicTable td {
    padding: 10px 5px;
}
.footerMiddleL .shinryoTimeL .clinicTable td {
  	vertical-align:middle;
}
.footerTelNo {
    font-size: 1.9rem;
}
}
@media screen and (max-width:480px) {
.footerLogo {
    max-width: 340px;
	margin:0 auto 10px auto;
}
.footerAddTxt span.fat1 {
    padding: 0 3px;
    font-size: 2.2rem;
}
.footerAddTxt span.fat2 {
    padding: 0 3px;
    font-size: 2.2rem;
}
.footerMiddleL .shinryoTimeL .clinicTableWrap {
    margin: 0 auto 10px auto;
}
.footerGm{
    padding-bottom: 64%;
}
}
@media screen and (max-width:380px) {
.footerLogo {
    max-width: 310px;
}
}

@media (orientation: landscape) and (max-width: 956px){

}


@media print{
body{
	width:1000px;
	margin:0 auto;
}
#wrapperTop,#wrapper{
	padding-top:0;
	width:1000px;
	margin:0 auto;
}
.header {
    width: 1000px;
}
.headerNaka {
  width:84%!important;
}
.headerNakaWrapper.is-fixed{
	display:none;
}
.mainVisual {
    margin-top: 0!important;
	width:1000px!important;
	max-height: 85vh!important;
}
#wrapperTop .main {
    max-width: 1000px!important;
    padding: 60px 0!important;
}
.fadeIn_up {
    opacity: 1!important;
    transform: translate(0, 0)!important;
}
.fadeIn_only {
    opacity: 1!important;
    transform: translate(0, 0)!important;
}
.topInfoWrapper {
    width: 96%!important;
    max-width:96%!important;
    padding: 80px 0 30px 0!important;
}
.clinicTable th {
   	font-size:1.5rem;
	padding: 10px 5px;
}
.clinicTable td {
   	font-size:1.5rem;
	padding: 14px 5px;
}
.clinicTable th.is-sun{
	letter-spacing:-0.03rem;
}
.topMidashi {
    font-size: 2.8rem!important;
	line-height: 1.5!important;
}
.topAboutBtn ul li a {
    font-size:1.5rem!important;
}
.topMediInfo {
    padding: 0 0 50px 0!important;
}
.topMediinftoUnder {
    gap: 25px!important;
    margin: 60px auto 20px auto!important;
}
.topMediinfoUnderOne {
    width: 21%!important;
}
.topMediinftoUnderTxt {
    font-size: 1.6rem!important;
    letter-spacing: 0!important;
    padding: 25px 2%!important;
}
.topJihi {
    padding: 0 0 40px 0!important;
}
.footerNaka {
	width: 96%!important;
    max-width: 1000px!important;
	padding: 50px 0 10px 0;
}
.footerL {
    width: 38%!important;
}
.footerR {
    width: 58%!important;
}
.footerUpper {
    margin: 0 auto 30px auto!important;
}
.shinryoYoyaku a {
    font-size: 1.5rem!important;
}
.fMenu li a {
    font-size: 1.25rem!important;
}
.footerMiddleL .shinryoTimeL .clinicTable th{
    padding: 10px 5px;
	font-size:1.3rem;
	letter-spacing:-0.03rem;
}
.footerMiddleL .shinryoTimeL .clinicTable td {
    padding: 10px 5px;
}
#fixSideBtn {
    display:none;
}
#pageTopBtn {
   display:none;
}
#wrapper .main {
    max-width: 1000px!important;
    padding: 50px 0!important;
	width:100%!important;
}
.bread {
    width: 100%!important;
    padding: 20px 0 0 0!important;
}
.h2Main p span,
.h2Main h2 span {
  	transform: unset!important;
}
.h2SubEn {
    font-size: 7rem!important;
	line-height: 0.3!important;
}
h2 {
    font-size: 2.2rem!important;
    margin: 0 auto 40px auto!important;
}
.companyMain {
    max-width: 70%!important;
}
.companySide {
    width: calc(100% - 75%)!important;
    margin: 0 0 0 5%!important;
    position: relative!important;
    top: 0!important;
}
.commonContact{
	width:90%!important;
	margin:0 auto;
}
}



@page{
	margin: 16mm 10mm;
}

@-moz-document url-prefix(){
@page{
	margin: auto;
}
}

@media screen and (-webkit-min-device-pixel-ratio:0){
@page{
	margin: auto;
}
}

