@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Pacifico);

/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}

body{
	font: 17px/1.9 'Zen Maru Gothic', sans-serif,'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
	font-weight: 500;
	-webkit-text-size-adjust:100%;
	overflow-x: hidden;
	color: #000;
	background: #fff;
}

a{
	color: #0066ff;
	text-decoration: none;
}

a:hover, .active{
  text-decoration: underline;
}

a:active, a:focus,input:active, input:focus{outline:0;}

span.link-t-a {
position: relative;
top: -100px;/*左の数値を変えると、上下に調整します*/
display: block;
}

/*強調色*/
.cn{color:#8B4513;font-weight:bold;}


/* ヘッダー
------------------------------------------------------------*/
#header{
	text-align: center;
}

#header h1{
	padding-top: 10px;
	line-height:1;
	padding-bottom:20px;
}

#mainnav a{
	color: #5f4b36;
}

#mainImg{
	position: relative;
  overflow: hidden;
  width: 100%;
  height: 800px;
}

#mainImg img{
	position: absolute;
	width:100%;
  	left: 50%;
	max-width: 1280px;
  	width: 1280px;
  	height: auto;
  	margin-left: -640px;
}


/* フッター
------------------------------------------------------------*/
#footer{
	clear: both;
	padding: 50px 10px 50px 0;
	text-align: center;
	font-size: 12px;
}


/* 共通
------------------------------------------------------------*/
img{
	max-width: 100%;
	height: auto;
}

section{clear:both;padding-bottom:50px;}

section h2{
	font-size: 22px;
	font-weight:normal;
}

.inner{
	width: 94%;
	margin: 0 auto;
	padding-bottom: 20px;
}

.innerS{
	width: 60%;
	margin: 0 auto;
	padding-bottom: 40px;
}

.innerM{
	width: 70%;
	margin: 0 auto;
	padding-bottom: 40px;
}
.innerW{
	width: 80%;
	margin: 0 auto;
	padding-bottom: 40px;
}

/* メイン画面の画像
------------------------------------------------------------*/
div.example p {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0; 
}

.example img {width: 100%; }
.example {position: relative; }

/*----------------------------------------------------------
お知らせ欄
----------------------------------------------------------*/
.topics_area{
	margin: 0;
	margin-top:1.5em;
	border-radius: 5px;
	border: solid #a5917c 1px; 
}
.topics_area_title{
	padding: 2px 0 2px 15px;
    border-bottom: solid 1px #a5917c;
    font-size: 17px;
    font-weight: bold;
    color: #ffffff;
    background-color:#a5917c;
    text-align: center;
}
.topics_area_inner{
	padding: 5px;
	max-height: 400px; 
	overflow: auto; 
}
.topics_area dt{
	display: table-cell;
	float: left ;
	clear: left ;
	margin-right: 0.5em ;
	width: 90px ;
	vertical-align: top;
	font-size: 17px;
	line-height:24px;
	padding-bottom:0;
}
.topics_area dd{
	display: table-cell;
	vertical-align: top;
	font-size: 17px;
	line-height:24px;
	text-indent: -18px;
	padding-bottom:0;
}

.topics_area dd:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 4px;
    margin-left: 4px;
    border: transparent solid 5px;
    border-left-color: #f00;
    vertical-align: middle;
}

/* メイン画面の画像
------------------------------------------------------------*/
div.resizeimage {
	max-width: 1280px; /* 最大幅 */
	margin: 0 auto;
}
div.resizeimage img {
 	width: 100%; 
}	



/* SEC04 BRAND
------------------------------------------------------------*/
.col3 img{
	display: block;
	margin: 0 auto 5px;
}

.col3 li{
	line-height: 2.0;
}

.col3 .img{
	padding: 20px 20px;
	margin-bottom: 30px;
	line-height: 0 !important;
	background: #f6f6f6;
}

/* SEC05 COMPANY
------------------------------------------------------------*/
#sec05 p{
	margin-bottom: 5px;
}

.col2 li{
	display: inline-block;
	width: 100%;
	margin: 20px 0;
}

#sns img{
	padding: 35px 10px 5px 0;
}

#sns a:hover img{
	opacity: .8;
}

#map{
	position: relative;
	padding-bottom: 75%;
	height: 0;
	overflow: hidden;
	z-index: 0;
}

#map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}


.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

/*----------------------------------------------------
 回り込みを終了する定型表現。
------------------------------------------------------ */
/*clearfix*/	
.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;	
}
/*画像と文書を並べて表示時する*/
.inner_l{     
	float: left ; /*左側に配置する*/
}
 .inner_p{
	float:right;  /*右側に配置する*/
}



/*-------------------------------------------------------------
見出し
-------------------------------------------------------------*/
.headline_sinryo {
	display:inlineblock;
	padding: 0.3em 1em;
	color: #fff;
	text-shadow: 1px 1px #000;
	font-size:24px;
	font-weight:600;
    margin-bottom: 1em;
	background: #b9a590  ;
	-webkit-box-shadow: 5px 5px 0 #a5917c ;
	box-shadow: 5px 5px 0 #a5917c ;
  }
.headline_item {
	padding: 0.2em 0.5em;/*文字周りの余白*/
	color: #494949;/*文字色*/
	font-size:22px;
	line-height:32px;
	font-weight:bold;
	background: #fff;/*背景色*/
	border-left: solid 5px #a5917c;/*左線（実線 太さ 色）*/
	border-bottom:solid 1px #a5917c;
	margin-bottom:20px;
  }
.headline_shikkan {
    background: #4682b4;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
	font-size:24px;
	color:#ffffff;
	font-weight:bold;
	text-shadow: #000 1px 1px;
	text-align:left;
	margin-bottom:1em;
	padding:0.3em 0 0.3em 0.5em;
  }

.item_line {
	position: relative;
	font-weight:bold;
	margin-bottom:1em;
	font-size:20px;
	color:#8B4513;
	border-bottom: solid 3px #cfd0bb;
}
.item_line:after {
	position: absolute;
	bottom: -3px;
	content: " ";
	display: block;
	width: 30%;
	border-bottom: solid 3px #5f651e;
}

.headline_03 {
	margin:1em 0;
	  padding: 0.2em 0.5em;/*文字の上下 左右の余白*/
	  color: #1a1a1a;/*文字色*/
	  background: #B3D9FF;/*背景色*/
	  border-bottom: solid 3px #d7d7d7;/*下線*/
	  font-size:20px;
	font-weight:bold;
}

/*両サイドに横棒 スマホアクセスで使用*/
.headline_yokobo {
  display: flex;
	text-align:center;
	font-size:26px;
	margin-bottom:2em;
  align-items: center;/* 縦位置の調整 */
  justify-content: center;/* 横位置の調整 */
}

.headline_yokobo::before,
.headline_yokobo::after {
  content: '';
  flex-grow: 0.3;/* 少数にする */
  height: 0.5px;
  background: #000;
}

/* 見出しの文字と横棒の間隔を開ける */
.headline_yokobo::before {margin-right: 50px;}
.headline_yokobo::after {margin-left: 50px;}



/*-------------------------------------------------------------
囲み枠
-------------------------------------------------------------*/
/*この記事を書いた人
---------------------------------------------------*/
.boxkiji{
	padding:3em 2em 2em; /* ボックス内側余白 */
	position:relative; /* 配置(ここを基準に)*/
	border: 1px solid #CCA99D;/* ボックスの線 (太さ・種類・色)*/
}
.box-title {
	background-color:#CCA99D; /* タイトル背景色 */
	font-size: 1em;/* タイトル文字の大きさ */
	color: #fff ; /* タイトル文字色 */
	padding: 7px 12px;/*タイトルの余白*/
	line-height: 1;/*タイトルの行の高さ*/
	position:absolute;/* 配置(ここを動かす) */
	top: -10px; /*上からの距離*/
	left: 20px; /*左からの距離*/
}
.kiji_info{display:flex;}
.kiji_info-left{width:200px;margin-right:40px;}
.kiji_info-left img{width:100%;padding-top:10px;}
.kiji_info-right{}


/*トップページの漫画で使用
------------------------------------*/
.box-flex{display:flex;width:100%;}
.box-left{width:300px;margin-right:30px;}
.box-left img{width:100%;}
.box-right{	width:calc(100% - 330px);}

/*トップへ戻る
----------------------------*/
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #a5917c;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 20;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* 目次
------------------------------------------------------------*/
.toc-003 {
    padding: 1em;
    border-top: 4px solid #4682b4;
    border-radius: 5px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 15%);
}
.toc-003 div {
    display: flex;
    align-items: center;
    margin: 0;
    color: #8B4513;
    font-weight: 600;
    font-size: 18px;
}
.toc-003 div::before {
    display: inline-block;
    width: 2.2em;
    height: 2.2em;
    margin-right: 5px;
    border-radius: 50%;
    background: #4682b4 url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M3.8%2017.2h-3c-.5%200-.8.4-.8.8v3c0%20.4.3.8.8.8h3c.4%200%20.8-.3.8-.8v-3c-.1-.4-.4-.8-.8-.8zm0-15h-3c-.5%200-.8.4-.8.8v3c0%20.4.3.8.8.8h3c.4%200%20.8-.3.8-.8V3c-.1-.4-.4-.8-.8-.8zm0%207.6h-3c-.5%200-.8.3-.8.7v3c0%20.4.3.8.8.8h3c.4%200%20.8-.3.8-.8v-3c-.1-.4-.4-.7-.8-.7zM23.2%2018h-15c-.4%200-.8.3-.8.8v1.5c0%20.4.3.8.8.8h15c.4%200%20.8-.3.8-.8v-1.5c0-.5-.3-.8-.8-.8zm0-15h-15c-.4%200-.7.3-.7.8v1.5c0%20.4.3.7.7.7h15c.5%200%20.8-.3.8-.8V3.8c0-.5-.3-.8-.8-.8zm0%207.5h-15c-.4%200-.8.3-.8.8v1.5c0%20.4.3.8.8.8h15c.4%200%20.8-.3.8-.8v-1.5c0-.5-.3-.8-.8-.8z%22%2F%3E%3C%2Fsvg%3E') no-repeat center / 1em;
    content: '';
}

.toc-003 ol {
    list-style-type: none;
    margin: 0;
    padding: 0 0px 0 1.5em;
    overflow: hidden;
}

.toc-003 > ol {margin-top: 15px;list-style-type: decimal;}
.toc-003 ol ol {list-style-type: none;margin-left:-2em;}

.toc-003 ol li{font-size:16px;padding-bottom:0px;}
.toc-003 ol ol li {font-size:16px;padding-bottom:0px;text-indent:-2.5em;padding-left:2.5em;}

.toc-003 ol ol ol {list-style-type: none;}
.toc-003 ol ol ol li {font-size:16px;padding-bottom:0px;margin-left:-1em;}



/* フォントサイズ
------------------------------------------------------------*/
.ftpagetitle{font-size:26px;}
.ft40{font-size:40px;}
.ft26{font-size:26px;}
.ft24{font-size:24px;}
.ft22{font-size:22px;}
.ft20{font-size:20px;}
.ft18{font-size:18px;}

/*固定ボタン（WEB予約用）
----------------------------*/
.fixed_btn{
  position: fixed;
  top: 80px; 
  right: 0px;
  width:75px;
  z-index:100;
}

/*画像に文字を重ねる 診療案内で使用
----------------------------*/
.shinryo_back{
  position: relative;/*親要素にrelative*/
  margin-bottom:2em;
}
.shinryo_back p{
  position: absolute;/*重ねたい子要素にabsolute*/
  top:50%;
  left: 50%;
 -ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
  -webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
  transform: translate(-50%,-50%);/*センター寄せの修正*/
  color: #8B4513;
  font-size: 30px;
  margin: 0!important;/*文字がずれている場合や*/
  padding: 0!important;/*文字が折り返される場合*/
}


/*チェックマーク
------------------------------------------------------------------*/
.checkmark005{
	padding-left:28px;
	position:relative;
}

.checkmark005:before,
.checkmark005:after{
	content:"";
	display:block;
	position:absolute;
}
.checkmark005:before{
	width:14px;
	height:14px;
	border-radius:3px;
	background:#ffffff;
	border:1px solid #000000;
	left:0;top:7px;
}
.checkmark005:after{
	border-left:2px solid #0000ff;
	border-bottom:2px solid #0000ff;
	width:15px;
	height:5px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	left:5px;
	top:7px;
}
@media screen and (max-width: 799px) {
.checkmark005:before{left:0;top:0;}
.checkmark005:after{eft:5px;top:2px;}
}



/* RESPONSIVE 設定
------------------------------------------------------------*/

@media only screen and (min-width: 1200px){
	.inner{
		width: 1024px;
	}

}

@media only screen and (min-width: 800px){
	body{font-size:17px;}
	
  a#menu{display:none;}	

	.panel{
		display:block !important;
		background-color:#d7c3ae ;

	}

	#mainnav li{
		display: inline-block;
		padding: 10px 15px;
		font-size: 17px;
		color:#fff;
	}
	
	
	/* SEC03 PROJECT
	-----------------*/
	.col3{
		text-align: center;
	}

	.col3 li{
		display: inline-block;
		width: 28%;
		padding: 0 2.5% 50px;
		margin-bottom: 0;
		vertical-align: top;
		text-align: left;
	}
	
	

  #footer{
		padding: 30px 10px 70px 0;
	}
}
@media only screen and (max-width: 1200px){

	.innerS{width:70%;}

	/*固定ボタン（WEB予約用）
	----------------------------*/
	.fixed_btn{ top: 350px;}


}

@media only screen and (max-width: 1000px){


	/*トップページの漫画で使用
	------------------------------------*/
	.box-flex{
		display:inline-block;
	}
	.box-left{
		width:100%;
		margin:0;
		margin:0 auto;
		text-align:center;
	}
	.box-left img{
		width:100%;
		max-width:400px;
	
	}
	.box-right{
		width:100%;
		margin-top:20px;
	}

}

@media only screen and (min-width: 641px){

	.col2 li{
		width: 50%;
		vertical-align: top;
	}
	.col2 li:first-child{
		width: 45%;
		padding-right: 3%;
	}

   .pc { display: block !important; }
   .sp { display: none !important; }

}
@media only screen and (max-width: 799px){
	.pc { display: none !important; }
	.sp { display: block !important; }

	body{
		font: 16px/1.9 sans-serif,'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
		font-weight: 500;
		-webkit-text-size-adjust:100%;
	}

	#header{
		position: fixed;
		width: 100%;
		z-index: 500;
	}
	
	#headerWrap{
		position: relative;
		width: 100%;
		height: 70px;
		background: #fff;
		border-bottom: 1px solid #ccc;
	}
	
	#header h1{
		padding: 5px 70px 0 0;
		line-height:26px;
	}
	
	#header h1 img{
		margin-top: 15px;
		max-height: 50px;
		width: auto !important;
	}

	#mainImg{
		padding-top: 60px;
		z-index: -100;
	}


	div.resizeimage img{
		margin-top:70px;
	}

	.col3 li{
		margin: 50px auto 0 auto;
		display: block;
	}

	section{padding-bpttom: 30px;}

	.innerS,.innerM{
		width: 94%;
		padding-bottom: 40px;
	}

  /*-------------------------------------------------------------
	見出し
	-------------------------------------------------------------*/
	.headline_sinryo {font-size:22px;}
	.headline_item {font-size:20px;line-height:30px;}
	.headline_shikkan {font-size:20px;line-height:30px;padding:0.5em;}
	.item_line {font-size:18px;}


	/*両サイドに横棒 スマホアクセスで使用*/
	.headline_yokobo {font-size:18px;margin-bottom:1em;}

	/* 見出しの文字と横棒の間隔を開ける */
	.headline_yokobo::before {margin-right: 10px;}
	.headline_yokobo::after {margin-left: 10px;}


  /*-------------------------------------------------------------
	囲み枠
	-------------------------------------------------------------*/
	/*この記事を書いた人
	---------------------------------*/
	.kiji_info{display:inline;}
	.kiji_info-left{width:100%;margin:0 auto;text-align:center;}
	.kiji_info-left img{width:200px;}
	.kiji_info-right{}

	/* 固定ボタン
	------------------------------------------------------------*/
	.footer_area {
		display: block !important;
	    position: fixed;
	    bottom: -10px;
	    left: 0;
	    width: 100%;
		background-color: rgba(0, 0, 0, 0.26);
		z-index: 10000;
	}

	.footer_area .footer_area_inner {
	    position: relative;
	    width: 100%;
		max-width:500px;
		max-height:100px;
	    margin: 0 auto;
		padding:0;
	}


/* --- 全体コンテナ（画面最下部に固定） --- */
.floating-fixed-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  /* 下部の余白：OSのセーフエリア + 10px浮かせる */
  padding: 5px 10px calc(10px + env(safe-area-inset-bottom));
  box-sizing: border-box;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.85); /* 背景を少し透かす */
  backdrop-filter: blur(8px); /* 磨りガラス効果 */
  
  /* 出入りを滑らかにする設定 */
  transform: translateY(0);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 下スクロール時に付与されるクラス */
.floating-fixed-footer.is-hidden {
  transform: translateY(120%); /* 完全に隠す */
}


.btn-image:active {
  transform: scale(0.95); /* タップ時の反応 */
}


	/*画像に文字を重ねる 診療案内で使用
	----------------------------*/
	.shinryo_back p{
	  font-size: 26px;
	  line-height:1.5;
	}


}
@media only screen and (max-width: 640px){	
	.pc { display: none !important; }
	.sp { display: block !important; }

	#header h1{
		line-height:20px;
	}


	section{clear:both;}

	#mainImg{
		position: relative;
	  	overflow: hidden;
	  	width: 100%;
		height: 200px;
	}

	#mainImg img{
		position: absolute;
	  	left: 0%;
		max-width: 100%;
		width:100%;
	  	height: auto;
	  	margin-left: 0px;
	}


	.innerS,.innerM{
		width: 94%;
		padding-bottom: 30px;
	}

	.topics_area_inner{
		max-height: 750px; 
	}

	.topics_area dt{
		display: block;
		width: 95%;
		padding:0 0 0 10;
		padding-bottom:0;
		margin:0;
		font-size: 15px;
		line-height:22px;
	}
	.topics_area dd{
		display: block;
		width: 95%;
		text-indent: 0;
		margin:0;
		font-size: 15px;
		line-height:22px;
    	padding-left:5px;
	}

	.col3 li{
		line-height: 1.7;
	}
	.col3 img{
		margin: 0 auto;
	}
	.col3 .img{
		padding: 30px;
		margin-bottom: 20px;
	}
	#gallery li{
		float: none;
		width: 100%;
	}
	#map iframe{
		width: 96% !important;
		left: 2%;
	}

	#media li{
		float: none;
		width: 100%;
	}

	/* フォントサイズ
------------------------------------------------------------*/
.ftpagetitle{font-size:22px;}
.ft26{font-size:24px;}
.ft24{font-size:20px;}
.ft22{font-size:20px;}
.ft20{font-size:18px;}
.ft18{font-size:18px;}



}



