
body {
	max-width: 480px;
	min-width: 380px;
}

.df {
	display: none;
}

.sp {
	display: inline;
}

p.spjustify {
	text-align: justify;
}

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

h2.img {
	background-size: 300px;
	font-size: 20px;
}

a.link-btn-b,
span.link-btn a,
a.link-btn,
a.link-btn-orange,
a.link-btn-green {
	display: block;
	padding: 18px 10px 18px 10px;
	width: auto;
}


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

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

table.list-table td {
	border-right: 1px solid #4995c7;
	border-top: none;
	display: block;
	padding: 10px 20px 20px 20px;
}


table.list-table td table {
	margin: 10px 0;
}

table.list-table td table th {
	display: table-cell;
	padding: 5px 15px 5px 15px;
}

table.list-table td table td {
	display: table-cell;
}


table.list-table td ul.list li {
	background: url(images/ul_list_li.svg) no-repeat 3px 15px;
	background-size: 5px;
	line-height: 1em;
}

table.list-table td ul.list li span.small {
	line-height: 1.5em;
}

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

div.shisetsu-btn ul li {
	height: auto;
	margin: 10px;
	position: none;
	width: 44%;
}

div.shisetsu-btn ul li a img {
	height: 100%;
	width: 100%;
}

div.shisetsu-btn ul li a span.text {
	background: #1d8866 url(images/link_btn_white.svg) no-repeat right 10px center;
	background-size: 15px;
	opacity: .9;
	padding: 7px;
}

div.shisetsu-btn ul li a span.text:hover {
	background: #f3be4d url(images/link_btn_white.svg) no-repeat right 10px center;
	background-size: 15px;
	filter: alpha(opacity=100);
	-moz-opacity: 1.00;
	     opacity: 1.00;
}

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

div.point-box {
	width: 100%;
}

div.point-box div.point {
	margin: 0 auto;
	padding: 100px 0 0 0;
	position: relative;
	width: 44%;
}

div.point-box div.point img {
	height: 100%;
	width: 100%;
}

div.point-box div.point div.text {
	height: 160px;
	padding: 55px 20px 10px 20px;
}

div.point-box div.point div.text p {
	font-size: 80%;
}

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

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

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

table.form-table th {
	border: none;
	display: block;
	font-size: 100%;
	font-weight: bold;
	padding: 10px 0 10px 5%;
	text-align: left;
	width: 95%;
}

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

table.form-table td.m {
	background-color: #e8e8e8;
	border: none;
	display: block;
	float: right;
	height: 30px;
	padding: 2px;
	position: absolute;
	right: 10px;
	top: 5px;
	width: 30px;
}

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

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 textarea {
	width: 95%;
}

table.form-table td input[type=checkbox] {
	width: auto;
}

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%;
}

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

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

body#form table.form-table td {
	padding-bottom: 30px;
	padding-left: 20px;
}

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.category {
	display: block;
}

ul.category li span.category span a {
	margin: 5px 5px;
	padding: 5px 15px;
}

div.news-info {
	display: block;
	font-size: 14px;
	padding: 0 10px;
}

div.news-info p.right {
	text-align: left;
}

div.page a.next,
div.page span.next a {
	background: #1d8866 url(images/link_btn_white.svg) no-repeat right 12px center;
	background-size: 17px;
	display: block;
	margin: 5px 0;
	padding: 8px 0 8px 0;
}

div.page a.prev,
div.page span.prev a {
	background: #1d8866 url(images/link_btn_prev_white.svg) no-repeat left 12px center;
	background-size: 17px;
	display: block;
	margin: 5px 0;
	padding: 8px 0 8px 0;
}

div.news ul li a {
	background: url(images/link_btn_news.svg) no-repeat center bottom 20px;
	background-size: 20px;
	border-bottom: 2px dotted #6a4604;
	display: block;
	padding: 10px 20px;
}

p.category span a,
span.category span a,
div.news ul li a span.category span {
	display: block;
	text-align: center;
}

div.news ul li a span.date {
	display: block;
	font-size: 14px;
	text-align: center;
	vertical-align: auto;
}

div.news ul li a span.category {
	display: block;
	margin: 0 auto;
	vertical-align: auto;
	width: 200px;
}

div.news ul li a div.text {
	margin: 0 auto;
	padding: 10px 10px 40px 10px;
	width: 100%;
}

div.news ul li a span.text strong {
	display: block;
	text-align: center;
}

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

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

body#single p.category span a {
	display: inline-block;
	margin: 0 5px;
	padding: 0 10px;
	text-decoration: none;
}

body#single div.body a.link-btn {
	background: #ffffff url(images/link_btn.svg) no-repeat right 20px center;
	background-size: 20px;
	font-size: 14px;
	margin: 0 auto;
	padding: 8px 45px 8px 15px;
	width: auto;
}

body#single div.body a.link-btn:hover {
	background: #1d8866 url(images/link_btn_white.svg) no-repeat right 10px center;
	background-size: 20px;
}

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;
}

body#single div.body div.pdf p.pdf-title {
	padding-left: 15px;
}

body#single div.body div.pdf p a.link-btn {
	box-sizing: border-box;
	line-height: 1.6em;
	padding: 8px 45px 8px 30px;
	width: 100%;
}

/***********************************************************************/
header {
	padding: 35px 0;
	width: 100%;
}


#header-logo,
body#form header a {
	left: 10px;
	top: 10px;
}

#hamburger {
	display: inline;
	height: 50px;
	position: absolute;
	right: 0;
	top: 0;
	width: 50px;
	z-index: 999;
}

#hamburger:hover {
	cursor: pointer;
	opacity: .7;
}

#hamburger span,
#hamburger span:before,
#hamburger span:after {
	background: black;
	display: block;
	height: 3px;
	position: absolute;
	transition-duration: .3s;
	transition-property: transform;
	width: 30px;
}

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

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

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

#hamburger.open span {
	background: transparent !important;
}

#hamburger.open span:before {
	transform: rotate( 45deg ) !important;
}

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

nav#globalnav {
	border-top: #745315 1px solid;
	display: none;
	left: 0;
	padding: 0;
	position: absolute;
	top: 70px;
	width: 100%;
	z-index: 999;
}

nav#globalnav ul li {
	border-bottom: #745315 1px solid;
	border-left: none;
	display: block;
	text-align: right;
}

nav#globalnav ul li.l {
	border-right: none;
	padding-right: 0;
}

nav#globalnav ul li a {
	background: white;
	display: block;
	opacity: .9;
	padding: 10px 25px;
}

nav#globalnav ul li a:hover {
	background-color: #b8872e;
	opacity: .8;
}

#title {
	background-position: center top 60px;
	background-repeat: no-repeat;
	height: 300px;
	margin-top: 20px;
}

#title h1 {
	font-size: 24px;
	padding: 5px 0;
}

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

#footer {
	display: block;
	padding: 20px 0 0 0;
	width: 100%;
}

#footer h3 {
	padding: 5px 20px 10px 20px;
}

#footer-address {
	padding: 5px 20px 0 20px;
}


#footer-tel {
	padding-bottom: 0;
}


#footer-tel a {
	color: #1d8866;
}


#footer-address a.link-btn-green {
	margin: 0;
	padding: 10px 20px 10px 10px;
	text-align: left;
	width: 70%;
}

nav#footernav {
	background-color: #4a9c8c;
	border-top: #70b9ab 1px solid;
	display: block;
	margin-top: 40px;
	text-align: center;
}

nav#footernav ul li a {
	background: url(images/footernav_li_white.svg) no-repeat right 20px top 17px;
	background-size: 8px;
	border-bottom: #70b9ab 1px solid;
	color: white;
	padding: 10px 20px;
}

nav#footernav ul li ul li a {
	background: url(images/footernav_li_white.svg) no-repeat right 20px top 12px;
	background-color: #4a9c8c;
	background-size: 6px;
	color: white;
	display: block;
	font-size: 13px;
	line-height: 15px;
	padding: 8px 20px;
}

nav#footernav ul li a:hover,
nav#footernav ul li ul li a:hover {
	background-color: #1d8866;
	color: white;
	opacity: .8;
}