@charset "UTF-8";

/* ========================================================
  Reset
======================================================== */
*,*::before,*::after{
	box-sizing: border-box;
}
html {
	font-size: 62.5%;/* 1rem = 10px：フォントサイズ16px => 1.6rem */
}
div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fildset,p,blockquote,
figure,figcaption,hr,
header,footer,nav,main{
	margin:0;
	padding:0;
	border:0;
	font-size:inherit;
	font-style:normal;
	font-weight:inherit;
}
img{
    max-width:100%;
    height:auto;
    width:auto\9; /* ie8 */
	border-top-style:none;
	border-right-style:none;
	border-bottom-style:none;
	border-left-style:none;
	vertical-align:top;
	display:block;
	margin:auto;
}
picture{
	display:block;
}
table{
	width:100%;
	border-collapse:separate;
	border-spacing:0;
}
a{
	color:inherit;
	text-decoration:none;
	outline:0;
}
address{font-style:normal;}
ul,ol{list-style:none;}
iframe{display:block;}
i{
	font-weight:normal !important;
	letter-spacing: normal;
	line-height: 1.0em;
	/*display: inline-block;
	vertical-align: middle;*/
}
button{
	display: block;
	padding: 0;
	border: none;
	outline: none;
	font: inherit;
	color: inherit;
	background: none;
	cursor: pointer;
}
[class^="icon-"]::before, [class*=" icon-"]::before {
	margin: 0;	/*fontello左右の隙間*/
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
html {
	font-size: 2.5vw;	/* スマホのときはビューポートを基準にサイズ調節する */
}
}

/* ========================================================
  Base
======================================================== */
body {
	text-align: center;
	font-family: var(--ff-got);
	font-weight: normal;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--color-base);
	font-size: var(--fs-base);
	letter-spacing: .1em;
	line-height: 2.0em;
	padding: 0;
	margin: 0;
	background: #fff;
	-webkit-text-size-adjust: 100%;
}
a {transition: color 0.8s, background-color 0.8s, opacity 0.8s;}
a:hover {transition: color 0.4s, background-color 0.4s, opacity 0.4s;}

.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

#wrapper{overflow:hidden;}
/*#pagebody{max-height:100%;}*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
body {
	letter-spacing: .05em;
	line-height: 1.8em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* スマホのときはビューポートを基準にサイズ調節する */
/* スマホ時：emまたは%で指定する */
/* スマホ以外でビューポート基準にするときは、その都度「vw」で指定する */
body {
	letter-spacing: .05em;
	line-height: 1.8em;
}
img {
	width: 100% !important;
	max-width: initial !important;
}	
}


/* ========================================================
  Utility
======================================================== */
/*<group=style>*/
.u-fw-bold{font-weight:bold;}
.u-fw-normal{font-weight:normal;}	
/*<group=text_align>*/
.u-ta-l{text-align:left!important;}
.u-ta-r{text-align:right!important;}
.u-ta-c{text-align:center!important;}
.u-sp-ta-l{text-align:center!important;}
/*<group=float>*/
.u-flt-l{float:left;}
.u-flt-r{float:right;}

/*画像*/
.u-img-max {
	width: 100% !important;
	max-width: initial !important;
}

/*色*/
.u-color-gray {color: var(--color-gray);}
.u-color-navy {color: var(--color-navy);}
.u-color-blue {color: var(--color-blue);}
.u-color-red {color: var(--color-red);}

/*フォント*/
.u-ff-got {font-family: var(--ff-got);}
.u-ft-min {font: var(--font-min);}
.u-ft-en {font: var(--font-en);}

/*フォントサイズ：英語（Funnel Display）*/
[class^="u-fs-en"] {
	font: var(--font-en);
}
.u-fs-en70 {
	font-size: min(7.0rem,6.0vw);
	letter-spacing: normal;
}
.u-fs-en120 {
	font-size: min(12.0rem,10.2vw);
	letter-spacing: .02em;
}
.u-fs-en140 {
	font-size: min(14.0rem,11.9vw);
	letter-spacing: .02em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*フォントサイズ*/
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*<group=text_align>*/
.u-sp-ta-l{text-align:left!important;}
/*フォントサイズ*/
.u-fs-en70 {
	font-size: 2.8rem;
}
.u-fs-en120 {
	font-size: 4.7rem;
	letter-spacing: .02em;
}
.u-fs-en140 {
	font-size: 4.8rem;
	letter-spacing: .02em;
}
}



/*コンテンツ幅
---------------------------------------------------------*/
.max_width {
	width: var(--content-width);
	margin-inline: auto;
}
.max_1500 {
	max-width: 1500px;
	width: 100%;
	margin-inline: auto;
	text-align: left;
}
.w1500 {
	max-width: 1500px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1420 {
	max-width: 1420px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1400 {
	max-width: 1400px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1360 {
	max-width: 1360px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1342 {
	max-width: 1342px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1320 {
	max-width: 1320px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1280 {
	max-width: 1280px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1236 {
	max-width: 1236px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1200 {
	max-width: 1200px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1120 {
	max-width: 1120px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1042 {
	max-width: 1042px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}
.w1000 {
	max-width: 1000px;
	width: var(--content-width);
	margin-inline: auto;
	text-align: left;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}



/*隙間
---------------------------------------------------------*/
.u-mgn-btm-170 {margin-bottom: var(--gap-170);}
.u-mgn-btm-150 {margin-bottom: var(--gap-150);}
.u-mgn-btm-120 {margin-bottom: var(--gap-120);}
.u-mgn-btm-100 {margin-bottom: var(--gap-100);}
.u-mgn-btm-90 {margin-bottom: var(--gap-90);}
.u-mgn-btm-80 {margin-bottom: var(--gap-80);}
.u-mgn-btm-70 {margin-bottom: var(--gap-70);}
.u-mgn-btm-60 {margin-bottom: var(--gap-60);}
.u-mgn-btm-50 {margin-bottom: var(--gap-50);}
.u-mgn-btm-40 {margin-bottom: var(--gap-40);}
.u-mgn-btm-30 {margin-bottom: var(--gap-30);}
.u-mgn-btm-20 {margin-bottom: var(--gap-20);}

.u-mgn-top-1em {margin-top: 1.0em;}
.u-mgn-btm-1em {margin-bottom: 1.0em;}
.u-mgn-btm-2em {margin-bottom: 2em;}

.u-pdg-top-170 {padding-top: var(--gap-170);}
.u-pdg-top-150 {padding-top: var(--gap-150);}
.u-pdg-top-120 {padding-top: var(--gap-120);}
.u-pdg-top-100 {padding-top: var(--gap-100);}
.u-pdg-top-90 {padding-top: var(--gap-90);}
.u-pdg-top-80 {padding-top: var(--gap-80);}
.u-pdg-top-90 {padding-top: var(--gap-90);}
.u-pdg-top-80 {padding-top: var(--gap-80);}
.u-pdg-top-70 {padding-top: var(--gap-70);}
.u-pdg-top-60 {padding-top: var(--gap-60);}
.u-pdg-top-50 {padding-top: var(--gap-50);}
.u-pdg-top-40 {padding-top: var(--gap-40);}

.u-pdg-btm-170 {padding-bottom: var(--gap-170);}
.u-pdg-btm-150 {padding-bottom: var(--gap-150);}
.u-pdg-btm-120 {padding-bottom: var(--gap-120);}
.u-pdg-btm-100 {padding-bottom: var(--gap-100);}
.u-pdg-btm-90 {padding-bottom: var(--gap-90);}
.u-pdg-btm-80 {padding-bottom: var(--gap-80);}
.u-pdg-btm-70 {padding-bottom: var(--gap-70);}
.u-pdg-btm-60 {padding-bottom: var(--gap-60);}
.u-pdg-btm-50 {padding-bottom: var(--gap-50);}
.u-pdg-btm-40 {padding-bottom: var(--gap-40);}



/*共通（固定）
---------------------------------------------------------*/
/*swiper共通設定*/
.swiper {
    overflow: visible !important;
}
.swiper-ticker .swiper-wrapper {
	transition-timing-function: linear !important;	/*滑らかに流れ続ける*/
}
.swiper-fade .swiper-slide {
    transition-property: opacity !important;	/* フェードモード時 共通調整 */
}

.blocklink,
.blocklink_out,
.blocklink_anc {
	cursor: pointer;
}
.anc_adjust {
    /*padding-top: 150px;
    margin-top: -150px;*/
}

/* 電話番号 */
a[href^="tel:"] {text-decoration: none;}
@media(min-width: 768px) {
	a[href^="tel:"] {pointer-events: none;}	/* PC時はaタグ無効 */
	.c-tel-bdr {text-decoration: underline;}	/* テキスト電話番号は下線をつける */
}

.c-txt--link {
	text-decoration: underline;
}
.c-txt--link:hover {
	text-decoration: none;
	color: var(--color-blue);
}

/*開閉アイコン*/
.c-icon-open {
	letter-spacing: normal;
	line-height: 1.0em;
	display: inline-block;
	vertical-align: middle;
	width: 1.2em;
	aspect-ratio: 1 / 1;
	background: currentColor;
	border-radius: 50%;
	margin-left: .5em;
	transform: translateY(-.1em);
	position: relative;
}
.c-icon-open::before,
.c-icon-open::after {
	content: "";
	position: absolute;
	width: 50%;
	height: 1px;
	background: #fff;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.c-icon-open::after {
	transform: rotate(90deg);
	transition: all 0.4s;
}
.is-open .c-icon-open::after {
	transform: rotate(0deg);
}

/*サムネイル*/
.c-thum {
	position: relative;
	z-index: 1;
	overflow: hidden;
	aspect-ratio: 1000 / 550;
}
.c-thum span,
.c-thum a {
	display: block;
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	transition: all 1.0s ease-out;
}
.blocklink:hover .c-thum span,
.blocklink:hover .c-thum a {
	transition: all 0.4s ease-out;
	transform: scale(1.1);
}
.c-thum img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*スラッシュ*/
.c-slash > span {
	display: inline-block;
	position: relative;
}
.c-slash > span::before,
.c-slash > span::after {
	content: "";
	position: absolute;
	width: 1px;
	height: 2.0em;
	border-left: solid 1px currentcolor;
	bottom: 0;
}
.c-slash > span::before {
	left: -1.0em;
	transform: rotate(-25deg);
}
.c-slash > span::after {
	right: -1.0em;
	transform: rotate(25deg);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*スラッシュ*/
.c-slash > span::before,
.c-slash > span::after {
	border-width: 1px;
}
.c-slash > span::before {
	left: -1.5em;
}
.c-slash > span::after {
	right: -1.5em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*スラッシュ*/
.c-slash > span::before,
.c-slash > span::after {
	border-width: 1px;
}
.c-slash > span::before {
	left: -1.0em;
}
.c-slash > span::after {
	right: -1.0em;
}
}



/*問い合わせ（CTA）
---------------------------------------------------------*/
.c-tel {
	font: var(--font-en);
	letter-spacing: normal;
	white-space: nowrap;
}
.c-tel::before {
	font-family: 'fontello';
	content: '\e804';
	display: inline-block;
	font-size: 65%;
	padding-right: .3em;
	transform: translateY(-.2em);
}

.c-web a {
	text-decoration: none !important;
	display: block;
	text-align: center;
	background: var(--color-web);
	font: var(--font-min);
	color: #fff;
	letter-spacing: normal;
	line-height: 1.0em;
	padding: .8em 1.5em;
	position: relative;
}
.c-web a:hover {
	background: var(--color-blue);
}
.c-web a::before {
	font-family: 'fontello';
	content: '\e801';
	font-size: 60%;
	width: 2.2em;
	height: 2.2em;
	line-height: 2.2em;
	border-radius: 50%;
	background: var(--color-blue);
	position: absolute;
	right: 0;
	top: 0;
	transform: translate(20%,-20%) rotate(-45deg);
}
.c-web a p {
	display: inline-block;
	vertical-align: middle;
	padding-left: 1.5em;
	position: relative;
}
.c-web a p::before {
	font-family: 'fontello';
	content: '\e80f';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.c-web a span {
	font: var(--font-en);
	font-size: 109%;
	letter-spacing: normal;
	line-height: 1.0em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.c-web a {
	padding: 2.3em 1.0em;
}
.c-web a::before {
	margin: auto;
	left: 0;
	right: 0;
	top: calc(50% + 1.8em);
	transform: rotate(-45deg);
}
.c-web a p {
	display: block;
	padding: 0;
	position: static;
}
.c-web a p::before {
	margin: auto;
	left: 0;
	right: 0;
	top: auto;
	transform: none;
	bottom: calc(50% + 1.0em);
}
}



/*パーツ
---------------------------------------------------------*/
/*リンクボタン：四角*/
.c-link-rectangle {
	margin-top: 3.0em;
	text-align: center;
	font: var(--font-min);
}
.c-link-rectangle a {
	text-decoration: none;
	display: inline-block;
	text-align: left;
	color: var(--color-navy);
	font-size: var(--fs-15);
	letter-spacing: .1em;
	line-height: 1.2em;
	padding: 1.3em 4.0em 1.3em 2.0em;
	background: #f3f3f5;
	position: relative;
	min-width: 290px;
}
.c-link-rectangle a::before,
.c-link-rectangle a::after {
	font-family: 'fontello';
	text-align: center;
	font-size: 40%;
	width: 5.0em;
	height: 5.0em;
	line-height: 5.0em;
	padding-left: .5em;
	border-radius: 50%;
	position: absolute;
	margin: auto;
	right: 2.5em;
	top: 0;
	bottom: 0;
	transition: all 0.4s ease-out;
}
.c-link-rectangle a::before {
	content: '\e800';
	z-index: 1;
	color: #fff;
}
.c-link-rectangle a::after {
	content: '';
	z-index: 0;
	background: var(--color-navy);
}
.c-link-rectangle a:hover::before {
	color: var(--color-navy);
}
.c-link-rectangle a:hover::after {
	transform: scale(1.2,1.2);
	opacity: 0.2;
}
.c-link-rectangle.u-ft-en {
	font: var(--font-en);
}
.c-link-rectangle.u-ft-en a {
	width: min(18em,100%);
	max-width: 100%;
}

.c-link-rectangle-list{
	display: flex;
    justify-content: center;
	gap:0 2%;
}

/*リンクボタン：シンプル、下線*/
.c-link-simple,
.c-link-under {
	margin-top: 2.0em;
	text-align: center;
	font: var(--font-min);
}
.c-link-simple a,
.c-link-under a {
	text-decoration: none;
	display: inline-block;
	text-align: left;
	color: var(--color-navy);
	font-size: var(--fs-15);
	letter-spacing: .1em;
	line-height: 1.2em;
	padding: .5em 1.0em .5em 2.0em;
	position: relative;
}
.c-link-under a {
	padding-top: 1.0em;
	padding-bottom: 1.0em;
	border-bottom: solid 1px currentcolor;
}
.c-link-simple a::before,
.c-link-simple a::after,
.c-link-under a::before,
.c-link-under a::after {
	font-family: 'fontello';
	text-align: center;
	font-size: 40%;
	width: 4.0em;
	height: 4.0em;
	line-height: 4.0em;
	padding-left: .6em;
	border-radius: 50%;
	position: absolute;
	margin: auto;
	left: -.5em;
	top: 0;
	bottom: 0;
	transition: all 0.4s ease-out;
}
.c-link-simple a::before,
.c-link-under a::before {
	content: '\e800';
	z-index: 1;
}
.c-link-simple a::after,
.c-link-under a::after {
	content: '';
	z-index: 0;
	background: var(--color-navy);
	opacity: 0;
	transform: scale(0.6,0.6);
}
.c-link-simple a:hover::after,
.c-link-under a:hover::after {
	opacity: 0.1;
	transform: scale(1.0,1.0);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*リンクボタン：四角*/
.c-link-rectangle.u-ft-en a {
	width: min(15em,100%);
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*リンクボタン：四角*/
.c-link-rectangle {
	margin-top: 2.0em;
}
.c-link-rectangle a {
	font-size: var(--fs-17);
	letter-spacing: .05em;
	padding: 1.0em 4.0em 1.0em 1.5em;
}

.c-link-rectangle-list{
	display: block;
	gap: 0;
}
.c-link-rectangle-list div:has(+ div){
	margin-bottom: -1em;
}

/*リンクボタン：下線*/
.c-link-simple,
.c-link-under {
	margin-top: 1.5em;
}
.c-link-simple a,
.c-link-under a {
	font-size: var(--fs-17);
	letter-spacing: .05em;
}
}



/*FAQ
---------------------------------------------------------*/
.c-faq {
	border-top: solid 1px #a3a3a3;
	padding:35px 3% 40px;
	font-size: var(--fs-14);
	line-height: 2.0em;
}
.c-faq:last-of-type {
	border-bottom: solid 1px #a3a3a3;
}
.c-faq > dt,
.c-faq > dd > div{
	position: relative;
	padding-left: 5.2em;
	box-sizing: border-box;
}
.c-faq > dt::before,
.c-faq > dd > div::before {
	position: absolute;
	top:0;
	left: 0;
	content: "Q";
	color: #fff;
	background: var(--color-navy);
	font: var(--font-en);
	text-align: center;
	font-size: 157%;
	letter-spacing: normal;
	line-height: 50px;
	width: 50px;
	aspect-ratio:1 / 1;
	border-radius: 50%;
	display: flex;
    justify-content: center;
    align-items: center;	
}
.c-faq > dt p {
	font: var(--font-min);
	font-size: var(--fs-19);
	letter-spacing: .1em;
	line-height: 1.5em;
	padding-top: .6em;
}
.c-faq > dd > div {
	margin-top: 2.5em;
    align-items: start;
}
.c-faq > dd > div::before {
	content: "A";
	color: var(--color-navy);
	background: var(--color-light);
	transform: translateY(-20%);
}
.c-faq > dd > div p {
	margin-bottom: 1.5rem;
}
.c-faq > dd > div p:last-child {
	margin-bottom: 0;
}

/*開閉タイプ*/
.c-faq__open,
.c-faq__box {
	padding-right: 3em;
}
.c-faq__open {
	cursor: pointer;
}
.c-faq__open p {
	position: relative;
}
.c-faq__open p::before,
.c-faq__open p::after {
	content: "";
	position: absolute;
	width: 1.2em;
	height: 1px;
	background: var(--color-navy);
	right: -2.5em;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.4s;
}
.c-faq__open p::after {
	transform: translateY(-50%) rotate(90deg);
}
.c-faq__open.is-open p::after {
	transform: translateY(-50%) rotate(0deg);
}
.c-faq__box {
	display: none;
}

/*c-qa-cat*/
.c-qa-cat {
    width: 100%;
	max-width: 100%;
	color: #a3a3a3;
	font-size:var(--fs-13);
	margin-top: 2em;
}
.c-qa-cat > li{
    display: inline-block;
}
.c-qa-cat > li > a {
    display: block;
    width: auto;
    min-width: 0;
    max-width: none;
    white-space: nowrap;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.c-faq {
	padding:1.5em 0 2em;
}
.c-faq > dt,
.c-faq > dd > div{
	padding-left: 3.5em;
}
.c-faq > dt::before,
.c-faq > dd::before {
	line-height: 10vw;
	width: 10vw;
	height: 10vw;
}
.c-faq > dt p {
	padding-top: .4em;
	letter-spacing: .05em;
}
.c-faq > dd {
	margin-top: 1.8em;
}
.c-faq > dd::before {
	transform: translateY(-20%);
}
.c-faq > dd > div {
	margin-top: 1.5em;
}
.c-faq__open,
.c-faq__box {
	padding-right: 2em;
}
.c-faq__open p::before,
.c-faq__open p::after {
	right:-1.5em;
}
/*c-qa-cat*/
.c-qa-cat {
	margin-top: 1.5em;
}
}



/*診療時間
---------------------------------------------------------*/
.c-timetable {
	width: 100%;
}

.c-timetable table {
	width: 100%;
	font-size: var(--fs-19);	/*基準：曜日サイズ*/
	line-height: 1.0em;
}
.c-timetable table th,
.c-timetable table td {
	text-align: center;
	font-weight: normal;
	letter-spacing: normal;
	vertical-align: middle;
}
.c-timetable table th {
	text-align: left;
	padding-left: 1.5em;
}

.c-timetable table thead th,
.c-timetable table thead td {
	background: var(--color-navy);
	font: var(--font-min);
	color: #fff;
	padding-top: .5em;
	padding-bottom: .5em;
}
.c-timetable table thead th {
	letter-spacing: .1em;
}

.c-timetable table tbody th {width: 32%;}
.c-timetable table tbody td {width: 9%;}
.c-timetable table tbody td:last-of-type {width: 14%;}

.c-timetable table tbody th,
.c-timetable table tbody td {
	color: var(--color-navy);
	padding-top: 1.0em;
	padding-bottom: 1.0em;
}
.c-timetable table tbody tr:nth-child(2) th,
.c-timetable table tbody tr:nth-child(2) td {
	background: #fff;
}
.c-timetable table tbody th {
	font: var(--font-en);
	letter-spacing: .2em;
}
.c-timetable table tbody td {
	font-size: 65%;
}

.c-timetable__memo {
	font-size: var(--fs-15);
	line-height: 1.8em;
	margin-top: 1.0em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.c-timetable table tbody th {
	letter-spacing: .1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.c-timetable table th {
	padding-left: .8em;
}
.c-timetable table tbody th {width: 28%;}
.c-timetable table tbody td {width: 9.5%;}
.c-timetable table tbody td:last-of-type {width: 15%;}
.c-timetable table tbody th {
	letter-spacing: .05em;
}
.c-timetable__memo {
	font-size: var(--fs-14);
	margin-top: .8em;
	line-height: 1.6em;
}
}



/*診療メニュー
---------------------------------------------------------*/
.c-med-menu {
	border-top: solid 1px #d1d1d1;
	padding: var(--gap-60) 0 var(--gap-40);
}
.c-med-menu__inner {
	width: min(var(--content-width),1415px);
	margin-inline: auto;
	text-align: left;
}
.c-med-menu__ttl {
	font: var(--font-en);
	color: var(--color-navy);
	font-size: 2.8rem;
	letter-spacing: normal;
	margin-bottom: 1.5em;
}
.c-med-menu__ttl span {
	font: var(--font-min);
	font-size: 43%;
	letter-spacing: .1em;
	display: inline-block;
	vertical-align: middle;
	margin-left: 1.5em;
}
.c-med-menu__list {
	font: var(--font-min);
	color: var(--color-navy);
	font-size: min(1.5rem,1.4vw);
	letter-spacing: .05em;
	line-height: 1.7em;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	row-gap: 20px;
}
.c-med-menu__list li {
	padding: 0 10px;
	border-right: solid 1px #c1c1ca;
}
.c-med-menu__list li:nth-child(5n) {
	border-right: none;
}
.c-med-menu__list a {
	text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
	height: 6.0em;
	padding-left: 4.8em;
	position: relative;
}
.c-med-menu__list a:hover {
	background: rgba(42,83,163,0.07);
}
.c-med-menu__list a::before {
	content: "";	/*アイコン*/
	position: absolute;
	width: 4.2em;
	height: 100%;
	left: 0;
	top: 0;
	background-image: url("../images/icon-med1.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.c-med-menu__list a::after {
	content: "";	/*角*/
	position: absolute;
	width: 7px;
	aspect-ratio: 1 / 1;
	right: 0;
	bottom: 0;
	background: url("../images/corner-c.png") no-repeat left top;
	background-size: contain;
}
.c-med-menu__list .icon1 a::before {background-image: url("../images/icon-med1.png");}
.c-med-menu__list .icon2 a::before {background-image: url("../images/icon-med2.png");}
.c-med-menu__list .icon3 a::before {background-image: url("../images/icon-med3.png");}
.c-med-menu__list .icon4 a::before {background-image: url("../images/icon-med4.png");}
.c-med-menu__list .icon5 a::before {background-image: url("../images/icon-med5.png");}
.c-med-menu__list .icon6 a::before {background-image: url("../images/icon-med6.png");}
.c-med-menu__list .icon7 a::before {background-image: url("../images/icon-med7.png");}
.c-med-menu__list .icon8 a::before {background-image: url("../images/icon-med8.png");}
.c-med-menu__list .icon9 a::before {background-image: url("../images/icon-med9.png");}
.c-med-menu__list .icon10 a::before {background-image: url("../images/icon-med10.png");}
.c-med-menu__list .icon11 a::before {background-image: url("../images/icon-med11.png");}

.c-med-menu__list .typ-btn a {
	padding-left: 0;
	background: rgba(42,83,163,0.07);
	text-align: center;
}
.c-med-menu__list .typ-btn a:hover {
	background: rgba(42,83,163,0.2);
}
.c-med-menu__list .typ-btn a::before {
	display: none;
}
.c-med-menu__list .typ-btn a span {
	display: block;
	font: var(--font-en);
	opacity: 0.5;
	font-size: 80%;
	letter-spacing: .1em;
	margin-top: .5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.c-med-menu__list {
	font-size: 1.4rem;
	line-height: 1.5em;
	grid-template-columns: repeat(3, 1fr);
}
.c-med-menu__list li,
.c-med-menu__list li:nth-child(5n) {
	border-right: solid 1px #c1c1ca;
}
.c-med-menu__list li:nth-child(3n) {
	border-right: none !important;
}
.c-med-menu__list a {
	height: 5.0em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.c-med-menu__ttl {
	margin-bottom: 1.0em;
}
.c-med-menu__ttl span {
	font-size: 50%;
	letter-spacing: .05em;
	margin-left: 1.0em;
}
.c-med-menu__list {
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: normal;
	line-height: 1.6em;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 1.5rem;
}
.c-med-menu__list .typ-btn.is-start {
	grid-column: 1;
}
.c-med-menu__list li {
	border-right: solid 1px #c1c1ca !important;
}
.c-med-menu__list li:nth-child(2n) {
	border-right: none !important;
}
.c-med-menu__list a {
	height: 6.0em;
	padding: 2.0em 0 0;
}
.c-med-menu__list a::before {
	width: 100%;	/*アイコン*/
	height: 2.5em;
	left: 0;
	top: 0;
}
.c-med-menu__list li.typ-btn {
	border-right: none !important;
	border-top: solid 1px #d1d1d1;
	padding-top: 1.5rem;
}

.c-med-menu__list .typ-btn a {
	padding-top: 0;
}
}



/*スマホ用メニュー
---------------------------------------------------------*/
.c-sp-nav {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	row-gap: .5em;
	text-align: left;
}
.c-sp-nav > li {
	width: 48%;
	border-bottom: solid 1px #bababa;
}
.c-sp-nav > li > a {
	display: block;
	font: var(--font-min);
	color: var(--color-navy);
	font-size: var(--fs-15);
	letter-spacing: .1em;
	line-height: 1.4em;
	padding: 1.0em;
	padding-left: 1.8em;
	position: relative;
}
.c-sp-nav > li > a::before {
	font-family: 'fontello';
	content: '\e802';
	font-size: 70%;
	opacity: 0.5;
	position: absolute;
	left: .5em;
	top: 1.5em;
}
/*診療メニュー*/
.c-sp-nav-med {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 1%;
	row-gap: 1vw;
}
.c-sp-nav-med a {
	background: #9898a7;
	text-align: center;
	font: var(--font-min);
	color: #fff;
	font-size: var(--fs-15);
	letter-spacing: .1em;
	line-height: 1.4em;
	border-radius: .3em;
	height: 4.0em;
    display: flex;
    flex-direction: column;
    justify-content: center;
}



/*斜線描画アニメーション
---------------------------------------------------------*/
.c-slash__outer {
	overflow: hidden;
}
.c-slash__outer .slash_position {
	position: absolute;
	stroke: #fff; /*線の色*/
	opacity: 0.4;
}
.c-slash__outer .slash_position svg {
    opacity: 1;
    stroke-width: 1px;	/*線幅*/
    stroke-dasharray: 1500;
    stroke-dashoffset: 1500;
    animation: anm_slash_line 3s;	/*線が流れる速さ*/
    animation-timing-function: ease-in-out;
    animation-direction: reverse;
}

/*アニメーションの定義*/
@keyframes anm_slash_line {
    50% {
		stroke-dashoffset: 0;
    }
    100% {
		stroke-dashoffset: -1500;
    }
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.c-slash__outer .slash_position {
	opacity: 0.6;
}
}



/*症例
---------------------------------------------------------*/
/*パーツ*/
.c-case__unit {
	background: #fff;
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.05);
	font-size: var(--fs-14);
	line-height: 1.4em;
}
.c-case__photo {
	width: 100%;
	position: relative;
	font-size: var(--fs-17);
}
.c-case__photo img {
	width: 100% !important;
	max-width: initial !important;
}
.c-case__photo::before,
.c-case__photo::after {
	content: "";
	position: absolute;
	z-index: 5;
	width: 50%;
	bottom: 0;
	text-align: center;
	font: var(--font-en);
	color: #fff;
	letter-spacing: normal;
	line-height: 3.0em;
}
.c-case__photo::before {
	content: "before";
	left: 0;
}
.c-case__photo::after {
	content: "after";
	right: 0;
}
.c-case__detail {
	margin-top: 2.0em;
}
.c-case__detail table {
	width: 100%;
}
.c-case__detail th,
.c-case__detail td {
	text-align: left;
	border-bottom: solid 1px #fff;
	margin: 0;
	padding: .7em 3%;
}
.c-case__detail th:nth-child(1),
.c-case__detail td:nth-child(1) {
	width: 25%;
	background: var(--color-navy) !important;
	border-radius: 3px;
	color: #fff;
}
.c-case__detail th:nth-child(2),
.c-case__detail td:nth-child(2) {
	width: 75%;
}
.c-case__lisk {
	margin-top: 1.5em;
}
.c-case__lisk dt {
	font-weight: bold;
	margin-bottom: .5em;
}

/*スライド*/
.c-case__slider {
	margin-bottom: var(--gap-40);
}
.c-case__slider .swiper-slide {
	width: calc(47vw - 30px);
	max-width: 584px;
	height: auto;
}
.c-case__slider .c-case__unit {
	padding: 6.5%;
	height: 100%;
}
.c-case__slider-control {
	font-size: var(--fs-base);
	width: 100%;
	text-align: center;
	display: flex;
    justify-content: center;
    align-items: center;
	flex-direction: row-reverse;
	column-gap: 2.0em;
	padding: var(--gap-40) 0;
	border-bottom: solid 1px #d1d1d1;
}
.c-case__slider-arrows {
	display: flex;
    justify-content: center;
    align-items: center;
	column-gap: 1.5em;
}
.c-case__slider-arrows > div {
	font-size: 90%;
	width: 3.0em;
	height: 3.0em;
	line-height: 3.0em;
	border-radius: 50%;
	background: rgba(26,26,26,0.5);
	color: #fff;
	cursor: pointer;
	transition: all 0.4s;
}
.c-case__slider-arrows > div:hover {
	background: rgba(26,26,26,0.7);
}
.c-case__slider-arrows .swiper-prev {
	transform: rotate(180deg);
}
.c-case__slider-pages {
	font: var(--font-en);
	font-size: 124%;
	letter-spacing: .06em;
}
.c-case__slider-pages span {
	padding: 0 .5em;
}
.c-case__slider-control.is-disable {
	display: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*パーツ*/
.c-case__unit {
	letter-spacing: normal;
}
.c-case__detail th:nth-child(1),
.c-case__detail td:nth-child(1) {
	width: 30%;
}
.c-case__detail th:nth-child(2),
.c-case__detail td:nth-child(2) {
	width: 70%;
}

/*スライド*/
.c-case__slider .swiper-slide {
	width: calc(47vw - 20px);
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*パーツ*/
.c-case__unit:not(.swiper-slide > .c-case__unit) .c-case__detail tr,
.c-case__unit:not(.swiper-slide > .c-case__unit) .c-case__detail th,
.c-case__unit:not(.swiper-slide > .c-case__unit) .c-case__detail td {
	display: block;
	box-sizing: border-box;
	width: 100%;
}
.c-case__unit:not(.swiper-slide > .c-case__unit) .c-case__detail th,
.c-case__unit:not(.swiper-slide > .c-case__unit) .c-case__detail td {
	padding: 1.0em 6%;
}
.c-case__unit:not(.swiper-slide > .c-case__unit) .c-case__detail th:nth-child(1),
.c-case__unit:not(.swiper-slide > .c-case__unit) .c-case__detail td:nth-child(1) {
	padding-top: .5em;
	padding-bottom: .5em;
}
.c-case__detail,
.c-case__lisk {
	width: 90%;
	margin-inline: auto;
}
.c-case__lisk {
	margin-top: .5em;
}

/*スライド*/
.c-case__slider {
	position: relative;
	z-index: 0;
}
.c-case__slider .swiper-slide {
	width: 100vw;
	max-width: 100vw;
	padding-right: 25vw;
}
.c-case__slider .c-case__unit {
	padding: 0 0 var(--gap-40);
	font-size: var(--fs-12);
}	
.c-case__slider .c-case__detail th:nth-child(1),
.c-case__slider .c-case__detail td:nth-child(1) {
	width: 30%;
}
.c-case__slider .c-case__detail th:nth-child(2),
.c-case__slider .c-case__detail td:nth-child(2) {
	width: 70%;
}
.c-case__slider .c-case__lisk {
	margin-top: 1.5em;
}
.c-case__wrap:has(.c-case__slider) {
	position: relative;
}
.c-case__slider-control {
	width: auto;
	display: block;
	padding: 0;
	border-bottom: none;
	position: absolute;
	z-index: 10;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.c-case__slider-control.is-disable {
	display: block;
}
.c-case__slider-arrows {
	display: block;
}
.c-case__slider-arrows > div {
	margin-bottom: 1.5em;
}
.c-case__slider-pages {
	font-size: 110%;
}
.c-case__slider-pages span {
	display: block;
	padding: .5em 0;
}
}



/*WPタブメニュー
---------------------------------------------------------*/
.c-topics__menu {
	text-align: center;
	padding-bottom: var(--gap-40);
	border-bottom: solid 1px var(--color-navy);
}
.c-topics__menu ul {
	width: min(100%,984px);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	justify-content: center;
	column-gap: 10px;
}
.c-topics__menu li {
	background: var(--color-light);
	color: var(--color-navy);
	position: relative;
}
.c-topics__menu li::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 11px;
	left: 0;
	top: calc(100% - 1px);
	background: url("../images/fukidashi-navy.png") no-repeat left top;
	background-size: contain;
	opacity: 0;
}
.c-topics__menu li.is-active {
	background: var(--color-navy);
	color: #fff;
}
.c-topics__menu li.is-active::before {
	opacity: 1;
}
.c-topics__menu li > span,
.c-topics__menu li a {
	font: var(--font-min);
	line-height: 1.3em;
	height: 4.8em;
    display: flex;
    flex-direction: column;
    justify-content: center;
	cursor: pointer;
}
.c-topics__menu li a {
	text-decoration: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.c-topics__menu li > span,
.c-topics__menu li a {
	height: 4.0em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.c-topics__menu ul {
	column-gap: 2%;
}
.c-topics__menu li > span,
.c-topics__menu li a {
	font-size: var(--fs-14);
	letter-spacing: .05em;
}
}



/*header
---------------------------------------------------------*/
.l-fv {
	width: 100%;
	position: relative;
}
.l-header {
	width: 100%;
	padding: min(30px,2vh) 3.5% 0;
	position: absolute;
	left: 0;
	top: 0;
}
.l-header h1 {
	position: relative;
	z-index: 15;
}
.l-header__left {
	position: absolute;
	z-index: 10;
	width: 20%;
}
.l-header__right {
	position: relative;
	z-index: 15;
}
.l-fv__wrap {
	position: relative;
	z-index: 0;
	width: 100%;
}

/*h1*/
.l-header h1 {
	text-align: right;
	color: #fff;
	font-size: min(1.3rem,1.3vw);
	font-weight: normal;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: 1.5em;
}

/*l-header__left*/
.l-header__logo a {
	display: block;
	text-align: center;
	color: #fff;
	font-size: min(1.6rem,1.4vw);
	line-height: 1.4em;
}
.l-header__logo-mark {
	width: 30%;
	margin: 0 auto 1.0em;
}
.l-header__logo-ja {
	margin: .8em 0;
}
.l-header__logo-en {
	width: 80%;
	margin-inline: auto;
}

/*l-header__right*/
.l-header__cta {
	text-align: left;
	color: #fff;
	font-size: min(1.2rem,1.1vw);
	line-height: 1.4em;
	display: flex;
    justify-content: flex-end;
    align-items: center;
	column-gap: min(20px,2vw);
	margin-bottom: min(30px,5vh);
}
.l-header__cta-tel dl {
	display: flex;
    align-items: center;
	margin-bottom: .5em;
}
.l-header__cta-tel dt {
	margin-right: 1.0em;
}
.l-header__cta-tel .c-tel {
	font-size: 208%;
}
.l-header__cta-time span {
	font: var(--font-en);
}
.l-header__cta .c-web a {
	font-size: min(2.3rem,2.0vw);
}

/* 1400px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1400px) {
.l-header__right {
    flex-direction: column-reverse;
}
.l-header__nav {
	width: 75%;
	margin-left: auto;
	margin-right: 0;
}
.l-header__cta {
	padding: 0;
	border-left: none;
	margin-left: auto;
	margin-bottom: 2%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.l-header {
	padding-top: 3%;
}
/*l-header__right*/
.l-header__cta {
	font-size: 1.4vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.l-header {
	padding: 0;
}
.l-header h1 {
	display: none;
}
.l-header__left {
	position: relative;
	width: 100%;
	padding: 5vw 0 0;
}
.l-header__right {
	display: none;
}

/*l-header__left*/
.l-header__logo a {
	width: 55%;
	margin-left: 12%;
	display: flex;
    justify-content: space-between;
    align-items: center;
	column-gap: 0;
	text-align: left;
	font-size: 1.1rem;
}
.l-header__logo-mark {
	width: 25%;
	margin: 0;
}
.l-header__logo-type {
	width: 70%;
}
.l-header__logo-en {
	margin-left: 0;
	margin-right: auto;
}
}



/*メニュー
---------------------------------------------------------*/
.l-nav {
	display: flex;
    align-items: center;
	column-gap: min(30px,2.0vw);
}
.l-nav > li {
	position: relative;
}
.l-nav > li > a {
	display: block;
	font: var(--font-min);
	font-size: min(1.6rem,1.4vw);
	line-height: 1.4em;
	position: relative;
}
.l-nav > li > a .u-ft-en {
	font-size: 94%;
}
.l-nav > li > a::before {
	content: "";	/*現在地*/
	position: absolute;
	width: 5px;
	aspect-ratio: 1 / 1;
	background: currentColor;
	border-radius: 50%;
	margin: auto;
	left: 0;
	right: 0;
	bottom: -.8em;
	opacity: 0;
	transition: all 0.4s;
}
.l-nav > li > a:hover::before,
.l-nav > li > a.is-now::before {
	opacity: 1;
}

/* アコーディオンメニュー */
.l-nav__inmenu {
	display: none;
	position: absolute;
	z-index: 100;
	top: calc(100% + 1.0em);
	left: 50%;
	transform: translateX(-50%);
	background: #9898a7;
	border-radius: 5px;
	padding: min(1.3em,1.2vw) min(2.5em,2.5vw) min(2.5em,2.5vw);
	box-sizing: border-box;
	font: var(--font-min);
	font-size: 1.4rem;
	line-height: 1.5em;
	color: #fff;
	text-align: left;
	width: 20em;
}
.l-nav__inmenu.inmenu-service {
	width: 80vw;
	max-width: 900px;
	transform: none;
}

.l-nav__inmenu.inmenu-service ul{
	display: flex;
    justify-content: start;
	flex-wrap: wrap;
	column-gap: 2%;
}
.l-nav__inmenu.inmenu-service ul li{
	width: 32%;
}
.l-nav__inmenu li{
	display: block;
	border-bottom:rgba(255,255,255,0.15) 1px solid;
}
.l-nav__inmenu li a{
	position: relative;
	display: block;
	padding: 1.4em 0 .8em 1em;
	box-sizing: border-box;
}
.l-nav__inmenu li a::after {
	content: "";
	position: absolute;
	top: 1.9em;
	left: 0;
	width: 0;
	height: 0;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 6px solid currentColor;
}
.l-nav__inmenu li.icon-list a {
	padding-left: 2.0em;
}
.l-nav__inmenu li.icon-list a::after {
	font-family: 'fontello';
	content: '\e80e';
	width: auto;
	height: auto;
	border: none;
	left: 0;
	top: 1.4em;
}
.l-nav__inmenu a:hover{
	opacity: .7;
}

/*メインメニュー*/
.l-header__nav {
	width: max-content;
	margin-left: auto;
	margin-right: 0;
	position: relative;
}
.l-header__nav .l-nav {
    justify-content: flex-end;
}
.l-header__nav .l-nav > li > a {
	color: #fff;
}
.l-header__nav .l-nav__inmenu.inmenu-service {
	left: auto;
	right: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.l-nav > li > a {
	font-size: 1.6vw;
}
.l-nav__inmenu {
	padding: 1vw 1.5em 2.5vw;
	letter-spacing: normal;
	font-size:calc(12 * 0.102rem);
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*メインメニュー*/
.l-header__nav .l-nav {
	display: none !important;
}
}



/*スクロールメニュー
---------------------------------------------------------*/
#fixed-header {
	display: none;
	position: fixed;
	z-index: 500;
	left: 0;
	top: 0;
	transform: translateY(-100%);
}
#fixed-header.is-show {
	display: block;
	transform: translateY(0);
	opacity: 1;
    animation: sclAnimation 1.0s;
}
.l-fixed-header {
	width: 100%;
	background:rgba(49,49,79,0.95);
	border-bottom: solid 1px var(--color-corporate);
	box-sizing: border-box;
}
.l-fixed-header,
.l-fixed-header a{
	color: #fff;
}
.l-fixed-header__flex {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.l-fixed-header__left {
	width: 58%;
	padding-left: 2%;
}
.l-fixed-header__right {
	width: 42%;
	max-width: 490px;
}

.l-fixed-header .l-fixed-header__left {
	position: relative;
}
.l-fixed-header .l-nav > li > a {
	font-size: min(1.6rem,1.2vw);
}
.l-fixed-header .l-nav__inmenu.inmenu-service{
	left: 2%;
}

.l-fixed-header .l-header__cta {
    justify-content: space-between;
	column-gap: 0;
	margin: 0;
}
.l-fixed-header .l-header__cta-tel {
	width: 76%;
	border-left: solid 1px rgba(248,248,250,0.3);
	padding: 1.0rem 3%;
	padding-right: 0;
}
.l-fixed-header .c-web {
	width: 24%;
}
.l-fixed-header .c-web a {
	font-size: min(1.8rem,1.6vw);
	padding: 2.3em 0;
}
.l-fixed-header .c-web a::before {
	margin: auto;
	left: 0;
	right: 0;
	top: calc(50% + 1.8em);
	transform: rotate(-45deg);
}
.l-fixed-header .c-web a p {
	display: block;
	padding: 0;
	position: static;
}
.l-fixed-header .c-web a p::before {
	margin: auto;
	left: 0;
	right: 0;
	top: auto;
	transform: none;
	bottom: calc(50% + 1.0em);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1400px) {
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.l-fixed-header .l-nav > li > a {
	font-size: min(1.4rem,1.3vw);
}
.l-fixed-header__right .l-header__cta{
	font-size:1.2vw!important;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#fixed-header {display: none !important;}
}

/* スクロールメニューアニメーション */
@keyframes sclAnimation {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}



/*fixed-side
---------------------------------------------------------*/
.l-fixed-side {
	position: fixed;
	z-index: 300;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}
.l-fixed-side__list .l-fixed-side__btn {
	margin-bottom: 1px;
}
.l-fixed-side__btn a {
	display: block;
	text-align: center;
	font: var(--font-min);
	color: #fff;
	font-size: min(var(--fs-base),1.4vw);
	padding: 5.0em 0 1.0em;
	border-radius: 5px;
	width: min(6vw,84px);
	background-image: url("../images/corner-c.png");
	background-repeat: no-repeat;
	background-position: right 8px bottom 8px;
	background-size: 5px auto;
	position: relative;
}
.l-fixed-side__list > .l-fixed-side__btn.--purple a{/*歯周病、お口全体*/
	background-color: rgba(63,49,87,0.9);}
.l-fixed-side__list > .l-fixed-side__btn.--black a{/*インプラント、症例*/
	background-color: rgba(63,49,87,0.9);}
.l-fixed-side__list > .l-fixed-side__btn.--purple a:hover{
	background-color: rgba(63,49,87,0.7);}
.l-fixed-side__list > .l-fixed-side__btn.--black a:hover{
	background-color: rgba(63,49,87,0.7);}

.l-fixed-side__btn a::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 3.8em;
	left: 0;
	top: .5em;
	background: url("../images/r-icon_perio.png") no-repeat center center;
	background-size: auto 100%;
}
.l-fixed-side__btn.--implant a::before{
	background-image: url("../images/r-icon_implant.png");
}
.l-fixed-side__btn.--okuchi a::before {
	background-image: url("../images/r-icon_okuchi.svg");
}
.l-fixed-side__btn p {
	display: inline-block;
	vertical-align: middle;
	writing-mode: vertical-rl;
	text-orientation: upright;
	text-align: left;
	font-size: 110%;
	line-height: 1.2em;
	letter-spacing: normal;
}
.l-fixed-side__btn p .fs-s {
	font-size: 75%;
}
.l-fixed-side__btn p .fs-l {
	font-size: 117%;
}
.l-fixed-side__btn.--perio p {
	font-size: 106%;
	line-height: 1.3em;
}

.l-fixed-side__btn.--menu {
	display: none !important;	/*公開当日に仕様変更になったので不要になりました。HTMLにコードが残っていますが使っていません*/
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.l-fixed-side {
	right: 0;
}
.l-fixed-side__btn a {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	background-position: right 5px bottom 5px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.l-fixed-side {
	position: fixed;
	margin: auto;
	left: 0;
	right: 0;
	top: auto;
	bottom: 20vw;
	transform: none;
	width: 80%;
}
	
.l-fixed-side__list {
	display: flex;
    justify-content: space-between;
}
.l-fixed-side__list .l-fixed-side__btn {
	width: 49%;
	margin: 0;
}
.l-fixed-side__btn a {
	height: 4.0em;
	border-radius: 5px;
}
.l-fixed-side__btn a {
	font-size: var(--fs-base) !important;
	width: 100% !important;
	padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.l-fixed-side__btn a::before {
	display: none;
}
.l-fixed-side__btn p {
	writing-mode: horizontal-tb;	
	text-align: center;
}
.l-fixed-side__btn.--perio p {
	font-size: 100%;
}
	
.l-fixed-side__btn.--menu {
	display: none !important;	/*公開当日に仕様変更になったので不要になりました。HTMLにコードが残っていますが使っていません*/
}
}



/*スマホメニュー
---------------------------------------------------------*/
.drawer-hamburger.--close {
	position: absolute;
	z-index: 10;
	right: 0;
	top: 0;
	width: 4.0em;
}
.drawer-nav {
	width: 100%;
	background-color: #fff;
	padding: 5vw 5%;
	text-align: left;
}
.drawer-nav__logo {
	width: 12%;
	margin-bottom: 5vw;
}
.drawer-nav__index {
	margin-top: 10vw;
	text-align: center;
	font: var(--font-en);
	color: var(--colo-navy);
	letter-spacing: .1em;
	margin-bottom: 1.0em;
}
.drawer-info {
	background: #f8f8fa;
	padding: 8vw 5% 20vw;
	text-align: center;
}
.drawer__list {
	font: var(--font-min);
	color: var(--color-navy);
	font-size: var(--fs-14);
	letter-spacing: .1em;
	line-height: 1.4em;
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
	margin-bottom: 1.5em;
}
.drawer__list li {
	border-left: solid 1px #c1c1ca;
}
.drawer__list li:first-child {
	border-left: none;
}
.drawer__list a {
	padding: 0 1.5em;
}
.drawer__sns {
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
	column-gap: 2.0em;
	margin-top: 3.0em;
}
.drawer__sns a {
	display: block;
	width: 2.0em;
}



/*footer
---------------------------------------------------------*/
.l-footer {
	background: #fff;
}

/*l-footer__info*/
.l-footer__info {
	background: var(--color-light);
	padding: var(--gap-100) 0;
}
.l-footer__info-layout {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.l-footer__info-layout .l-footer__info-left {
	width: min(52%,630px);
}
.l-footer__info-layout .l-footer__info-right {
	width: min(44%,520px);
}

/*l-footer__info-left*/
.l-footer__logo {
	display: grid;
	grid-template-columns: min(18%,96px) min(55%,216px);
    align-items: center;
	column-gap: 5%;
	text-align: center;
	color: #7ca2cd;
	font-size: 1.3rem;
	letter-spacing: .1em;
	line-height: 1.0em;
	margin-bottom: 30px;
}
.l-footer__logo-ja {
	margin: 1.0em 0;
}
.l-footer__logo-en {
	width: 85%;
	margin-inline: auto;
}
.l-footer__info address {
	line-height: 1.6em;
	margin-bottom: 30px;
}
.l-footer__cta {
	display: flex;
    align-items: center;
	column-gap: min(20px, 4%);
	margin-bottom: 30px;
}
.l-footer__tel {
	font: var(--font-min);
	font-size: min(var(--fs-base),1.8vw);
	line-height: 1.2em;
}
.l-footer__tel .c-tel {
	font-size: 210%;
	margin-top: .4em;
}
.l-footer__cta .c-web a {
	font-size: min(2.3rem,2.0vw);
}
.l-footer .c-timetable table {
	font-size: min(var(--fs-19),1.7vw);	/*基準：曜日サイズ*/
}

/*l-footer__info-right*/
.l-footer__info iframe {
	width: 100%;
	height: min(50vw,500px);
}
.l-footer__access {
	margin-top: 1.0em;
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row-reverse;
}
.l-footer__access .c-link-under {
	width: 150px;
	margin-top: 0;
	text-align: right;
}
.l-footer__access-list {
	width: calc(97% - 150px);
	line-height: 1.6em;
	margin-top: .8em;
}
.l-footer__access-list li {
	padding-left: 1.5em;
	position: relative;
}
.l-footer__access-list li::before {
	content: "";
	position: absolute;
	width: .8em;
	height: .8em;
	border-radius: 50%;
	background: var(--color-navy);
	opacity: 0.5;
	left: 0;
	top: .4em;
}

/*l-footer__bnrs*/
.l-footer__bnrs {
	padding: var(--gap-60) 0;
}
.l-footer__bnrs-list {
	width: min(100%,1080px);
	margin-inline: auto;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	row-gap: 30px;
}
.l-footer__bnrs-list li {
	width: min(48.5%,520px);
}

/*l-footer__site*/
.l-footer__site {
	background: var(--color-navy);
	color: #fff;
	padding: var(--gap-100) 0 var(--gap-50);
}
.l-footer__site-layout {
	display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
	column-gap: 8%;
	row-gap: var(--gap-40);
	font: var(--font-min);
	line-height: 1.4em;
}
.l-footer__site-main li {
	margin-top: 1.0em;
}
.l-footer__site-main li:first-child {
	margin-top: 0;
}
.l-footer__site-main a {
	display: inline-block;
	padding-left: 1.2em;
	position: relative;
}
.l-footer__site-main a::before {
	font-family: 'fontello';
	content: '\e802';
	font-weight: normal;
	font-size: 60%;
	opacity: 0.5;
	position: absolute;
	left: 0;
	top: .3em;
}
.l-footer__site-sub {
	font-size: var(--fs-14);
	line-height: 1.4em;
}
.l-footer__site-sub li {
	margin-top: .8em;
}
.l-footer__site-sub li:first-child {
	margin-top: 0;
}
.l-footer__site-sub a {
	display: inline-block;
	padding-left: 1.2em;
	position: relative;
}
.l-footer__site-sub a::before {
	content: "";
	position: absolute;
	width: .5em;
	height: 1px;
	background: currentcolor;
	left: 0;
	top: .6em;
}
.l-footer__site-sub.--medical {
	display: grid;
	grid-template-columns: repeat(2, 250px);
}
.l-footer__site-sub.--medical li:nth-child(-n+2) {
	margin-top: 0;
}
.l-footer__site-index dt {
	font: var(--font-en);
	margin-bottom: 1.0em;
}

/*l-footer__site-bottom*/
.l-footer__site-bottom {
	margin-top: var(--gap-40);
}
.l-footer__copyright {
	font: var(--font-en);
	line-height: 1.5em;
}
.l-footer__catch {
	font-size: var(--fs-12);
	letter-spacing: .1em;
	line-height: 1.5em;
	margin-top: .8em;
}

/*l-footer__bottom*/
.l-footer__bottom {
	background: var(--color-navy);
	color: #fff;
	padding: 0 3% var(--gap-40);
	display: flex;
    justify-content: flex-end;
    align-items: center;
}
.l-footer__sns {
	display: flex;
    justify-content: flex-end;
    align-items: center;
	column-gap: 2.0rem;
	margin-right: 3.0rem;
}
.l-footer__sns li {
	display: block;
	width: 3.0rem;
}
.l-footer__page-top {
	width: min(10%,28px);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*l-footer__info*/
/*l-footer__info-left*/
.l-footer .c-timetable table {
	font-size: 2.0vw;	/*基準：曜日サイズ*/
}
/*l-footer__info-right*/
.l-footer__access {
	margin-top: 0;
	display: block;
}
.l-footer__access .c-link-under {
	width: auto;
	text-align: center;
}
.l-footer__access-list {
	margin-top: 1.5em;
	width: 100%;
}
.l-footer__access-list li {
	margin-top: .2em;
}
/*l-footer__bnrs*/
.l-footer__bnrs-list {
	row-gap: 3vw;
}

/*l-footer__site*/
.l-footer__site-layout {
	column-gap: 5%;
	letter-spacing: .05em;
}
.l-footer__site-main {
	letter-spacing: .05em;
}
.l-footer__site-sub.--medical {
	grid-template-columns: repeat(2, 200px);
}
/*l-footer__site-bottom*/	
}

/* Mobile (Portrait) 以上
------------------------------------------*/
@media only screen and (min-width: 768px) {
.l-footer__site .js-open-box {
	display: block !important;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*l-footer__info*/
.l-footer__info-layout {
	display: block;
}
.l-footer__info-layout .l-footer__info-left {
	width: 100%;
	margin-bottom: var(--gap-60)
}
.l-footer__info-layout .l-footer__info-right {
	width: 100%;
}

/*l-footer__info-left*/
.l-footer__logo {
	grid-template-columns: 18% 55%;
	justify-content: center;
	margin-bottom: 4vw;
}
.l-footer__info address {
	text-align: center;
	margin-bottom: 4vw;
}
.l-footer__cta {
    justify-content: space-between;
	column-gap: 0;
	margin-bottom: 4vw;
}
.l-footer__tel {
	text-align: center;
	font-size: var(--fs-15);
}
.l-footer__tel .c-tel {
	font-size: 200%;
	margin-top: .3em;
}
.l-footer__cta .c-web a {
	font-size: 1.8rem;
}
.l-footer .c-timetable table {
	font-size: var(--fs-15);	/*基準：曜日サイズ*/
}

/*l-footer__info-right*/
.l-footer__info iframe {
	height: 90vw;
}
.l-footer__access {
	margin-top: 0;
	display: block;
	text-align: center;
}
.l-footer__access .c-link-under {
	width: 100%;
	text-align: center;
}
.l-footer__access-list {
	display: inline-block;
	text-align: left;
	width: auto;
	margin-top: 1.0em;
	letter-spacing: .05em;
}

/*l-footer__bnrs*/
.l-footer__bnrs-list {
	row-gap: 3vw;
}
.l-footer__bnrs-list li {
	width: 49%;
}

/*l-footer__site*/
.l-footer__site-open {
	text-align: center;
	font: var(--font-en);
	font-size: var(--fs-22);
	letter-spacing: .1em;
	padding-bottom: .5em;
	position: relative;
}
.l-footer__site-open::before {
	content: "";
	position: absolute;
	width: 50%;
	height: 5px;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
	border-top: solid 1px currentcolor;
	opacity: 0.5;
}
.l-footer__site-open .c-icon-open {
	background: rgba(255,255,255,0.4);
}
.l-footer__site-open .c-icon-open::before,
.l-footer__site-open .c-icon-open::after {
	background: var(--color-navy);
}
.l-footer__site .js-open-box {
	display: none;
	padding-top: 2.0em;
}
.l-footer__site-layout {
	display: block;
	letter-spacing: .05em;
}
.l-footer__site-main {
	letter-spacing: .05em;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.l-footer__site-main li {
	width: 48%;
	margin-top: .5em;
}
.l-footer__site-main li:first-child,
.l-footer__site-main li:nth-child(-n+2) {
	margin-top: 0;
}
.l-footer__site-sub {
	display: flex !important;
    justify-content: space-between;
    flex-wrap: wrap;
}
.l-footer__site-sub li {
	width: 48%;
	margin-top: .8em;
}
.l-footer__site-sub li:first-child,
.l-footer__site-sub li:nth-child(-n+2) {
	margin-top: 0;
}
.l-footer__site-index {
	margin-top: var(--gap-60);
}

/*l-footer__site-bottom*/
.l-footer__copyright {
	letter-spacing: .05em;
}
.l-footer__catch {
	width: 100%;
	letter-spacing: normal;
	margin-top: 1.5em;
}

/*l-footer__bottom*/
.l-footer__bottom {
	padding-bottom: 40vw;
}
.l-footer__page-top {
	width: 8%;
}
}



/*スマホフッター
---------------------------------------------------------*/
@media only screen and (min-width: 768px) {
#sp-footer {display: none !important;}
}

.l-fixed-footer {
	position: fixed;
	width: 100%;
	left: 0;
	bottom: 0;
	z-index: 600;
	background: #fff;
	text-align: center;
	box-shadow: 0 0 15px -5px rgba(0, 0, 0, 0.8); 
}
.l-fixed-footer__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.l-fixed-footer__list a {
	font: var(--font-min);
	color: #fff;
	font-size: var(--fs-14);
	line-height: 1.3em;
	height: 5.0em;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.l-fixed-footer__list p {
	width: max-content;
	margin: auto;
	padding-left: 2.5em;
	position: relative;
}
.l-fixed-footer__list p::before {
	font-family: 'fontello';
	content: '\e804';
	font-size: 180%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.l-fixed-footer__list .fs-l {
	font-size: 126%;
}
.l-fixed-footer__btn.--tel a {background: var(--color-navy);}
.l-fixed-footer__btn.--web a {
	background: #4a6db1;
}
.l-fixed-footer__btn.--web p::before {
	content: '\e80f';
	font-size: 220%;
	left: -.2em;
}
.l-fixed-footer__btn.--web .ft_en {
	display: block;
	font-size: 130%;
}
.l-fixed-footer__btn.--web .ft_min {
	display: block;
	font-size: 140%;
	margin-top: .2em;
}
.l-fixed-footer__btn.--access a {background: #758fc3;}
.l-fixed-footer__btn.--access p::before {
	content: '\e808';
	font-size: 240%;
	left: -.2em;
}



/*WP
---------------------------------------------------------*/
.wp-free-area {
	
}
.wp-free-area p,
.wp-free-area ul,
.wp-free-area ol {
	margin-bottom: 1.5em;
}
.wp-free-area p:last-child,
.wp-free-area ul:last-child,
.wp-free-area ol:last-child {
	margin-bottom: 0 !important;
}

.wp-free-area a {
	text-decoration: underline;
}
.wp-free-area a:hover {
	color: var(--color-corporate) !important;
	text-decoration: none;
}

.wp-free-area ul,
.wp-free-area ol {
	list-style: none;
}
.wp-free-area ul > li,
.wp-free-area ol > li {
	box-sizing: border-box;
	padding-left: 2.0em;
	margin-bottom: .2em;
	position: relative;
}
.wp-free-area ul > li:last-child,
.wp-free-area ol > li:last-child {
	margin-bottom: 0;
}
.wp-free-area ul > li::before {
	content: "";
	position: absolute;
	width: .6em;
	height: .6em;
	background: var(--job-color);
	border-radius: 50%;
	opacity: 0.5;
	left: .5em;
	top: .5em;
}
.wp-free-area ol > li::before {
	content: "1.";
	font: var(--font-eng-fune);
	color: var(--job-color);
	width: 1.5em;
	font-size: 120%;
	letter-spacing: normal;
	position: absolute;
	left: 0;
	top: .2em;
}
.wp-free-area ol > li:nth-child(2)::before {content: "2.";}
.wp-free-area ol > li:nth-child(3)::before {content: "3.";}
.wp-free-area ol > li:nth-child(4)::before {content: "4.";}
.wp-free-area ol > li:nth-child(5)::before {content: "5.";}
.wp-free-area ol > li:nth-child(6)::before {content: "6.";}
.wp-free-area ol > li:nth-child(7)::before {content: "7.";}
.wp-free-area ol > li:nth-child(8)::before {content: "8.";}
.wp-free-area ol > li:nth-child(9)::before {content: "9.";}
.wp-free-area ol > li:nth-child(10)::before {content: "10.";}
.wp-free-area ol > li:nth-child(11)::before {content: "11.";}
.wp-free-area ol > li:nth-child(12)::before {content: "12.";}
.wp-free-area ol > li:nth-child(13)::before {content: "13.";}
.wp-free-area ol > li:nth-child(14)::before {content: "14.";}
.wp-free-area ol > li:nth-child(15)::before {content: "15.";}
.wp-free-area ol > li:nth-child(16)::before {content: "16.";}
.wp-free-area ol > li:nth-child(17)::before {content: "17.";}
.wp-free-area ol > li:nth-child(18)::before {content: "18.";}
.wp-free-area ol > li:nth-child(19)::before {content: "19.";}
.wp-free-area ol > li:nth-child(20)::before {content: "20.";}

.wp-free-area a.free-btn {
	margin-top: 1.5em;
	display: inline-block;
	text-align: center;
	background: #F4F3F3;
	color: var(--job-color);
	font-size: 88%;
	font-weight: normal;
	line-height: 1.3em;
	text-decoration: none !important;
	border-radius: 100vmax;
	padding: .6em 4.0em .6em 3.0em;
	min-width: 14em;
	position: relative;
}
.wp-free-area a.free-btn::before {
	font-family: 'fontello';
	content: '\e800';
	font-size: 120%;
	position: absolute;
	right: 2.0em;
	top: 50%;
	transform: translateY(-50%);
}
.wp-free-area a.free-btn:hover {
	background: var(--job-color);
	color: #fff !important;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}



/* PC
------------------------------------------*/
@media only screen and (min-width: 960px)  {
.tb_only{display:none !important;}
.sp_only{display:none !important;}
.sp_tb{display:none !important;}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.pc_only{display:none !important;}
.sp_only{display:none !important;}
.sp_pc{display:none !important;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pc_only{display:none !important;}
.tb_only{display:none !important;}
.tb_pc{display:none !important;}
}