@charset "utf-8";


body #wrapper {
	-webkit-text-size-adjust: 100%;
	padding: 70px 0 0;
}
.is-home #wrapper {
	padding: 0;
}
body {
	width:100%;
}
#wrapper #container {
	padding-top:0;
}








/*================================ ヘッダー ===============================*/

#wrapper .header {
	padding:0;
	margin:0;
	position:fixed;
	top:0!important;
	height:auto;
	min-width:100%;
	background: #fff;	
}
#wrapper .header .header_inner {
	width:100%;
	min-width:100%;
	/*position:static;*/
	height:auto;
	min-height:70px;
}

#wrapper .header .logo {
	position:absolute;
	top:20px;
	left:20px;
	width:100px;
	height:auto;
	margin:0;
	text-align:left;
	z-index:101;
}
#wrapper .header .logo img {
	width:100%;
	height:auto;
	display:block;
}



/*
* ヘッダー／メインビジュアル
*/
#wrapper #main_visual {
	background-position:center top;
	background-attachment: scroll;
}
#wrapper #main_visual .inner {
	width:auto;
	height:200px;
	background-size: auto 100%;
	background-repeat:no-repeat;
	background-position:center 0;
}
#wrapper #main_visual > div,
#wrapper #main_visual > div * { 
	background-size: auto 100%!important;
	background-repeat:no-repeat!important;
	background-position:center 0!important;
}




/*================================ HOME／ヘッダー ===============================*/

#wrapper .hero_menu {
	display:none;
}
#wrapper .hero_catch {
	font-size:3rem;
	white-space:nowrap;
}
#wrapper .hero_catch br {
	display:inline;
}
#wrapper .hero .btn_scroll {
	width:50%;
	max-width:200px;
	margin-left:0;
	transform:translateX(-50%);
}
#wrapper .hero .btn_scroll img {
	width:100%;
	height:auto;
}






/*================================ メインナビゲーション ===============================*/

#wrapper #main_navi {
	/*display:none;*/
}
#menuList {
	display: none;
}
#rwdMenuWrap {
	width: 100%;
	position: absolute;
	top:0;
	z-index:100;
}
#rwdMenuWrap #switchBtnArea {
	width: 100%;
	height: 70px;
}
#rwdMenuWrap #switchBtnArea #switchBtn {
	top: 10px;
	right: 10px;
	width: 40px;
	height: 40px;
	display: block;
	background: #a7a7a7;
	position: absolute;
	border-radius: 5px;
}
#rwdMenuWrap #switchBtnArea #switchBtn span {
	left: 20%;
	width: 60%;
	height: 4px;
	display: block;
	position: absolute;
	background-color: #fff;
	border-radius: 5px;
	transition: all 0.2s linear;
}
#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(1) {
	top: 10px;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}
#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(2) {
	top: 18px;
	-webkit-transform: scale(1);
	transform: scale(1);
}
#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(3) {
	bottom: 10px;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

#rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
	top: 18px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
	-webkit-transform: scale(0);
	transform: scale(0);
}
#rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
	bottom: 18px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#rwdMenuWrap .main_navi {
	width:96%;
	padding:0;
	margin:0 auto;
	float:none;
	display: none;
	height:auto;
	overflow:visible;
	border: none;
	position:static;
}
#rwdMenuWrap .main_navi ul {
	padding:0;
	width: 100%;
	display:block;
	height:auto;
	background:#fff;
	-moz-box-shadow: 0px 0px 10px #aaa;
	-webkit-box-shadow: 0px 0px 10px #aaa;
	box-shadow: 0px 0px 10px #aaa;
	
}
#rwdMenuWrap .main_navi ul li {
	text-indent:0;
	width: 100%;
	border-top: #aaa 1px solid;
	float:none;
	margin:0;
	background:none;
}
#rwdMenuWrap .main_navi ul li:first-child {
	border:none;
}
#rwdMenuWrap .main_navi ul li a {
	font-size: 100%;
	width:auto;
	height: auto;
	line-height: 60px;
	color: #333;
	margin: 0;
	padding: 0 15px 0;
	text-align: left;
	background: url(../images/sp/sp_arrow01.png) no-repeat 95% center;
	position: relative;
}
#rwdMenuWrap .main_navi ul li a::before {
	content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -4px;
}
#rwdMenuWrap .main_navi ul li a > span {
	display:inline-block;
	letter-spacing:0.1em;
}
#rwdMenuWrap .main_navi ul li a > .navi_en {
	margin-right:10px;
}

#rwdMenuWrap .main_navi ul li.act a {
	background-color:#333;
	color: #fff;
}



/*================================ エントリータイトル ===============================*/

#wrapper #contents .entry_title {
	height:150px;
}
#wrapper #contents .entry_title h1 {
	margin-bottom:0;
}




/*================================ HOME／コンテンツ ===============================*/

#wrapper #main .inner {
    width: auto;
    margin: 0 15px;
}
#wrapper .intro_ttl {
	font-size:3rem;
}


/*
* HOME／business
*/

#wrapper .business {
	min-width:0;
}
#wrapper .business .inner {
	padding:60px 0;
}
#wrapper .business_contents {
	width:auto;
	margin:0 0 20px;
}
#wrapper .business_image {
	position:static;
	width:auto;
	height:auto;
	margin-left:10px;
	margin-right:10px;
}

/*
* HOME／new
*/

.new {
	background-size:auto 150px;
}
.new .inner {
	min-height:0;
	padding-top:80px;
}
.new_ttl {
	color:#333;
	margin-bottom:10px;
}
.new_ttl .ttl_en {
	font-size:3rem;
}
.new_contents {
	width:auto;
	padding:0 0 50px;
}




/*
* HOME／work
*/
.work {
	background-size:auto 100%;
}
.work .inner {
	height:auto;
	padding-bottom: 50px;
}
.work_body {
	display:block;
}
.work_figure {
	width:auto;
	margin-bottom:15px;
}
.work_figure a {
	display:table;
	width:100%;
}
.work_figure::after {
	content:" ";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
}
.work_img {
	width:auto;
}
.work_figcaption {
	width:auto;
	height:auto;
	padding:10px;
	vertical-align:middle;
}
.work_figure_ttl {
	text-align:left;
	margin:0 0 8px;
}
.work_figure_ttl > span {
	display:inline;
}
#main .work_figure_ttl .work_ttl_en {
	font-size:1.6rem;
	margin-bottom:5px;
	line-height:1.4em;
}
#main .work_figure_ttl .work_ttl_jp {
	font-size:1.4rem;
}
.work_figure_txt {
	font-size:1.3rem;
	margin:0;
	line-height:1.4em;
}
#contents .work .inner {
	height:auto;
}





/*================================ Business ===============================*/

.business_intro {
	height:auto;
	padding-bottom:100px;
}
.business_contents {
	width:auto;
	top:0;
	height:auto;
	padding:20px 20px 30px;
}
.business_contents_ttl .ttl_en {
	font-size:3rem;
}
.business_contents_ttl .ttl_jp {
	font-size:1.8rem;
}

.business_flow_body {
	display:block;
}
.business_flow_item {
	width:auto;
	margin:0 10px 10px;
	border-radius:10px;
}
.business_flow_item a {
	font-size:1.4rem;
	width:auto;
	height:auto;
	border-radius:5px;
	line-height:70px;
}
.business_flow_item a br {
	display:none;
}
.business_flow::after {
	width:3px;
	height:400px;
	top:0;
	left:50%;
	margin-left:-1.5px;
}
#contents .business_flow_txt {
	width:auto;
	margin-left:10px;
	margin-right:10px;
}
.business_flow .btn_more a::after {
	right: -25px;
}
#contents .business_service .note {
	width: auto;
	margin-left:10px;
	margin-right:10px;
	line-height: 1.5em;
	letter-spacing: .15em;
}


/* モーダル用 */

.modal figure {
	display:block;
}
.modal figure .flow_image {
	width:96%;
	margin-right:auto;
	margin-left:auto;
	text-align:center;
}
.modal figure .flow_image img {
	width:100%;
	height:auto;
}
.modal figure h4 {
	font-size:2rem;
	margin-bottom:0;
}
.modal figure p {
	line-height:1.7em;
}

/* close */
.modal figure .close_btn {
	display:none;
}
.modal a.close-modal {
	display:block;
}







/*================================ About ===============================*/

#wrapper #contents .cencept_contents {
	margin-top:0;
	width:auto;
	padding: 30px 30px 60px;
	margin-bottom:20px;
}
#wrapper #contents .cencept_contents_ttl {
	font-size: 4rem;
}
#wrapper #contents .outline_contents {
	width:auto;
	padding: 20px 20px 0;
}






/*================================ パンくず ===============================*/

#wrapper #bread ol {
	width:auto;
}




/*================================ 下層／コンテンツ ===============================*/

#wrapper #contents {
	width:auto;
	padding-top:0;
	padding-bottom:5em;
	margin:0 10px;
	min-height:400px;
}
#wrapper #contents.full {
	margin:0;
}
#wrapper #contents.full .inner_contents {
	width:auto;
	margin:0 0 10px;
}

#wrapper #contents h1 {
	max-width:320px;
	margin:0 auto 25px;
	position:static;
}
#wrapper #contents h1 img {
	width:100%;
	height:auto;
}
#wrapper #contents h3 {
	font-size:120%;
}
#wrapper #contents p {
	font-size:100%;
}
#wrapper #contents table,
#wrapper #contents tbody,
#wrapper #contents tr,
#wrapper #contents th,
#wrapper #contents td {
	display:block;
	border:0;
	width:auto;
	padding:0;
}
#wrapper #contents table {
	width:97%;
	margin:0 auto;
}
#wrapper #contents table th,
#wrapper #contents table td {
	padding-left:10px;
	padding-right:10px;
}
#wrapper #contents table td {
	padding-bottom:10px;
	margin-bottom:10px;
	border-bottom:dashed 1px #ccc;
}
#wrapper #contents table td p {
	font-size:90%;
}
#wrapper #contents table th {
	font-weight:bold;
}
#wrapper #contents table .th_01 {width: 10%;}
#wrapper #contents table .th_015 {width: 15%;}
#wrapper #contents table .th_02 {width: 20%;}
#wrapper #contents table .th_03 {width: 30%;}













/*================================ 会社案内 ===============================*/

#about #wrapper #contents h1 {
    max-width: 150px;
}
#wrapper #contents #map_area iframe {
	height:440px;
}
#wrapper #contents #greeting_area {
	padding-top:200px;
	background-size:800px;
	padding-bottom:30px;
}
#wrapper #contents #greeting_area .inner_contents {
	margin-left:10px;
	margin-right:10px;
}
#wrapper #contents #greeting_area h3 {
	font-size:150%;
	margin-bottom:20px;
}
#wrapper #contents #company_detail {
	padding-top:30px;
}
#wrapper #contents #company_detail .inner_contents {
	margin-left:10px;
	margin-right:10px;
}
#wrapper #contents #company_detail #detail_items_list li {
	width:auto;
	float:none;
}
#wrapper #contents #company_detail section {
	margin-bottom:30px;
}
#wrapper #contents #company_detail #sale_items_list {
	list-style:disc inside;
}
#wrapper #contents #company_detail #sale_items_list li {
	font-size:90%;
	float:none;
	width:auto;
	margin-bottom:4px;
}
#wrapper #contents #company_detail .row02 table th {
	width:auto;
	padding:0;
}
#wrapper #contents #company_detail .row03 table th {
	width:auto;
	padding:0;
}




/*================================ プライバシーポリシー ===============================*/

#wrapper #contents .privacy_contents {
	padding-top:20px;
	margin-left:10px;
	margin-right:10px;
}



/*================================ お問い合わせ ===============================*/

#wrapper #contents .contact_intro_inner {
	width:auto;
	padding:30px 10px;
}
#wrapper #contents .contact_wrap_body {
	margin-bottom:30px;
}
#wrapper #contents .contact_wrap_item {
	margin-bottom:20px;
}
#wrapper #contents .contact_wrap_item h3 {
	margin:0;
}
#wrapper #contents .contact_wrap_item h3::before {
	display:none;
}
#wrapper #contents .contact_wrap_txt,
#wrapper #contents .contact_wrap_list {
	width:auto;
}



#wrapper #contents #form_area {
	padding-top:40px;
	margin-bottom:40px;
}
#wrapper #contents #form_area label {
	display:block;
}
#wrapper #contents #form_area input[type="text"] {
	display:block;
	width:100%;
}
#wrapper #contents #form_area input[type="text"].half {
	width:50%;
	display:inline;
}
#wrapper #contents #form_area .postal_wrap {
	display:block;
}
#wrapper #contents #form_area .submit_group .wrap {
	width:auto;
	padding-top:5px;
	padding-bottom:15px;
}










/*================================ フッター ===============================*/

#wrapper #footer .inner {
	width:auto;
	min-height:auto;
	height:auto;
	padding:0;
}
#wrapper #footer .footer_inner {
	width:auto;
	height:auto;
	padding-top:30px;
}
#wrapper #footer .footer_logo {
	text-align:center;
	position:static;
	width:auto;
	margin-bottom:40px;
}
#wrapper #footer .footer_navi dl {
	float:none;
	margin:0;
}
#wrapper #footer .footer_navi dl dt {
	margin:0;
	background-color:#005BAC;
	color:#fff;
	text-align:center;
	padding:10px 0;
}
#wrapper #footer .footer_navi dl dd {
	display:block;
}
#wrapper #footer .footer_navi dl ul {
	margin:0;
	list-style:none;
}
#wrapper #footer .footer_navi dl li {
	margin-bottom:0;
}
#wrapper #footer .footer_navi dl li a {
	display:block;
	padding:10px;
	border-bottom:dashed 1px #ccc;
	position:relative;
}
#wrapper #footer .footer_navi dl li a::before {
	content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #005BAC;
    border-right: solid 2px #005BAC;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -4px;
}
#wrapper #footer .footer_navi {
	position:static;
	width:auto;
}
#wrapper #footer .footer_copyright {
	position:static;
}




#wrapper #footer .footer_mark {
	position:static;
	text-align:center;
	padding:10px 0;
}
#wrapper #footer .footer_mark li {
	display:inline-block;
}




/*
* フッター／コピーライト
*/

#wrapper #footer .footer_copyright {
	width:100%;
	text-align:center;
	margin:0 auto;
	font-size:1.1rem;
	padding:20px 0;
	letter-spacing:0.1em;
}







/*=============================== pagetop ===============================*/

#main #page_top_wrap {
	width:auto;
}
#main #page_top {
	width:104px;
	float:none;
	margin:0 auto;
}
#main #page_top a {
	
}


