@charset "UTF-8";
@import url(reset.css);
@import url(base.css);
@import url(common.css);
/*****************/
/***** 関数 ******/
/*****************/
/*****************/
.recruit .contents1 .sec1 h2 .blue, .about .contents1 .sec1 h2 .blue, .index .contents1 .sec1 h2 .blue, .index .contents2 .sec1 .box .box_in .box_in_in h2 .blue {
  color: #0e83f6;
}

.recruit .contents1 .sec1 h2 .purple, .about .contents1 .sec1 h2 .purple, .index .contents1 .sec1 h2 .purple, .index .contents1 .sec1 .txt_box .btn a, .index .contents2 .sec1 .box .box_in .box_in_in h2 .purple {
  color: #6b2e80;
}

.recruit .contents1 .sec1 .box .txt_box p .red, .recruit .contents1 .sec2 .txt_box p .red, .index .contents1 .sec1 .txt_box .txt p .red {
  color: #d40000;
}

.site .h_style,
.contact .h_style,
.privacy .h_style{
	margin-bottom:30px;
}

/***************************/
/***** トランジション ******/
/***************************/
.about .contents2 .sec1 .box_wrap .box .box_in .txt_boc .btn a span:before, .index .contents2 .sec1 .box .box_in .box_in_in .btn a span:before, .index .contents3 .sec1 .box .btn a span:before, .index .contents4 .contents4_in .sec1 .btn a span:before, .index .contents5 .sec1 .ttl_box .btn a, .index .contents5 .sec1 .ttl_box .btn a span:before, .index .contents3 .sec1 .box ul li a, .index .contents3 .sec1 .box ul li a:hover, .index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box a, .index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box a:hover {
  -webkit-transition-duration: .3s;
  -o-transition-duration: .3s;
  transition-duration: .3s;
}

/*****************/
/***** 変数 ******/
/*****************/
/*メインカラー*/
/*$main_color: #fff;
$sub_main_color: #fff;*/
/*フォントカラー*/
/*フォントファミリー*/
/*****************/
/***** 共通 ******/
/*****************/
/**横幅**/
.cont, .staff .contents1 .sec1, .case_detail .contents1 .sec1, .case .contents1 .sec1, .recruit .contents1 .sec1, .recruit .contents1 .sec2, .about .contents1 .sec1, .about .contents2 .sec1, .about .contents3 .c_box .sec1, .company .contents1 .sec1, .index .contents1 .sec1, .index .contents2 .sec1, .index .contents4 .contents4_in .sec1, .index .contents5 .sec1, .error .contents1 .sec1, .privacy .contents1 .privacy_box, .site .contents1 div.sitemap_box, .blog .contents1 .sec1, .blog_detail .contents1 .sec1, .contact .contents1 .contact_box {
  width: 1080px;
  margin: 0 auto;
}

/**クリア**/
/*IE7用*/
/* Hides from IE-mac \*/
.staff .contents1 .sec1 .staff_box .staff_info .staff_txt .catches span {
  background: -moz-linear-gradient(left, #66b1fe 0%, #6a0160 100%);
  background: -webkit-gradient(linear, left center, right center, from(#66b1fe), to(#6a0160));
  background: -webkit-linear-gradient(left, #66b1fe 0%, #6a0160 100%);
  background: -o-linear-gradient(left, #66b1fe 0%, #6a0160 100%);
  background: -webkit-gradient(linear, left top, right top, from(#66b1fe), to(#6a0160));
  background: linear-gradient(to right, #66b1fe 0%, #6a0160 100%);
}

.company .contents1 .sec1 .tbl table th,
.recruit .contents2 .sec1 .tbl table th {
  background: -moz-linear-gradient(left, #6a0160 0%, #66b1fe 100%);
  background: -webkit-gradient(linear, left center, right center, from(#6a0160), to(#66b1fe));
  background: -webkit-linear-gradient(left, #6a0160 0%, #66b1fe 100%);
  background: -o-linear-gradient(left, #6a0160 0%, #66b1fe 100%);
  background: -webkit-gradient(linear, left top, right top, from(#6a0160), to(#66b1fe));
  background: linear-gradient(to right, #6a0160 0%, #66b1fe 100%);
}

.staff .contents1, .case_detail .contents1, .case .contents1, .recruit .contents1 .c_bg, .about .contents1 .c_bg, .company .contents1 .c_bg {
  background: url(../image/common/left_deco_repeat.png) left top repeat-y, url(../image/common/right_deco_repeat.png) right top repeat-y;
}

/**ボタン**/
.about .contents2 .sec1 .box_wrap .box .box_in .txt_boc .btn, .index .contents2 .sec1 .box .box_in .box_in_in .btn, .index .contents3 .sec1 .box .btn, .index .contents4 .contents4_in .sec1 .btn {
  width: 100%;
}

.about .contents2 .sec1 .box_wrap .box .box_in .txt_boc .btn a, .index .contents2 .sec1 .box .box_in .box_in_in .btn a, .index .contents3 .sec1 .box .btn a, .index .contents4 .contents4_in .sec1 .btn a {
  display: block;
  background: #6a0160;
  background: -moz-linear-gradient(left, #66b1fe 0%, #6a0160 100%);
  background: -webkit-gradient(linear, left center, right center, from(#66b1fe), to(#6a0160));
  background: -webkit-linear-gradient(left, #66b1fe 0%, #6a0160 100%);
  background: -o-linear-gradient(left, #66b1fe 0%, #6a0160 100%);
  background: -webkit-gradient(linear, left top, right top, from(#66b1fe), to(#6a0160));
  background: linear-gradient(to right, #66b1fe 0%, #6a0160 100%);
  padding: 18px 0px 18px;
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
}

.about .contents2 .sec1 .box_wrap .box .box_in .txt_boc .btn a span, .index .contents2 .sec1 .box .box_in .box_in_in .btn a span, .index .contents3 .sec1 .box .btn a span, .index .contents4 .contents4_in .sec1 .btn a span {
  position: relative;
  display: inline-block;
}

.about .contents2 .sec1 .box_wrap .box .box_in .txt_boc .btn a span:before, .index .contents2 .sec1 .box .box_in .box_in_in .btn a span:before, .index .contents3 .sec1 .box .btn a span:before, .index .contents4 .contents4_in .sec1 .btn a span:before {
  content: "";
  background: url(../image/common/w_arrow.png) left top no-repeat;
  width: 25px;
  height: 6px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -41px;
}

.about .contents2 .sec1 .box_wrap .box .box_in .txt_boc .btn a:hover span:before, .index .contents2 .sec1 .box .box_in .box_in_in .btn a:hover span:before, .index .contents3 .sec1 .box .btn a:hover span:before, .index .contents4 .contents4_in .sec1 .btn a:hover span:before {
  right: -61px;
}

.index .contents5 .sec1 .ttl_box .btn {
  width: 100%;
}

.index .contents5 .sec1 .ttl_box .btn a {
  display: block;
  background: #6a0261;
  padding: 10px 0px 10px;
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
}

.index .contents5 .sec1 .ttl_box .btn a span {
  position: relative;
  display: inline-block;
}

.index .contents5 .sec1 .ttl_box .btn a span:before {
  content: "";
  background: url(../image/common/w_arrow.png) left top no-repeat;
  width: 25px;
  height: 6px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -41px;
}

.index .contents5 .sec1 .ttl_box .btn a:hover {
  background: #000;
}

/**LINEボタン**/
.recruit .contents1 .sec1 h2 {
  font-size: 4.0rem;
  font-weight: 500;
  line-height: 1.33;
  margin-bottom: 40px;
  font-style: italic;
}

/**テーブル**/
.company .contents1 .sec1 .tbl table {
  width: 100%;
  border-top: 1px solid #bfbfbf;
  border-left: 1px solid #bfbfbf;
}

.company .contents1 .sec1 .tbl table th, .company .contents1 .sec1 .tbl table td {
  font-weight: normal;
  border-bottom: 1px solid #bfbfbf;
  padding-top: 20px;
  padding-bottom: 20px;
}

.company .contents1 .sec1 .tbl table th {
  width: 356px;
  text-align: left;
  padding-left: 30px;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.company .contents1 .sec1 .tbl table td {
  padding-left: 30px;
  border-right: 1px solid #bfbfbf;
  background: #fff;
}

/**テーブル**/
.recruit .contents2 .sec1 .tbl table {
  width: 100%;
  border-top: 1px solid #bfbfbf;
  border-left: 1px solid #bfbfbf;
}

.recruit .contents2 .sec1 .tbl table th, .recruit .contents2 .sec1 .tbl table td {
  font-weight: normal;
  border-bottom: 1px solid #bfbfbf;
  padding-top: 20px;
  padding-bottom: 20px;
}

.recruit .contents2 .sec1 .tbl table td {
  font-weight: normal;
  border-bottom: 1px solid #bfbfbf;
  padding-top: 20px;
  padding-bottom: 20px;
}

.recruit .contents2 .sec1 .tbl table th {
  width: 356px;
  text-align: left;
  padding-left: 30px;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.recruit .contents2 .sec1 .tbl table td {
  padding-left: 30px;
  border-right: 1px solid #bfbfbf;
  background: #fff;
}
/*********/


.face_book .fbcomments,
.face_book iframe,
.face_book .fb_iframe_widget,
.face_book .fb_iframe_widget[style],
.face_book .fb_iframe_widget iframe[style],
.face_book .fbcomments iframe[style],
.face_book .fb_iframe_widget span,
.face_book _2p3a {
  width: 100% !important;
}

.object-fit {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.h_style {
  text-align: center;
  line-height: 1;
  margin-bottom: 15px;
}

.h_style .before {
  font-size: 6rem;
  display: block;
  font-style: italic;
  margin-top: -30px;
}

.h_style .back {
  font-size: 12rem;
  font-style: italic;
  color: #deefff;
  display: block;
  font-weight: bold;
}

/*==================================================
社員インタビュー                            
================================================== */
.staff .contents1 {
  padding-bottom: 248px;
}

.staff .contents1 .sec1 {
  padding-top: 90px;
}

.staff .contents1 .sec1 .staff_box {
  margin-bottom: 100px;
  padding-bottom: 100px;
  position: relative;
}

.staff .contents1 .sec1 .staff_box:before {
  content: "";
  position: absolute;
  width: 90%;
  height: 1px;
  bottom: 0px;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  border-bottom: 1px solid #000;
}

.staff .contents1 .sec1 .staff_box:last-child {
  margin-bottom: 0px;
  padding-bottom: 0px;
}

.staff .contents1 .sec1 .staff_box:last-child:before {
  margin-bottom: 0px;
  border-bottom: none;
}

.staff .contents1 .sec1 .staff_box .staff_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 40px;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_photo {
  width: 450px;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_txt {
  width: 540px;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_txt .catches {
  font-size: 1.7rem;
  margin-bottom: 12px;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_txt .catches span {
  display: inline-block;
  color: #fff;
  padding: 8px 50px 8px 20px;
  position: relative;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_txt .catches span:before {
  content: "";
  position: absolute;
  right: 0px;
  top: 0px;
  background: url(../image/staff/sankaku_w.png) center top no-repeat;
  width: 21px;
  height: 100%;
  background-size:100% 100%;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_txt .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 3px double #000;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_txt .name dt {
  font-size: 3.0rem;
  margin-right: 20px;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_txt .name dd:before {
  content: "-";
  padding-left: 5px;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_txt .name dd:after {
  content: "-";
  padding-right: 5px;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_txt .comment {
  border: 1px solid #bfbfbf;
  padding: 23px;
}

.staff .contents1 .sec1 .staff_box .staff_info .staff_txt .comment dl dt {
  margin-bottom: 14px;
  font-weight: bold;
}

.staff .contents1 .sec1 .staff_box .staff_faq_box .staff_faq {
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 1px solid #d1d1d1;
}

.staff .contents1 .sec1 .staff_box .staff_faq_box .staff_faq:last-child {
  border-bottom: none;
  margin-bottom: 0px;
  padding-bottom: 0px;
}

.staff .contents1 .sec1 .staff_box .staff_faq_box .staff_faq dl {
  font-size: 2.0rem;
}

.staff .contents1 .sec1 .staff_box .staff_faq_box .staff_faq dl dt {
  margin-bottom: 10px;
}

.staff .contents1 .sec1 .staff_box .staff_faq_box .staff_faq dl dt span {
  background: url(../image/staff/q_icon.png) left top no-repeat;
  padding-left: 70px;
  min-height: 56px;
  display: block;
  padding-top: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.staff .contents1 .sec1 .staff_box .staff_faq_box .staff_faq dl dd span {
  background: url(../image/staff/a_icon.png) left top no-repeat;
  padding-left: 70px;
  min-height: 56px;
  display: block;
  padding-top: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/*==================================================
施工事例詳細                             
================================================== */
.case_detail .contents1 {
  padding-bottom: 217px;
}

.case_detail .contents1 .sec1 {
  margin-top: 75px;
}

.case_detail .contents1 .sec1 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 30px;
}

.case_detail .contents1 .sec1 .box .big {
  width: 500px;
}

.case_detail .contents1 .sec1 .box .thumb_box {
  width: 540px;
  padding: 25px 30px 0px 47px;
  height: 420px;
  overflow-y: auto;
  background: #f8f8f8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.case_detail .contents1 .sec1 .box .thumb_box ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.case_detail .contents1 .sec1 .box .thumb_box ul li {
  margin-bottom: 10px;
}

.case_detail .contents1 .sec1 .box .thumb_box ul li:nth-child(2n) {
  margin-left: 10px;
}

.case_detail .contents1 .sec1 .txt_box {
  border-bottom: 1px solid #000;
  padding-bottom: 20px;
}

/*==================================================
施工事例                                
================================================== */
.case .contents1 {
  padding-bottom: 217px;
}

.case .contents1 .sec1 {
  margin-top: 75px;
}

.case .contents1 .sec1 .case_box_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.case .contents1 .sec1 .case_box_wrap .case_box {
  width: 330px;
  margin-right: 45px;
  margin-bottom: 45px;
}

.case .contents1 .sec1 .case_box_wrap .case_box:nth-child(3n) {
  margin-right: 0px;
}

.case .contents1 .sec1 .case_box_wrap .case_box dl dt {
  margin-bottom: 15px;
}

/*==================================================
採用情報                                  
================================================== */
.recruit .contents1 {
  margin-top: 40px;
  background: url(../image/recruit/c1_bg.png) center bottom no-repeat;
}

.recruit .contents1 .c_bg {
  padding-top: 90px;
  padding-bottom: 245px;
}

.recruit .contents1 .sec1 {
  margin-bottom: 147px;
}

.recruit .contents1 .sec1 h2 {
  text-align: center;
}

.recruit .contents1 .sec1 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.recruit .contents1 .sec1 .box .txt_box {
  padding-right: 60px;
}

.recruit .contents1 .sec1 .box .txt_box p {
  margin-bottom: 20px;
}

.recruit .contents1 .sec2 h2 {
  margin-bottom: 30px;
}

.recruit .contents1 .sec2 h2 dl dt {
  font-size: 4.0rem;
}

.recruit .contents1 .sec2 h2 dl dd {
  font-size: 6rem;
}

.recruit .contents1 .sec2 .txt_box {
  text-align: center;
  margin-bottom: 60px;
}

.recruit .contents1 .sec2 .txt_box p {
  margin-bottom: 20px;
}

.recruit .contents1 .sec2 .work_box_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.recruit .contents1 .sec2 .work_box_wrap .work_box {
  width: 330px;
  padding: 25px;
  background: url(../image/recruit/w_bg.png);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.recruit .contents1 .sec2 .work_box_wrap .work_box .ttl {
  text-align: center;
  font-size: 2.0rem;
  margin-bottom: 12px;
  font-weight: 700;
}

.recruit .contents1 .sec2 .work_box_wrap .work_box .work_txt {
  background: #fff;
  padding: 20px;
}

.recruit .contents1 .sec2 .work_box_wrap .work_box .work_txt p {
  border-bottom: 1px dotted #000;
  padding-bottom: 5px;
  margin-bottom: 5px;
  letter-spacing: 0.1rem;
}

.recruit .contents1 .sec2 .work_box_wrap .work_box .work_txt p:last-child {
  margin-bottom: 0px;
}

/*************/

.recruit .contents2{
  background: url(../image/recruit/c2_bg.png) right top no-repeat;
  background-size:cover;
  padding-top:100px;
  padding-bottom:100px;
}

.recruit .contents2 .c_box{

    background: url(../image/common/deco2_left_top.png) left top no-repeat, url(../image/common/deco2_right_bottom.png) right bottom no-repeat;
}

.recruit .contents2 .sec1{
     width:1080px;
     margin:0 auto;
}

.recruit .contents2 .sec1 h2{
	margin-bottom:30px;
}

.recruit .contents2 .sec1 h2 .back{
	color:#b9cae0;
}

.recruit .contents2 .sec1 .tbl{
	margin-bottom:50px;
}

.recruit .contents2 .sec1 .response_mail{
	width:630px;
	margin:0 auto;
	background:#fff;
	padding:25px 63px 25px;
	display:flex;
	justify-content:space-between;
	box-sizing:border-box;
}

.recruit .contents2 .sec1 .response_mail .box .tels{
       font-size:3.0rem;
}

.recruit .contents2 .sec1 .response_mail .box .tels:before{
	content:"TEL : ";
}

/**********/

.recruit .contents2 .sec1 .response_mail .btn{
	width:179px;
	padding:19px;
	background:#f39800;
	box-sizing:border-box;
	position:relative;
	overflow:hidden;

}

.recruit .contents2 .sec1 .response_mail .btn a{
	display:block;
	text-align:center;
	color:#fff;
}

.recruit .contents2 .sec1 .response_mail .btn a:before {
  content: "";
  background: #faa21c;
  position: absolute;
  width: 100%;
  height: 150%;
  left: 60px;
  bottom: -64px;
  -webkit-transform: rotate(-50deg);
  -ms-transform: rotate(-50deg);
  transform: rotate(-50deg);
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  -webkit-transition-duration: 1s;
  -o-transition-duration: 1s;
  transition-duration: 1s;
}

.recruit .contents2 .sec1 .response_mail .btn a:hover {
  text-decoration: none;
}

.recruit .contents2 .sec1 .response_mail .btn a:hover:before {
  width: 220%;
  height: 150%;
  -webkit-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  transition-duration: 0.7s;
}

.recruit .contents2 .sec1 .response_mail .btn span{
	position:relative;
	z-index:1;
}



/*==================================================
私たちのこと                                       
================================================== */
.about .contents1 {
  margin-top: 40px;
  background: url(../image/about/c1_bg.png) right top no-repeat;
}

.about .contents1 .c_bg {
  padding-top: 90px;
  padding-bottom: 245px;
}

.about .contents1 .sec1 h2 {
  font-size: 4.0rem;
  font-weight: 500;
  line-height: 1.33;
  margin-bottom: 40px;
  font-style: italic;
}

.about .contents1 .sec1 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.about .contents1 .sec1 .box .txt p {
  margin-bottom: 30px;
}

.about .contents1 .sec1 .box .txt p:last-child {
  margin-bottom: 0px;
}

.about .contents2 {
  background: url(../image/about/c2_bg.png) center top no-repeat;
  background-size: cover;
  padding-top: 220px;
  padding-bottom: 259px;
  margin-top: -240px;
}

.about .contents2 .sec1 h2 {
  margin-bottom: 80px;
}

.about .contents2 .sec1 h2 .back {
  color: #b9cae0;
}

.about .contents2 .sec1 .box_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.about .contents2 .sec1 .box_wrap .box {
  width: 492px;
  position: relative;
}

.about .contents2 .sec1 .box_wrap .box:before {
  content: "";
  background: url(../image/common/shadow_bg.png) center bottom no-repeat;
  width: 399px;
  height: 44px;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: -18px;
}

.about .contents2 .sec1 .box_wrap .box .box_in {
  background: #fff;
  padding: 10px;
  border: 1px solid #b5b5b5;
  position: relative;
  z-index: 1;
}

.about .contents2 .sec1 .box_wrap .box .box_in h3 {
  background: #6a0260;
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 10px;
  padding-top: 8px;
  padding-bottom: 8px;
  color: #fff;
}

.about .contents2 .sec1 .box_wrap .box .box_in .photo {
  margin-bottom: 30px;
}

.about .contents2 .sec1 .box_wrap .box .box_in .txt_boc .txt {
  padding-left: 40px;
  padding-right: 40px;
  min-height: 88px;
}

.about .contents2 .sec1 .box_wrap .box .box_in .txt_boc .btn {
  margin-bottom: 25px;
}

.about .contents2 .sec1 .box_wrap .box .box_in .txt_boc .btn a {
  border-radius: 29px;
}

.about .contents3 {
  background: url(../image/about/c3_bg.png) center bottom no-repeat;
}

.about .contents3 .c_box {
  padding-top: 90px;
  padding-bottom: 175px;
  background: url(../image/common/deco2_left_top.png) left top no-repeat, url(../image/common/deco2_right_bottom.png) right bottom no-repeat;
}

.about .contents3 .c_box .sec1 h2 {
  margin-bottom: 30px;
}

.about .contents3 .c_box .sec1 .txt_box {
  text-align: center;
  padding-bottom: 45px;
}

.about .contents3 .c_box .sec1 .txt_box p {
  margin-bottom: 20px;
}

.about .contents3 .c_box .sec1 .txt_box p:last-child {
  margin-bottom: 0px;
}

.about .contents3 .c_box .sec1 .list_box_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.about .contents3 .c_box .sec1 .list_box_wrap dl {
  text-align: center;
}

.about .contents3 .c_box .sec1 .list_box_wrap dl dt {
  margin-bottom: 10px;
}

/*********/
/*==================================================
会社概要                                         
================================================== */
.company .contents1 {
  background: url(../image/common/tree_bg.png) center bottom no-repeat;
}

.company .contents1 .c_bg {
  padding-top: 90px;
  padding-bottom: 175px;
}

.company .contents1 .sec1 {
  /**********/
}

.company .contents1 .sec1 .tbl {
  margin-bottom: 65px;
}

.company .contents1 .sec1 .company_place_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.company .contents1 .sec1 .company_place_box .company_place {
  width: 505px;
}

.company .contents1 .sec1 .company_place_box .company_place h2 {
  border-bottom: 3px double #000;
  padding-bottom: 17px;
  margin-bottom: 40px;
  font-size: 3.0rem;
  font-style: italic;
}

.company .contents1 .sec1 .company_place_box .company_place .map {
  width: 100%;
  height: 320px;
  border: 1px solid #000;
  line-height: 0;
}

.company .contents1 .sec1 .company_place_box .company_place .map iframe {
  width: 100%;
  height: 100%;
  line-height: 0;
}

/*==================================================
トップページ                                           
================================================== */
.index .contents1 {
  margin-left: 4%;
  margin-right: 4%;
  margin-top: 70px;
  background: url(../image/index/c1_bg.png) right top no-repeat;

  min-height: 632px;
  margin-bottom: 320px;
  position: relative;
}

.index .contents1 .sec1 h2 {
  font-size: 4.0rem;
  font-weight: 500;
  line-height: 1.33;
  margin-bottom: 40px;
  font-style: italic;
}

.index .contents1 .sec1 .greeting_ttl {
  position: absolute;
  right: 50px;
  top: 475px;
}


.index .contents1 .sec1 .txt_box .txt {
  margin-bottom: 30px;
  background:#fff;
  width:400px;
  padding:10px;
  box-sizing:border-box;
  margin-left:-10px;
}

.index .contents1 .sec1 .txt_box .txt p {
  margin-bottom: 20px;
}

.index .contents1 .sec1 .txt_box .txt p:last-child {
  margin-bottom: 0px;
}

.index .contents1 .sec1 .txt_box .btn a {
  display: inline-block;
  border-bottom: 1px solid #6a0260;
  position: relative;
  padding-right: 37px;
  padding-bottom: 5px;
}

.index .contents1 .sec1 .txt_box .btn a span {
  position: relative;
}

.index .contents1 .sec1 .txt_box .btn a span:before {
  content: "";
  background: url(../image/common/arrow_bg.png) center top no-repeat;
  width: 25px;
  height: 6px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -37px;
}

.index .contents2 {
  background: url(../image/index/c2_bg.png) center bottom no-repeat;
  padding-bottom: 541px;
}

.index .contents2 .sec1 {
  position: relative;
}

.index .contents2 .sec1 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.index .contents2 .sec1 .box .box_in {
  width: 686px;
  background: #fff;
  padding: 70px 46px 70px 180px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.index .contents2 .sec1 .box .box_in .box_in_in {
  width: 449px;
  position: relative;
}

.index .contents2 .sec1 .box .box_in .box_in_in .rec_ttl {
  position: absolute;
  left: -130px;
  bottom: -207px;
}

.index .contents2 .sec1 .box .box_in .box_in_in h2 {
  font-size: 4.0rem;
  font-style: italic;
  margin-bottom: 5px;
}

.index .contents2 .sec1 .box .box_in .box_in_in .sub {
  font-size: 2.0rem;
  background: url(../image/common/line_bg.png) left bottom no-repeat;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.index .contents2 .sec1 .box .box_in .box_in_in .txt p {
  margin-bottom: 30px;
}

.index .contents2 .sec1 .box .box_in .box_in_in .btn {
  position: absolute;
  left: 0px;
  bottom: -130px;
  width: 280px;
}

.index .contents2 .sec1 .img_pos {
  position: absolute;
  left: 0px;
  top: 0px;
}

.index .contents2 .sec1 .img_pos .bg1 {
  background: url(../image/index/c2_img01.png) center top no-repeat;
  width: 578px;
  height: 661px;
  position: absolute;
  left: -40px;
  top: -198px;
}

.index .contents2 .sec1 .img_pos .bg2 {
  background: url(../image/index/c2_img02.png) center top no-repeat;
  width: 468px;
  height: 552px;
  position: absolute;
  left: -340px;
  top: 196px;
}

.index .contents2 .sec1 .img_pos .bg3 {
  background: url(../image/index/c2_img03.png) center top no-repeat;
  width: 432px;
  height: 449px;
  position: absolute;
  left: -40px;
  top: 536px;
}

.index .contents3 {
  padding-bottom: 185px;
}

.index .contents3 .sec1 .txt {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 60px;
}

.index .contents3 .sec1 .box {
  width: 94%;
  margin: 0 auto;
}

.index .contents3 .sec1 .box ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 90px;
}

.index .contents3 .sec1 .box ul li {
  position: relative;
  width: 17%;
  padding-bottom: 17%;
  margin-right: 4%;
}

.index .contents3 .sec1 .box ul li:nth-child(5n) {
  margin-right: 0%;
}

.index .contents3 .sec1 .box ul li a {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 1;
}

.index .contents3 .sec1 .box ul li a:hover {
  opacity: .8;
  text-decoration:none;
}

.index .contents3 .sec1 .box .btn {
  width: 440px;
  margin: 0 auto;
}

.index .contents4 .ttl {
  background: url(../image/index/c4_interview_bg.png) right top no-repeat;
  width: 80%;
  overflow: hidden;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 270px;
  padding-top: 10px;
  position: relative;
  z-index: 1;
}

.index .contents4 .ttl_box {
  padding-right: 10%;
}

.index .contents4 .ttl_box .h_style .before {
  color: #fff;
  margin-top: -50px;
}

.index .contents4 .ttl_box .h_style .back {
  color: #7e599d;
}

.index .contents4 .ttl_box .ttl_txt {
  text-align: center;
  color: #fff;
  font-size: 2.5rem;
}

.index .contents4 .contents4_in {
  background: url(../image/index/c4_bg.png) center bottom no-repeat;
  margin-top: -140px;
  padding-top: 280px;
  padding-bottom:100px;
  /*min-height: 1798px;*/
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 90px;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box {
  background: #fff;
  width: 487px;
  margin-right: 100px;
  margin-top: 0px;
  margin-bottom: 120px;
  position: relative;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box:before {
  content: "";
  background: url(../image/common/shadow_bg.png) center top no-repeat;
  width: 399px;
  height: 44px;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: -28px;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box a {
  display: block;
  opacity: 1;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box a:hover {
  text-decoration: none;
  opacity: .8;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box:nth-child(2n) {
  margin-right: 0px;
  margin-top: 120px;
  margin-bottom: 0px;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box .staff_box_in {
  position: relative;
  z-index: 1;
  background: #fff;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box .name_box {
  padding: 20px 25px 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box .name_box .name {
  font-size: 3.0rem;
  color: #cae1f8;
  font-weight: bold;
  font-style: italic;
  margin-bottom: 1px;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box .name_box .nm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box .name_box .nm dt {
  font-size: 1.7rem;
  position: relative;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box .name_box .nm dt:before {
  content: "";
  width: 43px;
  border-bottom: 1px solid #000;
  position: absolute;
  right: -53px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box .name_box .nm dd {
  font-size: 2.5rem;
  margin-left: 70px;
}

.index .contents4 .contents4_in .sec1 .staff_box_wrap .staff_box .name_box .en_name {
  line-height: 1;
  text-align: right;
  font-size: 4.0rem;
  font-weight: bold;
  color: #faf1f9;
}

.index .contents4 .contents4_in .sec1 .btn {
  width: 435px;
  margin: 0 auto;
}

.index .contents5 {
  background: url(../image/index/c5_bg.png) center top;
  padding-top: 115px;
  padding-bottom: 124px;
}

.index .contents5 .sec1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.index .contents5 .sec1 .ttl_box {
  width: 326px;
}

.index .contents5 .sec1 .ttl_box dl {
  line-height: 1;
  font-style: italic;
  margin-bottom: 50px;
}

.index .contents5 .sec1 .ttl_box dl dt {
  font-weight: bold;
  font-size: 12rem;
  color: #fff;
}

.index .contents5 .sec1 .ttl_box dl dd {
  text-align: center;
  font-size: 6rem;
  margin-top: -40px;
}

.index .contents5 .sec1 .ttl_box .btn {
  width: 168px;
  margin: 0 auto;
}

.index .contents5 .sec1 .news_box {
  width: 640px;
}

.index .contents5 .sec1 .news_box dl {
  border-bottom: 1px dotted #545a62;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.index .contents5 .sec1 .news_box dl:last-child {
  margin-bottom: 0px;
}

.index .contents5 .sec1 .news_box dl dt {
  margin-bottom: 15px;
}

.index .contents5 .sec1 .news_box dl dd span {
  display: block;
  width: 200px;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}

.index .photo_list_end {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.index .photo_list_end li {
  width: 17%;
  padding-bottom: 15%;
}

/*==================================================
エラーページ
================================================== */
.error .contents1 {
  padding-top: 80px;
  padding-bottom: 100px;
  overflow: hidden;
}

.error .contents1 .sec1 {
  zoom: 1;
  overflow: hidden;
}

.error .contents1 .sec1 a {
  color: #000 !important;
}

/*==================================================
プライバシーポリシー
================================================== */
.privacy .contents1 {
  padding-top: 80px;
  padding-bottom: 30px;
}

.privacy .contents1 .privacy_box h3.item-title-h3 {
  font-size: 2.0rem;
  font-weight: bold;
}

.privacy .contents1 .privacy_box .item-box {
  line-height: 1.8;
  margin-bottom: 30px;
}

.privacy .contents1 .privacy_box .item-box:last-child {
  margin-bottom: 80px;
}

/*==================================================
 サイトマップ
================================================== */
.site .contents1 {
  padding-top: 80px;
  padding-bottom: 100px;
}

.site .contents1 .sitemap-list li {
  padding: 0 0 0 0px;
  line-height: 40px;
  border-bottom: 1px dotted #ccc;
}

.site .contents1 .sitemap-list li a {
  color: #000 !important;
  position: relative;
  padding-left: 15px;
}

.site .contents1 .sitemap-list li a:before {
  content: "";
  position: absolute;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/*==================================================
 ブログ
================================================== */
.blog .contents1 {
  padding-top: 80px;
  padding-bottom: 100px;
  overflow: hidden;
}

.blog .contents1 .sec1 .item-box {
  background: #fff;
  -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
  padding: 20px;
  margin-bottom: 20px;
  border: 4px solid #66b1fe;
}

.blog .contents1 .sec1 .item-box dl {
  overflow: hidden;
  zoom: 1;
}

.blog .contents1 .sec1 .item-box dl dt {
  float: left;
}

.blog .contents1 .sec1 .item-box dl dd {
  margin-left: 110px;
}

.blog .contents1 .sec1 .item-box dl dd a {
  color: #000 !important;
}

/*==================================================
 ブログ詳細
================================================== */
.blog_detail .contents1 {
  padding-top: 80px;
  padding-bottom: 100px;
  overflow: hidden;
}

.blog_detail .contents1 .sec1 h3 {
  font-size: 2.2rem;
  border-bottom: 2px solid #66b1fe;
  margin-bottom: 20px;
  padding-bottom:5px;
}

.blog_detail .contents1 .sec1 img {
  max-width: 1040px;
}

.blog_detail .contents1 .sec1 .item-box {
  background: #fff;
  border: 4px solid #66b1fe;

  -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
  padding: 20px;
  margin-bottom: 20px;
  overflow: hidden;
  zoom: 1;
}

/*==================================================
 お問い合わせ
================================================== */
.contact .contents1 {
  padding-top: 80px;
  padding-bottom: 60px;
}

.contact .contents1 .contact_box table {
  border-top: 1px solid #000;
  width: 100%;
}

.contact .contents1 .contact_box table th {
  background: #eee;
  width: 320px;
}

.contact .contents1 .contact_box table td {
  width: 780px;
}

.contact .contents1 .contact_box table th, .contact .contents1 .contact_box table td {
  border-bottom: 1px solid #000;
  padding: 20px;
  word-wrap: break-word;
}

.contact .contents1 .contact_box .reg {
  margin-bottom: 20px;
}

.contact .contents1 .contact_box form input {
  font-size: 1.6rem;
}

.contact .contents1 .contact_box form textarea {
  width: 100%;
  height: 180px;
  font-size: 1.6rem;
  font-family: "Noto Sans JP","メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka",Verdana,"ＭＳ Ｐゴシック","MS P Gothic",Arial,Helvetica,sans-serif;
}

.contact .contents1 .contact_box form .clrred {
  color: #c00;
}

.contact .contents1 .contact_box .contact-recaptcha-wrap,
.contact .contents1 .contact_box .contact-submits-wrap {
  text-align: center;
  margin: 10px auto 10px;
  width: 304px;
}

.contact .contents1 .contact_box .contact-recaptcha-wrap input {
  text-align: center;
}

/* input設定
-------------------------------------------------- */
.input-big,
.input-mid,
.input-min {
  padding: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.input-big {
  width: 100%;
}

.input-mid {
  width: 60%;
}

.input-min {
  width: 60px;
}

.mt5 {
  margin-top: 5px;
}

/* 必須マーク
-------------------------------------------------- */
.required-mark {
  padding: 1px 3px;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  border-radius: 5px;
  background: #f00;
  float: right;
  margin-top: 5px;
}

/* 未記入エラー文
-------------------------------------------------- */
.error-text {
  margin: 0 0 5px;
  color: #f00;
}

/* 確認、バック、送信ボタン
-------------------------------------------------- */
.contact-submits {
  padding: 15px 0 0;
  text-align: center;
}

.contact-submits input {
  margin: 0 5px;
  padding: 5px;
}

/* セキュリティエラー
-------------------------------------------------- */
.sec-error-text {
  line-height: 50px;
  text-align: center;
  color: #f00;
  font-size: 16px;
  border: 2px solid #f00;
}
