@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,
#wrap_header,
#wrap_gnavi,
#wrap_topheader,
#wrap_topimage,
#wrap_pankuzu,
#wrap_main,
#wrap_main2,
#wrap_main3,
#wrap_main4,
#wrap_pagetop,
#wrap_fnavi,
#wrap_footerimg,
#wrap_footer,
#wrap_h1_title {
	width: 100%;
	min-width: 320px;
	clear: both;
}
#wrap {
	overflow: hidden;
}
#header,
#gnavi,
#topheader,
#topimage,
#pankuzu,
#main,
#main2,
#main3,
#main4,
#pagetop,
#fnavi,
#footer,
#h1_title {
	width: 100%;
	box-sizing: border-box;
}
.sp_only {
	display: block;
}
.pc_only {
	display: none !important;
}
/* ==================================================
header
================================================== */
#wrap_topheader,
#wrap_header {
	padding: 0;
	border-bottom: 1px solid #333;
}
#header {
	width: 100%;
	min-width: inherit;
	height: 56px;
	padding: 14px 10px 0;
	box-sizing: border-box;
	position: relative;
}
#header #h_logo {
	width: 100%;
	float: none;
	padding: 0;
}
#header #h_logo img {
	width: auto;
	height: 30px;
}
#h_read {
	display: none;
}
#sp_menu {
	display: block;
	position: absolute;
	top: 8px;
	right: 5px;
	width: 40px;
	height: 40px;
	cursor: pointer;
}
#sp_menu span {
	display: block;
	position: absolute;
	top: 19px;
	left: 25%;
	width: 50%;
	height: 2px;
	background-color: #333;
	font-size: 0;
}
#sp_menu span::before {
	content: "";
	display: block;
	position: absolute;
	top: -8px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #333;
}
#sp_menu span::after {
	content: "";
	display: block;
	position: absolute;
	top: 8px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #333;
}
/* ==================================================
gnavi
================================================== */
#wrap_gnavi {
	display: none;
}
#gnavi {
	display: none;
	width: 100%;
	background: none;
	background-color: rgba(0,0,0,0.7);
	position: absolute;
	top: 56px !important;
	left: 0;
	z-index: 50;
}
#gnavi ul {
	width: 100%;
	margin: 0;
	background: none !important;
}
#gnavi ul li {
	float: none;
	background: none !important;
	border-bottom: #FFFFFF 1px solid;
}
#gnavi ul li a {
	width: 100%;
	height: auto;
	padding: 10px;
	box-sizing: border-box;
	background: none !important;
	color: #FFFFFF;
	text-align: left;
	text-indent: 0;
	text-decoration: none;
	font-size: 110%;
}
#gnavi ul li a:hover,
#gnavi ul li a.active {
	background: none;
}
/* ==================================================
pnavi
================================================== */
#wrap_pankuzu {
	display: none;
}
/* ==================================================
title
================================================== */
#h1_title {
	height: auto;
}
#h1_title h1,
#h1_title p {
	height: auto !important;
	margin: 0 !important;
	padding: 32% 0 0 !important;
	background-size: cover !important;
}
/* ==================================================
footer
================================================== */
#wrap_footerimg {
	padding: 15px 0;
	background: none;
	border-top: #333 1px solid;
}
#wrap_pagetop {
	height: auto;
}
#unavi p {
	text-align: center;
}
#unavi img {
	max-width: 100%;
	margin: 0 0 10px;
}
#unavi a img {
	display: none;
}
#unavi a {
	display: block;
	margin: 0 5px;
	padding: 10px 0;
	background-color: #e3d8d6;
	border: #fff 2px solid;
	text-align: center;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: bold;
	position: relative;
}
#unavi a::before {
	content: "メールでのお問い合わせ";
}
#unavi a::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#footer {
	padding: 0;
}
#footer .f_logo,
#footer .add,
#footer .banner {
	width: 100%;
	float: none;
	padding: 0 5px 10px;
	box-sizing: border-box;
	font-size: 80%;
	text-align: center;
}
#footer .f_logo p {
	margin: 0 !important;
}
#wrap_footer iframe {
	height: 150px;
}
#wrap_fnavi {
	display: none;
}
/* ==================================================
contents
================================================== */
#wrap_main {
	margin: 0 0 5px;
	padding: 0;
}
#main {
	padding: 0 0 15px;
}
#wrap_contents {
	margin: 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: 250px;
	box-sizing: border-box;
}
#contents table {
	width: 100% !important;
	height: auto !important;
	margin: 10px 0;
	border-top: #CCCCCC 1px solid;
}
#contents table th,
#contents table td {
	width: auto !important;
	height: auto !important;
	padding: 10px 5px;
	word-break: break-all;
	display: block;
	border-top: 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 p.update {
	margin-bottom: 0;
	font-size: 80%;
}
#contents h1 {
	font-size: 100%;
	margin: 0 0 10px;
	padding: 5px 0;
}
#contents h2 {
	margin: 10px 0;
	padding: 5px 0 5px 2em;
	background-position: left 0.1em;
	background-size: auto 1.5em;
	font-size: 110%;
	font-weight: bold;
}
#contents h3 {
	margin: 5px 0;
	padding: 5px 0;
	font-size: 105%;
	font-weight: bold;
}
#contents h4 {
	margin: 5px 0;
	padding: 5px 0;
	font-size: 100%;
}
#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;
}
#contents input[type="text"],
#contents textarea,
#contents select {
	font-size: 100%;
	border: #ccc 1px solid;
	padding: 5px;
	box-sizing: border-box;
}
/* form_table
--------------------------- */
#contents .form_btn {
	margin: 5px 0;
}
#contents table.form_table th,
#contents table.form_table td {
	padding: 5px;
}
#formbox {
	width: auto;
}
/* archivelist
--------------------------- */
#contents .archivelist {
	margin: 0;
}
#contents .archivelist table {
	border-top: #ccc 1px solid;
}
#contents .archivelist table tr {
	position: relative;
}
#contents .archivelist table tr::before {
	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 .archivelist table td.day {
	padding: 5px 0 0 !important;
	font-size: 80%;
	color: #888;
	border: none;
}
#contents .archivelist table td.title {
	padding: 0 0 5px !important;
	border-bottom: #ccc 1px solid;
}
/* backblog
--------------------------- */
#contents .backblog {
	display: block;
	float: none;
	margin: 15px 0 10px;
	padding: 0;
	background: none;
	border: none;
}
#contents .backblog a {
	display: block;
	margin: 0 20px;
	padding: 10px 0;
	background-color: #e3d8d6;
	border: #fff 2px solid;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	font-size: 0.9rem;
	position: relative;
}
/* ==================================================
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;
}
/* ==================================================
top
================================================== */
#wrap_topimage {
	height: auto;
	padding-top: 35%;
	background-size: cover;
}
#wrap_main3 {
	background: none;
}
#main3 {
	min-height: inherit;
	padding: 0 5px 5px;
	box-sizing: border-box;
	background: none;
}
#main3 h2 {
	margin: 0 0 15px;
}
#main3 h2 img {
	width: auto;
	height: 25px;
}
#main3 h3 {
	margin: 15px 0 !important;
}
#main3 h3 img {
	width: auto;
	height: 15px;
}
#main3 p {
	margin: 10px 0 !important;
	font-size: 80%;
}
#main3 a {
	display: block;
	margin: 0 5px;
	padding: 10px 0;
	background-color: #e3d8d6;
	border: #fff 2px solid;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	font-size: 0.9rem;
	position: relative;
}
#main3 a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#wrap_main4 {
	height: auto;
	background-size: cover;
}
#main4 {
	height: auto;
	padding: 5px;
	box-sizing: border-box;
}
#main4 h2 {
	margin: 10px 0;
}
#main4 h2 img {
	width: auto;
	max-width: 100%;
	height: 25px;
	margin-bottom: 5px;
}
#main4 #workbox {
	margin: 0;
}
#main4 #workbox table {
	display: block;
	width: 100%;
}
#main4 #workbox table::after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0.1%;
	line-height: 0.1;
	clear: both;
	visibility: hidden;
}
#main4 #workbox table td {
	display: block;
	width: 50%;
	float: left;
	padding: 5px;
	box-sizing: border-box;
	font-size: 80%;
	text-align: left;
}
#main4 #workbox table td:nth-of-type(2n+1) {
	clear: both;
}
#main4 #workbox table td div.work_ishi {
	width: 100%;
	height: auto;
	padding: 5px;
	box-sizing: border-box;
	background: none;
	background-color: #fff;
}
#main4 #workbox table td div.work_ishi p {
	width: 100%;
	height: auto;
}
#main4 #workbox table img {
	width: 100%;
}
#main4 p.link_icon {
	padding: 0;
	background: none;
	display: block;
	float: none;
}
#main4 p.link_icon a {
	display: block;
	margin: 0 5px;
	padding: 10px 0;
	background-color: #e3d8d6;
	border: #fff 2px solid;
	text-align: center;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: bold;
	position: relative;
}
#main4 p.link_icon a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#top_main {
	margin: 0 !important;
}
#top_news {
	width: 100% !important;
	float: none;
	padding: 0 0 5px;
}
#top_news h2 {
	margin: 15px 0;
}
#top_news h2 img {
	width: auto;
	max-width: 100%;
	height: 25px;
	margin: 0 !important;
}
#top_news table,
#top_news table tbody,
#top_news table tr {
	display: block;
	width: 100%;
}
#top_news table {
	border-bottom: #ccc 1px solid;
}
#top_news table tr {
	position: relative;
}
#top_news table tr::before {
	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 table td {
	display: block;
	width: 100%;
	padding: 0 5px 5px;
	box-sizing: border-box;
}
#top_news table td.day {
	padding: 5px 5px 0;
	border-top: #ccc 1px solid;
	font-size: 80%;
	color: #888;
}
#top_news .link_icon {
	margin: 10px 0 !important;
	padding: 0;
	background: none;
	display: block;
	float: none !important;
}
#top_news .link_icon a {
	display: block;
	margin: 0 5px;
	padding: 10px 0;
	background-color: #e3d8d6;
	border: #fff 2px solid;
	text-align: center;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: bold;
	position: relative;
}
#top_news .link_icon a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#top_menu {
	width: 100% !important;
	float: none !important;
}
#top_menu p {
	margin: 0 5px !important;
	text-align: center;
}
/* ==================================================
page
================================================== */
#contents .sp_left {
	text-align: left !important;
}
/* works
--------------------------- */
#main #work_cttl {
	margin: 10px 0;
	font-size: 120%;
	text-align: left;
}
#main #work_cread {
	margin-bottom: 0.8em;
	font-size: 100%;
	text-align: left;
}
#contents #workbox table td {
	width: 50% !important;
	float: left;
	padding: 5px !important;
	box-sizing: border-box;
	font-size: 80%;
	text-align: left !important;
}
#contents #workbox table td:nth-of-type(2n+1) {
	clear: both;
}
#blog2_bg .work_ishi {
	width: auto;
	height: auto;
	padding: 5px;
	background: none;
	background-color: #fff;
}
#contents .work_ishi p {
	width: auto;
	height: auto;
	margin: 0 !important;
	background: none;
}
#blog2_bg .work_ishi img {
	width: 100%;
}
#maximg {
	margin-bottom: 10px;
}
#w_comment {
	padding: 0;
}
#w_comment p {
	text-align: left !important;
}
#w_comment div {
	margin: 0 !important;
	padding: 0 !important;
}
#contents #w_comment div table td {
	display: table-cell !important;
}
#contents #w_comment div table td a {
	display: block;
	padding: 20px 0 !important;
}
/* company
--------------------------- */
#contents div.company_sp1 {
	height: auto !important;
	padding: 300px 0 0 !important;
	background-size: auto 300px !important;
	background-position: center top !important;
	font-size: 100% !important;
}
#contents div.company_sp1 br {
	display: none;
}
#contents div.company_sp1 p.pname {
	margin: 5px 0 20px;
}
#contents div.company_sp1 p.pname img {
	height: 1.2em;
	width: auto;
}
#company #contents .alignleft,
#company #contents .alignright {
	float: none;
	width: auto !important;
}
#company #contents .alignleft p {
	margin: 0 0 5px !important;
}
/* thought
--------------------------- */
#thought #contents .alignleft,
#thought #contents .alignright {
	float: none;
	width: auto !important;
}
#thought #contents p {
	margin: 5px 0 !important;
}
/* service
--------------------------- */
#service #contents .alignleft,
#service #contents .alignright {
	float: none;
	width: auto !important;
}
#service #contents p {
	margin: 5px 0 !important;
}
#service #contents div {
	margin: 0 !important;
}
.sbox01-1,
.sbox02-1,
.sbox01-2,
.sbox02-2,
.sbox01-3,
.sbox02-3 {
	min-height: inherit;
	border: #fff 1px solid;
	padding: 10px;
}
.letter_bg {
	padding: 10px;
	box-shadow: #ccc 0 0 2px 2px;
}
#service #contents div.letter_bg {
	margin: 10px 5px !important;
}
/* tombstone
--------------------------- */
#tombstone table.layout_table {
	margin: 0 !important;
}
#tombstone table.layout_table td {
	margin-bottom: 5px;
}
#tombstone .stonebox {
	width: auto;
	height: auto !important;
	margin: 0 0 5px;
	padding: 10px;
}
#contents .stonebox h2 {
	margin: 5px 0;
	padding: 0 0 5px;
	font-size: 105%;
}
}
