@charset "utf-8";
@media screen and (max-width:767px) {
	/* reset css
	---------------------- */
									
	@font-face {
		font-family: 'Arial Black';
		font-style: normal;
		font-weight: 400;
		src: local('Arial Black'), url('ariblk_0.ttf') format('ttf');
	}
	html {
		width: 100%;
		height: 100%;
	}
	* {
		box-sizing: border-box;
	}
	body {
		position: relative;
		width: 100%;
		min-width: 100%;
		font-size: 15px;
		-webkit-overflow-scrolling: touch;
	}
	a:link {
		color: #444;
	}
	a:hover {
		color: #888;
	}
	
	/* LAYOUT
	---------------------- */
	#page {
		position: relative;
		width: 100%;
		margin: 0 auto;
		-webkit-transition: all .2s;
		-moz-transition: all .2s;
		-o-transition: all .2s;
		transition: all .2s;
	}
	#page.open {
		position: fixed;
		-webkit-transform: translate3d(-80%, 0, 0);
		-moz-transform: translate3d(-80%, 0, 0);
		transform: translate3d(-80%, 0, 0);
	}
	
	/* header */
	#header h1 {
		text-align: left;
		font-size: 8px;
		width: 100%;
		padding: 3px 0 15px;
	}
	#header {
		min-width: 100%;
		padding: 4px 2%;
	}
	#header .header {
		position: relative;
		width: 100%;
		margin: 0 auto;
		padding: 0 0 20px;
	}
	#header .header .head-logo {
		width: 72%;
		padding: 2% 6% 0 0;
		float: none;
	}
	#header .header .head-logo img {
		width: 100%;
	}
	#header .header .head-inquiry {
		display: none;
	}
	
	/* navigation */
	#open_navi {
		display: table-cell;
		vertical-align: middle;
	}
	#gnavi_open {
		position: absolute;
		width: 14%;
		right: 0;
		top: 0;
	}
	#gnavi_open img {
		width: 100%;
	}
	#tel_open {
		position: absolute;
		width: 14%;
		right: 16%;
		top: 0;
	}
	#tel_open img {
		width: 100%;
	}
	#drawer_underlay {
		position: absolute;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		top: 0px;
		left: 0px;
	}
	#gnavi {
		position: fixed;
		width: 80%;
		min-width: 80%;
		height: 100%;
		font-size: 110%;
		border-top: inherit;
		border-bottom: inherit;
		padding: 20px 5%;
		background: #000;
		overflow-x: hidden;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		right: -80%;
		top: 0px;
		-webkit-transition: all .2s;
		-moz-transition: all .2s;
		-o-transition: all .2s;
		transition: all .2s;
	}
	#gnavi.open {
		-webkit-transform: translate3d(-100%, 0, 0);
		-moz-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
	#close {
		width: 100%;
		font-size: 120%;
		color: #fff;
		padding: 5px 5%;
		border: 1px solid #555;
		background: #222;
	}
	#close span {
		font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
		font-size: 130%;
	}
	#gnavi > ul {
		width: 100%;
		margin: 0px auto 40px;
	}
	
	#gnavi > ul > li {
		width: 100% !important;
		float: none;
		margin-bottom:10px;
	}
	#gnavi > ul > li:last-child {
		width: 100%;
	}
	#gnavi > ul > li:nth-child(2) {
		width: 100%;
	}
	#gnavi > ul > li > a {
		position: static;
		text-align: left;
		color: #fff;
		padding: 17px 10px 12px;
		background: #000;
		border-bottom: 1px solid #fff;
	}
	#gnavi > ul > li > a:hover {
		background: none;
		color:#fff;
	}
	#gnavi > ul > li > a:before, #gnavi > ul > li > a:after,
	#gnavi > ul > li > a:hover:before, #gnavi > ul > li > a:hover:after {
		content: none;
	}
	
	#gnavi li.navi_slide {
		cursor:default;
	}
	
	#gnavi li.navi_slide:hover {
		background:none;
	}
	
	#gnavi li.navi_slide > ul {
		display:block;
		position:inherit;
		top:0px;
		background:none;
		border:none;
		padding:0;
		width:100% !important;
		left:0px!important;
		margin:10px 0 0 !important;
	}
	
	#gnavi li.navi_slide > ul li {
		border:none;
		width: 100%;
	}
		
	#gnavi li.navi_slide > ul li a {
		color: #fff;
		text-decoration: none;
		background: none;
		display: block;
		width: 100%;
		text-align: left;
		letter-spacing: 2px;
		line-height: 2;
		color: #fff;
		padding: 8px 10px 8px 30px;
		box-sizing: border-box;
		position:relative;
		margin:0;
	}
	
	#gnavi li.navi_slide > ul li a:before {
		content:none;
	}

	#gnavi li.navi_slide > ul li a:after {
		position:absolute;
		content:" ";
		width:10px;
		height:10px;
		border-radius:50px;
		left:10px;
		top:15px;
		background:#fff;
		border:none;
	}
		
	#gnavi li.navi_slide > ul li a:hover {
		text-shadow:none;
		color:#fff;
		background:none;
	}
	
	
	#gnavi + #visual {
		border-bottom: 0px;
	}
	#contents {
		width: 100%;
		padding: 0 0 60px;
	}
	#contents .contents_header {
		width: 100%;
	}
	#contents .contents_header .head_inner {
		width: 100%;
	}
	#contents .contents_header .head_inner > .title {
		font-size: 150%;
	}
	
	/* contents */
	#visual {
		min-width: 100%;
		background: url(img/title-bg-sp.jpg) repeat-x center;
		background-size: cover;
	}
	#visual .visual {
		width: 100%;
	}
	.section {
		padding: 30px 0 20px;
		width: 100%;
	}
	#contents .section > .section_title {
		font-size: 130%;
		margin: 0 13px;
		padding: 0 13px 5px;
	}
	#contents .section > .section_title:after {
		width: 36%;
	}
	
	#contents .child_content_section > .section_title {
		font-size: 120%;
		padding: 8px 0 5px 30px;
		background: url(img/heading-point.png) no-repeat 10px center #efedf1;
		background-size: 12px 12px;
	}
	
	.child_content_section > .section_inner {
		padding: 15px 0 0;
		width: 100%;
		box-sizing: border-box;
	}
	
	/* footer */
	#footer {
		position: relative;
		min-width: 100%;
	}
	#footer .footer {
		border-top: 2px solid #9fa0a0;
	}
	#footer .footer .footer_inner {
		margin: 0 auto;
		padding: 25px 0 0;
		width: 100%;
	}
	#footer .footer .footer_inner:after {
		content: " ";
		display: block;
		clear: both;
	}
	#footer .information {
		float: none;
		width: 100%;
	}
	#footer .information .logo {
		text-align: center;
		margin: 0 auto 20px;
		width: 80%;
	}
	#footer .information .logo img {
		width: 100%;
	}
	#footer .information .company_data {
		margin: 0 auto;
		width: 75%;
	}
	#footer .information .company_data > .address, #footer .information .company_data > .tel {
		font-size: 80%;
	}
	#footer .information .company_data > .tel {
		margin-bottom: 3px;
	}
	#footernavi {
		margin: 0 auto;
		padding: 10px 0 0;
		display: block;
	}
	#footernavi .company_navi ul {
		text-align: center;
		padding: 10px 5px 15px;
		width: 100%;
	}
	#footernavi .company_navi li {
		display: inline-block;
	}
	#footernavi .company_navi li:last-child {
		padding-right: 0;
	}
	
	#footernavi .company_navi li a {
		letter-spacing:1.5px;
	}
	
	#footernavi > .set {
		padding-left: 0;
		width: 100%;
		display: block;
	}
	#footernavi > .set:last-child {
		padding-left: 0;
		width: 100%;
	}
	#footernavi .set > .title {
		font-size: 110%;
		text-shadow: 0.5px 0 0 #000;
		margin-bottom: 0;
		padding: 10px;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		background: #ccc;
	}
	#footernavi .set ul {
		display: flex;
		flex-wrap: wrap;
	}
	#footernavi .set:last-child ul {
		margin-right: 0;
		float: none;
	}
	#footernavi .set:last-child ul:last-child {
		border-bottom: 1px solid #ccc;
	}
	#footernavi .set ul li {
		border-bottom: 1px solid #ccc;
		margin-bottom: 0;
		width: 50%;
		float: left;
	}
	#footernavi .set:first-child ul li {
		border-bottom: 0px;
	}
	#footernavi .set:last-child ul:last-child li:last-child {
		border-bottom: 0px;
	}
	#footernavi .set ul li:nth-child(odd) {
		border-right: 1px solid #ccc;
	}
	#footernavi .set ul li a {
		padding: 13px 8px;
		display: block;
	}
	#footernavi ul:after {
		content: "";
		display: block;
		clear: both;
	}
	#footernavi li:first-child a {
		padding-left: 0;
	}
	#footernavi li a:before {
		content: "\00203a";
		font-size: 120%;
		margin-right: 2px;
		position: static;
	}
	#footernavi li a:hover {
		text-decoration: none;
	}
	div#copy {
		text-align: center;
		width: 100%;
		margin: 0 auto;
		padding: 5px 0 10px;
	}
	div#copy img {
	left:0;
	}
	#copy a {
		font-size: 60%;
		text-decoration: none;
	}
	
	/* 戻る */
	.return {
		display: none;
	}
	
	/* 各固定ページ用
	---------------------- */
	/* greeting.html */
									
	#contents .company_office_list {
		margin: 0px;
	}
	
	/* access.html */
	#access_map {
		width: 100%;
		padding: 15px 10px;
	}
	#access_map .map_set #map {
		width: 100%;
		height: 200px;
		box-shadow: inherit;
	}
	#access_map .map_set .guide {
		font-size: 85%;
		padding: 13px 10px;
	}
	#access_map .map_set .guide:before {
		content: "タップ操作";
	}
	#access_map .access_data .title {
		margin-bottom: 20px;
	}
	#access_map .access_data dl dt {
		color: #0b3183;
		margin-right: 10px;
		float: none;
	}
	#access_map .access_data dl dt:before {
		content: "\0025a0";
		margin-right: 2px;
	}
	#access_map .access_data dl dd {
		margin: 0;
		padding-bottom: 12px;
		float: none;
	}
	
	/* inquiry.html */
	#inquiry .section_inner {
		padding: 20px 25px;
	}
	.inquiry_info {
		margin-bottom: 20px;
	}
	.inquiry_info .no {
		color: #000;
		font-size: 150%;
		font-family: "arial black";
		font-weight: bold;
		letter-spacing: -1px;
		line-height: 1.0;
	}
	.inquiry_info .no span {
		color: #0b3183;
		font-size: 150%;
		margin-left: 4px;
	}
	#inquiry .inquiry_inner {
		padding: 15px 10px 0;
		border-bottom: 0px;
		background: none;
	}
	#inquiry .inquiry_inset {
		padding: 0px;
		background: none;
		border: 0px;
	}
	#MailForm table {
		width: 100%;
	}
	#MailForm th, #MailForm td {
		display: block;
		width: 100%;
	}
	#MailForm th {
		padding: 12px 15px;
		background-color: #f9f9f9;
	}
	#MailForm th span {
		left: auto;
		right: 20px;
	}
	#MailForm td {
		border: none;
		padding: 25px 15px;
	}
	#MailForm input, #MailForm textarea {
		width: 100%;
	}
	#MailForm textarea {
	}
	#MailForm .form3 {
		vertical-align: middle;
		width: 3%;
	}
	#MailForm .form25 {
		width: 100%;
	}
	#MailForm .form45 {
		width: 100%;
	}
	#MailForm .form60 {
		width: 100%;
	}
	#MailForm .form90 {
		width: 100%;
	}
	.send_btn {
		font-size: 100%;
		padding: 15px 10px;
	}
	.send_btn:hover {
		opacity: 1;
	}
	.submit_btn {
		width: 80%;
		margin-bottom: 15px;
	}
	.reset_btn {
		width: 80%;
	}
	.inputarea li {
		margin: 0 15px 0 0;
		float: left;
	}
	.send_inner .send_btn_inner .btn_return {
		margin-bottom: 25px;
	}
	input[type="submit"], input[type="button"] {
		border-radius: 0;
		-webkit-box-sizing: content-box;
		-webkit-appearance: button;
		appearance: button;
		border: none;
		box-sizing: border-box;
		cursor: pointer;
	}
	input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
		display: none;
	}
	input[type="submit"]::focus, input[type="button"]::focus {
		outline-offset: -2px;
	}
	
	/* formmail.cgi:send confirm */
	.send_confirm_table {
		padding: 17px 0 30px;
	}
	.send_confirm_table table {
		width: 100%;
		margin: 0 auto;
		border-collapse: collapse;
	}
	.send_confirm_table table th, .send_confirm_table table td {
		border: 0px solid #ccc;
		padding: 17px 20px;
		background: #fff;
		display: block;
	}
	#contents .send_confirm_table table th {
		text-align: left;
		width: 100%;
		background: #f5f5f5;
		margin-bottom: 5px;
		padding: 10px 15px;
	}
	.send_confirm_table table td {
		margin-bottom: 30px;
	}
	
	/* base styles
	---------------------- */
	.table_base {
		width: 85%;
	}
	.table_base table {
		width: 100%;
		margin: 0 auto;
		border-collapse: collapse;
	}
	.table_base table th, .table_base table td {
		font-weight: normal;
		padding: 12px 12px;
		border: 0px;
		display: block;
	}
	.table_base table td span.map_jump a:hover {
		opacity: 1;
	}
	.table_base table tbody th {
		text-align: left;
		width: 100%;
		background: #f1f1f1;
	}
	.table_base table td {
		margin-bottom: 20px;
	}
	.content_inner {
		padding: 30px 0 25px;
	}
	.content_inner .images_r, .content_inner .images_l {
		padding: 0 0% 10px;
		float: inherit;
	}
	.w_margin270 .images_r, .w_margin270 .images_l {
		width: 100%;
	}
	.w_margin270 .msg_l, .w_margin270 .msg_r {
		padding-right: 0px;
		padding-left: 0px;
	}
	.w_margin320 .images_r, .w_margin320 .images_l {
		width: 100%;
	}
	.w_margin320 .msg_l, .w_margin320 .msg_r {
		padding-right: 0px;
		padding-left: 0px;
	}

	.w_margin400 .images_r, .w_margin400 .images_l {
	width: 100%;
}
.w_margin400 .msg_l {
	padding-right: 0;
}
.w_margin400 .msg_r {
	padding-left: 0;
}
	.breadcrumbs {
		display: none;
	}
	.three_image li {
		margin: 0 4% 25px 0;
		width: 48%;
	}
	.three_image li:nth-child(3n) {
		margin-right: 4%;
	}
	.three_image li:nth-child(2n) {
		margin-right: 0;
	}
	.four_image li {
		margin: 0 4% 25px 0;
		width: 48%;
	}
	.four_image li:nth-child(4n) {
		margin-right: 4%;
	}
	.four_image li:nth-child(2n) {
		margin-right: 0;
	}
	
	/* 各ページ用スタイル
	---------------------- */
	.no_sp {
		display: none;
	}
	.sub_banner {
	}
	.sub_banner img {
		width: 100%;
	}
	.section_header {
		position: relative;
	}
	.section_header .archive_link {
		position: absolute;
		right: 20px;
		top: 17px;
	}
	.section_header .archive_link a:before {
		content: " ";
		position: relative;
		margin-right: 5px;
		top: 2px;
	}
	
	/* -------------------
	index.html */
	/* .txt_bg */
	.txt_bg {
		color: #fff;
		font-size: 100%;
		text-align: left;
		margin-bottom: 30px;
		padding: 20px 15px;
	}
	
	/* .top_contents */
	.top_contents {
		width: 100%;
	}
	.top_contents .set {
		max-height: 100%;
		background: #e2d9b5;
		overflow: hidden;
	}
	.top_contents .set:after {
		content: "";
		display: block;
		clear: both;
	}
	
	/* .top_contents_title */
	.top_contents_title {
		font-size: 140%;
		font-weight: normal;
		text-align: center;
		margin-bottom: 15px;
		padding: 0 0 30px;
		position: relative;
	}
	.top_contents_title:before {
		content: url(img/line.png);
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
	}
	.top_contents_title span {
		font-size: 35%;
		display: block;
	}
	.top_contents .set:nth-child(odd) .image, .top_contents .set:nth-child(odd) .msg {
		float: none;
	}
	.top_contents .set:nth-child(even) .image, .top_contents .set:nth-child(even) .msg {
		float: none;
	}
	.top_contents .set .image {
		width: 100%;
		min-width: 100%;
	}
	.top_contents .set .msg {
		padding: 30px 0 40px;
		width: 100%;
		min-width: 100%;
	}
	.top_contents .set .msg .contents_txt {
		padding: 0 30px;
	}
	
	/* .btn */
	.btn a {
		width: 80%;
	}
	.btn a:hover {
		color: #000;
		box-shadow: 0 5px 0 rgb(31, 31, 31);
		top: 0;
	}
	
	/* .other_contents */
	.other_contents {
		padding: 60px 0 0px;
	}
	.other_contents_inner {
		padding: 30px 0 0;
	}
	.other_contents ul li {
		width: 50%;
	}
	.other_contents ul li a {
		color: #fff;
		font-size: 100%;
		text-decoration: none;
		letter-spacing: 2px;
		height: 200px;
		background: #000;
		display: block;
		position: relative;
	}
	.other_contents ul li:first-child a {
		color: #fff;
		font-size: 140%;
	}
	.other_contents ul li:first-child a {
		background: #193d8a;
	}
	.other_contents ul li:first-child a:hover {
		background: #193d8a;
	}
	.other_contents ul li:first-child span {
		font-size: 46%;
		display: block;
	}
	.other_contents ul li a .contents_image img {
		opacity: 0.5;
		height: auto;
		display: block;
		width: 170%;
	}
	.other_contents ul li a:hover .contents_image img {
		opacity: 0.5;
	}
	.other_contents ul li a .contents_txt {
		margin: auto;
		padding: 12px 10px 8px;
		height: 30px;
		transition: all .3s;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
	}
	.other_contents ul li a:hover .contents_txt {
		background: none;
	}
	.sp_br {
		display: block;
	}
	
	/* -------------------
	contents1.html */
	/* .concept_block */
	.concept_block {
		padding: 0 0 40px;
	}
	.concept_block .concept_title {
		font-size: 110%;
	}
	
	/* .shikaku_list */
	.shikaku_list {
		margin-bottom: 25px;
		padding: 25px 36px;
		background: #eee;
	}
	.shikaku_list .list_title {
		color: #3b6ab1;
		font-size: 135%;
		font-weight: bold;
	}
	.shikaku_list ul {
		padding: 25px 0 0;
	}
	.shikaku_list ul li {
		font-weight: bold;
		padding-bottom: 10px;
		width: 100%;
		float: none;
		position: relative;
	}
	
	/* -------------------
	contents2.html */
	.service_block .msg_title {
		font-size: 140%;
		border-bottom: 1px solid #dadada;
		padding: 10px 8px;
		position: relative;
	}
}