@charset "utf-8";
/*================================
　ここから全サイズ適用
================================*/

/*CSS Variable
================================*/
/*オリーブ、ゴールド系*/
:root {
	/*ベースカラー*/
	--theme-color01: #a0958f;
	/*ボーダーなど*/
	--theme-color02: #c7c2bf;
	/*.intro_catchcopyなど*/
	--theme-color03: #b2c8cb;
	/*アクセントカラー、ボタンなど*/
	--theme-color04: #00a692;
	/*WEB予約、フッター、スマホタブなど*/
	--theme-color05: #f2a5ab;
}


.txt_color01 {
    color: var(--theme-color01)!important;
}

.txt_color02 {
    color: var(--theme-color02)!important;
}

.txt_color03 {
    color: var(--theme-color03)!important;
}

.txt_color04 {
    color: var(--theme-color04)!important;
}

.txt_color05 {
    color: var(--theme-color05)!important;
}

.txt_color06 {
    color: #67a29b!important;
}

.letter-spacing0 {
    letter-spacing: 0!important;
}

.letter-spacing05 {
    letter-spacing: 0.5px!important;
}

.letter-spacing1 {
    letter-spacing: 1px!important;
}

.letter-spacing15 {
    letter-spacing: 1.5px!important;
}

.line-height17 {
	line-height: 1.7!important;
}
.line-height15 {
	line-height: 1.5!important;
}

.zen-maru-gothic-regular {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 400;
	font-style: normal;
  }
  
  .zen-maru-gothic-medium {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	font-style: normal;
  }
  
  .zen-maru-gothic-bold {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-style: normal;
  }
  
  .lato-light {
	font-family: "Lato", sans-serif;
	font-weight: 300;
	font-style: normal;
  }
  
  .lato-regular {
	font-family: "Lato", sans-serif;
	font-weight: 400;
	font-style: normal;
  }
  
  .lato-bold {
	font-family: "Lato", sans-serif;
	font-weight: 700;
	font-style: normal;
  }

/*html基本設定
================================*/
html {
	overflow-y: scroll;
	scroll-behavior: smooth;
	font-size: 10px;
	font-size: 62.5%;
}
body {
	overflow: hidden;
	/*↓文字の基本設定*/
	/*font-family: "Zen Maru Gothic", serif;*/
	font-family: 'Zen Maru Gothic',"Lato", serif;
	font-size: 18px;
	font-size: 1.8em;
	font-weight: 500;
	text-align: justify;
	color: #333;
	/* ↓iPhoneの文字サイズ自動調整を無効化 */
	-webkit-text-size-adjust: 100%;
}
p, dl, dt, dd, ol, ul, li {
	/*↓文字の行の高さ設定*/
	line-height: 2;
	/*↓文字の字間を設定*/
	letter-spacing: 0.05em;

    font-weight: 400;

}
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
a {
	text-decoration: none;
}
a:link {
	text-decoration: none;
}
a:visited {
	text-decoration: none;
}
a:hover {}
a:active {
	/*color: #999;*/
	text-decoration: none;
}
/*margin-bottom
================================*/
.mb0{
	margin-bottom:0 !important;
}
.mb10{
	margin-bottom:10px !important;
}
.mb15{
	margin-bottom:15px !important;
}
.mb20{
	margin-bottom:20px !important;
}
.mb25{
	margin-bottom:25px !important;
}
.mb30{
	margin-bottom:30px !important;
}
.mb40{
	margin-bottom:40px !important;
}
.mb50{
	margin-bottom:50px !important;
}
.mb60{
	margin-bottom:60px !important;
}
.mb70{
	margin-bottom:70px !important;
}
.mb80{
	margin-bottom:80px !important;
}
.mb90{
	margin-bottom:90px !important;
}
.mb100{
	margin-bottom:100px !important;
}

/* コンテナ類、幅制御
================================*/
.inner {
	margin: 0 auto;
	/*max-width: calc(1200px + 14rem);*/
	padding-left: 7rem;
	padding-right: 7rem;
}

/* ページ内リンク位置調整
================================*/
.anchor-link {
	display: block;
	transform: translateY(-120px);
}

/* ブロック要素、インライン要素
================================*/
.inline-block {
	display: inline-block;
}
.block {
	display: block;
}
.block_center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.block_right {
	display: block;
	margin-left: auto;
}
.block_left {
	display: block;
	margin-right: auto;
}

/* 文字
================================*/
.text_center {
	text-align: center !important;
}
.text_left {
	text-align: left !important;
}
.text_right {
	text-align: right !important;
}

/* 文字ウェイト
================================*/
/*Light*/

.fw300 {
	font-weight: 300;
	vertical-align: baseline;
}

/*Regular*/

.fw400 {
	font-weight: 400;
	vertical-align: baseline;
}

/*Medium*/
.fw500 {
	font-weight: 500;
	vertical-align: baseline;
}
/*Bold*/
.fw700 {
	font-weight: 700;
	vertical-align: baseline;
}

/*文字カラー
================================*/
.fc-fff {
	color: #fff!important;
	vertical-align: baseline;
}
.fc-333 {
	color: #333!important;
	vertical-align: baseline;
}
.fc-7e7e7e {
	color: #7e7e7e!important;
	vertical-align: baseline;
}
.fc-theme01 {
	color: var(--theme-color01)!important;
	vertical-align: baseline;
}
.fc-theme04 {
	color: var(--theme-color04)!important;
	vertical-align: baseline;
}
.fc-98785b {
	color: #98785b!important;
	vertical-align: baseline;
}

/* リンクボタン
================================*/
.link_btn {
	position: relative;
	z-index: 1;
	display: inline-block;
	transition: .4s;
	max-width: 100%;
	min-width: 27rem;
	padding: 0.2em 3.5rem;
	background: var(--theme-color05);
	border: 1px solid var(--theme-color05);
	border-radius: 4px;
	text-align: center;
	color: #fff;
	line-height: 1.6;
	cursor: pointer;
}
.link_btn::before {
	transition: .4s;
	position: absolute;
	z-index: 1;
	content: "";
	width: 0.5rem;
	height: 1rem;
	right: 2.2rem;
	top: 50%;
	transform: translateY(-50%);
	background: url(../img/link_btn_arrow_off.png)center/contain no-repeat;
}
.link_btn::after {
	transition: .4s;
	opacity: 0;
	position: absolute;
	z-index: 1;
	content: "";
	width: 0.5rem;
	height: 1rem;
	right: 2.2rem;
	top: 50%;
	transform: translateY(-50%);
	background: url(../img/link_btn_arrow_on.png)center/contain no-repeat;
}
/*hover*/
.link_btn:hover {
	background: #fff;
	color: var(--theme-color05);
}
.link_btn:hover::before {
	opacity: 0;
}
.link_btn:hover::after {
	opacity: 1;
}
/*nolink*/
.link_btn.-nolink {
	background: #ccc;
	border: 1px solid #ccc;
	color: #eee;
}
.link_btn.-nolink:hover::before {
	opacity: 1;
}
.link_btn.-nolink:hover::after {
	opacity: 0;
}

/*================================
ヘッダー
================================*/
.seo-message_wrapper {
	position: absolute;
	/* z-index: -1; */
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	/* height: 0; */
	/* opacity: 0; */
	/* overflow: hidden; */
}
.seo-message {
	font-size: 1rem;
	font-weight: 400;
	text-align: right;
	line-height: 1;
}

/*------------------------------*/
.header {
	/*flex*/
	display: flex;
	justify-content: center;
	align-items: center;
	/*others*/
	transition: .4s;
	position: fixed;
	z-index: 10;
	left: 0;
	top: 0;
	width: 100%;
	min-height: 7rem;
	/* background: rgba(255,255,255,0.9); */

}
.header.-bg {
	background: rgba(255,255,255,0.9);
}
.header .inner {
	/*flex*/
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 40px;
	/*others*/
	width: 100%;
	max-width: calc(1200px + 14rem);
	padding-top: 10px;
	padding-bottom: 10px;
}
/*------------------------------*/
.hd_left {}
.hd_logo {
	max-width: 27rem;
}
.hd_logo_img {}
/*------------------------------*/
.hd_right {
	/*flex*/
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 0 4rem;
	/*others*/
}
.hd_tel {
	/*flex*/
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 2rem;
	/*others*/
	text-align: center;
}
.hd_tel_text {
	padding: 0 3rem;
	background: var(--theme-color05);
	border-radius: 4px;
	font-size: 1.6rem;
	line-height: 1.6;
	text-align: center;
	color: #fff;
    font-weight: 400;
}
.hd_tel_number {
	line-height: 1;
}
header .hd_tel_link::before {
	content: "tel";
	font-size: 20px;
	font-family: "Lato";
	color: #a0958f;
    font-weight: 400;
    padding-right: 5px;
}
header .hd_tel_link {
	background: none;
	position: relative;
    text-shadow: 0 0 10px #fff;
}
.hd_tel_link {
	display: inline-block;
	padding-left: 1em;
	padding-bottom: 0.2em;
	background-image: url(../img/tel_icon02.png);
	background-position: top 0.22em left;
	background-size: 0.75em auto;
	background-repeat: no-repeat;
	font-size: 2.8rem;
	color: var(--theme-color01);
	font-family: "Lato", sans-serif;
}
.hd_nav {
	/*flex*/
	display: flex;
	justify-content: center;
	align-items: center;
	/*others*/
	width: 5rem;
}


/*side_fix
================================*/

.side_fix {
	transition: .6s;
	position: fixed;
	z-index: 8;
	right: 2rem;
	bottom: 3rem;
	visibility: hidden;

	/* width: 13rem; */
}
.side_fix--news {
	animation: zoomIn 1s 2s ease backwards;
	visibility: visible;
}

.side_fix_link::after {
	content: "";
	border-bottom: solid 1px #fff;
	width: 24px;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.side_fix_link {
	position: relative;
	font-size: 16px;
	color: #ffffff;
	line-height: 1.5;
	text-align: left;
	font-weight: 500;
    padding-bottom: 12px;
}

.side_fix.fixed {
	bottom: 11rem;
}
.side_fix:hover {
	opacity: 0.9;
	/* width: 110px; */
	/* height:  110px; */
}
.side_fix_tab {
	position: relative;
	transition: .2s;
	/*width: 13rem;*/
	background: var(--theme-color05);
	border-radius: 50%;
	height: 130px;
	width: 130px;
	display: grid;
	align-items: center;
	justify-content: center;
	animation: pulse 4s infinite;

}

/*================================
フッター
================================*/
.footer {
	position: relative;
	z-index: 1;
	border-top: 1px solid var(--theme-color02);
}
.footer::before {
	position: absolute;
	z-index: -1;
	content: "";
	left: 0;
	top: 6px;
	width: 100%;
	border-top: 1px solid var(--theme-color02);
}
.ft_info {}
.ft_info .inner {
	max-width: calc(1000px + 14rem);
	padding-top: 9rem;
	padding-bottom: 9rem;
}
/*
.ft_heading {
	margin-bottom: 40px;
}
.ft_heading_en {
	position: relative;
	z-index: 1;
	margin-bottom: 20px;
	padding-bottom: 0.24em;
	font-family: 'Lato', serif;
	font-size: 6.6rem;
	font-weight: 500;
	line-height: 0.65;
	text-align: left;
	letter-spacing: 0.05em;
	color: var(--theme-color01);
}
.ft_heading_en::before {
	position: absolute;
	z-index: 1;
	content: "";
	left: 0;
	bottom: 0;
	height: 1px;
	width: 0.64em;
	background: var(--theme-color01);
}
.ft_heading_jp {
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
	letter-spacing: 0.05em;
	color: var(--theme-color04);
}
*/
/*
.ft_content {
	width: calc(100% - (30rem + 4rem));
}
*/
.ft_title {
	position: relative;
	z-index: 1;
	margin-bottom: 20px;
	padding-bottom: 0.24em;
	font-family: 'Lato', serif;
	font-size: 4rem;
	font-weight: 300;
	line-height: 0.65;
	text-align: left;
	letter-spacing: 0.05em;
	color: var(--theme-color01);
}
.ft_title::before {
	position: absolute;
	z-index: 1;
	content: "";
	left: 0;
	bottom: 0;
	height: 1px;
	width: 0.64em;
	background: var(--theme-color01);
}

/*ロゴ
------------------------*/
.ft_logo {}
.ft_logo_img {
	margin:0 auto;
}

/*住所
------------------------*/
.ft_address {
	line-height: 1.6;
}
.ft_text {}
.ft_link {}

/*電話
------------------------*/
.ft_tel {}
.ft_tel_text {
	line-height: 1.6;
}
.ft_tel_number {}
.ft_tel_link {
	display: inline-block;
	padding-left: 1em;
	background-image: url(../img/tel_icon01.png);
    background-position: left 55%;
	background-size: 0.75em auto;
	background-repeat: no-repeat;
	font-size: 4rem;
    font-family: 'Lato', serif;
    font-weight: 500;
	line-height: 1.2;
	color: var(--theme-color01);
}

/*ft_flex01
------------------------*/
.ft_flex01 {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-flow: row wrap;
	gap: 40px 4rem;
}
.ft_flex01_item {
	width: calc(100%/2 - 4rem/2);
	text-align: center;
	color: #7e7e7e;
    font-weight: 400;

}

/* 診療時間
------------------------*/
.ft_schedule {}
.ft_time-table {
    font-weight: 500;
	width: 100%;
	max-width: 500px;
	margin-bottom: 10px;
	margin-left: auto;
	margin-right: auto;
}
.ft_time-table .time {}
.ft_time-table .day {
	width: 9.7%;
}
.ft_time-table thead th {
	padding: 12px 5px;
	background: #fff;
	border: 1px solid #cecece;
	font-size: 1.6rem;
	text-align: center;
	line-height: 1.2;
	vertical-align: middle;
}
.ft_time-table tbody th {
	padding: 12px 5px;
	background: #fff;
	border: 1px solid #cecece;
	font-size: 1.6rem;
	text-align: center;
	line-height: 1.2;
	vertical-align: middle;
}
.ft_time-table tbody th .am {
	padding-left: 0.5em;
}
.ft_time-table tbody td {
	padding: 12px 5px;
	background: #fff;
	border: 1px solid #cecece;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1.2;
	color: var(--theme-color01);
	vertical-align: middle;
}
.ft_time-table .sankaku {
	color: #836736;
}
.ft_time-table_info {
	/*flex*/
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	/* gap: 20px; */
	flex-flow: row wrap;
	/*others*/
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.6rem;
    font-weight: 500;
	text-align: left;
	line-height: 1.5;
}

.ft_time-table_info p {
	font-weight: 500;
}

.ft_time-table_info .closed {
	display: inline-block;
	margin-right: 0.5em;
	padding: 4px 6px 5px;
	background: var(--theme-color05);
	font-weight: 500;
	color: #fff;
	line-height: 1;
}
.ft_time-table_info .sankaku {
	display: inline-block;
	color: var(--theme-color01);
}

/* カレンダー
------------------------*/
.ft_calendar {}
.ft_calendar_frame {}
.ft_calendar_frame iframe {
	width: 100%;
	height: 100%;
	aspect-ratio: 1/1;
}

/* googlemaps
------------------------*/
.ft_googlemaps {
	width: 100%;
	height: 400px;
}
.ft_googlemaps iframe {
	display: block;
	width: 100%;
	height: 100%;
}

/* 地域情報
------------------------*/
.ft_areainfo {}
.ft_areainfo .inner {
	max-width: calc(1000px + 14rem);
	padding-top: 40px;
	padding-bottom: 60px;
}
.ft_areainfo_title {
	margin-bottom: 20px;
	font-weight: 700;
	text-align: center;
	line-height: 1.6;
	color: var(--theme-color01);
}
.ft_areainfo_text {
	color: #7e7e7e;
	font-size: 1.6rem;
    font-weight: 400;
	line-height: 1.75;
    letter-spacing: 0;
}

/* コピーライト表記
------------------------*/
.copyright {
	padding: 6px 60px;
	background: var(--theme-color05);
	font-size: 1.6rem;
	text-align: center;
	color: #fff;
    font-weight: 300;
}

/* ページTOPへ戻る
------------------------*/
.pagetop {
	opacity: 0;
	transition: .4s;
	position: fixed;
	z-index: 6;
	right: 2rem;
	bottom: 2rem;
	width: 8rem;
	height: 8rem;
	background: url(../img/pagetop.png)center/contain no-repeat var(--theme-color01);
	border-radius: 50%;
	cursor: pointer;
}
.pagetop:hover {
	opacity: 0.9;
}



/*================================
ノートPC 1366px～0px
================================*/
@media (max-width: 1366px) {}


/*================================
TABLET横 1080px～0px
================================*/
@media (max-width: 1080px) {

	/* font size設定 */
	/*--------------------------
	ベースとなるhtmlのfont sizeを10pxから8pxに変更することで、
	10px = 1remだったのが8px = 1remとなり、サイト全体の文字をサイズダウンする。
	ベースのfont sizeを変更したことで、bodyに設定した基本のfont sizeが
	1.8em = 18pxだったのが1.8em = 14.4pxになってしまうので、
	bodyのfont sizeを2em（16px相当）に変更する
	--------------------------
	※chrome対策のため、body要素のみemを使用、他の要素ではremを使用すること
	--------------------------
	※文字サイズ一覧※
	12.8px = 1.6rem
	14px = 1.75rem
	16px = 2rem
	18px = 2.25rem
	20px = 2.5rem
	24px = 3rem
	26px = 3.25rem
	28px = 3.5rem
	32px = 4rem
	--------------------------*/


	/*html基本設定
	================================*/
	html {
		font-size: 8px;
		font-size: 50%;
	}
	body {
		/*16px = 2em*/
		font-size: 2em;
	}

	
	
	
	/* 地域情報
	------------------------*/
	.ft_areainfo {}
	.ft_areainfo .inner {
		padding-left: 12rem;
		padding-right: 12rem;
	}


}


/*================================
TABLET縦 834px～0px
================================*/
@media (max-width: 834px) {

	/* コンテナ類、幅制御
	================================*/
	.inner {
		padding-left: 40px;
		padding-right: 40px;
	}

	/* ページ内リンク位置調整
	================================*/
	.anchor-link {
		/*
		padding-top: 80px;
		margin-top: -80px;
		*/
		transform: translateY(-80px);
	}

	/* 画面下固定タブ
	-------------------------------*/
	.bottom_fix {
		/*flex*/
		display: flex;
		/*others*/
		position: fixed;
		z-index: 8;
		left: 0;
		bottom: 0;
		width: 100%;
		/*border-top: 1px solid #fff;*/
		box-shadow: 0 0 10px rgba(0,0,0,0.2);
		/*anime*/
		animation: fadeInUp 1.6s 2s ease both;
	}
	.bottom_tab {
		display: flex;
		justify-content: center;
		align-items: stretch;
	}
	.bottom_link {
		/*flex*/
		display: flex;
		justify-content: center;
		align-items: center;
		/*others*/
		height: 52px;
		width: 100%;
		padding: 6px 0;
	}
	.bottom_text {
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.4;
		color: #fff;
        letter-spacing: 0;
	}
	/*tel*/
	.bottom_tab.-access {
		width: calc(14%);
		background: #c6bfbc;
	}
	.bottom_tab.-tel {
		width: calc(52%);
		background: var(--theme-color05);
	}
	.bottom_tab.-tel .bottom_text span{
		padding-right: 5px;
	}
	.bottom_tab.-tel .bottom_text {
		padding-left: 0;
		font-size: 18px;
		font-family: "Lato";
        font-weight: 500;
		color: #ffffff;
		line-height: 1.2;
		text-align: center;
        letter-spacing: 0;

	}
	/*rsv*/
	.bottom_tab.-rsv {
		width: calc(44%);
		background: var(--theme-color04);
		position: relative;
	}
	.bottom_tab.-rsv::before {
		content: "";
	}

	.bottom_tab.-rsv.-news::before {
		content: "NEW";
		border-radius: 50%;
		background-color: rgb(242, 165, 171);
		display: grid;
		align-items: center;
		letter-spacing: 0;
		position: absolute;
		left: 10px;
		top: -17px;
		width: 34px;
		height: 34px;
		font-size: 11px;
		font-family: "Lato";
		color: #ffffff;
		text-align: center;
		animation: pulse 4s infinite;
		box-shadow: 0 0 10px rgba(0,0,0,0.2);
	}


	.bottom_tab.-rsv .bottom_text {
		font-weight: 400;
		/*background-image: url(../img/side_tab_icon01.png);*/
	}
	/*nolink*/
	.bottom_tab.-nolink {
		background: #ccc;
	}

	
	


	/* リンクボタン
	================================*/
	.link_btn {}
	.link_btn::before {}
	.link_btn::after {}

	/*================================
	ヘッダー
	================================*/
	.seo-message_wrapper {}
	.seo-message {}

	/*------------------------------*/
	.header {}
	.header.-bg {}
	.header .inner {}
	/*------------------------------*/
	.hd_left {}
	.hd_logo {}
	.hd_logo_img {}
	/*------------------------------*/
	.hd_right {}
	.hd_tel {
		flex-direction: column;
	}
	.hd_tel_text {}
	.hd_tel_number {}
	.hd_tel_link {}
	.hd_nav {}

	/*side_fix
	================================*/
	.side_fix {}
	.side_fix.fixed {}
	.side_fix:hover {}
	.side_fix_tab {}

	/*================================
	フッター
	================================*/
	.footer {}
	.footer::before {}
	.ft_info {}
	.ft_info .inner {
		align-items: center;
		flex-direction: column;
	}
	/*
	.ft_heading {
		width: auto;
	}
	.ft_heading_en {}
	.ft_heading_en::before {}
	.ft_heading_jp {}
	.ft_content {
		width: 100%;
	}
	*/
	.ft_title {}

	/*ロゴ
	------------------------*/
	.ft_logo {}
	.ft_logo_img {}

	/*住所
	------------------------*/
	.ft_address {}
	.ft_text {}
	.ft_link {}

	/*電話
	------------------------*/
	.ft_tel {}
	.ft_tel_text {}
	.ft_tel_number {}
	.ft_tel_link {}

	/*ft_flex01
	------------------------*/
	.ft_flex01 {}

	/* 診療時間
	------------------------*/
	.ft_schedule {}
	.ft_time-table {}
	.ft_time-table .time {}
	.ft_time-table .day {}
	.ft_time-table thead th {}
	.ft_time-table tbody th {}
	.ft_time-table tbody th .am {}
	.ft_time-table tbody td {}
	.ft_time-table .sankaku {}
	.ft_time-table_info {}
	.ft_time-table_info .closed {}
	.ft_time-table_info .sankaku {}

	/* カレンダー
	------------------------*/
	.ft_calendar {}
	.ft_calendar iframe {}

	/* googlemaps
	------------------------*/
	.ft_googlemaps {}
	.ft_googlemaps iframe {}

	/* 地域情報
	------------------------*/
	.ft_areainfo {}
	.ft_areainfo .inner {
		padding-left: 7rem;
		padding-right: 7rem;
	}
	.ft_areainfo_title {}
	.ft_areainfo_text {}

	/* コピーライト表記
	------------------------*/
	.copyright {
		padding-bottom: 70px;
	}

	/* ページTOPへ戻る
	------------------------*/
	.pagetop {
		bottom: 60px;
	}
	
	
}



/*================================
SP表示 667px～0px
================================*/
@media (max-width: 667px) {

	/* コンテナ類、幅制御
	================================*/
	.inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	/* 画面下固定タブ
	-------------------------------*/
	.bottom_fix {}
	.bottom_tab {}
	.bottom_link {}
	.bottom_text {
		/*font-size: 1.6rem;*/
	}




	/* リンクボタン
	================================*/
	.link_btn {}
	.link_btn::before {}
	.link_btn::after {}

	/*================================
	ヘッダー
	================================*/
	.seo-message_wrapper {
		z-index: 100;
	}
	.seo-message {
		text-align: left;
	}

	/*------------------------------*/
	.header {
		/* background: rgba(255,255,255,0.9); */
		z-index: 1000;
	}
	.header.-bg {}
	.header .inner {}
	/*------------------------------*/
	.hd_left {}
	.hd_logo {}
	.hd_logo_img {}
	/*------------------------------*/
	.hd_right {
		gap: 0 16px;
	}
	.hd_tel_sp {
		width: 30px;
	}
	.hd_tel_sp_link {}

	/*side_fix
	================================*/
	.side_fix {}
	.side_fix.fixed {}
	.side_fix:hover {}
	.side_fix_tab {}

	/*================================
	フッター
	================================*/
	.footer {}
	.footer::before {}
	.ft_info {}
	.ft_info .inner {}
	/*
	.ft_heading {}
	.ft_heading_en {
		font-size: 4.6rem;
	}
	.ft_heading_en::before {}
	.ft_heading_jp {
		font-size: 2.4rem;
	}
	.ft_content {}
	*/
	.ft_title {}

	/*ロゴ
	------------------------*/
	.ft_logo {}
	.ft_logo_img {}

	/*住所
	------------------------*/
	.ft_address {
		font-size: 1.8rem;
		text-align: center;
	}
	.ft_text {
		font-size: 1.8rem;
		text-align: center;
	}
	.ft_link {
		text-align: center;
	}

	/*電話
	------------------------*/
	.ft_tel {}
	.ft_tel_text {
		text-align: center;
	}
	.ft_tel_number {
		text-align: center;
	}
	.ft_tel_link {}

	/*ft_flex01
	------------------------*/
	.ft_flex01 {
		flex-direction: column;
	}
	.ft_flex01_item {
		width: 100%;
	}

	/* 診療時間
	------------------------*/
	.ft_schedule {
		width: 100%;
	}
	.ft_time-table {}
	.ft_time-table .time {}
	.ft_time-table .day {}
	.ft_time-table thead th {}
	.ft_time-table tbody th {}
	.ft_time-table tbody th .am {}
	.ft_time-table tbody td {}
	.ft_time-table .sankaku {}
	.ft_time-table_info {}
	.ft_time-table_info .closed {}
	.ft_time-table_info .sankaku {}

	/* カレンダー
	------------------------*/
	.ft_calendar {}
	.ft_calendar iframe {}

	/* googlemaps
	------------------------*/
	.ft_googlemaps {}
	.ft_googlemaps iframe {}

	/* 地域情報
	------------------------*/
	.ft_areainfo {}
	.ft_areainfo .inner {
		padding-left: 20px;
		padding-right: 20px;
	}
	.ft_areainfo_title {}
	.ft_areainfo_text {}

	/* コピーライト表記
	------------------------*/
	.copyright {}

	/* ページTOPへ戻る
	------------------------*/
	.pagetop {
		right: 10px;
		width: 50px;
		height: 50px;
	}	
	
	

}



@keyframes pulse {
	0%, 100% {
		transform: scale(0.9);
	}
	50% {
		transform: scale(1);
	}
}














