
html {
	max-width: 480px;
	min-width: 380px;
	overflow-y: scroll;
}

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

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

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

h2.subtitle {
	font-size: 30px;
}

h2.img strong {
	padding: 0 8%;
}

h2.img strong img {
	height: auto;
	width: 84%;
}

p {
	line-height: 1.8em;
}

p.spjustify {
	text-align: justify;
}

a.link-btn,
span.link-btn a {
	background-position: right 15px center;
	background-size: 6px;
	box-sizing: border-box;
	display: block;
	margin: 5px auto;
	padding: 10px 50px 10px 30px;
	width: 90%;
}

span.link-btn-prev a,
a.link-btn-prev {
	background-position: left 15px center;
	background-size: 6px;
	box-sizing: border-box;
	padding: 10px 30px 10px 50px;
}

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

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

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

table.list-table {
	width: 100%;
}

table.list-table th {
	background-color: #00a7e8;
	border: none;
	color: white;
	display: block;
	padding: 10px 20px;
	text-align: center;
	width: auto;
}

table.list-table td {
	border: none;
	display: block;
	margin-bottom: 10px;
	padding: 10px 20px 20px 20px;
	text-align: justify;
	width: auto;
}

table.list-table td ul {
	text-align: justify;
}

table.list-table td a {
	color: black;
	text-decoration: none;
}

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

table.form-table {
	border-top: 0;
}

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

table.form-table.order table tr {
	display: inherit;
}

table.form-table th {
	border: none;
	box-sizing: border-box;
	display: block;
	font-size: 110%;
	font-weight: bold;
	padding: 15px;
	text-align: center;
	width: 100%;
}

table.form-table td {
	border: none;
	clear: both;
	display: block;
	line-height: 1.5em;
	padding: 15px 20px 30px 20px;
}

table.form-table td.m {
	background-color: transparent;
	border: none;
	display: block;
	float: right;
	height: 30px;
	padding: 0;
	position: absolute;
	right: 10px;
	top: 12px;
	width: 30px;
}

table.form-table td.m span {
	display: table-cell;
	font-size: 12px;
	line-height: 1em;
	vertical-align: middle;
}

table.form-table td input {
	box-sizing: border-box;
	margin-bottom: 3px;
	width: 100%;
}

table.form-table td.t select {
	margin-bottom: 10px;
}

table.form-table td.s label {
	display: block;
	margin: 5px 0;
}

table.form-table td input.size500,
table.form-table td input.size400,
table.form-table td input.size300,
table.form-table td input.size200,
table.form-table td input.size150,
table.form-table td textarea,
table.form-table select {
	box-sizing: border-box;
	width: 100%;
}

table.form-table td table th {
	background-color: white;
	color: #88724f;
	display: inline-block;
	padding: 5px 20px;
	text-align: right;
	white-space: nowrap;
	width: 30%;
}

table.form-table td table td {
	display: inline-block;
	padding: 5px 0;
}

input.submit {
	display: block;
	font-size: 24px;
	padding: 18px 5%;
	width: 90%;
}

div.btn {
	margin: 0;
}

body#form p.error {
	padding: 30px 20px;
}

body#form table.form-table th,
body#form table.form-table td {
	padding: 10px;
}

body#form table.form-table td {
	padding: 10px 10px 25px 10px;
}

body#form table.form-table td table tr {
	display: table-row;
}

body#form table.form-table td table th {
	background-color: white;
	color: #88724f;
	display: table-cell;
	padding: 5px 10px;
	text-align: right;
	white-space: nowrap;
	width: 30%;
}

body#form table.form-table td table td {
	display: table-cell;
	padding: 5px 10px;
	width: 70%;
}

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

ul.news-list li a {
	background-position: right 25px center;
	background-size: 6px;
	display: block;
	padding: 15px 50px 15px 20px;
}

ul.news-list li a:hover {
	background-position: right 20px center;
}

ul.news-list li a span.date {
	font-size: 14px;
	font-weight: 500;
}

ul.news-list li a strong {
	display: block;
	font-size: 15px;
	padding: 10px 0 0 0;
}

div.page span.prev a,
span.link-btn-prev a {
	box-sizing: border-box;
	margin: 3px 0;
	padding: 15px 30px 15px 40px;
	width: 100%;
}

div.page span.next a {
	box-sizing: border-box;
	margin: 3px 0;
	padding: 15px 40px 15px 30px;
	width: 100%;
}

body#single h1 {
	font-size: 28px;
}

body#single div.body {
	padding: 20px 0;
	width: auto;
}

body#single div.body h2 {
	font-size: 20px;
	margin: 30px 0 10px 0;
}

body#single div.body figure {
	height: auto;
	margin: 10px 0;
	padding: 0;
	width: auto;
}

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

body#single div.body figure figcaption {
	font-size: 85%;
	line-height: 1.5em;
}

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

#header {
	height: 90px;
	padding: 5px 10px;
	width: auto;
}

#header-copy {
	font-size: 12px;
	line-height: 1.4em;
	padding: 0;
	text-align: justify;
}

#header #header-copy {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.2em;
	text-align: justify;
}

#header #header-logo {
	bottom: 5px;
	padding: 0;
	position: absolute;
}

#header #header-logo a img {
	height: auto;
	width: 80px;
}

#header #header-logo a p {
	font-size: 11px;
	padding-top: 2px;
}

#header #header-tel {
	bottom: 5px;
	right: 10px;
}

#header #header-tel #header-tel-no {
	background: none;
	line-height: 17px;
}

#header #header-tel #header-tel-no a {
	background: url(images/tel_mark.png) no-repeat left center;
	background-size: 16px;
	display: inline-block;
	font-size: 22px;
	padding: 8px 0 8px 18px;
	text-decoration: none;
}

#header #header-tel p {
	font-size: 12px;
}

#title {
	background-size: cover;
	padding: 30px 15px;
}

#title h1 {
	font-size: 34px;
	width: auto;
}

#title-s {
	padding: 30px 0;
}

#title-s p {
	font-size: 26px;
}

#sp-icon {
	display: inline;
}

#globalnav {
	display: none;
	min-width: 380px;
	padding: 0;
	position: relative;
	width: 100%;
	z-index: 999;
}

#globalnav ul {
	background-color: white;
	position: absolute;
	width: 100%;
}

#globalnav ul li {
	border-bottom: 1px solid white;
	display: block;
	padding: 0;
}

#globalnav ul li:last-child {
	border-bottom: none;
}

#globalnav ul li a {
	background: black url(images/link_btn.svg) no-repeat right 20px center;
	background-size: 6px;
	border: none;
	display: block;
	font-size: 15px;
	padding: 20px;
	text-align: center;
}

#globalnav ul li.active a {
	background-color: #00a7e8;
}

div.main,
div.main-s,
div.main-c {
	padding: 0 20px;
	width: auto;
}

div.spmain {
	padding: 0 20px;
}

#fcontact {
	padding: 50px 20px;
	width: auto;
}

#fcontact h3 {
	width: 300px;
}

#fcontact #fcontact-tel {
	padding-top: 0;
}

#fcontact #fcontact-tel #fcontact-tel-no {
	background-position: left bottom 10px;
	background-size: 22px;
	padding-left: 30px;
}

#fcontact #fcontact-tel #fcontact-tel-no span {
	vertical-align: middle;
}

#fcontact #fcontact-tel #fcontact-tel-no a {
	font-size: 34px;
	text-decoration: none;
}

#fcontact #fcontact-mail a {
	background-position: left 20px center;
	background-size: 36px;
	padding: 15px 30px 15px 80px;
}

#footernav {
	padding: 0;
}

#footernav ul li {
	border-bottom: 1px solid white;
	border-left: none;
	display: block;
}

#footernav ul:last-child li:last-child {
	border-right: none;
}

#footernav ul li a {
	background: black url(images/link_btn.svg) no-repeat  right 15px center;
	background-size: 6px;
	color: white;
	display: block;
	font-size: 15px;
	padding: 22px 0;
}

#footer {
	padding: 40px 25px 15px 25px;
	width: auto;
}

#footer-logo h3 {
	display: block;
	text-align: center;
}

#footer-logo h4 {
	display: block;
	font-size: 14px;
	padding: 10px 0 0 0;
	text-align: center;
}

#footer-address {
	padding: 40px 25px 0 25px;
}

#footer-address address {
	display: block;
	line-height: 1.6em;
}

#footer-address #footer-tel {
	display: block;
	margin: 0;
	padding-left: 0;
}

#footer-address #footer-tel a {
	text-decoration: none;
}

#footer #footer-copy {
	padding: 10px 0 30px 0;
	text-align: center;
}

#footer #group-link {
	padding-bottom: 10px;
	position: static;
	width: 100%;
}

#footer #group-link a {
	font-size: 11px;
	line-height: 1.4em;
}

#pagetop {
	display: block;
	position: static;
}

#pagetop a {
	padding: 25px 0;
	text-align: center;
}