@charset "UTF-8";

/*　ここからスライドショー　*/

/*==================================================
スライダーのためのcss
===================================*/
.slider {
	position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: calc(40vh + (100vw - 600px) / 5);/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	min-height: 40vh;
	max-height: 50vh;
}
/*　背景画像設定　*/

.slider-item01 {
	background:url(img/top01.jpg);
}
.slider-item02 {
	background:url(img/top02.jpg);
}
.slider-item03 {
	background:url(img/top03.jpg);
}

.slider-item {
	width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
	height: calc(40vh + (100vw - 600px) / 5);/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	min-height: 40vh;
	max-height: 50vh;
	background-repeat: no-repeat;/*背景画像をリピートしない*/
	background-position: center;/*背景画像の位置を中央に*/
	background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
	position: absolute;/*絶対配置にする*/
	z-index: 3;
	top: 42%;
	cursor: pointer;/*マウスカーソルを指マークに*/
	outline: none;/*クリックをしたら出てくる枠線を消す*/
	border-top: 2px solid #ccc;/*矢印の色*/
	border-right: 2px solid #ccc;/*矢印の色*/
	height: 25px;
	width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
	left:2.5%;
	transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
	right:2.5%;
	transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
	position: relative;
	z-index: 3;
	text-align:center;
	margin:-50px 0 0 0;
}

.slick-dots li {
	display:inline-block;
	margin:0 5px;
}

.slick-dots button {
	color: transparent;
	outline: none;
	width:8px;/*ドットボタンのサイズ*/
	height:8px;/*ドットボタンのサイズ*/
	display:block;
	border-radius:50%;
	background:#ccc;/*ドットボタンの色*/
}

.slick-dots .slick-active button{
	background:#0bd;/*ドットボタンの現在地表示の色*/
}

/*========= レイアウトのためのCSS ===============*/
.slider {
	margin:0;
	padding: 0;
	list-style: none;
}

.wrapper h1{
	position: absolute;
	z-index: 2;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-size:6vw;
	color:#fafafa;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.wrapper{
	position: relative;
}

/*　ここまでスライドショー　*/



/*　ここからTOPAGEボタン　*/

/*リンクの形状*/
#page-top a{
	display: flex;
	flex-direction: column;
	justify-content:center;
	align-items:center;
	background:rgba(255,255,255,0.8);
	border-radius: 5px;
	width: 60px;
	height: 60px;
	color: #f08437;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}

#page-top a:hover{
	background: #fff;
}

/*リンクを左下に固定*/
#page-top {
	position: fixed;
	left: 5px;
	bottom: 5px;
	z-index: 2;
	/*はじめは非表示*/
	opacity: 0;
	transform: translateX(-100px);
}

/*　左の動き　*/

#page-top.LeftMove{
	animation: LeftAnime 0.5s forwards;
}

@keyframes LeftAnime{
	from {
		opacity: 1;
		transform: translateX(0);
	}
	to {
		opacity: 1;
		transform: translateX(-100px);
	}
}

/*　右の動き　*/

#page-top.RightMove{
	animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
	from {
		opacity: 0;
		transform: translateX(-100px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/*　ここまでTOPAGEボタン　*/



/*ここから要素アニメーション*/

/* fadeUp */

.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	animation-timing-function:ease-in-out;
	opacity:0;
}

@keyframes fadeUpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeUpTrigger{
	opacity: 0;
}

/* 拡大 */
.zoomIn{
	animation-name:zoomInAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
	from {
		opacity: 0;
		transform: scale(0.6);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

.zoomInTrigger{
	opacity: 0;
}


/*ここまで要素アニメーション*/


/*　ここからハンバーガーメニュー　*/

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn{
	/*ボタン内側の基点となるためrelativeを指定。
	追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
	position: fixed;
	z-index: 9999;/*ボタンを最前面に*/
	right: 5px;
	top:5px;
	background:#FFFFFF;
	/*background:rgba(255,140,64,0.8);*/
	cursor: pointer;
	width: 50px;
	height:50px;
	border-radius: 5px;
}

/*ボタン内側*/
.openbtn span{
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	left: 14px;
	height: 3px;
	border-radius: 2px;
	background:#666;
	/*	background: #FFFFFF; */
}

.openbtn span:nth-of-type(1) {
	top:15px;
	width: 45%;
}

.openbtn span:nth-of-type(2) {
	top:23px;
	width: 35%;
}

.openbtn span:nth-of-type(3) {
	top:31px;
	width: 20%;
}

/*activeクラスが付与されると線が回転して×になり、Menu表記をしている2つ目の要素が透過して消える*/
.openbtn.active span:nth-of-type(1) {
	top: 18px;
	left: 18px;
	transform: translateY(6px) rotate(-135deg);
	width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
	top: 30px;
	left: 18px;
	transform: translateY(-6px) rotate(135deg);
	width: 30%;
}

/*　ここまでハンバーガーメニュー　*/



/*ここからナビゲーション*/

#g-navi{
	/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
	position:fixed;
	z-index: 999;
	/*ナビのスタート位置と形状*/
	top:0;
	right: -120%;
	width:70%;
	height: 100vh;/*ナビの高さ*/
	background-color: rgba(255,255,255,0.8);
	/*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-navi.panelactive{
	right: 0;
}

/*ナビゲーション*/
#g-navi ul {
	z-index: 999;

	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);

	display: flex;
	flex-direction:column;
}

#g-navi ul li{
	list-style: none;
	text-align: center;
}

#g-navi ul li a{
	color: #333;
	text-decoration: none;
	padding:10px;
	display: block;
	text-transform: uppercase;
	font-size:1.2rem;
	letter-spacing: 0.1rem;
	font-weight: bold;
}

#g-navi ul li a:hover{
	color:#0481A2;
}

/*ここまでナビゲーション*/



html{
	font-size: 3.4vw;
}
body{
	background-color: #fafafa;
	font-family: "Yu Gothic Medium", "游ゴシック medium","YuGothic","游ゴシック体","ヒラギノ角ゴ Pro M3",sans-serif;
	font-size:1.5rem;
	color:#333;
}
small{
	font-size:0.8rem;
}

.mb1 {
	margin-bottom: 1rem;
}
.mb2 {
	margin-bottom: 2rem;
}
.mb3 {
	margin-bottom: 3rem;
}
.mb4 {
	margin-bottom: 4rem;
}
.mb5 {
	margin-bottom: 5rem;
}
.mb6 {
	margin-bottom: 6rem;
}
.mb7 {
	margin-bottom: 7rem;
}
.mb8 {
	margin-bottom: 8rem;
}
.mb9 {
	margin-bottom: 9rem;
}
.mb10 {
	margin-bottom: 10rem;
}

.colorred{
	color:#ff5a5a;
}
.coloryellow{
	color:#efd534;
}
.colorgreen{
	color:#59d8c1;
}
.colorviolet{
	color:#8580d8;
}
.colororenge{
	color:#f08437;
}

.markerred{
	background: linear-gradient(rgba(255,90,90,0) 60%, rgba(255,90,90,0.5) 60%);
	border-radius: 80% 50% 60% 5%/80% 75% 15% 75%;
}
.markeryellow{
	background: linear-gradient(rgba(239,213,52,0) 60%, rgba(239,213,52,0.5) 60%);
	border-radius: 80% 50% 60% 5%/80% 75% 15% 75%;
}
.markergreen{
	background: linear-gradient(rgba(89,216,193,0) 60%, rgba(89,216,193,0.5) 60%);
	border-radius: 80% 50% 60% 5%/80% 75% 15% 75%;
}
.markerviolet{
	background: linear-gradient(rgba(133,128,216,0) 60%, rgba(133,128,216,0.5) 60%);
	border-radius: 80% 50% 60% 5%/80% 75% 15% 75%;
}

.markerorenge{
	background: linear-gradient(rgba(240,132,55,0) 60%, rgba(240,132,55,0.5) 60%);
	border-radius: 80% 50% 60% 5%/80% 75% 15% 75%;
}

.redline{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	background-color: #ff5a5a; /* 線色 */
	border-radius: 4px; /* 線幅の半分 */
	content: "";
	display: block;
	height: 8px; /* 線幅 */
}
.yellowline{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	background-color: #efd534; /* 線色 */
	border-radius: 4px; /* 線幅の半分 */
	content: "";
	display: block;
	height: 8px; /* 線幅 */
}
.greenline{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	background-color: #59d8c1; /* 線色 */
	border-radius: 4px; /* 線幅の半分 */
	content: "";
	display: block;
	height: 8px; /* 線幅 */
}
.violetline{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	background-color: #8580d8; /* 線色 */
	border-radius: 4px; /* 線幅の半分 */
	content: "";
	display: block;
	height: 8px; /* 線幅 */
}

#header{
	margin: 0px;
	padding: 0px;
}
#main{
	margin: 0px;
	padding: 0px;
}
#footer{
	margin: 0px;
	padding: 5px;
}

.title{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.logo{
	object-fit: contain;
	width: 80vw;
	max-width: 360px;
	min-height: 60px;
	padding: 0 5px;
	margin: 0px;
}

.telbutton{
	display: flex;
	flex-direction: column;
	justify-content:center;
	text-align: center;
	font-weight: bold;
	color: #f08437;
	padding: 10px 0px;
}
.telbutton a{
	width: 90%;
	max-width: 600px;
	background-color: #f08437;
	border-radius: 50px;
	padding: 10px 0px;
	font-weight: bold;
	text-decoration: none;
	font-size: 1.5rem;
	color: #ffffff;
	margin: 10px auto;
}
.telbutton span{
	font-size: 2.5rem;
}



.bizhourtable{
	display: flex;
	flex-direction: column;
	justify-content:center;

}
.biz-hour {
	display: block;
	border-collapse: collapse;
	font-size:1.2rem;
	font-weight: bold;
	color:#666;
	margin: 10px auto;
}

.biz-hour th {
	border-bottom: 3px solid #666;
}

.biz-hour th, .biz-hour td {
	padding: 10px 10px;
	text-align: center;
}



#firstmessege{
	padding: 3rem 0px;
	line-height: 2.0;
}
.firsttextbox{
	background-image:url(img/doctor01.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-color: rgba(250, 250, 250, 0.7);
	background-blend-mode:lighten;

	text-align:center;
	font-size: 1rem;
	font-weight: bold;
	padding: 2rem;
	color:#666;
}


#iin{
	line-height: 2.0;
}
.point{
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
	margin: 10px;
}
.pointitem{
	width: 280px;
	height: auto;
	margin: 10px;
}

.pointitem img{
	width: 280px;
	height: auto;
}



.grid{
	display: grid;
	justify-content:center;

	gap: 5vw;
	grid-template-columns: repeat(2, 45vw);
	grid-template-rows: 45vw 45vw 45vw 45vw;
}
.item{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	background-color: #fff;
	border: 5px solid #0bd;
	border-radius: 2vw;
	color:#666;
	padding: 1.5vw;

	font-size: 3.4vw;
}
.item img{
	width: 20vw;
	height: auto;
}




#staff{
	line-height: 2.0;
}
.doctor01{
	width:90%;
	max-width: 600px;
	height: 300px;
	object-fit:cover;
	margin: 2rem auto;
	border-radius: 10px;
}

.timeline{
	margin: 0 auto;
	text-align: left;
	font-size: 1.2rem;
}

#access{
	line-height: 2.0;
}
.logo2{
	width:80%;
	max-width: 748px;
	margin: 10px auto;
}
.bline{
	border: 0 none;
	border-top: solid 2px rgba(102,102,102,0.3);
	width: 90%;
	max-width: 1000px;
	margin: 2rem auto;
}
.telmes{
	font-size: 1.2rem;
}



.mapimg{
	width:100%;
	max-width: 800px;
	margin: 10px auto;
}

.map-wrap{
	max-width: 800px;
	margin: 0 auto;
}

.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 100%;
	position: relative;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}


.center{
	display: flex;
	flex-direction: column;
	justify-content:center;
	text-align: center;
}

.centertextbox{
	width: 90%;
	max-width: 900px;
	margin: 2rem auto;
	text-align:center;
	font-size: 1.2rem;
}
.lefttextbox{
	width: 90%;
	max-width: 900px;
	margin: 2rem auto;
	text-align: left;
	font-size: 1.2rem;
}







@media screen and (min-width:600px) {
	html{
		font-size: 2vw;
	}
	body{
		font-size:1.5rem;
	}

	.grid{
		grid-template-columns: repeat(2, 200px);
		grid-template-rows: 200px 200px 200px 200px;
		gap: 30px;
	}
	.item{
		background-color: #fff;
		border: 5px solid #0bd;
		border-radius: 10px;
		color:#666;
		line-height: 1.5;
		padding: 15px;
		font-size: 16px;
	}
	.item img{
		width: 80px;
		height: auto;
	}

	a[href*="tel:"] {
		pointer-events: none;
	}

	.telmes{
		display: none;
	}

	.gmap {
		padding-bottom: 75%;
	}

}

@media screen and (min-width:1025px) {
	html{
		font-size: 16px;
	}
	body{
		font-size:1.5rem;
	}

	.openbtn{
		display: none;
	}



	.grid{
		grid-template-columns: repeat(4, 200px);
		grid-template-rows: 200px 200px;
		gap: 30px;
	}
	.item{
		background-color: #fff;
		border: 5px solid #0bd;
		border-radius: 10px;
		color:#666;
		line-height: 1.5;
		padding: 15px;
		font-size: 16px;
	}
	.item img{
		width: 80px;
		height: auto;
	}

	.gmap {
		padding-bottom: 56.25%;
	}

	#g-navi{
		position:relative;
		top:0;
		right: 0;
		width:initial;
		height:initial;
		background-color: rgba(255,255,255,0);
	}

	#g-navi ul {
		position: initial;
		display:flex;
		flex-direction:row;
		top:0;
		left:0;
		transform:none;
	}



	/*　ここからナビゲーションアニメ　*/

	/*==================================================
	===================================*/
	#g-navi ul{
		display: flex;
		flex-wrap: wrap;/*スマホ表示折り返し用なのでPCのみなら不要*/
		margin:0 0 0 0;
		list-style: none;
	}

	#g-navi ul li a{
		display: block;
		padding:10px 30px;
		font-size: 0.8rem;
		font-weight: bold;
		text-decoration: none;
		color: #666;
	}

	#g-navi ul li{
		text-align: initial;
		margin-bottom:0;
	}

	/*==================================================
	5-3-1 中心から外に線が伸びる（下部）
	===================================*/

	#g-navi ul li a{
		/*線の基点とするためrelativeを指定*/
		position: relative;
	}

	#g-navi ul li.current a,
	#g-navi ul li a:hover{
		color:#0481A2;
	}

	#g-navi ul li a::after {
		content: '';
		/*絶対配置で線の位置を決める*/
		position: absolute;
		bottom: 0;
		left: 10%;
		/*線の形状*/
		width: 80%;
		height: 2px;
		background:#0481A2;
		/*アニメーションの指定*/
		transition: all .3s;
		transform: scale(0, 1);/*X方向0、Y方向1*/
		transform-origin: center top;/*上部中央基点*/
	}

	/*現在地とhoverの設定*/
	#g-navi ul li.current a::after,
	#g-navi ul a:hover::after {
		transform: scale(1, 1);/*X方向にスケール拡大*/
	}

	/*　ここまでナビゲーションアニメ　*/



}
