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

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

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

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

h2.img {
	padding: 0px 0px 20px 0px;
}

h2.img img {
	width: 50%;
}

h2.title {
	font-size: 140%;
	padding: 40px 0px 20px 0px;
}

h2.title span.border {
	margin-top: 5px;
}







h2.second-title {
	padding: 40px 0px 10px 0px;
	font-size: 145%;
}

h2.second-title-bg {
	padding: 10px 0px;
	font-size: 145%;
}

h2.second-title-bg em {
	width: auto;
}

p {
	line-height: 1.8em;
	letter-spacing: normal;
}

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,
a.link-btn-w {
	width: auto;
	display: block;
	margin: 5px 0px;
	padding: 10px 20px;
	background-size: 6px;
}

span.link-btn a:hover,
a.link-btn:hover {
	background-size: 9px;
}

a.link-btn {
	font-size: 100%;
}

a.contact-mail-btn {
	background-size: 6px,30px ;
	padding: 15px 0px 15px 65px;
	width: auto;
}

ul.list li {
	line-height: 1.6em;
	text-align: left;
}

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

div.photos {
	display: inline-block;
}

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

/***********************************************************************/

table.list-table {
	width: auto;
}

table.list-table tr {

}

table.list-table th {
	width: auto;
	display: block;
	padding-bottom: 0px;
}

table.list-table td {
	display: block;
	text-align: center;
	padding: 5px 0px 12px 0px;
}

/***********************************************************************/

ul.color-frame li {
	padding-bottom: 10px;
	width: auto;
	margin-bottom: 30px;
}

ul.color-frame li div.number {
	height: 40px;
	padding-top: 8px;
	width: 40%;
	font-size: 18px;
}

ul.color-frame li h2 {
	margin-bottom: 30px;
}

ul.color-frame li h2 img {
	width: 50px;
}

ul.color-frame li div.detail {
	margin: 20px;
}

ul.color-frame li div.detail div.text {
	margin: 25px 0px;
}

ul.color-frame li table.frame-table th {
	width: auto;
	display: block;
}

ul.color-frame li table.frame-table td {
	width: auto;
	display: block;
	padding: 15px;
	font-size: 90%;
}

/***********************************************************************/

table.history-table th {
	width: 30%;
}

table.history-table td {
	width: 70%;
	font-size: 90%;
}


/***********************************************************************/

table.form-table tr {
	position: relative;
}

table.form-table th {
	width: 100%;
	display: block;
	text-align: left;
	padding-bottom: 0px;
}

table.form-table td {
	width: 100%;
	display: block;
}

table.form-table td.m {
	position: absolute;
	top: 0px;
	right: 0px;
}

table.form-table td.m span {
	border-radius: 10px;
	padding: 5px 10px;
}

table.form-table span.shortform input {
	width: 100%;
  	-moz-box-sizing: border-box;
  	-webkit-box-sizing: border-box;
  	box-sizing: border-box;
}

table.form-table input,
table.form-table td textarea {
	width: 100%;
  	-moz-box-sizing: border-box;
  	-webkit-box-sizing: border-box;
  	box-sizing: border-box;
}

form input.submit {
	width: 100%;

}


/***********************************************************************/
div.news-container {
	background-color: #e4e4e4;
	padding: 50px 25px;
}

div.news-container h2 {
	font-size: 20px;
}

div.news-container ul.news-list {
	width: auto;
}

div.news-container ul.news-list li a {
	background-position: right 15px center;
	padding: 10px 25px;
}

div.news-container ul.news-list li span.date,
div.news-container ul.news-list li h3 {
	display: block;
	text-align: center;
}

div.news-container ul.news-list li h3 {
	padding-left: 0px;
}

div.news-container ul.news-list li a:hover {
	background:none;
}

div.news-container a.link-btn {
	margin: auto;
}

/***********************************************************************/

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

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

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

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

/***********************************************************************/

body#single div.date {
	font-size: 90%;
}

body#single h1.blogtitle {
	font-size: 22px;
}

body#single div.img {
	width: auto;
	margin: auto;
}

body#single div.img img {
	width: 100%;
	height: auto;
}

body#single div.body h2 {
	font-size: 18px;
	border-left: 15px solid #036eb6;
}

body#single div.body a.link-btn {
    width: auto;
	margin-bottom: 20px;
}

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

body#single div.body figure.size-medium img {
	width: 80%;
	height: auto;
}

body#single div.page {
	padding: 50px 25px;
}

/***********************************************************************/

#header-bg {
	position: fixed;
	height: 55px;
	z-index: 1;
	width: 100%;
}

#header {
	height: 55px;
	padding: 0px;
}

#header-logo {
	left: 15px;
	top: 10px;
	bottom: 0px;
}

#sp-icon {
	display: inline;
}

ul#menu {
	opacity: 0.9;
	width: 100%;
	display: none;
	position: absolute;
	text-align: center;
	padding-left: 0px;
	margin-top: 0px;
}

ul#menu li {
	display: block;
}

ul#menu li a {
	display: block;
	background-color: #036eb6;
	padding: 15px 0px;
	color: white;
}

ul#menu li:last-child {
    margin-right: 0px;
}

#title-bg {
	background-size: cover;
	padding: 45px 0px 40px 0px ;
}

#title-bg #title {
	width: 85%;
}

#maintitle {
	height: auto;
	padding-top: 55px;
}

#maintitle #title {
	display: block;
    width: auto;
	font-size: 25px;
	padding: 30px 0px 32px 0px;
}

#maintitle #title img {
	width: 80%;
	margin: auto;
}

#maintitle #title em {
	padding-top: 2px;
	font-size: 50%;
}

div.main,
div.main-s,
div.main-blog {
	padding: 0px 25px;
	width: auto;
}

#top-main {
	height: auto;
}

#top-main h1#top-maintitle {
	padding: 95px 0px 40px 0px;
}

#top-main h1#top-maintitle img {
	width: 80%;
	margin: auto;
	height: auto;
}

div.entry {
	margin-bottom: 50px;
	padding: 0px;
	background: none;
}

div.entry img {
	width: 100%;
	height: auto;
}

div.entry div.inner {
	background-color: #14a83b;
	padding: 40px 25px 50px 25px;
}

div.entry h3 {
	font-size: 140%;
}

div.entry p {
	padding-bottom: 0px;
	margin-bottom: 0px;
}

div.entry p.number {
	font-weight: bold;
	text-align: center;
	padding-bottom: 2px;
	font-size: 25px;
}

div.entry p span.tel {
	font-size: 35px;
	display: block;
	line-height: 1.1em;
}

div.entry p span.tel a {
	text-decoration: none;
	font-weight: bold;
	color: white;
}

div.entry a.link-btn {
	width: auto;
	margin-top: 15px;
}

div.pagebtn {
	width: auto;
	margin: 0px 25px 50px 25px;
}

div.pagebtn a.link-btn-return ,
div.pagebtn a.link-btn {
	display: block;
	width: auto;
	margin: 6px 0px;
}

#footer-banner {
	padding: 15px 0px;
	margin-bottom: 30px;
}

#footer-banner ul li {
	width: 42%;
	margin: 5px 0px;
}

#footer-banner ul li:nth-child(even) {
	margin-left: 10px;
}

#footer-banner ul li img {
	width: 100%;
}

#footer-site2 {
	padding: 15px 0px;
	margin-bottom: 30px;
}

#footer-site2 ul li {
	display: inline-block;
	width: 42%;
	margin: 5px 0px;
}

#footer-site2 ul li:nth-child(even) {
	margin-left: 10px;
}

#footer-site2 ul li img {
	width: 100%;
}

li#footer-service_site ul li {
	display: inline-block;
	width: 42% !important;
	margin: 5px 0px;
}

li#footer-service_site img {
	width: 100% !important;
}


#footer {
	display: block;
	width: auto;
	margin: 0px 25px;
}

#footer #footer-info {
	display: block;
	padding: 0px;
	width: auto;
}

#footer #footer-info h3 a {
	font-size: 23px;
}

#footer #footer-info h3 a span {
	display: block;
}

#footer #footer-info h3 a strong {
	display: block;
	padding: 5px 0px 0px 0px;
}

#footer #footer-info h4 {
	font-size: 90%;
}

#footer #footer-tel {
	border-left: none;
	border-top: 1px solid black;
	display: block;
	padding: 15px 0px 0px 0px;
	width: auto;
	padding-bottom: 0px;
	margin-top: 25px;
}

#footer #footer-tel p#footer-tel-num span {
	font-size: 30px;
	background-size: 20px;
	padding-left: 25px;
}

#footer #footer-tel p#footer-tel-num a {
	font-weight: bold;
}

p#copyright {
	font-size: 65%;
	padding: 20px 25px 10px 25px;
	text-align: justify;
}

#footernav {
	display: none;
}

#pagetop {
	bottom: 10px;
	right: 10px;
}

#pagetop a {
	height: 60px;
	width: 60px;
}
