@charset "utf-8";
@media screen and (max-width : 480px), screen and (max-width : 740px) and (orientation: landscape) {
/* ==================================================
reset
================================================== */
body {
	background: none;
	font-family: sans-serif;
	font-size: 100%;
	line-height: 1.5;
	-webkit-text-size-adjust: none;
}
li,
dt,
dd,
table {
	line-height: 1.5;
}
input[type="text"],
textarea,
select {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	-moz-appearance: none;
	-webkit-appearance: none;
}
.sp_only {
	display: block;
}
.pc_only {
	display: none !important;
}
/* ==================================================
layout
================================================== */
#wrap {
	min-width: 375px;
}
#about,
#slogan div,
#crew ul {
	width: auto;
	margin: 0;
}
/* ==================================================
header
================================================== */
header {
	display: block;
	height: 60px;
	padding: 12px 15px 0;
	background-color: #fff;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}
#hlogo img {
	width: auto;
	height: 36px;
}
/* hnavi
--------------------------- */
#hnavi {
	display: block;
	position: fixed;
	top: 60px;
	bottom: 0;
	right: -100%;
	z-index: 50;
	width: 100%;
	padding: 0;
	background: none;
	background-color: #f8f8f8;
	border: none;
	transition: 0.3s;
	overflow-y: scroll;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}
#hnavi.active {
	right: 0;
}
#hnavi ul {
	margin: 0;
	display: block;
}
#hnavi ul li {
	border-bottom: #eee 1px solid;
}
#hnavi ul li a {
	display: block;
	padding: 0 30px;
	box-sizing: border-box;
	line-height: 70px;
	position: relative;
}
#hnavi li a::after {
	content: "";
	width: 8px;
	height: 8px;
	margin-left: 20px;
	border-top: solid 1px #3A6815;
	border-right: solid 1px #3A6815;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	display: inline-block;
	vertical-align: 3px;
}
/* sp_menu
--------------------------- */
#sp_menu {
	display: block;
	position: absolute;
	top: 9px;
	right: 9px;
	width: 42px;
	height: 42px;
	background-color: #54A021;
	border-radius: 50%;
	cursor: pointer;
}
#sp_menu span {
	display: block;
	position: absolute;
	top: 50%;
	left: 25%;
	width: 50%;
	height: 1px;
	margin-top: -1px;
	background-color: #fff;
	font-size: 0;
}
#sp_menu span::before {
	content: "";
	display: block;
	position: absolute;
	top: -6px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
}
#sp_menu span::after {
	content: "";
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
}
#sp_menu.open span {
	height: 0;
}
#sp_menu.open span::before {
	top: 0;
	transform: rotate(45deg);
}
#sp_menu.open span::after {
	top: 0;
	transform: rotate(-45deg);
}
/* ==================================================
main
================================================== */
h2 {
	margin: 0 0 2em;
}
h2 strong {
	font-size: 160%;
}
h2 strong::before {
	width: 10px;
	height: 10px;
	top: -5px;
	left: -20px;
}
/* main
--------------------------- */
#main {
	margin: 60px 0 0;
}
#main p.img img {
	width: 100%;
	height: 450px;
	object-fit: cover;
}
#main div.txt {
	bottom: 20px;
	left: 10px;
	right: 20px;
}
#main p.logo img {
	width: 260px;
	height: auto;
}
#main p.desc {
	margin-left: 10px;
	font-size: 120%;
}
/* about
--------------------------- */
#about {
	margin: 0 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ddd;
}
#about ol {
	margin: 0 0 30px;
	display: block;
}
#about li {
	margin-bottom: 15px;
}
#about li strong {
	margin-bottom: 15px;
	padding: 10px 20px;
	font-size: 120%;
	line-height: 1.5;
}
#about li strong span {
	width: 1.5em;
	font-size: 100%;
}
#about li:nth-of-type(n+2) strong {
	padding-left: 20px;
}
#about li:nth-of-type(n+2) strong::before,
#about li:nth-of-type(-n+3) strong::after {
	content: none;
}
#about table,
#about tbody,
#about tr,
#about th,
#about td {
	display: block;
}
#about tr {
	border-bottom: none;
}
#about th {
	margin-bottom: 15px;
	padding: 5px 0;
	font-weight: normal;
}
#about th strong {
	display: inline;
	font-size: 100%;
	font-weight: normal;
}
#about td {
	margin-bottom: 15px;
	padding: 0;
}
#about td h3 {
	margin: 0 0 15px;
	font-size: 120%;
}
#about td p.fill {
	margin-top: 15px;
}
/* message
--------------------------- */
#message {
	margin: 0 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ddd;
	background: none;
}
#message p {
	margin-bottom: 15px;
	font-size: 100%;
	line-height: 1.7;
	text-align: left;
}
/* slogan
--------------------------- */
#slogan {
	margin: 0 20px;
	padding-bottom: 35px;
	border-bottom: 1px solid #ddd;
}
#slogan div {
	margin-top: 0;
	padding: 15px 20px;
	background-image: none;
	box-shadow: none;
}
#slogan h3 {
	margin: 0 0 15px;
	padding: 0 0 15px;
	border-bottom: 1px solid #000;
	font-size: 105%;
}
#slogan h3 strong {
	font-size: 120%;
}
#slogan div p {
	font-size: 100%;
	text-align: left;
}
/* crew
--------------------------- */
#crew {
	margin: 0 20px 40px;
}
#crew ul {
	padding: 0;
	border-top: 1px solid #f0f0f0;
	border-radius: 0;
	background: none;
}
#crew li {
	padding: 10px 0;
	border-bottom: 1px solid #f0f0f0;
}
#crew li strong {
	margin-right: 0;
	border-radius: 0;
	font-size: 80%;
	display: block;
}
/* ==================================================
footer
================================================== */
footer {
	border-bottom: none;
}
footer p.img img {
	width: 100%;
	height: 300px;
	object-fit: cover;
}
footer > div {
	margin: 0 20px;
	padding: 40px 0 70px;
	display: block;
}
footer p.logo {
	margin: 0 0 10px;
}
footer p.logo img {
	height: 30px;
}
footer p.info {
	font-size: 90%;
}
footer p.info a:not([class]) {
	color: inherit;
	text-decoration: none;
}
/* pagetop
--------------------------- */
#pagetop a {
	width: 50px;
	height: 50px;
	opacity: 1;
}

}
