
@charset "UTF-8";

body {
	font-size: 95%;
	line-height: 1.6;
	color: #2f2f2f;
	letter-spacing: 1px;
	font-family: Verdana,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	background: #f6f6f6;
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}

a:link    {
	color: #9c1b38;	
	text-decoration: none;
}
a:visited {text-decoration: none;}
a:hover   {text-decoration: underline;}
a:active  {text-decoration: underline;}

.sp { display: none; }

/*======================================================

 共通
 
======================================================*/

/* Toggle Button */
#nav-toggle {
	position: absolute;
	right: 15px;
	top: 25px;
	width: 35px;
	height: 35px;
	cursor: pointer;
	z-index: 101;
}

#nav-toggle div {
	position: relative;
}

#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #666;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
	top: 0;
}

#nav-toggle span:nth-child(2) {
	top: 11px;
}

#nav-toggle span:nth-child(3) {
	top: 22px;
}

#top-head,.inner {
	width: 100%;
	padding: 0;
}

#top-head .logo {
	position: absolute;
	top: 20px;
	left: 10px;
}

#top-head .logo img {
	width: 100px;
}

#top-head {
	top: 0;
	position: fixed;
	z-index: 999;
	transition: top 0.5s ease-in;
	-webkit-transition: top 0.5s ease-in;
	-moz-transition: top 0.5s ease-in;
}

#mobile-head {
	background: #fff;
	width: 100%;
	height: 75px;
	z-index: 999;
	position: relative;
	border-bottom: solid 1px #e2e2e2;
}

/* fixed */
#top-head.fixed #mobile-head {
	background: #fff;
	opacity: 0.93;
	filter: alpha(opacity=93);
	-ms-filter: "alpha(opacity=93)";
	-moz-opacity: 0.93;
	-khtml-opacity: 0.93;
}

/* languagBox */
.languagTtl {
	display: none;
}

#top-head .languagBox {
	font-weight: normal;
	position: absolute;
	top: 22px;
	right: 65px;
	padding: 7px 0;
	background: #9c1b38;
	border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
}

#top-head .languageNav {
	font-size: 12px;
	-moz-transform:    scale( 1, 1.4 );
	-webkit-transform: scale( 1, 1.4 );
	-o-transform:      scale( 1, 1.4 );
	-ms-transform:     scale( 1, 1.4 );
	transform:         scale( 1, 1.4 );
}

#top-head .languageNav li {
	float: left;
	line-height: 100%!important;
}

#top-head .languageNav li:first-child {
	border-right: solid 1px #fff;
}

#top-head .languageNav a {
	display: block;
	padding: 3px 13px;
	color: #fff;
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
	-moz-opacity: 0.5;
	-khtml-opacity: 0.5;
}

#top-head .languageNav a:link    {text-decoration: none;}
#top-head .languageNav a:visited {text-decoration: none;}
#top-head .languageNav a:hover {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	-moz-opacity: 1;
	-khtml-opacity: 1;
	text-decoration: none;
}

#top-head .languageNav li.active a {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
	-moz-opacity: 1;
	-khtml-opacity: 1;
}

/* gNav */
#global-nav {
	position: absolute;
	top: -481px;
	background: #212121;
	width: 100%;
	text-align: center;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	opacity: 0.93;
	filter: alpha(opacity=93);
	-ms-filter: "alpha(opacity=93)";
	-moz-opacity: 0.93;
	-khtml-opacity: 0.93;
}

#global-nav #gNav {
	list-style: none;
	position: static;
	right: 0;
	bottom: 0;
}

#global-nav #gNav li {
	float: none;
	position: static;
	border-bottom: solid 1px #474747;
}

#top-head #global-nav #gNav li a,
#top-head.fixed #global-nav #gNav li a {
	width: 100%;
	display: block;
	color: #fff;
	padding: 18px 0;
}

.open #nav-toggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
}

.open #nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}

.open #nav-toggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
}

.open #global-nav {
	/* #global-nav top + #mobile-head height */
	-moz-transform: translateY(556px);
	-webkit-transform: translateY(556px);
	transform: translateY(556px);
}

/* infoArea */
.infoArea {
	background-image: url(../images/index/bg_infoArea.png);
	background-position: top;
	background-color: #9c1b38;
	background-size: 12px 12px;
}

.infoList {
	color: #fff;
	font-size: 90%;
	margin: 75px 0 0;
	padding: 10px;
	font-weight: bold;
	float: right;
}

.infoList li {
	float: left;
	padding: 0 20px 0 0;
}

/* contactArea */
.contactArea {
	max-width: 1160px;
	margin: 0 auto;
	padding: 20px 20px 50px;
	border-top: solid 1px #d5d5d5;
}

.contactBtn {
	letter-spacing: -1px;
}

.contactBtn a {
	color: #929495;
	font-size: 160%;
	font-weight: bold;
	font-style: italic;
}

.contactBtn a:link    {text-decoration: none;}
.contactBtn a:visited {text-decoration: none;}
.contactBtn a:hover {
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
	-moz-opacity: 0.5;
	-khtml-opacity: 0.5;
	text-decoration: none;
}

.contactBtn img {
	padding: 10px;
	width: 22px;
}

/* footer */
.footerOtl {
	background: url(../images/common/bg_footer.jpg) top no-repeat #000;
}

#footer {
	max-width: 100%;
	margin: 0 auto;
	padding: 40px 20px;
	position: relative;
}

.pageTop {
	position: absolute;
	top: -40px;
	right: 20px;
}

.pageTop img {
	width: 80px;
}

.footerInfoArea {
	margin: 0 0 20px;
}

.footerInfoArea {
	margin: 0 0 20px;
}

.footerInfoList {
	color: #c0c2c5;
}

.footerInfoList li  {
	margin: 0 0 30px;
}

/* footerNav */
#footerNav {
	font-size: 90%;
}

#footerNav a {color: #c0c2c5;}
#footerNav a:link {text-decoration: none;}
#footerNav a:visited {text-decoration: none;}
#footerNav a:hover {text-decoration: underline;}

#footerNav li {
	margin: 0 0 10px;
}

.footerTtl {
	font-weight: bold;
	color: #fff;
	margin: 0 0 10px;
}

.footerTxt {
	font-size: 90%;
	margin: 0 0 30px;
}

.footerBannerArea {
	width: 100%;
}

.footerBanner {
	width: 100%;
	margin: 0 0 20px;
}

.footerBanner img {
	width: 100%;
}

/* snsNav */
.snsNav li {
	float: left;
	margin: 0 40px 0 0;
}

.snsNav img {
	width: 25px;
}

.copyRight {
	color: #c0c2c5;
	font-size: 70%;
}

/* layout */
#contents {
	max-width: 100%;
	margin: 0 auto 40px;
	padding: 30px 0;
	background: #fff;
}

.contentsInr {
	margin: 0 20px;
}

/* title */
.contentsTtl {
	font-size: 110%;
	margin: 0 0 30px;
}

.contentsTtl span {
	font-size: 240%;
	letter-spacing: -2px;
	line-height: 110%;
}

.contentsSubTtl {
	font-size: 120%;
	margin: 0 0 20px;
}

.capTxt {
	font-size: 90%;
	font-weight: bold;
	color: #b8b8b8;
}

/* commeon */
.borderBox {
	margin: 0 0 30px;
	padding: 0 0 10px;
	border-bottom: solid 3px #f6f6f6;
}

.contentsRightBox {
	margin: 0 0 30px;
}

.contentsLeftBox{
	margin: 0 0 30px;
}

.contentsTxt {
	margin: 0 0 20px;
}

.contentsPic {
	text-align: center;
	margin: 0 0 20px;
}

.contentsPic img {
	width: 100%;
}

.moreBtn img {
	width: 30px;
}

/*======================================================

 下層共通
 
======================================================*/

.lowerMain {
	margin: 75px 0 0;
}

.lowerMain img {
	width: 100%;
}

.bread_crumbOtl {
	max-width: 1200px;
	margin: 75px auto 0;
	padding: 5px 0;
	background: #ebeef3;
	font-size: 90%;
}

.bread_crumb li {
	float: left;
	padding: 5px 30px 5px 20px;
	background-image: url(../images/common/bg_grayarrow.png);
	background-position: right;
	background-repeat: no-repeat;
	background-size: 8px 9px;
}

.bread_crumb li.current {
	background: none;
	font-weight: bold;
}

.noMargin {
	margin: 0 auto;
}

/* pager */
.wp-pagenavi {
	padding: 20px 0 0;
	font-weight: bold;
	text-align: center;
}

.wp-pagenavi .pages {
	display: none;
}

.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last  {
	padding: 5px 7px;
}

.wp-pagenavi a {
	color: #2f2f2f!important;
	margin: 0 5px 0 0;
	padding: 5px 7px;
	border: solid 1px #ccc;
}

.wp-pagenavi a:hover {
	color: #fff!important;
	background: #9c1b38;
	border: solid 1px #9c1b38;
	text-decoration: none;
}

.wp-pagenavi .current {
	color: #fff!important;
	background: #9c1b38;
	margin: 0 5px 0 0;
	padding: 5px 7px;
	border: solid 1px #9c1b38;
}

.wp-pagenavi .extend {
	color: #999999!important;
	margin: 0 5px 0 0;
	padding: 5px 7px;
}

/*======================================================

  TOP

======================================================*/

/*topBnrArea */
.topBnrArea {
	background: #fff;
}

.topBnr {
	display: none;
}

.topBnrSP {
	padding: 10px;
}

.topBnrSP img {
	width: 100%;
}

/* mainArea */
#mainArea {
	max-width: 100%;
	height: 400px;
	margin: 0 auto;
	position: relative;
	z-index: 1000;
}

.mainAreaOtl {
	background: #dee3eb;
	position: relative;
	z-index: 1;
}

.mainCatchBox {
	padding: 40px 20px 0;
}

.mainCatch {
	font-size: 280%;
	font-weight: bold;
	letter-spacing: -2px;
	line-height: 90%;
	margin: 0 0 20px;
	-moz-transform:    scale( 1, 1.1 );
	-webkit-transform: scale( 1, 1.1 );
	-o-transform:      scale( 1, 1.1 );
	-ms-transform:     scale( 1, 1.1 );
	transform:         scale( 1, 1.1 );
}

.mainSubCatch {
	font-size: 100%;
}

/* titleBox */
.titleLeftBox {
	width: 85%;
	float: left;
}

.titleRightBox {
	width: 15%;
	float: right;
	text-align: right;
}

/* indexNews */
.indexNewsTable {
	width: 100%;
}

.indexNewsTable th {
	padding: 10px 5px;
	vertical-align: middle;
	border-bottom: solid 1px #efefef;
}

.indexNewsTable td {
	padding: 10px 5px;
	vertical-align: middle;
	border-bottom: solid 1px #efefef;
}

.newsData {
	font-size: 100%;
	font-weight: bold;
	line-height: 90%;
	color: #9d9d9d;
	font-style: italic;
}

.newsData span {
	font-size: 50%;
}

.indexNewsTable a {
	color: #2f2f2f;
	text-decoration: none;
}
.indexNewsTable a:link    {text-decoration: none;}
.indexNewsTable a:visited {text-decoration: none;}
.indexNewsTable a:hover {
	text-decoration:  none;
	color: #9c1b38;
}

/*======================================================

  インフォ

======================================================*/

.newsTable {
	width: 100%;
}

.newsTable th {
	padding: 10px 5px;
	vertical-align: middle;
	border-bottom: solid 1px #efefef;
}

.newsIcon {
	width: 40px;
}

.newsIcon p {
	padding: 0 0 5px;
}

.newsIcon img {
	width: 100%;
}

.newsTable td {
	padding: 10px 5px;
	vertical-align: middle;
	border-bottom: solid 1px #efefef;
}

.newsTable a {
	color: #2f2f2f;
	text-decoration: none;
}
.newsTable a:link    {text-decoration: none;}
.newsTable a:visited {text-decoration: none;}
.newsTable a:hover {
	text-decoration:  none;
	color: #9c1b38;
}

/*======================================================

  インフォ詳細

======================================================*/

.detailData {
	text-align: right;
	font-size: 100%;
	font-weight: bold;
	line-height: 90%;
	color: #9c1b38;
	font-style: italic;
	margin: 0 0 5px;
}

.detailData span {
	font-size: 50%;
}

.detailTtlTable {
	width: 100%;
	border-top: solid 2px #a1a1a1;
	margin: 0 0 30px;
}

.detailTtlTable th {
	width: 40px;
	padding: 10px 5px;
	vertical-align: middle;
	border-bottom: solid 1px #d8d8d8;
}

.detailTtlTable td {
	padding: 10px 5px;
	vertical-align: middle;
	border-bottom: solid 1px #d8d8d8;
}

.detailIcon {
	width: 30px;
}

.detailIcon img {
	width: 100%;
}

.detailTtl {
	font-size: 110%;
}

.detail strong {
	font-weight: bold;
	font-size: 140%;
	margin: 0 0 20px;
}

.detail p {
	margin: 0 0 20px
}

.detail ul {
	list-style: disc;
	margin: 0 0 20px 20px;
}

.detail ol {
	list-style: decimal;
	margin: 0 0 20px 20px;
}

.blogTxt {
	line-height: 2;
	margin: 0 0 20px;
	padding: 0 0 0 14px;
	border-left: solid 4px #a32b46;
}

.blogPic p {
	margin: 0 0 20px;
}

.blogPic p img {
	width: 100%;
}

/*======================================================

  実績

======================================================*/

.worksList {
	border-bottom: solid 1px #efefef;
}

.worksList li {
	margin: 0 0 10px;
}

/*======================================================

  実績詳細

======================================================*/

.workMainPic img {
	width: 100%;
}

.picTtlOtl {
	text-align: center;
}

.picTtl {
	font-size: 90%;
	color: #fff;
	background: #2f2f2f;
	margin: 0 0 20px;
	padding: 5px 20px;
	display: inline-block;
}

.beforTtl {
	text-align: center;
	font-weight: bold;
	font-size: 140%;
	font-style: italic;
	color: #444444;
}

.beforInr {
	text-align: center;
	margin: 0 auto 20px;
}

.beforInr img {
	width: 100%;
	border: solid 3px #cccccc;
	margin: 0 -3px 15px;
}

.afterTtl {
	text-align: center;
	font-weight: bold;
	font-size: 140%;
	font-style: italic;
	color: #9c1b38;
}

.afterInr {
	text-align: center;
	margin: 0 auto 20px;
}

.afterInr img {
	width: 100%;
	border: solid 3px #a32b46;
	margin: 0 -3px 15px;
}

.outlineTtl {
	font-weight: bold;
	color: #fff;
	background: #9c1b38;
	margin: 0 0 20px;
	padding: 5px 30px;
	display: inline-block;
}

.outlineTable {
	width: 100%;
}

.outlineTable th {
	width: 120px;
	padding: 10px 0 5px;
	vertical-align: top;
	font-weight: bold;
	border-bottom: solid 1px #efefef;
}

.outlineTable td {
	padding: 10px 0 5px;
	vertical-align: top;
	border-bottom: solid 1px #efefef;
}

/*======================================================

  会社概要

======================================================*/

.companytTable {
	width: 100%;
}

.companytTable th {
	width: 60px;
	padding: 10px 5px;
	font-weight: bold;
	font-size: 90%;
	color: #9d9d9d;
	vertical-align: middle;
	border-bottom: solid 1px #efefef;
}

.companytTable td {
	padding: 10px 5px;
	vertical-align: middle;
	border-bottom: solid 1px #efefef;
}

.dotList {
	list-style: disc outside;
	padding: 0 0 0 20px;
}

.dotList li {
	margin: 0 0 5px;
}

.noBorder {
	border: none!important;	
}

.bussinessList li {
	width: 50%;
	float: left;
	margin: 0 0 10px;
}

.bussinessListInr {
	padding: 0 5px;
}

.bussinesPic {
	margin: 0 0 10px;
}

.bussinesPic img {
	width: 100%;
}

.bussinesTtl {
	text-align: center;
	font-size: 90%;
	line-height: 120%;
}

.gMap {
	width: 100%;
	height: 250px;
	margin: 0 0 20px;
}

.gMap iframe {
	width: 100%;
	height: 250px;
	margin: 0 0 20px;
}

.iconTable {
	width: 100%;
}

.iconTable th {
	width: 40px;
	padding: 10px 5px;
	vertical-align: middle;
	border-bottom: solid 1px #efefef;
}

.iconTable td {
	padding: 10px 5px;
	vertical-align: middle;
	border-bottom: solid 1px #efefef;
}

/*======================================================

  ギャラリー

======================================================*/

.masonryOtl {
	padding: 0 0 20px;
	border-bottom: solid 1px #efefef;
}

#masonry {  
	width: 100%;
	margin: 0 auto; 
}  

.grid {
	width: 240px;
	padding: 10px;
	float: left;
	display: inline;
}

.grid p img {
	width: 100%;
}

/*======================================================

  お問い合わせ

======================================================*/

.redTxt {
	color: #9c1b38;
	font-size: 120%;
}

.requiredTxt {
	text-align: right;
}

.contactTable {
	width: 100%;
	margin: 0 0 20px;
}

.contactTable th {
	font-weight: bold;
	padding: 10px 0;
	vertical-align: top;
}

.contactTable td {
	padding: 5px 0 20px;
	vertical-align: top;
	border-bottom: solid 1px #efefef;
}

.contactBox01 {
    width: 100%;
    height: 30px;
    padding: 5px;
    border: none;
	background: #f6f6f6;
}

.contactBox02 {
    width: 100%;
    height: 200px;
    padding: 5px;
    border: none;
	background: #f6f6f6;
}

.label {
	line-height: 100%!important;
	padding: 0 50px 0 20px;
}

.contactTable td select {
	width: 100%;
	border: none;
	padding: 10px;
	background: #f6f6f6;
}

.submitBtn {
    text-align: center;
}

.submit {
    width: 140px;
    margin: 0 auto;
    padding: 12px;
    color: #fff;
    display: block;
    background: #9c1b38;
    border-radius: 4px;
    border-style: none;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    cursor: pointer;
    font-size: 100%!important;
}

.submit:hover {
	opacity:0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
	-moz-opacity:0.5;
	-khtml-opacity: 0.5;
}

.backs {
    width: 120px;
    margin: 15px auto 0;
    padding: 12px;
    color: #fff;
    display: block;
    background: #444;
    border-radius: 4px;
    border-style: none;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    cursor: pointer;
    font-size: 100%!important;
}

.backs:hover {
	opacity:0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
	-moz-opacity:0.5;
	-khtml-opacity: 0.5;
}

.wpcf7-validation-errors,
.wpcf7-mail-sent-ok {
	color: #333;
	border: 1px solid #c00;
	padding: 20px;
	margin: 30px 0 0;
	text-align: center;
}

.screen-reader-response {
	display: none;
}

.wpcf7-not-valid-tip {
	display: block;
	padding: 5px 0 0;
	color: #c00;
}

/* pageBtn */

.prev {
	width: 80px;
	font-size: 90%;
	float: left;
	text-align: center;
	margin: 0 0 0 20px;
	border: solid 2px #9c1b38;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.next {
	width: 80px;
	font-size: 90%;
	float: right;
	text-align: center;
	margin: 0 20px 0 0;
	border: solid 2px #9c1b38;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.prev a,.next a {
	display: block;
	padding: 5px 0;
	color: #9c1b38;
}

.prev a:link,.next a:link {
	color: #9c1b38;
}

.prev a:hover,.next a:hover {
	text-decoration: none;
	color: #fff!important;
	background: #9c1b38;
}

.prev a:visited,.next a:visited {
	color: #9c1b38;
}

.back {
	width: 120px;
	font-size: 90%;
	margin: 30px auto 0;
	text-align: center;
	background: #9c1b38;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.back a {
	display: block;
	padding: 10px 0;
	color: #fff;
}

.back a:link {
	color: #fff;
}

.back a:hover {
	text-decoration: none;
	background: #2f2f2f;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

.back a:visited {
	color: #fff;
}

