@charset "utf-8";
@keyframes opa1 {
 0% {
opacity: 0;
}
 100% {
opacity: 1;
}
}
body * {
	box-sizing: border-box;
}
html, body {
	font-size: 15px;
	height: 100%;
}



body {
	margin: 0;
	padding: 0;
	font-family: sans-serif;
	-webkit-text-size-adjust: none;
	background: #fff;
	color: #000;
	line-height: 2;
}
nav ul {
	list-style: none;
}
nav, ul, li, ol {
	margin: 0;
	padding: 0;
}
table {
	border-collapse: collapse;
}
img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
a {
	transition: 0.3s;
}
a:hover {
	text-decoration: none;
}
header {
	margin: 0;
	padding: 0 0 0 0;
}
h1 {
	position: absolute;
	top: 0;
	left: 3vw;
	font-size: 1.2rem;
	font-weight: normal;
	text-align: center;
	background: #fff;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 25%, rgba(255, 255, 255, 1) 80%);
	display: block;
	padding: 0 30px;
	letter-spacing: 1px;
	color: #0047b1;
}
h1 span {
	display: block;
	font-size: 3rem;
	line-height: 2;
	font-weight: bold;
	color: #0a8533;
	padding-bottom: 60px;
	margin-top: -14px;
	text-shadow: 0px 0px 5px #ffffff, 0px 0px 5px #ffffff, 0px 0px 5px #ffffff, 0px 0px 5px #ffffff, 0px 0px 5px #ffffff;
}
h1 img {
	display: block;
	margin: 0 auto;
	padding: 0;
}
 @media screen and (max-width:1400px) {
h1 {
	left: 2vw;
	font-size: 1rem;
	padding: 0 10px;
}
h1 span {
	font-size: 2.5rem;
	padding-bottom: 40px;
	margin-top: -14px;
}
h1 img {
	width: 180px
}
}
 @media screen and (max-width:600px) {
h1 {
	left: 4vw;
	font-size: 1rem;
	padding: 0 10px;
}
h1 span {
	font-size: 1.7rem;
	padding-bottom: 40px;
	margin-top: -6px;
}
h1 img {
	width: 120px
}
}
header nav ul {
	display: none;
}
	@media screen and (min-width:1000px) {
header > nav {
	position: absolute;
	top: 8px;
	right: 0;
}
header > nav > ul {
	margin-right: 100px;
	display: flex;
}
header nav li a {
	display: block;
	text-decoration: none;
	font-size: 1rem;
	padding: 0.5rem 14px;
	color: #000;
}
header nav i {
	padding-right: 0.5rem;
}
}
header nav ul ul, .small-screen #menubar ul ul {
	animation: opa1 0.5s 0.1s both;
}
header nav ul ul {
	position: absolute;
	z-index: 100;
}
header nav ul ul a {
	background: rgba(255,255,255,0.8);
	padding: 0.3em 1em;
	margin-top: 4px;
	border: 1px solid var(--primary-color);
}
#menubar {
	display: none;
}
#menubar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#menubar a {
	display: block;
	text-decoration: none;
}
.large-screen #menubar {
	display: block;
}
.small-screen #menubar.display-block {
	display: block;
}
#menubar_hdr.display-none {
	display: none;
}
@keyframes animation1 {
 0% {
right: -100vw;
}
 100% {
right: 0px;
}
}
.small-screen #menubar.display-block {
	position: fixed;
	overflow: auto;
	z-index: 100;
	right: 0px;
	top: 0px;
	max-width: 800px;
	height: 100%;
	padding: 80px 10vw 50px;
	background: #78c85f;
	animation: animation1 0.2s both;
}
.small-screen #menubar nav ul li {
	font-size: 1.1rem;
	margin: 1rem 0;
	border-radius: 5px;
	background: #FFF;
	text-align: center;
}
.small-screen #menubar a {
	color: inherit;
	padding: 0.8rem 2rem;
}
#menubar_hdr {
	animation: opa1 0.3s 0.5s both;
	position: fixed;
	z-index: 101;
	cursor: pointer;
	top: 5px;
	right: 20px;
	width: 60px;
	height: 60px;
	padding: 20px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: transform 0.5s;
	mix-blend-mode: exclusion;
}
#menubar_hdr.ham {
	mix-blend-mode: normal;
}
#menubar_hdr div span {
	display: block;
	width: 100%;
	height: 1.5px;
	background-color: #fff;
	transition: all 0.5s ease-in-out;
	position: absolute;
}
#menubar_hdr div {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#menubar_hdr div span:nth-child(1) {
	top: 0;
}
#menubar_hdr div span:nth-child(2) {
	bottom: 0;
}
#menubar_hdr.ham div span:nth-child(1) {
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
#menubar_hdr.ham div span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}
main {
	flex: 1 0 auto;
	overflow-x: hidden;
	padding: 65px 0 0;
}

.infowrap {
	display: flex;
	align-items: center;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 80%, rgba(255, 255, 255, 0.4) 90%, rgba(255, 255, 255, 1) 100%), url(../images/bg_infowrap.jpg) no-repeat center bottom;
	background-size: cover;
	padding: 0 0 100px;
}

/* お知らせと写真を下揃えにする場合
 @media screen and (max-width:1360px) {
.infowrap {
	align-items: flex-end;
}
}
*/

 @media screen and (min-width:1200px) {
.infowrap {
	padding: 0 30px 100px 0;
}
}
.mainimg {
	text-align: center;
}
.mainimg img {
	max-height: 780px;
	margin: 0 auto;
	border-radius: 0 40px 0 0;
}
 @media screen and (min-width:1200px) {
.mainimg img {
	width: 100%;
	min-width: 750px;
	height: auto;
}
}
 @media screen and (max-width:900px) {
.mainimg img {
	border-radius: 0 0 0 0;
}
}
.info {
	margin: 0 0 0 30px;
}
.info .ttl {
	text-align: center;
	font-weight: normal;
	position: relative;
	margin-top: -15px;
	margin-bottom: 40px;
}
.info .ttl span {
	font-size: 2.3rem;
	display: block;
}
 @media screen and (max-width:900px) {
.info .ttl span {
	font-size: 2rem;
}
}
 @media screen and (max-width:600px) {
.info .ttl span {
	font-size: 1.8rem;
}
}
.info .ttl:before {
	position: absolute;
	bottom: -10px;
	left: calc(50% - 50px);
	width: 100px;
	height: 7px;
	content: '';
	border-radius: 5px;
	background: #78c85f;
}
.info .list * {
	margin: 0;
	padding: 0;
}
.info .list {
	margin-bottom: 14px;
	padding: 8px 15px;
	background: #fff;
	color: #111;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
	border-radius: 0 10px 0 0;
	border-left: 5px solid #a7c3ce;
}
.info .list h2 {
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.3;
	margin: 0 0 10px -5px;
	padding: 0;
	text-shadow:0 0 4px #fff;
	letter-spacing: 0.05em;
}
.info .list h2 span {
	background: linear-gradient(transparent 60%, #dee5ff 25%);
	padding: 0 8px 3px;
}
.info .list.green {
	border-left: 5px solid #99da85;
}
.info .list.green h2 span {
	background: linear-gradient(transparent 60%, #c4ff9f 25%);
	padding: 0 8px 3px;
}
.info .list.pink {
	border-left: 5px solid #dd96c1;
}
.info .list.pink h2 span {
	background: linear-gradient(transparent 60%, #ffd4ee 25%);
	padding: 0 8px 3px;
}
.info .list.gray h2 span {
	background: linear-gradient(transparent 60%, #d3e0e5 25%);
	padding: 0 8px 3px;
}
.info .list p {
	font-size: 1rem;
	line-height: 1.4;
	margin: 0 0 3px 6px;
	padding: 0;
}
 @media screen and (max-width:1400px) {
.info .list h2 {
	font-size: 1.1rem;
}
}
 @media screen and (max-width:1200px) {
.infowrap {
	display: block;
}
.info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 20px;
	margin: 0 20px;
}
.info .ttl {
	width: 100% !important;
	grid-column: 1 / -1;
	margin-top: 30px;
}
}
 @media screen and (max-width:900px) {
.info {
	display: block;
	margin: 0 10px;
}
}
	@media screen and (min-width:800px) {
.info .list {
}
}

.about {
	border-radius: 0;
	background: #d9faeb;
	background: linear-gradient(0deg, rgba(217, 250, 235, 1) 0%, rgba(255, 255, 255, 1) 60%);
	padding: 40px 30px 80px;
}
.about h2 {
	text-align: center;
	font-weight: normal;
	position: relative;
	margin-bottom: 50px;
}
.about h2 span {
	font-size: 2.3rem;
	display: block;
}
 @media screen and (max-width:900px) {
.about h2 span {
	font-size: 2rem;
}
}
 @media screen and (max-width:600px) {
.about h2 span {
	font-size: 1.8rem;
}
}
.about h2:before {
	position: absolute;
	bottom: -10px;
	left: calc(50% - 50px);
	width: 100px;
	height: 7px;
	content: '';
	border-radius: 5px;
	background: #78c85f;
}
.about h3 {
	text-align: center;
	padding: 0;
	margin: 0 0 20px;
}
.about h3 span {
	font-size: 1.3rem;
	line-height: 1.3;
	font-weight: normal;
	background: #1e9646;
	border-radius: 30px;
	color: #fff;
	padding: 3px 20px 5px;
}
.box1 {
	display: flex;
	gap: 50px;
	justify-content: center;
	align-items: flex-start;
	border-bottom: 1px solid #1e9646;
	padding-bottom: 30px;
}
.box1 .hours table {
	border: none;
	border-bottom: 1px solid #1e9646;
	border-right: 1px solid #1e9646;
	text-align: center;
}
.box1 .hours table th {
	border-top: 1px solid #1e9646;
	border-left: 1px solid #1e9646;
	white-space: nowrap;
	padding: 15px;
	font-size: 1.1rem;
	background: #FFF;
}
.box1 .hours table th.day, .box1 .hours table th.null {
	padding: 5px 15px;
}
.box1 .hours table th.null {
	border-top: none;
	border-left: none;
	background: none;
}
.box1 .hours table td {
	border-top: 1px solid #1e9646;
	border-left: 1px solid #1e9646;
	padding: 15px 10px;
	font-weight: bold;
	background: #FFF;
}
 @media screen and (max-width:600px) {
.box1 .hours table {
	width: calc(100% - 40px);
}
.box1 .hours table th {
	padding: 10px 3px;
	font-size: 1rem;
	line-height: 1.4;
	font-weight: normal;
}
.box1 .hours table th.day, .box1 .hours table th.null {
	padding: 5px 3px;
}

.box1 .hours table td {
	padding: 10px 3px;
}
.box1 .hours table td img {
	width: 26px;
}
}
.box1 .text table {
	border: none;
	line-height: 1.4;
	font-size: 1.1rem;
	margin-bottom: 15px;
}
.box1 .text table th {
	white-space: nowrap;
	text-align-last: justify;
	padding: 8px 10px 8px 0;
	vertical-align: top;
}
.box1 .text table tr:first-child th {
	padding: 0 10px 8px 0;
}
.box1 .text table th span {
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.3;
	background: #fff;
	border: 1px solid #1e9646;
	border-radius: 30px;
	color: #1e9646;
	padding: 1px 10px 2px;
}
.box1 .text table td {
	padding: 8px 0 8px 0;
	vertical-align: top;
}
.box1 .text table tr:first-child td {
	padding: 0 0 8px 0;
}
 @media screen and (max-width:600px) {
.box1 .text table th span {
	border-radius: 30px;
	color: #1e9646;
	padding: 3px 8px 3px;
}
}
	
.about_p {
	text-align: center;
	margin-top: 30px;
}
.about p {
	display: inline-block;
}
.about p.keiji {
	line-height: 1.6;
	margin: 0;
	padding: 0;
}
.about p.link01 {
	margin: 0;
}
.about p.link01 span a {
	padding: 8px 6px 10px 10px;
	background: #fff;
	border: 1px solid #78c85f;
	color: #1e9646;
	text-decoration: none;
}
.about p.link01 span a:hover {
	color: #c00;
	text-decoration: none;
	border: 1px solid #1e9646;
}
 @media screen and (max-width:900px) {
.about {
	padding: 40px 10px 80px;
}
.box1 {
	display: block;
	margin: 0;
	padding: 0;
}
.box1 .hours table {
	margin: 0 auto;
}
.box1 .text table {
	margin: 30px auto 15px;
}
.box1 .text p.keiji {
	text-align: center;
}
.box1 .link01 {
	text-align: center;
}
.about p {
	display: block;
}
.about p.link01 {
	margin: 20px 0 0;
}
}

.equipment {
	border-radius: 0;
	padding: 40px 30px 20px;
}
.equipment h2 {
	text-align: center;
	font-weight: normal;
	position: relative;
	margin-bottom: 30px;
}
.equipment h2 span {
	font-size: 2.3rem;
	display: block;
}
 @media screen and (max-width:900px) {
.equipment h2 span {
	font-size: 2rem;
}
}
 @media screen and (max-width:600px) {
.equipment h2 span {
	font-size: 1.8rem;
}
}
.equipment h2:before {
	position: absolute;
	bottom: -10px;
	left: calc(50% - 50px);
	width: 100px;
	height: 7px;
	content: '';
	border-radius: 5px;
	background: #78c85f;
}
.equipment ul {
	margin: 30px 0 80px;
	text-align: center;
}
.equipment ul li {
	display: inline-block;
	margin: 10px;
	padding: 8px;
	border-bottom: 1px solid #1e9646;
	line-height: 1.4;
}
 @media screen and (max-width:900px) {
.equipment {
	padding: 40px 10px 0;
}
.equipment ul li {
	padding: 8px 2px;
}
}

.qa {
	border-radius: 0;
	background: #D9FAEB;
	background: linear-gradient(160deg,rgba(231, 252, 252, 1) 10%, rgba(230, 255, 220, 1) 60%, rgba(234, 255, 198, 1) 100%);
	background-size: cover;
	padding: 40px 0 100px;
}
 @media screen and (min-width:1200px) {
.qa {
	margin: 0 30px;
	border-radius: 20px;
}
}
.qa h2 {
	text-align: center;
	font-weight: normal;
	position: relative;
	margin-bottom: 50px;
}
.qa h2 span {
	font-size: 2.3rem;
	display: block;
}
 @media screen and (max-width:900px) {
.qa {
	padding: 40px 0 50px;
}
.qa h2 span {
	font-size: 2rem;
}
}
 @media screen and (max-width:600px) {
.qa h2 span {
	font-size: 1.8rem;
}
}
.qa h2:before {
	position: absolute;
	bottom: -10px;
	left: calc(50% - 50px);
	width: 100px;
	height: 7px;
	content: '';
	border-radius: 5px;
	background: #78c85f;
}
.qa h3 {
	font-size: 1.3rem;
	line-height: 1.5;
	font-weight: normal;
	margin: 0 0 15px 0;
	padding: 0 5px 5px 30px;
	background: url(../images/qaq.png) no-repeat left top;
}
.qa h3 span {
	background: linear-gradient(transparent 60%, #ffe9f2 25%);
	padding: 0 8px 3px;
}
.qa p {
	font-size: 1rem;
	line-height: 1.5;
	margin: 0;
	padding: 0 0 0 40px;
	background: url(../images/qaa.png) no-repeat left top -3px;
}
 @media screen and (max-width:800px) {
.qa h3 {
	font-size: 1.15rem;
	padding: 0 5px 5px 22px;
	background-size: 30px;
}
.qa p {
	padding: 0 0 0 30px;
	background: url(../images/qaa.png) no-repeat left -3px top -3px;
	background-size: 30px;
}
}
.list-grid1 {
	margin: 0 4vw;
}
.list-grid1 .list {
	display: grid;
	align-content: start;
	margin-bottom: 1.5rem;
	padding: 15px 10px;
	background: #fff;
	color: #000;
	border: 3px solid #bbe3af;
	box-shadow: 0 0 7px rgba(30,150,70,0.15);
	border-radius: 8px;
}
.list-grid1 .list p {
	line-height: 1.5;
}
	@media screen and (min-width:800px) {
.list-grid1 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2vw;
}
.list-grid1 .list {
	margin-bottom: 0;
}
}

.access {
	border-radius: 0;
	padding: 40px 0 80px;
}
.access h2 {
	text-align: center;
	font-weight: normal;
	position: relative;
	margin-bottom: 50px;
}
.access h2 span {
	font-size: 2.3rem;
	display: block;
}
 @media screen and (max-width:900px) {
.access {
	padding: 40px 0 50px;
}
.access h2 span {
	font-size: 2rem;
}
}
 @media screen and (max-width:600px) {
.access h2 span {
	font-size: 1.8rem;
}
}
.access h2:before {
	position: absolute;
	bottom: -10px;
	left: calc(50% - 50px);
	width: 100px;
	height: 7px;
	content: '';
	border-radius: 5px;
	background: #78c85f;
}
.box2 {
	display: flex;
	gap: 40px;
	justify-content: center;
	align-items: flex-start;
}
.box2 .left img {
	border: 1px solid #78c85f;
}

.box2 .right iframe {
	width: 50vw;
	height: 402px;
	margin: 0;
	padding: 0;
	border: 1px solid #78c85f;
}
 @media screen and (max-width:1360px) {
.box2 {
	gap: 20px;
}
.box2 .right iframe {
	width: 40vw;
}
}
 @media screen and (max-width:900px) {
.box2 {
	display: block;
	text-align: center;
}
.box2 .left {
	margin: 0 10px;
}
.box2 .left img {
	border: none;
}
.box2 .right {
}
.box2 .right iframe {
	width: calc(100% - 40px);
	margin: 20px;
}
}
.pagetop-show {
	display: block;
}
.pagetop a {
	display: block;
	text-decoration: none;
	text-align: center;
	z-index: 99;
	animation: opa1 1s 0.4s both;
	position: fixed;
	right: 0;
	bottom: 20px;
	width: 55px;
	opacity: 0.8;
}
.pagetop a img {
	opacity: 0.8;
	transition: 0.3s;
}
.pagetop a:hover img {
	opacity: 1;
}

footer {
	background: #1F9247;
	background: linear-gradient(90deg, rgba(30, 150, 70, 1) 0%, rgba(120, 200, 95, 1) 100%);
	padding: 1.5vw 5vw;
}
footer .image {
	width: 200px;
	text-align: center;
}


	@media screen and (min-width:600px) {
footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 5rem;
}
}
	@media screen and (max-width:900px) {
footer .image {
	width: 160px;
}
}

	@media screen and (max-width:600px) {
footer .image {
	width: 130px;
	text-align: center;
}
}
footer h2 {
	font-weight: 200;
	font-size: 2rem;
	line-height: 2;
	font-weight: bold;
	color: #FFF;
	margin: -15px 0 0;
	padding: 0;
	text-shadow: 0 0 2px rgba(14, 113, 39, 1), 0 0 4px rgba(14, 113, 39, 1), 0 0 6px rgba(14, 113, 39, 1);
}
footer p {
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: normal;
	color: #FFF;
	margin: 0;
	padding: 0;
	text-shadow: 0 0 1px rgba(14, 113, 39, 1), 0 0 2px rgba(14, 113, 39, 1), 0 0 3px rgba(14, 113, 39, 1);
}
footer a {
	color: #fff;
	text-decoration: none;
}
 @media screen and (max-width:600px) {
footer {
	text-align: center;
	padding-top: 30px;
	background: linear-gradient(180deg, rgba(30, 150, 70, 1) 0%, rgba(120, 200, 95, 1) 100%);
}
footer h2 {
	font-size: 1.8rem;
}
footer .text {
	text-align: center;
}
footer .image {
	margin: 20px auto;
}
}
.alr {
	text-align: right !important;
}
.all {
	text-align: left !important;
}
.alc {
	text-align: center !important;
}

.valt {
	vertical-align: top !important;
}
.valm {
	vertical-align: middle !important;
}
.valb {
	vertical-align: bottom !important;
}

.mgb00 {
	margin-bottom: 0 !important;
}
.mgb05 {
	margin-bottom: 5px !important;
}
.mgb10 {
	margin-bottom: 10px !important;
}
.mgb15 {
	margin-bottom: 15px !important;
}
.mgb20 {
	margin-bottom: 20px !important;
}
.mgb25 {
	margin-bottom: 25px !important;
}
.mgb30 {
	margin-bottom: 30px !important;
}
.mgb40 {
	margin-bottom: 40px !important;
}
.mgb50 {
	margin-bottom: 50px !important;
}
.mgt01 {
	margin-top: 1px !important;
}
.mgt00 {
	margin-top: 0 !important;
}
.mgt05 {
	margin-top: 5px !important;
}
.mgt10 {
	margin-top: 10px !important;
}
.mgt15 {
	margin-top: 15px !important;
}
.mgt20 {
	margin-top: 20px !important;
}
.mgr00 {
	margin-right: 0 !important;
}
.mgr05 {
	margin-right: 5px !important;
}
.mgr10 {
	margin-right: 10px !important;
}
.mgr15 {
	margin-right: 15px !important;
}
.mgr20 {
	margin-right: 20px !important;
}
.mgl00 {
	margin-left: 0 !important;
}
.mgl05 {
	margin-left: 5px !important;
}
.mgl10 {
	margin-left: 10px !important;
}
.mgl15 {
	margin-left: 15px !important;
}
.mgl20 {
	margin-left: 20px !important;
}
.mgl25 {
	margin-left: 25px !important;
}
.mgl30 {
	margin-left: 30px !important;
}
.mgl35 {
	margin-left: 35px !important;
}
.mglm5 {
	margin-left: -5px !important;
}
.pdb00 {
	padding-bottom: 0 !important;
}
.pdb05 {
	padding-bottom: 5px !important;
}
.pdb07 {
	padding-bottom: 7px !important;
}
.pdb10 {
	padding-bottom: 10px !important;
}
.pdb15 {
	padding-bottom: 15px !important;
}
.pdb20 {
	padding-bottom: 20px !important;
}
.pdt00 {
	padding-top: 0 !important;
}
.pdt05 {
	padding-top: 5px !important;
}
.pdt07 {
	padding-top: 7px !important;
}
.pdt10 {
	padding-top: 10px !important;
}
.pdt15 {
	padding-top: 15px !important;
}
.pdt20 {
	padding-top: 20px !important;
}
.pdl05 {
	padding-left: 5px !important;
}
.pdl10 {
	padding-left: 10px !important;
}
.pdl15 {
	padding-left: 15px !important;
}
.pdl20 {
	padding-left: 20px !important;
}
.pdl25 {
	padding-left: 25px !important;
}
.pdl30 {
	padding-left: 30px !important;
}
.pdl55 {
	padding-left: 55px !important;
}
.pdr05 {
	padding-right: 5px !important;
}
.pdr10 {
	padding-right: 10px !important;
}
.pdr15 {
	padding-right: 15px !important;
}
.pdr20 {
	padding-right: 20px !important;
}
.pdr25 {
	padding-right: 25px !important;
}
.pdr30 {
	padding-right: 30px !important;
}
.iconm {
	vertical-align: middle;
	margin: 0 2px 1px 8px;
}



 @media print {
html, body {
	margin: 0;
	padding: 0;
	height: auto;
	font-size: 12px;
	background: none;
}
nav, #menubar, #menubar_hdr, #pagetop {
	display: none;
}

h1 {
	left: 2vw;
	font-size: 1rem;
	padding: 0 10px;
	background: rgba(255, 255, 255, 0.8);
}
h1 span {
}
h1 span {
	font-size: 2rem;
	padding-bottom: 10px;
	margin-top: 0;
}
h1 img {
	width: 180px
}
.infowrap {
	display: block;
	background: url(../images/bg_infowrap.jpg) no-repeat center bottom;
	background-size: auto;
	padding: 0 0 50px;
}

.mainimg {
	text-align: center;
	display: block;
	padding-top: 40px;
	}
.mainimg img {
	max-width: 500px;
	margin: 0 auto;
}
.about {
	padding: 20px 30px 50px;
	}
.equipment {
		border-radius: 0;
		padding: 20px 20px 20px;
	}
.qa {
		border-radius: 0;
		padding: 10px 0 30px;
	}
.access {
		padding: 20px 0 40px;
	}
	
.info .ttl, .about h2, .qa h2, .access h2 {
  margin-bottom: 40px;
	}
	
.equipment h2 {
  margin-bottom: 20px;
	}
.info .ttl span, .about h2 span, .equipment h2 span, .qa h2 span, .access h2 span {
	font-size: 2rem;
	}
	
.info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 20px;
	margin: 0 20px;
}
.info .ttl {
	width: 100% !important;
	grid-column: 1 / -1;
	margin-top: 30px;
}
.box1 {
	display: block;
	margin: 0;
	border-bottom: 1px solid #1e9646;
	padding-bottom: 20px;
}
.box1 .hours table {
	margin: 0 auto 30px;
}
.box1 .text table {
	margin: 20px auto 0;
}
.box1 .text p.keiji {
	text-align: center;
}
.box1 .link01 {
	text-align: center;
}
.about p {
	display: block;
}
.about p.link01 {
	margin: 15px 0 0;
}
.box2 {
	display: block;
	text-align: center;
}
.box2 .left img {
	border: none;
	width: 400px;
}
.box2 .right {
}
.box2 .right iframe {
	width: calc(100% - 40px);
	margin: 20px;
}

footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
}

footer .image {
	width: 100px;
	text-align: center;
}


 }