@charset "utf-8";
/* CSS Document */

/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
pre,textarea{overflow:auto}
[hidden],audio:not([controls]),template{display:none}
details,main,summary{display:block}
input[type=number]{width:auto}
input[type=search]{-webkit-appearance:textfield}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
progress{display:inline-block}
small{font-size:75%}
textarea{resize:vertical}
[unselectable]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
*,::after,::before{box-sizing:inherit;border-style:solid;border-width:0}
*{font-size:inherit;line-height:inherit;margin:0;padding:0}
::after,::before{text-decoration:inherit;vertical-align:inherit}
:root{-ms-overflow-style:-ms-autohiding-scrollbar;overflow-y:scroll;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;box-sizing:border-box;cursor:default;font:16px/1.5 sans-serif;text-rendering:optimizeLegibility}
a{text-decoration:none}
audio,canvas,iframe,img,svg,video{vertical-align:middle}
button,input,select,textarea{background-color:transparent;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit;min-height:1.5em}
code,kbd,pre,samp{font-family:monospace,monospace}
nav ol,nav ul{list-style:none}
select{-moz-appearance:none;-webkit-appearance:none}
select::-ms-expand{display:none}
select::-ms-value{color:currentColor}
table{border-collapse:collapse;border-spacing:0}
::-moz-selection{background-color:#dedede;text-shadow:none}
::selection{background-color:#dedede;text-shadow:none}
@media screen{[hidden~=screen]{display:inherit}
[hidden~=screen]:not(:active):not(:focus):not(:target){clip:rect(0 0 0 0)!important;position:absolute!important}
}

/*--------------------------------------------------------------
##カラー置換用リスト
--------------------------------------------------------------*/

/* メインカラー:#7a6fba */
/* サブカラー:#6355a1 */
/* ポイントカラー:#d4e04a */
/* テキストカラー:#3f3f3f */
/* 背景色:#f1efff */

/* メインカラー半透明①*/
/*background: rgba(142, 131, 197, 0.6); */

/* メインカラー半透明②*/
/*background: rgba(142, 131, 197, 0.1); */

/* サブカラー半透明*/
/*background: rgba(112, 100, 169, 0.6); */

/* 使用WEBフォント*/
/* font-family: "Kosugi Maru", serif; */

/*--------------------------------------------------------------
##共通
--------------------------------------------------------------*/

body{
	color: #3f3f3f;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	letter-spacing: 0.5px;
	font-size: 0.95rem;
	line-height: 1.65;
	text-align: left;
	background: #f1efff;
}

img{
	max-width:100%;
	height:auto;
}

a{
	text-decoration:none;
	color: #3f3f3f;
}

a:hover {
	opacity: 0.7;
	transition: all 0.3s;
}

.top-container,
.footer-container,
.sub-container{
	width: 980px;
	margin: 0 auto;
}

.blog-container{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}

.clearfix {
	min-height: 1px;
}

.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
	overflow: hidden;
	font-size: 0.1em;
	line-height: 0;
}

* html .clearfix {
	height: 1px;
}

.clear{
	clear:both;
}

.table-wrap{
	overflow-x: auto;
	display: block;
}

.table-wrap table th,
.table-wrap table td {
    white-space: nowrap;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.sp_none{
		display:none!important;
	}
}

/* スマホとタブレット */
@media screen and (max-width: 1023px){
	.top-container,
	.footer-container,
	.sub-container{
		width: 100%;
		padding: 0 15px;
	}
}
	
/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {
	.tab_none{
		display:none!important;
	}
}
	
/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){
	.pc_none{
		display:none!important;
	}
}
	
/* PC（大画面）のみ */
@media screen and (min-width: 1920px) {
	.only_widepc{
		display: none;
	}
}

/*--------------------------------------------------------------
##ヘッダー
--------------------------------------------------------------*/

/* スマホとタブレット */
@media screen and (max-width: 1023px){
	.header-pc{
		display: none;
	}

	.header-spInner{
		width: calc(100% - 66px);
		height: 55px;
		display: flex;
		justify-content: space-between;
		margin-top: 7px;
	}

	.header-spLogoArea{
		padding: 15px;
		height: 55px;
		max-width: 205px;
		display: flex;
		align-items:center;
	}

	.header-spLogoArea_txt{
		margin-top: 8px;
		font-size: 14px;
		font-family: "Kosugi Maru", serif;
		font-weight: 700;
	}

	.header-spLogoArea_imgLogoHorizontal{
		height: 25px;
		width: auto;
		margin-top: 8px;
	}

	.header-spLogoArea_imgLogoVertical{
		height: 45px;
		width: auto;
		margin-top: 8px;
	}

	.header-spIconArea{
		display: flex;
		align-items: center;
	}

	.header-spIconArea_icon{
		width: auto;
		height: 55px;
		display: block;
		margin-top: 18px;
		margin-left: 5px;
	}

	.header-spNavbox{
		background: #7a6fba;
		padding: 54px 20px 20px 20px;
		min-height: 100%;
	}

	.header_spNavboxLogoarea_txt{
		font-size: 14px;
		font-family: "Kosugi Maru", serif;
		font-weight: 700;
		color: #fff;
	}

	.header_spNavboxLogoarea_imgLogoHorizontal{
		height: 25px;
		width: auto;
	}

	.header_spNavboxLogoarea_imgLogoVertical{
		height: 45px;
		width: auto;
		display: block;
		margin: 0 auto;
	}

	.header-spNavWrap{
		margin-top:30px;
		width: 100%;
		border-radius: 5px;
		padding: 15px;
		background: #fff;
	}

	.header-spNavItem{
		border-bottom: 1px solid #e5e5e5;
		font-size: 15px;
		padding: 10px 0 10px 15px;	
	}

	.header-spNavItem:last-child{
		border-bottom: none;
	}

	.header-spNavLink{
		padding-left: 10px;
		text-align: center;
	}

	.header-spNavArw{
		display: inline-block;
		vertical-align: middle;
		color: #d4e04a;
		line-height: 1;
		width: 0;
		height: 0;
		border-style: solid;
		border-color: transparent;
		border-width: 0.375em 0.64952em;
		border-left-color: currentColor;
		border-right: 0;
	}

	.header-spBtnWrap{
		margin-top: 30px;
	}
	
	.header-spBtn{
		font-family: "Kosugi Maru", serif;
		font-weight: 700;
		display: block;
		background: #6355a1;
		color: #fff;
		font-size: 20px;
		width: 100%;
		padding:10px 15px;
		border-radius: 5px;
		text-align: center;
		margin-bottom: 10px;
	}
	
	.header-spIcon_reservation{
		background: url("../img/icon_reservation_header.svg") no-repeat left center;
		background-size:contain;
		padding-left: 35px;
		letter-spacing: 2px;
	}

	.link_cancel{
		font-size: 13px;
		font-family: "Kosugi Maru", serif;
		background: url("../img/icon_cancel.svg") no-repeat left center;
		background-size: 15px 15px;
		padding-left: 20px;
		color: #fff;
		display: block;
		margin-top: 10px;
		display: inline-block;
	}

	.header-spBnrWrapInner{
		display: flex;
		flex-wrap: wrap;
		justify-content:space-between;
	}
	
	.header-spBnrWrapItem{
		width: calc((100% - 10px) / 2);
		height: auto;
		margin-top: 10px;
	}
}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){
	
	.header-sp{
		display: none;
	}

	.header-pc{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		padding: 30px 15px;
		font-family: "Kosugi Maru", serif;
	}
	
	.header-pcLogoArea{
		order: 1;
		margin: 0 15px;
	}
	
	.header-pcinfoArea{
		order: 2;
		margin: 0 15px;
		display: flex;
		align-items: center;
	}
	
	.header-pcNavArea{
		order: 3;
		margin: 0 15px;
	}

	.header-pcLogo_txt{
		font-size: 20px;
	}

	.header-pcLogo_imgLogoHorizontal{
		width: 250px;
		display: inline-block;
	}

	.header-pcLogo_imgLogoVertical{
		width: auto;
		height: 75px;
		display: inline-block;
	}

	.header-pcNav_wrap{
		display: flex;
		flex-wrap: wrap;
	}

	.header-pcNav_item{
		margin-right: 15px;
		margin-top: 30px;
	}

	.header-pcNav_item:last-child{
		margin-right: 0;
	}

	.header-pcNav_link{
		font-weight: 700;
    width: 100%;
    display: block;
    position: relative;
    letter-spacing: 2px;
		text-align: center;
	}

	.header-pcNav_link::after{
		content: '';
		position: absolute;
		width: 40px;
		height: 4px;
		bottom: -10px;
		left: 50%;
		border-radius: 2px;
		margin-left: -20px;
		background: #d4e04a;
		-webkit-transition: all 0.2s ease;
		-moz-transition: all 0.2s ease;
	}

	.header-pcNav_link:hover::after{
    width: 60px;
    left: 50%;
    margin-left: -30px;
    background: #d4e04a;
	}

	.header-pcinfoArea_txtWrap{
		display: flex;
		align-items: center;
	}

	.header-pcinfoArea_txt{
		font-size: 13px;
	}

	.header-pcinfoArea_txtSmall{
		font-size: 12px;
	}

	.header-pcinfoArea_tel{
		font-weight: 700;
		font-size: 25px;
		margin-left: 30px;
	}

	.header-pcinfoArea_telIcon{
		background: url(../img/icon_tel.svg) left no-repeat;
		background-size: contain;
		padding-left: 40px;
	}

	.header-pcinfoArea_btnWrap{
		margin-left: 30px;
	}

	.header-pcinfoArea_btn{
		display: block;
		background: #7a6fba;
		color: #fff;
		font-weight: 700;
		font-size: 16px;
		padding: 10px 30px;
		border-radius: 5px;
		letter-spacing: 0.1em;
		text-align: center;
	}

	.header-pcinfoArea_btn:hover{
		opacity: 0.9;
    transition: all 0.3s;
	}

	.header-pcinfoArea_btn:nth-child(n+2) {
		margin-top: 5px;
	}

	.header-pcinfoArea_reservationIcon{
		background: url(../img/icon_reservation_header.svg) left no-repeat;
		background-size: contain;
		padding-left: 30px;
	}

	.header-pcinfoArea_extraIcon{
		background: url(../img/icon_extra_header.svg) left no-repeat;
		background-size: contain;
		padding-left: 30px;
	}
}

/* PC（大画面）のみ */
@media print, screen and (min-width : 1920px){
	.header-pcLogoArea{
		order: 1;
	}
	
	.header-pcinfoArea{
		order: 3;
		width: auto;
	}
	
	.header-pcNavArea{
		order: 2;
		margin: 30px 15px;
	}

	.header-pcNav_item{
		margin-top: 0;
	}
}

/*--------------------------------------------------------------
##メインビジュアル
--------------------------------------------------------------*/

.top-mv{
	width: 100%;
}

.top-mv_inner{
	width: 100%;
	background: #fff;
}

.top-mv_wrap{
	position: relative;
	width: 100%;
	overflow: hidden;
	margin: 0 auto;
	border-radius: 15px;
	display: flex;
	z-index: 1;
}

.top-mv_item{
	position: absolute;
	z-index: 2;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
}

.top-mv_item--01{
	background: url('../img/top-mv_01.jpg') center center;
	animation: slide-animation-01 20s infinite;
	background-size: cover;
	background-repeat: no-repeat;
}

.top-mv_item--02{
	background: url('../img/top-mv_02.jpg') center center;
	animation: slide-animation-02 20s infinite;
	background-size: cover;
	background-repeat: no-repeat;
}

.top-mv_item--03{
	background: url('../img/top-mv_03.jpg') center center;
	animation: slide-animation-03 20s infinite;
	background-size: cover;
	background-repeat: no-repeat;
}

@keyframes slide-animation-01 {
	0% {opacity: 1;}
	30% {opacity: 1;}
	40% {opacity: 0;}
	90% {opacity: 0}
	100% {opacity: 1;}
}
@keyframes slide-animation-02 {
	0% {opacity: 0;}
	30% {opacity: 0;}
	40% {opacity: 1;}
	60% {opacity: 1;}
	70% {opacity: 0;}
	100% {opacity: 0;}
}
@keyframes slide-animation-03 {
	0% {opacity: 0;}
	60% {opacity: 0;}
	70% {opacity: 1;}
	90% {opacity: 1;}
	100% {opacity: 0;}
}

.top-mv_copy{
	position: relative;
	z-index: 3;
	font-size: 22px;
	font-family: "Kosugi Maru", serif;
}

.top-mv_copyTxtItem{
	background: #fff;
	display: inline-block;
	padding: 5px 10px;
	margin-top: 10px;
	border-radius: 5px;
}

.top-mv_copyTxtItem:first-child{
	margin-top: 0;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.top-mv_copy{
		font-size: 16px;
	}
}

/* スマホとタブレット */
@media screen and (max-width: 1023px){
	.top-mv{
		height: 475px;
		padding: 0 15px;
		margin-top: 15px;
	}
	
	.top-mv_inner{
		width: 100%;
		height: 475px;
	}
	
	.top-mv_wrap{
		height: 475px;
		padding: 30px 15px;
		align-items:flex-end;
	}
}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){
	.top-mv{
		height: calc(100vh - 600px);
		min-height: 400px;
		padding: 0 30px;
	}
	
	.top-mv_inner{
		width: 100%;
		height: calc(100vh - 600px);
		min-height: 400px;
	}
	
	.top-mv_wrap{
		height: calc(100vh - 600px);
		min-height: 400px;
		padding: 0 50px;
		align-items: center;
	}	
}

/*--------------------------------------------------------------
##TOP重要なお知らせ
--------------------------------------------------------------*/

.top-notices{
	margin: 30px auto 0;
	padding: 0 30px;
	max-width: 1200px;
}

.top-notices_inner{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.top-notices_headingWrap{
	width: 175px;
	margin-right: 30px;
}

.top-notices_heading02{
	font-size: 24px;
	font-family: "Kosugi Maru", serif;
}

.top-notices_link{
	background-color: #fff;
	border-radius: 5px;
	padding: 30px;
	display: block;
}

.top-notices_listitem{
	margin-top: 10px;
}

.top-notices_listitem:first-child{
	margin-top: 0;
}

.top-notices_list{
	width: calc(100% - 205px);
}

.top-notices_day{
	font-size: 13px;
	color: #7a6fba;
	padding-right: 10px;
}

.top-notices_title{
	font-weight: bold;
	font-family: "Kosugi Maru", serif;
	padding-right: 10px;
	font-size: 16px;
}

.top-notices_txt{
	font-size: 15px;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.top-notices_headingWrap{
		width: 100%;
		margin-right: 0;
	}

	.top-notices_heading02{
		font-size: 20px;
	}	

	.top-notices_list{
		width: 100%;
		margin-top: 15px;
	}

	.top-notices_day{
		font-size: 13px;
		padding-right: 5px;
	}

	.top-notices_title{
		font-size: 15px;
	}

	.top-notices_txt{
		font-size: 13px;
	}
}

/* スマホとタブレット */
@media screen and (max-width: 1023px){
	.top-notices{
		padding: 0 15px;
	}

	.top-notices_link{
		padding: 30px 15px;
	}
}

/*--------------------------------------------------------------
##TOPインフォメーション
--------------------------------------------------------------*/

.top-information{
	margin-top: 30px;
	color: #fff;
}

.top-information_newsArea,
.top-information_scheduleArea{
	display: flex;
	justify-content: center;
	padding: 50px 30px;
}

.top-information_newsArea,
.top-information_scheduleArea{
	width: 100%;
}

.top-information_newsArea{
	background: #7a6fba;
}

.top-information_scheduleArea{
	background: #6355a1;
}

.top-information_heading02{
	font-size: 24px;
	font-family: "Kosugi Maru", serif;
}

.top-information_heading02:first-letter{
	color: #d4e04a;
}

.top-information_item{
	list-style: none;
	margin-top: 10px;
}

.top-information_item:first-child{
	margin-top: 15px;
}

.top-information_link{
	background: rgba(99, 85, 161, 0.8);
	border-radius: 3px;
	display: block;
	color: #fff;
	padding: 15px 30px;
	width: 100%;
}

.top-information_day{
	font-size: 11px;
	margin-right: 10px;
	letter-spacing: 0;
	color: #d4e04a;
}

.top-information_title{
	font-size: 15px;
}

.top-information_table{
	border-collapse: collapse;
	width: 100%;
	text-align: center;
	margin-bottom: 10px;
	background: rgba(122, 111, 186, 0.5);
	margin-top: 15px;
	border-radius: 3px;
}

.top-informastion_tr,
.top-information_td{
	padding: 12px 8px;
}

.top-information_th{
	border-bottom: 4px solid #6355a1;
	font-weight: normal;
}

.top-information_th{
	padding:13px 10px 8px 10px;
}

.top-information_td--time{
	font-size: 14px;
}

.top-information_td--mark{
	color:#d4e04a;
	font-size: 20px;
}

.top-information_note{
	font-size: 14px;
	margin-top: 15px;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.top-information_heading02{
		font-size: 20px;
	}
}
	
/* スマホとタブレット */
@media screen and (max-width: 1023px){
	.top-information_newsArea,
	.top-information_scheduleArea{
		padding: 50px 15px;
	}

	.top-information_newsAreaInner,
	.top-information_scheduleAreaInner{
		width: 100%;
	}

	.top-information_th{
		font-size: 12px
	}

	.top-information_td{
		font-size: 12px
	}
}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){
	.top-information{
		display: flex;
	}
}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){
	.top-information_newsAreaInner,
	.top-information_scheduleAreaInner{
		width: 450px;
	}
}

/*--------------------------------------------------------------
##TOPイントロダクション
--------------------------------------------------------------*/

.top-intro{
	margin-top: 50px;
}

.top-intro_heading02{
	color: #6355a1;
	text-align: center;
	font-size: 30px;
	font-family: "Kosugi Maru", serif;
}

.top-intro_underline{
	border-bottom:solid 3px #d4e04a;
}

.top-intro_inner{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 30px;
}

.top-intro_photoArea{
	width: 450px;
	margin-right: 30px;
}

.top-intro_txtArea{
	width: calc(100% - 480px);
}

.top-intro_txt{
	margin-top: 10px;
}

.top-intro_txt:first-child{
	margin-top: 0;
}

.top-bgcolorArea{
	background: #7a6fba;
	padding: 30px;
	border-radius: 15px;
	margin-top: 30px;
	text-align: center;
}

.top-bgcolorArea-heading03{
	color: #fff;
	font-size: 18px;
	font-weight: normal;
}

.top-bgcolorArea-headingLarge{
	font-size: 24px;
	font-weight: bold;
	font-family: "Kosugi Maru", serif;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.top-intro_heading02{
		font-size: 24px;
	}

	.top-intro_photoArea{
		width: 100%;
		margin-right: 0;
	}
	
	.top-intro_txtArea{
		width: 100%;
		margin-top: 15px;
	}

	.top-bgcolorArea{
		padding: 30px 15px;
		margin-top: 15px;
	}
	
	.top-bgcolorArea-heading03{
		font-size: 16px;
	}
	
	.top-bgcolorArea-headingLarge{
		font-size: 20px;
	}
}

/*--------------------------------------------------------------
##TOP診療内容
--------------------------------------------------------------*/

.top-service{
	margin-top: 50px;
}

.top-service_heading02{
  position: relative;
  padding: 0 30px;
  text-align: center;
	color: #6355a1;
	font-size: 30px;
	font-family: "Kosugi Maru", serif;
}

.top-service_heading02:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: #6355a1;
}

.top-service_heading02Inner {
  position: relative;
  padding: 0 1em;
  background: #f1efff;
}

.top-service_list{
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
}

.top-service_listItem{
	background: #fff;
	border-radius: 10px;
	position: relative;
	list-style: none;
}

.top-service_listLink{
	display: block;
	text-align: center;
	padding: 30px;
	width: 100%;
	height: 100%;
}

.top-service_listLink:hover{
	box-shadow: 5px 5px #d4e04a;	
	border-radius: 5px;
}

.top-service_heading03{
	font-size: 24px;
	font-family: "Kosugi Maru", serif;
	color: #6355a1;
}

.top-service_listImg{
	width: 110px;
	height: 110px;
	margin-top: 5px;
}

.top-service_listTxt{
	text-align: justify;
	font-size: 14px;
	margin-top: 15px;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.top-service_heading02{
		font-size: 24px;
	}

	.top-service_listItem{
		width: 100%;
		margin-top: 15px;
		margin-right: 0;
	}

	.top-service_listItem:first-child{
		margin-top: 0;
	}

	.top-service_heading03{
		font-size: 20px;
	}
}

/* スマホとタブレット */
@media screen and (max-width: 1023px){
	.top-service_listLink{
		padding: 30px 15px;
	}
}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){
	.top-service_listItem{
		width: calc((100% - 30px) / 3);
		margin-top: 15px;
		margin-right: 15px;
	}

	.top-service_listItem:nth-child(-n+3){
		margin-top: 0;
	}
	
	.top-service_listItem:nth-of-type(3n){
		margin-right: 0;
	}
}
/*--------------------------------------------------------------
## TOP_バナーエリア
--------------------------------------------------------------*/

.top-bnrarea{
	margin-top: 30px;
}

.top-bnrarea_inner{
	display: flex;
	flex-wrap: wrap;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.top-bnrarea_bnr{
		width: calc((100% - 10px) / 2);
		margin-top: 15px;
		margin-right: 10px;
	}
	
	.top-bnrarea_bnr:nth-child(-n+2){
		margin-top: 0;
	}
	
	.top-bnrarea_bnr:nth-of-type(2n){
		margin-right: 0;
	}
}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){
	.top-bnrarea_inner{
		justify-content: center;
	}
	
	.top-bnrarea_bnr{
		width: calc((100% - 30px) / 3);
		margin-top: 15px;
		margin-right: 15px;
	}
	
	.top-bnrarea_bnr:nth-child(-n+3){
		margin-top: 0;
	}
	
	.top-bnrarea_bnr:nth-of-type(3n){
		margin-right: 0;
	}
}

/*--------------------------------------------------------------
## footer
--------------------------------------------------------------*/

.footer{
	margin-top: 50px;
}

.footer-clinicInfo{
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 50px 30px;
}

.footer-clinicMap{
	background-color: #7a6fba;
}

.footer-clinicMap_iframeWrapper{
	height: 100%;
}

.footer-clinicMap iframe{
	height: 100%;
}

.footer-logo_txt{
	font-size: 16px;
	font-family: "Kosugi Maru", serif;
}

.footer-logo_imgLogoHorizontal{
	width: 250px;
	display: inline-block;
}

.footer-logo_imgLogoVertical{
	width: auto;
	height: 75px;
	display: inline-block;
}

.footer-clinicTxt{
	font-size: 16px;
	margin-top: 15px;
}

.footer-clinicTel{
	font-size: 30px;
	font-family: "Kosugi Maru", serif;
	font-weight: bold;
	margin-top: 30px;
}

.footer-clinicTel_icon{
	background: url("../img/icon_tel.svg") no-repeat;
	background-size: contain;
	padding-left: 45px;
}

.footer-clinicInfoBtnArea{
	margin-top: 15px;
}

.footer-clinicInfoBtnArea_btn{
	display: block;
	background: #7a6fba;
	color: #fff;
	font-weight: 700;
	padding: 15px 30px;
	border-radius: 5px;
	letter-spacing: 0.1em;
	text-align: center;
	margin: 5px auto 0;
	font-family: "Kosugi Maru", serif;
	font-size: 18px;
	max-width: 400px;
}

.footer-clinicInfoBtnArea_btn:first-child{
	margin-top: 0;
}

.footer-clinicInfoBtnArea:hover{
	opacity: 0.9;
	transition: all 0.3s;
}

.footer-clinicInfoBtnArea_reservationIcon{
	background: url(../img/icon_reservation_header.svg) left no-repeat;
	background-size: contain;
	padding-left: 30px;
}

.footer-clinicInfoBtnArea_extraIcon{
	background: url(../img/icon_extra_header.svg) left no-repeat;
	background-size: contain;
	padding-left: 30px;
}

.footer-clinicInfo_table{
	border-collapse: collapse;
	width: 100%;
	text-align: center;
	margin-bottom: 10px;
	background: #7a6fba;
	margin-top: 30px;
	border-radius: 3px;
	color: #fff;
}

.footer-clinicInfo_tr,
.footer-clinicInfo_td{
	padding: 12px 8px;
}

.footer-clinicInfo_th{
	border-bottom: 4px solid #6355a1;
	font-weight: normal;
}

.footer-clinicInfo_th{
	padding:13px 10px 8px 10px;
}

.footer-clinicInfo_td--time{
	font-size: 14px;
}

.footer-clinicInfo_td--mark{
	color:#d4e04a;
	font-size: 20px;
}

.footer-clinicInfo_note{
	font-size: 14px;
	margin-top: 15px;
}

.footer-clinicImgListWrap{
	display: flex;
	flex-wrap: wrap;
}

.footer-clinicImgList{
	width: calc(100% / 6);
	list-style: none;
}

.footer-clinicImg{
	width: 100%;
}

.footer-bnrarea{
	margin: 50px 0;
}

.footer-bnrarea_inner{
	display: flex;
	flex-wrap: wrap;
}

.footer-sitemap{
	background: #7a6fba;
	color: #fff;
	text-align: center;
	padding: 40px 0 50px 0;
}

.footer-sitemapList{
	display: flex;
	margin: 0 auto;
	justify-content: center;
	flex-wrap: wrap;
	padding:0 15px;
}

.footer-sitemapListItem{
	text-align: center;
	border-right:solid 1px #d4e04a;
	padding: 0 10px;
	list-style: none;
	margin-top: 10px;
}

.footer-sitemapListItem:last-child{
	border-right:none;
}

.footer-sitemapListLink{
	color: #fff;
	padding: 0 5px;
}

.footer-copyright{
	margin-top: 30px;
	font-size: 13px;
}

.footer-pagetop{
	position: fixed;
	right: 15px;
	bottom:15px;
	z-index: 1000;
}

.footer-pagetop_img{
	width: 55px;
	height: 55px;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.footer-bnrarea_bnr{
		width: calc((100% - 10px) / 2);
		margin-top: 15px;
		margin-right: 10px;
	}
	
	.footer-bnrarea_bnr:nth-child(-n+2){
		margin-top: 0;
	}
	
	.footer-bnrarea_bnr:nth-of-type(2n){
		margin-right: 0;
	}
	
	.footer-sitemapListLink{
		font-size: 13px;
	}

	.footer-pagetop_img{
		width: 45px;
		height: 45px;
	}
}

/* スマホとタブレット */
@media screen and (max-width: 1023px){
	.footer-clinicInfo_th{
		font-size: 12px
	}

	.footer-clinicInfo_td{
		font-size: 12px
	}

	.footer-clinicImgList{
		width: calc(100% / 3);
	}

	.footer-clinicMap_iframeWrapper{
		position: relative;
		padding-bottom: 56.25%;
		height: 0;
		overflow: hidden;
	}
	
	.footer-clinicMap_iframeWrapper iframe,
	.footer-clinicMap_iframeWrapper object,
	.footer-clinicMap_iframeWrapper embed{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){
	.footer-bnrarea_inner{
		justify-content: center;
	}

	.footer-bnrarea_bnr{
		width: calc((100% - 30px) / 3);
		margin-top: 15px;
		margin-right: 15px;
	}
	
	.footer-bnrarea_bnr:nth-child(-n+3){
		margin-top: 0;
	}
	
	.footer-bnrarea_bnr:nth-of-type(3n){
		margin-right: 0;
	}
}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){
	.footer-info{
		display: flex;
		min-height: 200px;
	}

	.footer-clinicInfo{
		width: 50%;
		padding: 50px 30px;
	}
	
	.footer-clinicMap{
		width: 50%;
	}
}

/*--------------------------------------------------------------
##サブページパンくず
--------------------------------------------------------------*/

.sub-breadcrumb{
	width: 100%;
	font-size:13px;
	margin-top: 15px;
}

.sub-breadcrumb_link:hover{
	text-decoration:underline;
}

.sub-breadcrumb_arw{
	color: #d4e04a;
	padding: 0 3px;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.sub-breadcrumb{
		font-size:13px;
	}
}

/*--------------------------------------------------------------
##サブページ:共通
--------------------------------------------------------------*/

.sub-contents{
	margin-top: 15px;
}

.sub-contents--blog{
	width: 680px;
}

.sub-contents_inner{
	background: #fff;
	padding: 0 30px 50px;
}

.sub-contents_iframe{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	margin-top: 30px;
}

.sub-contents_iframe iframe,
.sub-contents_iframe object,
.sub-contents_iframe embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.sub-contents a{
	color: #6355a1;
}

/* スマホとタブレット */
@media screen and (max-width: 1023px){
	.sub-contents_inner{
		padding: 0 15px 50px;
	}	

	.sub-contents--blog{
		width: 100%;
	}
}

/*--------------------------------------------------------------
##サブページ:メインビジュアル
--------------------------------------------------------------*/

.sub-mv{
	width: 100%;
}

.sub-mv > div{
	width: 100%;
  height: 100%;
}

.sub-mv .background_1{
	background: url(../img/sub-mv_01.jpg) center center;
	background-size: cover;
}

.sub-mv .background_2{
	background: url(../img/sub-mv_02.jpg) center center;
	background-size: cover;
}

.sub-mv .background_3{
	background: url(../img/sub-mv_03.jpg) center center;
	background-size: cover;
}

.sub-mv .background_4{
	background: url(../img/sub-mv_04.jpg) center center;
	background-size: cover;
}

.sub-mv .background_5{
	background: url(../img/sub-mv_05.jpg) center center;
	background-size: cover;
}


/* スマホのみ */
@media screen and (max-width: 767px){
.sub-mv{
	height: 140px;
  padding: 0 12px;
	margin-top: 15px;
}

.sub-mv > div{
	border-radius: 8px;
}
}

/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {
.sub-mv{
	height: 230px;
    padding: 0 15px;
		margin-top: 15px;	
}

.sub-mv > div{
	border-radius: 10px;
}
}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){
.sub-mv{
	height: 300px;
  padding: 0 30px;	
}

.sub-mv > div{
	border-radius: 10px;
}
}

/*--------------------------------------------------------------
##サブページ:文字装飾・リンク
--------------------------------------------------------------*/

.sub-contents_heading01{
	padding: 30px;
	font-size: 36px;
	background: #6355a1;
	border-radius: 5px 5px 0 0;
	color: #fff;
	font-family: "Kosugi Maru", serif;
	line-height: 1.5;
}

.sub-contents_heading02,
.sub-contents_heading03,
.sub-contents_heading04,
.sub-contents_heading05{
	margin-top: 15px;
	font-family: "Kosugi Maru", serif;
	line-height: 1.5;
}

.sub-contents_paragraph{
	padding-top: 35px;
	overflow-wrap: break-word;
}

.sub-contents_txt{
	margin-top: 15px;
	padding: 0 5px;
}

.sub-contents_heading02{
	position: relative;
	border-bottom: 5px solid #e5e2fd;
	font-size: 28px;
	padding-bottom: 6px;
	transform: rotate(0.028deg);
	-o-transform: rotate(0.028deg);
	-ms-transform: rotate(0.028deg);
	-moz-transform: rotate(0.028deg);
	-webkit-transform: rotate(0.028deg);
	color: #6355a1;
	font-family: "Kosugi Maru", serif;
}

.sub-contents_heading02::after{
	position: absolute;
	bottom: -5px;
	left: 0;
	z-index: 2;
	content: '';
	width: 15%;
	height: 5.4px;
	background: #d4e04a;
}

.sub-contents_heading03{
	font-size: 22px;
	border-top: 2px solid #7a6fba;
	border-bottom: 2px solid #7a6fba;
	padding: 10px 0 10px 0;
	color: #6355a1;
}

.sub-contents_heading04{
	font-size: 20px;
	position: relative;
	padding-left: 15px;
	color: #6355a1;
}

.sub-contents_heading04:before{
	width: 4px;
	height: 100%;
	border-radius: 2px;
	background: #d4e04a;
	left: 0;
	bottom:1px;
	content: '';
	position: absolute;
}

.sub-contents_heading05{
	font-size: 18px;
	font-weight: bold;
	color: #6355a1;
	padding-left: 5px;
}

.sub-contents_txt--marker{
	border-bottom: solid 3px #d4e04a;
}
.sub-contents_txt--bold{
	font-weight: bold;
}
.sub-contents_txt--siteColor{
	color: #7a6fba;
}
.sub-contents_txt--siteSubcolor{
	color: #6355a1;
}
.sub-contents_txt--red{
	color: #F0493C;
}
.sub-contents_txt--blue{
	color: #4797c9;
}
.sub-contents_txt--color01{
	color: #ebad41;
}
.sub-contents_txt--color02{
	color: #62bb2d;
}
.sub-contents_txt--small{
	font-size: 13px;
}
.sub-contents_txt--large{
	font-size: 24px;
}

.sub-contents_txt--wf{
	font-family: "Kosugi Maru", serif;
}

.sub-contents_link{
	font-weight: bold;
	text-align: left;
	text-decoration: underline;
	color: #7a6fba;
}

.sub-contents_link:hover{
	text-decoration: none;
}

.sub-contents_link--arw{
	background: url("../img/icon_arw.svg") no-repeat left center;
	background-size:11px 11px;
	padding: 3px 0 0 16px;
	font-weight: bold;
	font-size: 16px;
	display: inline-block;
	text-align: left;
	color: #7a6fba;
}

.sub-contents_link--arw:hover{
	text-decoration: underline;
}

.sub-contents_link--btn{
	display:inline-block;
	background: #fff;
  border: 2px solid #7a6fba;
	border-radius:5px;
	padding:17px 15px 13px 15px;
	font-weight: bold;
	margin-top: 15px;
}

.sub-contents_link--btnArw{
	background: url("../img/icon_arw.svg") no-repeat left center;
	background-size:11px 11px;
	padding-right:15px;
	padding-left: 22px;
	display: inline-block;
	line-height: 1.4;
}

.sub-contents_link--btnWide{
	display:block;
	background: #fff;
  border: 2px solid #7a6fba;
	border-radius:5px;
	padding:17px 15px 15px 15px;
	font-weight: bold;
	margin-top: 15px;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.sub-contents_heading01{
		padding: 30px 15px;
		font-size: 28px;
	}

	.sub-contents_heading02{
		font-size: 24px;
	}

	.sub-contents_heading03{
		font-size: 22px;
	}

	.sub-contents_heading04{
		font-size: 20px;
	}

	.sub-contents_heading05{
		font-size: 18px;
	}
}

/*--------------------------------------------------------------
##サブページ:文字装飾・リスト
--------------------------------------------------------------*/

.sub-contents_list{
	margin-top: 20px;
}

.sub-contents_listItem{
	margin-top: 10px;
	padding-left: 24px;
	list-style: none;
	text-indent: -22px;
	font-size: 14px;
}

.sub-contents_list--arw{
	margin-top: 20px;
}

.sub-contents_list--arw .sub-contents_listItem{
	background: url("../img/icon_arw.svg") no-repeat 4px 6px;
	background-size: 8px 8px;
	padding: 0 0 2px 20px;
	line-height: 25px;
	margin-top: 10px;
	text-indent: 0;
}

.sub-contents_list--check{
	margin-top: 20px;
}

.sub-contents_list--check .sub-contents_listItem{
	background: url(../img/icon_check.svg) no-repeat 0 4px;
	background-size: 16px 16px;
	padding: 0 0 2px 22px;
	line-height: 25px;
	margin-bottom: 10px;
	text-indent: 0;
}

.sub-contents_list--number {
	margin-top: 20px;
	counter-reset: li_count;
}

.sub-contents_list--number .sub-contents_listItem:before {
	counter-increment: li_count;
	content: counter(li_count) ".";
	color: #7a6fba;
	font-weight: bold;
	letter-spacing: 0;
	width: 11px;
	display: inline-block;
	margin-left: 10px;
	padding-left: 10px;
}


/*--------------------------------------------------------------
##サブページ:テーブル
--------------------------------------------------------------*/

.sub-contents_table{
	border-collapse: collapse;
	width: 100%;
	background: #fff;
	font-size: 14px;
	letter-spacing: 0;
	margin-top: 30px;
}

.sub-contents_tr,
.sub-contents_td{
	padding:15px;
	border: 2px solid #e5e2fd;
	text-align:left;
}

.sub-contents_th{
	border: 2px solid #e5e2fd;
	background-color: #6355a1;
	font-size: 17px;
	padding:15px;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.sub-contents_td--title,
.sub-contents_td--titleCenter,
.sub-contents_td--titleRight{
	background: #f1efff;
	font-weight: bold;
	color: #6355a1;
}

.sub-contents_td--titleCenter{
	text-align: center;
}

.sub-contents_td--titleRight{
	text-align: right;
}

.sub-contents_td--right{
	text-align:right;
}

.sub-contents_td--center{
	text-align:center;
}

#contents table td.center{
	text-align:center;
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.sub-contents_table{
		font-size: 13px;
	}
	
	.sub-contents_tr,
	.sub-contents_td{
		padding:13px;
	}
	
	.sub-contents_th{
		font-size: 13px;
	}
}

/*--------------------------------------------------------------
##サブページ:ボックス
--------------------------------------------------------------*/

.sub-contents_box{
	border-radius: 5px;
	background: #fff;
	margin-top: 15px;
}

.sub-contents_box--border{
	border: 4px solid #f1efff;
	padding: 15px 30px 30px 30px;
}

.sub-contents_box--color{
	background: #f1efff;
	padding: 15px 30px 30px 30px;
}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){
	.sub-contents_boxWrap{
		display: flex;
		flex-wrap: wrap;
	}
	
	.sub-contents_boxWrap--half .sub-contents_box{
		width: calc((100% - 15px) / 2);
		margin-right: 15px;
	}
	
	.sub-contents_boxWrap--half .sub-contents_box:nth-of-type(2n){ 
		margin-right: 0;
	}
	
	.sub-contents_boxWrap--three .sub-contents_box{
		width: calc((100% - 30px) / 3);
		margin-right: 15px;
	}
	
	.sub-contents_boxWrap--three .sub-contents_box:nth-of-type(3n){ 
		margin-right: 0;
	}
}


/*--------------------------------------------------------------
##サブページ:画像・コンテンツ配置
--------------------------------------------------------------*/

.sub-contents_img{
	margin-top: 15px;
	max-width: 100%;
	height: auto;
}

.sub-contents_img--full{
	width: 100%;
	height: auto;
}

.sub-contents_img--center{
	display: block;
	margin: 15px auto 0;
}

.sub-contents_img--right,
.sub-contents_img--left{
	width: 320px;
	float: right;
	margin-bottom: 15px;
}

.sub-contents_img--right{
	margin-left: 15px;
	float: right;
}

.sub-contents_img--left{
	margin-right: 15px;
	float: left;
}

.sub-contents_boxWrap .sub-contents_img{
	margin-top: 0;
}

.sub-contents_img--noResize{
	width:auto;
	height:auto;
}

/*--------------------------------------------------------------
##サブページ:；ページネーション
--------------------------------------------------------------*/

.pagination{
	margin-top: 30px;
}

.pagination span,
.pagination a {
  margin: 0 5px;
  padding: 10px 15px;
  text-decoration: none;
  color: #7a6fba;
  border: 1px solid #7a6fba;
  border-radius: 5px;
  transition: background-color 0.3s, color 0.3s;
	font-size: 13px;
}

.pagination a:hover {
  background-color: #7a6fba;
  color: #fff;
}

.pagination .inactive {
  color: #ccc;
  border-color: #ccc;
}

.pagination .current {
  background-color: #7a6fba;
  color: #fff;
  cursor: default;
}

/* スマホとタブレット */
@media screen and (max-width: 1023px){
	.pagination span,
	.pagination a {
		margin: 0 3px;
		padding: 5px 10px;
		font-size: 12px;
	}
}

/*--------------------------------------------------------------
##サブページ:サイドバー
--------------------------------------------------------------*/

.sub-sidebar{
	width: 260px;
}

.sub-sidebar_heading02{
	font-size: 20px;
	position: relative;
	padding-left: 15px;
	color: #7a6fba;
	margin-top: 30px;
	font-family: "Kosugi Maru", serif;
}

.sub-sidebar_heading02:before{
	width: 4px;
	height: 100%;
	border-radius: 2px;
	background: #7a6fba;
	bottom:1px;
	left: 0;
	content: '';
	position: absolute;
}

.sub-sidebar_heading03{
	font-size: 16px;
	margin-top: 15px;
	font-family: "Kosugi Maru", serif;
}

.sub-sidebar_list{
	margin-top: 15px;
	list-style: none;
}

.sub-sidebar_listItem{
	background: url("../img/icon_arw.svg") no-repeat 4px 6px;
	background-size: 8px 8px;
	padding: 0 0 2px 20px;
	line-height: 25px;
	margin-top: 10px;
	text-indent: 0;
}

.sub-sidebar_listItem:first-child{
	margin-top: 0;
}

.sub-sidebar_txt{
	margin-top: 15px;
}

.sub-sidebar_link{
	font-weight: bold;
	color: #7a6fba;
	font-size: 14px;
}

.sub-sidebar_bnrArea{
	margin-top: 30px;
}

.sub-sidebar_bnr{
	margin-top: 10px;
}

.sub-sidebar_bnr:first-child{
	margin-top: 0;
}

/* スマホとタブレット */
@media screen and (max-width: 1023px){
	.sub-sidebar{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}
}

/* スマホのみ */
@media screen and (max-width: 767px){
	.sub-sidebar_inner{
		width: calc((100% - 30px) / 2);
		margin-right: 30px;
	}
	
	.sub-sidebar_inner:nth-of-type(2n){ 
		margin-right: 0;
	}

	.sub-sidebar_heading02{
		font-size: 18px;
	}

	.sub-sidebar_heading03{
		font-size: 16px;
	}

	.sub-sidebar_listItem{
		line-height: 1.5;
		margin-top: 5px;
		font-size: 13px;
	}

	.sub-sidebar_inner--spFull{
		width: 100%;
		margin-right: 0;
	}
}

/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {
	.sub-sidebar_inner{
		width: calc((100% - 30px) / 3);
		margin-right: 15px;
	}
	
	.sub-sidebar_inner:nth-of-type(3n){ 
		margin-right: 0;
	}
}


/*--------------------------------------------------------------
##
--------------------------------------------------------------*/
/* スマホのみ */
@media screen and (max-width: 767px){
}


/* スマホとタブレット */
@media screen and (max-width: 1023px){
}


/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {
}


/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){
}


/* スマホとタブレットとPC（小画面） */
@media screen and (max-width: 1199px) {
}


/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){
}


/* PC（大画面）のみ */
@media print, screen and (min-width : 1920px){
}


/*IE調整*/
@media all and (-ms-high-contrast:none)/* and (min-width : 1024px)*/{
}
