
html {
	min-width: 250px;
	overflow-y: scroll;
}

body {
	font-size: 90%;
	-webkit-text-size-adjust: 90%;
	width: 100%;
}

div.df,
span.df {
	display: none;
}

span.sp,
div.sp {
	display: inline;
}

h2.img {
	font-size: 22px;
	margin: auto;
	padding: 45px 5px 10px 5px;
}

h2.copy {
	font-size: 20px;
	padding: 10px;
}

h2.copy:after {
	border-radius: 2px;
	height: 4px;
	width: 100px;
}

h3.img em {
	display: block;
	font-size: 120%;
	line-height: 1.3em;
	padding: 5px 5px 10px 5px;
}

p {
	line-height: 1.8em;
}

p.spjustify {
	text-align: justify;
}

span.link-btn a,
span.link-btn-prev a,
span.link-btn-next a,
div.page a.next,
div.page a.prev,
div.body a.link-btn,
a.link-btn,
a.link-btn-prev {
	background-position: right 10px center;
	display: block;
	margin: 5px 0;
	padding: 10px 20px;
	text-align: center;
	width: auto;
}

span.link-btn-prev a,
div.page a.prev,
a.link-btn-prev {
	background-position: left 10px center;
}

span.large {
	font-size: 100%;
}

.spwideimg {
	height: auto;
	width: 100%;
}

div.photos {
	display: inline-block;
}

div.photos a {
	display: inline-block;
	width: 32%;
}

/***********************************************************************/
div.map iframe {
	height: 400px;
	width: 100%;
}

div.main-text {
	margin: 0 auto;
	width: 935px;
}

div.main-text h3 {
	font-size: 120%;
	font-weight: bold;
	margin: 10px  0;
}

div.main-text p {
	font-size: 110%;
}

table.index {
	border-spacing: 0;
}

table.index td,
table.index td.s,
table.index td.w {
	display: block;
	margin: 20px 0;
	padding: 30px 20px 20px 20px;
	width: auto;
}

table.index td.w {
	margin-top: 0;
}

table.index td p.center {
	margin-top: 20px;
}

table.index td a.link-btn,
table.index td.s a.link-btn,
table.index td.w a.link-btn {
	display: block;
	position: static;
	width: auto;
}

table.index td.s a.link-btn {
	background-position: right 10px center;
	padding: 10px 28px;
}

table.index td.w a.link-btn {
	float: none;
	margin-top: 20px;
}

div.contents,
div.contents-green {
	padding: 15px 20px;
	width: auto;
}

div.contents-wide {
	padding: 15px;
	width: auto;
}

div.contents span.img-right,
div.contents-green span.img-right,
div.contents-wide span.img-right {
	max-width: 200px;
	width: 40%;
}

div.contents span.img-right img,
div.contents-green span.img-right img,
div.contents-wide span.img-right img {
	height: auto;
	max-width: 200px;
	width: 100%;
}

div.access table {
	width: auto;
}

ul.photos {
	width: auto;
}

ul.photos li {
	width: 33%;
}

div.facility-list {
	width: auto;
}

div.facility-list ul li {
	width: auto;
}

table.list-table th {
	display: block;
	width: auto;
}

table.list-table td {
	display: block;
	padding: 5px 5px 20px 5px;
	width: auto;
}

ul.faq {
	margin: 0;
}

ul.faq li {
	padding: 10px 25px 10px 0;
}

ul.faq li.question {
	background-position: right 5px center;
}

ul.faq li.answer {
	padding: 5px 5px 10px 0;
}


ul.faq li em {
	width: 50px;
}

ul.faq li strong,
ul.faq li span {
	padding-left: 10px;
}

/***********************************************************************/
ul.news-list li .article {
	padding: 10px;
}

ul.news-list li .article span.date {
	display: block;
	font-weight: bold;
	text-align: left;
}

ul.news-list li .article span.text {
	padding: 10px;
}

div.page {
	padding: 15px 0;
}

div.page span.link-btn a,
div.page span.link-btn-prev a {
	display: block;
	margin: 0;
}

div.page a.next,
div.page a.prev {
	display: block;
}

div.page a.next {
	margin: 25px 0 5px 0;
}

div.page a.prev {
	margin: 5px 0 25px 0;
}

body#single div.body a.link-btn {
	width: auto;
}

body#single div.body figure.wp-block-image {
	width: auto;
}

body#single div.body figure.wp-block-image img {
	height: auto;
	width: 100%;
}

/***********************************************************************/
header,
#header {
	height: auto;
}

header #headerfix {
	height: 38vw;
}

#header-text em {
	text-align: center;
	width: 98%;
}

#header {
	width: 100%;
}

#header p#header-subject {
	font-size: 75%;
	left: 0;
	text-align: center;
	top: 5px;
	width: 100%;
}

#header a#header-logo {
	display: block;
	padding: 15px 10px 0 5px;
	position: static;
	text-align: center;
	width: 75%;
}

#header a#header-logo img {
	height: auto;
	max-width: 300px;
	width: 100%;
}

#header #header-btn {
	padding: 5px 0 15px 0;
	text-align: center;
}

#header a#header-reservation {
	background: url(images/link_btn.png) no-repeat  right 8px center,
	url(images/header_reservation.png) no-repeat  left 8px center,
	linear-gradient(#01b0a4, #13797b);
	display: inline-table;
	font-size: 100%;
	height: 25px;
	padding-top: 12px;
	position: static;
	width: 45%;
}

#header a#header-reservation:hover {
	background: url(images/link_btn.png) no-repeat  right 8px center,
	url(images/header_reservation.png) no-repeat  left 8px center,
	linear-gradient(#f99917, #b06705);
}

#header #header-tel {
	display: inline-table;
	position: static;
	vertical-align: top;
	width: 45%;
}

#header #header-tel span.sp a {
	height: 32px;
	padding: 5px 0 7px 0;
	width: 100%;
}

#header #header-tel span.sp a strong {
	display: block;
	padding-top: 2px;
}

#header #header-tel a:hover {
	background-color: #a2a2e8;
}

#sp-icon {
	height: 60px;
	position: absolute;
	right: 2px;
	top: 4px;
	width: 60px;
	z-index: 999;
}

#sp-icon:hover {
	cursor: pointer;
	opacity: .7;
}

#sp-icon span,
#sp-icon span:before,
#sp-icon span:after {
	background: #253795;
	display: inline-block;
	height: 2px;
	position: absolute;
	transition-duration: .3s;
	transition-property: transform;
	width: 25px;
}

#sp-icon span {
	left: 50%;
	top: 50%;
	transform: translate( -50%, -50% );
}

#sp-icon span:before {
	content: "";
	transform: translateY( -10px ) rotate( 0deg );
}

#sp-icon span:after {
	content: "";
	transform: translateY( 10px ) rotate( 0deg );
}

div.sp-open span {
	background: transparent !important;
}

div.sp-open span:before {
	transform: rotate( 45deg ) !important;
}

div.sp-open span:after {
	transform: rotate( -45deg ) !important;
}

.is-animation #header {
	height: 60px;
}

.is-animation #header-s {
	position: static;
	width: 100%;
}

.is-animation #header p#header-subject {
	font-size: 75%;
	left: 0;
	text-align: center;
	top: 5px;
}

.is-animation #header #header-logo {
	padding-left: 20px;
}

.is-animation #header #header-logo img {
	width: 280px;
}

.is-animation #header div#sp-icon {
	top: 0;
}

nav#globalnav,
.is-animation nav#globalnav {
	background-image: none;
	display: none;
	left: 0;
	list-style-type: none;
	padding: 0;
	position: absolute;
	top: 78px;
	width: 100%;
	z-index: 990;
}

.is-animation nav#globalnav {
	top: 60px;
}

nav#globalnav ul,
.is-animation nav#globalnav ul {
	width: 100%;
}

nav#globalnav ul li,
.is-animation nav#globalnav ul li {
	background-color: white;
	border: none;
	display: block;
	float: none;
	height: auto;
	margin-left: 0;
	text-align: center;
}

nav#globalnav ul li.exercise {
	border-left: none;
}

nav#globalnav ul li a,
.is-animation nav#globalnav ul li a {
	background: url(images/link_btn.png) no-repeat  right 20px center,
	linear-gradient(#0082ca, #003d85);
	color: white;
	display: block;
	font-weight: 600;
	height: auto;
}

nav#globalnav ul li.exercise a,
.is-animation nav#globalnav ul li.exercise a {
	background: url(images/link_btn.png) no-repeat  right 20px center,
	linear-gradient(#febb69, #e27201);
	color: white;
	display: block;
	font-weight: 600;
	height: auto;
}

nav#globalnav ul li a.reservation,
.is-animation nav#globalnav ul li a.reservation {
	background: url(images/link_btn.png) no-repeat  right 20px center,
	url(images/header_reservation.png) no-repeat  left 33px center,
	linear-gradient(#01b0a4, #13797b);
	color: white;
	display: block;
}

.is-animation nav#globalnav ul li a.reservation em {
	background-image: none;
	padding: 15px 0;
	width: 100%;
}

nav#globalnav ul li a.reservation:hover,
.is-animation nav#globalnav ul li a.reservation:hover {
	background: url(images/link_btn.png) no-repeat  right 20px center,
	url(images/header_reservation.png) no-repeat  left 33px center,
	linear-gradient(#f99917, #b06705);
}

nav#globalnav ul li a.reservation:hover em,
.is-animation nav#globalnav ul li a.reservation:hover em {
	color: white;
}

nav#globalnav ul li a em,
nav#globalnav ul li a.home em,
nav#globalnav ul li a.exercise em,
.is-animation nav#globalnav ul li a em,
.is-animation nav#globalnav ul li a.home em,
.is-animation nav#globalnav ul li a.exercise em {
	background-position: left 15px top 5px;
	display: block;
	font-size: 15px;
	height: auto;
	line-height: 1.2em;
	padding: 18px 50px;
	text-align: center;
}

nav#globalnav ul li a.home em,
.is-animation nav#globalnav ul li a.home em {
	background-image: url(images/globalnav_home.png);
	background-position: left 23px top 5px;
	font-size: 100%;
	width: auto;
}

nav#globalnav ul li a.information em,
.is-animation nav#globalnav ul li a.information em {
	background-image: url(images/globalnav_information.png);
	width: auto;
}

nav#globalnav ul li a.consultation em,
.is-animation nav#globalnav ul li a.consultation em {
	background-image: url(images/globalnav_consultation.png);
	width: auto;
}

nav#globalnav ul li a.exercise em,
.is-animation nav#globalnav ul li a.exercise em {
	background-image: url(images/globalnav_exercise.png);
	width: auto;
}

nav#globalnav ul li a.qa em,
.is-animation nav#globalnav ul li a.qa em {
	background-image: url(images/globalnav_qa.png);
	width: auto;
}

nav#globalnav ul li a.access em,
.is-animation nav#globalnav ul li a.access em {
	background-image: url(images/globalnav_access.png);
	width: auto;
}

nav#globalnav ul li a.exercise em,
.is-animation nav#globalnav ul li a.exercise em {
	background-image: url(images/globalnav_exercisen.png);
	background-position: left 15px top 17px;
	width: auto;
}

.is-animation nav#globalnav ul li.exercise a em span {
	display: block;
}

nav#globalnav ul li a:hover,
.is-animation nav#globalnav ul li a:hover {
	background: url(images/link_btn.png) no-repeat  right 20px center,
	linear-gradient(white, #9bbbdf);
}

nav#globalnav ul li.exercise a:hover,
.is-animation nav#globalnav ul li.exercise a:hover {
	background: url(images/link_btn.png) no-repeat  right 20px center,
	linear-gradient(#fff1e4, #febb69);
}

nav#globalnav ul li a:hover em,
.is-animation nav#globalnav ul li a:hover em {
	background-position: left 15px top 5px;
}

nav#globalnav ul li.exercise a:hover em,
.is-animation nav#globalnav ul li.exercise a:hover em {
	background-position: left 15px top 17px;
}

nav#globalnav ul li a.home:hover em,
.is-animation nav#globalnav ul li a.home:hover em {
	background-position: left 23px top 5px;
}

#container {
	padding-top: 50px;
}

#title {
	padding: 20px 0 0 0;
}

#title h1 {
	font-size: 28px;
	padding: 15px 0;
}

#title-s #title-s-contents {
	padding: 15px 10px;
}

#title-s #title-s-contents h1 {
	font-size: 28px;
	padding-top: 15px;
}

#title-s #title-s-contents a.categorylink {
	color: #009f9a;
	display: block;
	font-weight: 600;
	padding: 5px 5px;
	text-decoration: none;
}

div.main {
	padding: 20px;
	width: auto;
}

div.spmain {
	padding: 0 20px;
}

div.main-s {
	padding: 10px 0;
	width: auto;
}

#opentime-bg {
	padding-bottom: 20px;
	padding-top: 30px;
}

#opentime-logo {
	float: none;
	width: 100%;
}

#opentime-logo p#opentime-subject {
	font-size: 11px;
	font-weight: bold;
	left: 40%;
	line-height: 1em;
	position: absolute;
	text-align: center;
	top: -5px;
}

#opentime-logo h3#footer-logo {
	display: block;
}

#opentime-logo h3#footer-logo img {
	display: block;
	height: auto;
	margin: 0 auto;
	width: 100%;
}

#opentime-logo ul.notelist {
	position: static;
}

#opentime-logo ul.notelist {
	padding: 10px 0;
}

#opentime-logo #footer-tel {
	margin-top: 10px;
	padding: 0 20px;
}

#opentime-logo #footer-tel a {
	padding: 5px 10px;
}

#opentime {
	display: block;
	float: none;
	margin: 0 auto;
	padding-top: 20px;
	width: 90%;
}

#opentime h4 {
	font-size: 17px;
	padding-bottom: 3px;
}

#opentime-container {
	width: 100%;
}

#opentime p#opentime-tel {
	line-height: 2em;
	text-align: center;
}

#opentime h5 {
	margin-bottom: 0;
}

#opentime table#opentime-tel {
	width: 100%;
}

footer {
	margin: 0 auto;
	padding: 0 20px;
	width: auto;
}

nav#footernav {
	padding: 20px 0;
	width: 100%;
}

nav#footernav table td:nth-child(1),
nav#footernav table td:nth-child(2),
nav#footernav table td:nth-child(3) {
	display: block;
	margin: 0;
	padding: 20px 0 0 0;
	width: 100%;
}

#footer-reservation {
	padding: 0 20px;
}

#footer-reservation a {
	display: block;
	padding: 10px 60px 10px 75px;
}

#footer-tel span.sp a strong {
	display: block;
	text-align: center;
}

nav#footernav h4 {
	background: url(images/link_btn.png) no-repeat right 10px bottom 15px;
	margin-bottom: 10px;
}

nav#footernav ul.dmenu {
	border-top: 1px solid #3c6698;
	padding: 0;
}

nav#footernav ul.dmenu li a {
	background-position: left 30px center;
	border-bottom: 1px solid #3c6698;
	padding: 10px 0 10px 50px;
}

nav#footernav ul.gmenu {
	padding: 0;
}

nav#footernav ul.gmenu li a {
	padding-bottom: 15px;
	padding-top: 15px;
}

#footer-sns {
	padding: 10px;
}

#footer-sns ul li {
	margin: 0 5px;
}

#footer-sns img {
	height: 40px;
	width: 40px;
}

#copyright {
	padding: 10px 0;
}

#pagetop {
	height: auto;
	right: 0;
	width: auto;
}

#pagetop a img {
	box-sizing: border-box;
	height: auto;
	padding: 8px;
	width: 60px;
}

