@charset "utf-8";

/* 共通 */
/* ----------------------
title
------------------------- */

* {
	max-width: 100%;
}

h3,
h3.first {
	height: auto;
	padding: 0 0 3px;
	border-bottom: 2px solid #ddae7c;
	box-shadow: 0 0 1px #d7cfc3;
	color: #653013;
	letter-spacing: 2px;
	background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(240,237,236,1) 100%);
}

h3 span {
	display: block;
	padding: 10px 10px 5px;
	border-bottom: 2px solid #f1d75a;
}

.map iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.mapbox p {
	width: 100%;
}


@media print, screen and (min-width: 1000px) {
	.pchide {
		display: none;
	}

	.map_access {
		height: 600px;
	}

	.gallery * {
		max-width: none;
	}

}


/* レスポンシブ */
@media screen and (max-width: 999px) {


	/* -------------------------------------------------
	setting
	---------------------------------------------------- */

	* {
		box-sizing: border-box;
		max-width: 100%;
	}

	html, body,dl,dd,figure,ol,ul,pre {
		margin: 0;
		padding: 0;
		border:0;
		outline:0;
	}


	img {
		max-width: 100%;
		height: auto;
		vertical-align: middle;
	}


	.nosp {
		display: none;
	}

	p.img {
		float: none;
		margin: 1.5em auto;
	}

	.ank {
		margin-top: -110px!important;
		padding-top: 110px!important;
	}


	/* ---------------------------
	site
	------------------------------ */

	html {
		font-size: 62.5%;
	}

	body {
		font-size: 1.5em;
		line-height: 1.65;
		background: none;
	}

	a {}

	a:hover {
		text-decoration: none;
	}

	.inner {
		padding: 0 15px;
	}

	/* ----------------------------
	header
	------------------------------- */
	#header p#name_clinic {
		position: fixed;
		background: #fff;
		top: 42px;
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		float: none;
		z-index: 1503;
		text-align: center;
		border-bottom: 1px solid #ccc;
	}

	#header p#name_clinic a {
		display: inline-block;
		width: 320px;
		padding: 10px 15px;
	}

	#header p#contact {
		width: 100%;
		float: none;
		margin: 100px 0 0 0;
		text-align: center;
	}

	/* ----------------
	hamburger
	------------------- */
	/*hamburger2*/
	.hamburger {
		position: fixed;
		width: 100%;
		margin: 0;
		padding: 0;
		display: block;
		text-align: left;
		background-color: #eee;
		color: #333;
		border-bottom: 1px solid #ddd;
		z-index: 1503;
	}

	.hamburger li {
		list-style-type: none;
		display: inline-block;
		vertical-align: top;
		padding: 0 0px;
		text-align: right;
	}

	.hamburger li span {
		padding-right: 10px;
	}

	.hamburger li i {
		color: #555;
	}

	.hamburger .h_menu #spnav {
		display: flex;
		flex-wrap: wrap;
		padding: 10px;
		text-decoration: none;
	}

	.hamburger .h_menu #spnav::before {
		content: "";
		display: block;
		width: 30px;
		height: 28px;
		background: url(../images/menu-fill.svg) center;
		background-size: contain;
		position: absolute;
		left: 10px;
		top: 6px;
	}

	.hamburger .h_menu span {
		font-size: 1.6em;
		font-weight: bold;
		color: #333;
		padding-left: 35px;
		position: relative;
	}

	#spnav_open {
		width: 100%;
		z-index: 1505;
		background-color: #eee;
		position: fixed;
		margin: 42px 0 0;
		padding: 0px 0px 0;
	}

	#spnav_open li {
		text-align: left;
		list-style-type: none;
		border-bottom: 1px solid #ddd;
	}

	#spnav_open li a {
		text-decoration: none;
		color: #333;
		padding: 10px 10px;
		display: block;
		width: 100%;
		font-size: 16px;
	}


	/* ----------------------------
	wrap
	------------------------------- */

	#key_visual {
		height: auto;
		margin: 30px 0;
	}



	/* ----------------
	map
	------------------- */
	.map {
		height: 280px;
	}



	/* ----------------------------
	wrap
	------------------------------- */

	#contents_wrapper {
		display: flex;
		flex-wrap: wrap;
	}


	/* ----------------
	main_contents
	------------------- */
	#main_contents {
		width: 100%;
		float: none;
		order: 1;
	}


	/* ----------------
	sub_contents
	------------------- */
	#sub_contents {
		width: 100%;
		float: none;
		text-align: center;
		/* order: 2; */
		margin-bottom: 30px;
	}


	ul#sub_nav {
		margin: 0 auto;
	}

	p#bn_kanja {
		margin: 0 auto;
	}

	/* ----------------
	sub_contents
	------------------- */
	#box_summary {
		width: 100%;
		margin: 0 auto;
	}

	#summary {
		width: 100%;
		float: none;
	}

	dl.summarytext {
		width: 100%;
		float: none;
	}

	dl.summarytext {
		width: 100%;
		float: none;
	}

	dl.summarytext dt {
		width: 100%;
		margin: 0 auto;
	}

	dl.summarytext dd {
		width: 100%;
		margin: 0 auto;
		padding: 1.2em 0;
		line-height: 1.7;
	}

	#clinic_info {
		width: 100%;
		float: none;
	}

	table#timetable {
		width: 100%;
		margin: 0 auto;
	}

	p#btn_bus {
		text-align: center;
		margin-bottom: 1.2em;
		padding-left: 0;
		padding-bottom: 1.2em;
	}

	p#btn_park {
		text-align: center;
		padding: 0;
	}


	/* ----------------------------
	footer
	------------------------------- */
	#footer {
		height: auto;
		margin-top: 50px;
		padding-top: 35px;
		padding-bottom: 50px;
		position: relative;
		background: #fffcd6;
		box-shadow: 0 0 4px #00000052;
	}

	.fixed-bottom {
		z-index: 1450;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		display: flex;
	}

	.fixed-bottom a {
		width: 50%;
		padding: 15px 0;
		text-align: center;
		display: flex;
		height: 50px;
		align-items: center;
		justify-content: center;
		color: #fff;
		font-weight: bold;
		text-decoration: none;
	}

	.fixed-bottom a svg {
		width: 24px;
		margin-right: 5px;
	}

	.fixed-bottom a g {
		fill: #fff;
	}

	.fixed-bottom a:nth-child(1) {
		background: #743f22;
	}
	
	.fixed-bottom a:nth-child(2) {
		background: #d5a587;
	}

	.fixed-bottom a:nth-child(3) {
		background: #49AB4C;
	}

	#footer .copyright {
		padding: 1.5em 15px;
		background: #cc9b66;
		font-size: .8em;
		line-height: 1.3;
	}

	#pagetop {
		margin: 0 auto;
	}

	#box_pagetop {
		margin: 0;
		height: auto;
		position: absolute;
		top: -24px;
	}

	p#name_footer {
		width: 100%;
		height: auto;
		float: none;
		padding: 0 15px;
	}

	#box_footer_nav {
		width: 100%;
		float: none;
		height: auto;
		padding: 35px 15px 60px;
	}

	ul.footer_nav {
		width: 100%;
		float: none;
		height: auto;
		display: flex;
		flex-wrap: wrap;
		margin: -1em 0 0 -1em;
	}

	ul.footer_nav+.footer_nav {
		padding-top: 1em;
	}

	ul.footer_nav li {
		padding: 1em 0 0 1em;
		text-align: left;
		flex: 0 0 50%;
	}

	ul.footer_nav li.first {
		flex: 0 0 100%;
	}


	/* ------------------------
	gallery
	------------------------ */

	.gallery {
		width: 300px;
		max-width: 100%;
		margin: 0 auto;
	}

	.gallery * {
		max-width: 100%;
	}

	.gallery img {
		height: auto!important;
	}
	.gv_gallery {
		max-width: 100%;
		height: auto!important;
	}

	.gv_galleryWrap {
		max-width: 100%;
		height: auto!important;
	}

	.gv_panelWrap {
		position: static!important;
		max-width: 100%;
		height: 360px!important;
		padding: 0!important;
	}

	.gv_infobar {
		top: 0;
		bottom: none;
		z-index: 10;
	}


	.gv_panel {
		position: static!important;
		max-width: 100%;
		max-height: 320px;
	}

	.gv_panel img {
		max-width: 300px;
		height: auto!important;
		left: 50%!important;
		transform: translateX(-50%);
	}

	.gv_filmstripWrap {
		max-width: 100%;
	}

	.gv_filmstrip {
		display: flex;
	}

	.gv_frame {
		width: ;
	}


	.gv_panelNavPrev,
	.gv_panelNavNext {
		top: calc((100% - 160px) / 2)!important;
	}


	/* ----------------------------
	access page
	------------------------------- */
	table#timetable_access {
		width: 100%;
	}


	/* ----------------------------
	reserve page
	------------------------------- */
	#clinic_info #map_canvas iframe {

	}


}


