@charset "utf-8";
@media screen and (max-width : 480px), screen and (max-width : 740px) and (orientation: landscape) {
/* ==================================================
reset
================================================== */
body {
	-webkit-text-size-adjust: none;
	background: none;
	line-height: 1.5;
	font-size: 94%;
}
li,
dt,
dd,
table {
	line-height: 1.5;
}
select,
input[type="text"],
textarea {
	width: 100% !important;
	height: auto !important;
	box-sizing: border-box;
	display: block;
}
#wrap_header,
#wrap_gnavi,
#wrap_title,
#wrap_pnavi,
#wrap_main,
#wrap_top_main,
#wrap_fnavi,
#wrap_footer {
	width: 100%;
	min-width: 320px;
	clear: both;
}
#header,
#gnavi,
#title,
#pnavi,
#main,
#top_main,
#fnavi,
#footer {
	width: 100%;
	box-sizing: border-box;
}
.sp_only {
	display: block;
}
.pc_only {
	display: none !important;
}
/* ==================================================
header
================================================== */
.top #wrap_header {
	display: block;
}
#wrap_header {
	padding: 0;
	border-top: #004EA1 2px solid;
	border-bottom: 1px solid #CCCCCC;
}
#header {
	width: 100%;
	min-width: inherit;
	height: 56px;
	padding: 13px 10px 0;
	box-sizing: border-box;
	position: relative;
}
#hlogo_sp img {
	width: auto;
	height: 30px;
}
#sp_menu img {
	width: auto;
	height: 38px;
}
#sp_menu {
	display: block;
	position: absolute;
	top: 8px;
	right: 5px;
	width: 40px;
	height: 40px;
	background-color: #555;
	cursor: pointer;
}
#sp_menu span {
	display: block;
	position: absolute;
	top: 19px;
	left: 25%;
	width: 50%;
	height: 2px;
	background-color: #fff;
	font-size: 0;
}
#sp_menu span::before {
	content: "";
	display: block;
	position: absolute;
	top: -8px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
}
#sp_menu span::after {
	content: "";
	display: block;
	position: absolute;
	top: 8px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
}
/* ==================================================
gnavi
================================================== */
#gnavi {
	display: none;
	width: 100%;
	padding: 0;
	background: none;
	background-color: #555555;
	position: absolute;
	top: 56px !important;
	left: 0;
	z-index: 50;
}
#gnavi ul {
	display: block;
	width: 100%;
	margin: 0;
	background: none !important;
}
#gnavi ul li {
	display: block;
	width: 100%;
	background: none !important;
}
#gnavi ul li.hlogo {
	display: none;
}
#gnavi ul li a {
	display: block;
	padding: 10px;
	background: none !important;
	color: #FFFFFF;
	text-align: left;
	font-size: 100%;
	border-bottom: #FFFFFF 1px solid;
}
#gnavi ul li a::after {
	content: none;
}
#gnavi ul li a span {
	display: none;
}
#gnavi ul li ul {
	position: static;
}
#gnavi ul li ul li {
	height: auto;
	opacity: 1;
}
#gnavi ul li ul li a {
	padding: 10px 30px;
}
#gnavi li:hover ul li {
	height: auto;
}
#gnavi ul li a:hover,
#gnavi ul li a.active {
	background: none;
}
/* ==================================================
pnavi
================================================== */
#pnavi {
	display: none;
}
/* ==================================================
title
================================================== */
#wrap_title {
	padding: 0;
	overflow: hidden;
}
#title {
	padding: 20px 0;
	width: 100%;
	min-width: inherit;
}
#title h1,
#title p.ttl {
	padding: 10px 0;
	font-size: 140%;
}
#title p.sub {
	font-size: 100%;
	font-weight: normal;
}
#wrap_title p.img {
	transform: translateY(-30%);
}
/* ==================================================
footer
================================================== */
#wrap_footer {
	padding: 10px 0;
	border-top: #004EA1 2px solid;
}
#footer,
#flogo {
	display: block;
}
#flogo p {
	text-align: center;
	font-size: 90%;
}
#flogo p.desc {
	width: auto;
}
#flogo p.logo img {
	width: 150px;
	height: auto;
}
#flogo p.addr span {
	display: block;
	margin: 0;
}
#fmenu {
	display: none;
}
#fnavi,
#fnavi ul {
	display: block;
	padding: 0;
}
#fnavi ul.fnavi1 {
	padding: 0;
}
#fnavi ul.fnavi1 li:not(:first-child) {
	display: none;
}
#fnavi ul.fnavi2 {
	display: none;
}
#fnavi ul li {
	border-top: #fff 1px solid;
}
#fnavi ul.children {
	display: none;
}
#fnavi ul li a {
	display: block;
	padding: 10px;
}
#fnavi li a::before {
	left: auto;
	right: 10px;
}
#fnavi ul li a:hover {
	text-decoration: none;
}
#fcopy {
	display: none;
}
/* ==================================================
contents
================================================== */
#wrap_main {
	margin: 0 0 5px;
	padding: 0;
}
#contents {
	width: 100%;
	padding: 0 5px;
	box-sizing: border-box;
}
#contents #contents_top {
	margin-bottom: 10px;
}
#top_main img,
#contents img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
}
#contents iframe {
	width: 100%;
	height: 50%;
	box-sizing: border-box;
}
#contents table {
	width: 100% !important;
	height: auto !important;
	margin: 10px 0;
}
#contents table th,
#contents table td {
	width: auto !important;
	height: auto !important;
	padding: 10px 5px;
	word-break: break-all;
	display: block;
	border: none;
}
#contents table th {
	padding-bottom: 0;
	border-bottom: none;
}
#contents img.alignleft,
#contents img.alignright {
	margin: 0 0 10px;
	float: none;
	display: block;
}
#contents table.layout_table {
	border: none;
}
#contents table.layout_table td {
	display: block;
	width: auto !important;
	padding: 0 !important;
}
#contents table.layout_table table td {
	display: table-cell;
}
#contents h1 {
	font-size: 100%;
	margin-bottom: 10px;
}
#contents p.update {
	margin-bottom: 0;
	font-size: 80%;
}
#contents h2,
#contents h3,
#contents h4 {
	margin: 5px 0;
	font-size: 100%;
}
#contents h2 {
	padding: 15px 10px;
	font-weight: bold;
	background-color: #E5EDF5;
	text-align: left;
}
#contents h2::after {
	content: none;
}
#contents h3 {
	padding: 5px 10px;
}
#contents h4 {
	padding: 2px;
	border: none;
	border-bottom: #004EA1 1px solid
}
#contents p {
	margin-bottom: 5px;
}
#contents ul {
	margin: 0 0 5px 1.5em;
	list-style: inherit;
}
#contents ul li,
#contents ol li {
	margin: 5px 0;
}
#contents ul ul {
	margin: 0 0 5px 1em;
}
#contents ol ol li,
#contents ol ol ol li {
	padding-left: 0.5em;
}
#contents ol ol li:before {
	left: -1em;
}
#contents ol ol ol li:before {
	left: -1em;
}
#contents input[type="submit"],
#contents input[type="button"] {
	width: 100%;
	box-sizing: border-box;
	margin: 5px 0;
}
/* form_table
--------------------------- */
#contents .form_btn {
	margin: 5px 0;
}
/* archive_list
--------------------------- */
#contents ul.archive_list {
	margin: 0;
}
#contents ul.archive_list li {
	position: relative;
	margin: 0;
	padding: 5px 20px 5px 0;
	box-sizing: border-box;
}
#contents ul.archive_list li p {
	display: block !important;
	width: auto !important;
	margin: 0;
}
#contents ul.archive_list li::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #ccc;
	border-right: solid 2px #ccc;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#contents ul.archive_list li p a {
	text-decoration: none;
}
#contents ul.archive_list li p.date {
	color: #888888;
	font-size: 80%;
}
/* backblog
--------------------------- */
#contents .backblog {
	margin: 15px 0 10px;
	padding: 0;
	border: none;
}
/* ==================================================
style class
================================================== */
#contents .border_box {
	margin: 10px 0;
	padding: 5px;
	border-width: 2px;
}
#contents .fill_box {
	margin: 10px 0;
	padding: 5px;
}
#contents table.layout_table p,
#contents table.layout_table ul,
#contents table.layout_table ol,
#contents table.layout_table ul li,
#contents table.layout_table ol li {
	margin-bottom: 5px;
}
#contents table.data_table td {
	padding: 10px;
	border: none;
	background-color: #FFF4EA !important;
}
#contents table.data_table td h2 {
	margin: 0 0 5px;
	padding: 0;
	background-color: transparent;
	font-size: 120%;
	text-align: center;
}
#contents table.data_table td h2 img {
	max-height: 40px;
}
#contents table.data_table td p {
	margin: 0;
}
#contents table.data_table td h4 {
	margin: 0 0 5px;
}
#contents table.data_table td h4::after {
	content: none;
}
/* ==================================================
grid_menu 
================================================== */
#grid_menu {
	padding: 0;
}
#grid_menu .grid {
	float: none;
	width: 100%;
	height: auto;
	margin: 5px 0;
}
#grid_menu a {
	padding: 30px 5px !important;
}
#grid_menu h2 {
	padding: 0;
	font-size: 110% !important;
	background-color: transparent;
	text-align: center !important;
}
#grid_menu h2 br {
	display: none;
}
#grid_menu .grid p.sub {
	margin: 0;
	font-size: 100%;
	font-weight: normal;
	text-align: center;
}
#grid_menu .grid p.desc {
	text-align: center;
	margin: 5px 0 0;
	font-size: 90%;
}
#grid_menu .grid p.desc br {
	display: none;
}
#grid_menu .grid p.more {
	display: none;
}
#grid_menu .grid p.img {
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
}
#grid_menu .grid p.img img {
	width: 100%;
	height: auto;
}
#grid_menu .grid a:hover p.img {
	transform: translateY(-50%);
}
#grid_menu .black p.img::after {
	background-color: #fff;
}
#grid_menu .bgimg4 p.img::after {
	background-color: #F79B3A;
}
.top #grid_menu .grid {
	width: 50%;
	height: 180px;
	box-sizing: border-box;
	float: left;
	margin: 0;
}
.top #grid_menu a {
	padding: 40px 30px !important;
}
.top #grid_menu .size3 {
	width: 100%;
}
.top #grid_menu .grid p.img img {
	min-height: 180px;
}
.top #grid_menu h2 {
	font-size: 140% !important;
}
.top #grid_menu .grid p.sub {
	font-size: 150%;
}
/* ==================================================
voice
================================================== */
#voice div.voice_box {
	margin: 0 0 20px;
	border-top: rgba(0,77,160,0.7) 5px solid;
}
#voice p.img {
	margin: 0;
}
#voice p.img::after {
	content: none;
}
#voice p.ttl {
	position: static;
	width: auto;
	padding: 10px;
	font-size: 120%;
}
#voice p.ttl span {
	margin: 0 0 5px;
}
#voice div.title {
	position: static;
	width: auto;
	padding: 0;
}
#voice p.yomi {
	font-size: 130%;
}
#voice div.title h2 {
	padding: 5px;
}
#voice p.shikaku {
	position: static;
	width: auto;
	padding: 0;
}
/* ==================================================
top
================================================== */
#top_slide::after {
	content: none;
}
#top_slide {
	overflow: hidden;
}
#top_slide img {
	transform: scale(1.3, 1.3);
}
#top_header h1 {
	display: none;
}
#top_header h2 {
	position: static;
	font-size: 150%;
}
#top_header p {
	position: static;
	font-size: 90%;
}
#wrap_top_main {
	background: none;
}
#top_main {
	padding: 0;
}
#top_news {
	width: 100%;
	height: auto;
	float: none;
	margin: 0;
	padding: 0;
}
#top_news h2 {
	margin: 0;
	padding: 10px 0;
}
#top_news ul {
	background-color: #E5EDF5;
	color: #000;
}
#top_news li {
	margin: 0;
	padding: 10px 30px 10px 10px;
	box-sizing: border-box;
	border-bottom: #aaa 1px solid;
	position: relative;
}
#top_news li::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #ccc;
	border-right: solid 2px #ccc;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#top_news li p.date {
	font-size: 80%;
}
#top_news li p.ttl {
	overflow: hidden;
	font-size: 90%;
}
#top_news li p.ttl a {
	padding: 0 !important;
	color: #000;
	text-decoration: none;
	white-space: normal;
}
#top_news p.more {
	position: static;
}
#top_news p.more a {
	width: 100%;
	padding: 10px !important;
	border: none;
}
}
