@charset "UTF-8";

@media screen and (max-width: 1200px){
html,body{
height:auto;
}
}

.blcComm{ /* 汎用blcComm拡張 */
margin-bottom:0;
}

/* catchBlc ------------------------ */
#catchBlc{
box-sizing:border-box;
height:580px;
padding-top:100px;
background-position:center top;
text-align:center;
color:#333333;
line-height:1;
overflow:hidden;
}

#catchBlc h1{
font-size:32px;
line-height:1;
color:#4b230f;
}

#catchBlc .catch,
#catchBlc .catch2{
font-size:26px;
line-height:1;
}

#catchBlc .imgCatch img{
width: 100%;
max-width:761px;
height:auto;
}

#catchBlc .catch{
margin-top:70px;
}

#catchBlc .catch2{
margin-top:20px;
}

#catchBlc .contentBtn{
display:inline-block;
margin:58px auto 0;
}

@media screen and (max-width: 1200px){
  #catchBlc{
  width:100%;
  height:500px;
  padding:100px 2% 0;
  }

  #catchBlc .catch,
  #catchBlc .catch2{
  font-size:160%;
  line-height:2.2em;
  }

  #catchBlc .catch2{
  margin-top:0;
  }
}

@media screen and (max-width: 1000px){
  #catchBlc{
  width:100%;
  height:400px;
  padding:50px 2% 0;
  }

  #catchBlc .catch{
  margin-top:60px;
  }

  #catchBlc .catch,
  #catchBlc .catch2{
  font-size:120%;
  }

  #catchBlc .contentBtn{
  margin:48px auto 0;
  }
}

@media screen and (max-width: 768px){
  #catchBlc{
  height:350px;
  }

  #catchBlc .catch{
  margin-top:40px;
  }

  #catchBlc .catch,
  #catchBlc .catch2{
  font-size:100%;
  }

  #catchBlc .contentBtn{
  margin:38px auto 0;
  }
}

@media screen and (max-width: 480px){
  #catchBlc{
  height:380px;
  }
}

/* aboutBlc ------------------------ */
#aboutBlc{
padding-top:80px;
background:url(../img/common/logo2.png) no-repeat 90% center;
}

#aboutBlc p{
margin:65px 0;
}


@media screen and (max-width: 1200px){
  #aboutBlc{
  padding:40px 2%;
  }

  #aboutBlc .blcComm > h1{
  line-height:2.3em;
  }

  #aboutBlc .blcComm > h1 img{
  display:block;
  width:auto;
  max-height:40px;
  }

  #aboutBlc p{
  margin:35px 0;
  }
}

/* newsBlc ------------------------ */
#newsBlc{
padding:60px 0 100px;
background:#4b230f;
margin-top:30px;
}

#newsBlc h1{
margin-bottom:30px;
}

#newsBlc span.btn{
display:inline-block;
float:right;
width:160px;
margin:0 0 15px;
padding:8px;
background:#409e27;
border-radius:5px;
font-size:13px;
color:#fff;
text-align:center;
}

#newsBlc #newsList {
clear:both;
position: relative;
margin:0 auto;
overflow:hidden;
}


#newsBlc #newsList li dl{
padding:10px 35px;
border-radius:5px;
}

#newsBlc #newsList li dt{
float:left;
padding:8px 0;
color:#FFFFFF;
border-bottom:1px dotted #999999;
}

#newsBlc #newsList li dd{
padding:8px 0 8px 9em;
color:#FFFFFF;
border-bottom:1px dotted #999999;
}

#newsBlc #newsList li dd a{
color:#FFFFFF;
}

#newsBlc #newsList li dd a:hover{
color:#FFFFFF;
}

@media screen and (max-width: 1200px){
  #newsBlc{
  padding:40px 2% 40px;
  }
}

@media screen and (max-width: 1000px){
  #newsBlc #newsList li dl{
  padding:10px 2%;
  }

  #newsBlc #newsList li dt{
  float:none;
  display:block;
  border-bottom:hidden;
  }

  #newsBlc #newsList li dd{
  display:block;
  padding:8px 0;
  }
}

@media screen and (max-width: 480px){
  #newsBlc span.btn{
  display:block;
  float:none;
  margin:40px auto 0;
  }
}



/* reasonBlc ------------------------ */
#reasonBlc{
min-height:415px;
padding:80px 0 115px;
border-top:#d5d5d5 solid 1px;
}

#reasonBlc .blcComm > h1{
font-size:24px;
line-height:1;
}

#reasonBlc .blcComm > h1 img{
padding-right:25px;
}

#reasonBlc .clearFix{
display:table;
margin:60px auto 0;
}

#reasonBlc section{
float:left;
width:292px;
height:292px;
margin-right:50px;
background:#4b230f;
border-radius:292px;
text-align:center;
}

#reasonBlc section:nth-child(3){
margin-right:0;
}

#reasonBlc section h1{
height:111px;
overflow:hidden;
}

#reasonBlc section h1 p{
width:292px;
height:232px;
margin-top:-0.5px;
padding-top:60px;
background:#e1002a;
border-radius:292px 292px 0 0;
}

#reasonBlc section p{
color:#fff;
margin:14px 0 0;
letter-spacing:0;
}

@media screen and (max-width: 1200px) {
  #reasonBlc{
  padding:20px 2% 45px;
  }

  #reasonBlc .blcComm > h1{
  font-size:130%;
  line-height:1.5em;
  }

  #reasonBlc .blcComm > h1 img{
  display:block;
  width:auto;
  max-height:40px;
  margin-bottom:12px;
  }

  #reasonBlc .clearFix{
  display:block;
  text-align:center;
  letter-spacing:-0.4em;
  }

  #reasonBlc section{
  float:none;
  letter-spacing:normal;
  display:inline-block;
  margin:0 calc(25% - 221.25px) 2%;
  }

  #reasonBlc section h1 p{
  max-width:100%;
  }
}

@media screen and (max-width: 1200px) and (min-width: 1000px) {
  #reasonBlc section:nth-child(3n+1){
  margin-left:0;
  }

  #reasonBlc section:nth-child(3n+3){
  margin-right:0;
  }
}

@media screen and (max-width: 1000px){
  #reasonBlc section:nth-child(3),
  #reasonBlc section{
  margin:0 calc(25% - 146px) 2%;
  }
}

@media screen and (max-width: 640px){
  #reasonBlc section:nth-child(3),
  #reasonBlc section{

  margin:0 auto 2%;
  }
}

/* serviceBlc ------------------------ */
#serviceBlc{
padding-top:80px;
border-top:#d5d5d5 solid 1px;
}

#serviceBlc .blcComm > h1{
margin-bottom:72px;
font-size:24px;
line-height:1;
}

#serviceBlc .blcComm > h1 img{
padding-right:25px;
}

#serviceBlc .txt{
float:left;
width:480px;
}

#serviceBlc .img li{
float:left;
margin-right:1px;
}

#serviceBlc .btn{
width:100%;
margin-top:120px;
padding:30px 0;
background:#4b230f;
}

#serviceBlc .btn ul{
display:table;
margin:0 auto;
}

#serviceBlc .btn ul li{
float:left;
width:486px;
}

#serviceBlc .btn ul li:first-child{
margin-right:5px;
}

#serviceBlc .btn ul li:last-child{
margin-left:5px;
}

#serviceBlc .btn li a{
display:block;
padding:8px 0;
background:url(../img/common/arrow.png) no-repeat 435px center #fff;
border-radius:5px;
font-size:15px;
text-align:center;
}

@media screen and (max-width: 1479px) {
  #serviceBlc .btn{
  width:96%;
  margin-top: 40px;
  padding: 40px 2%;
  }

  #serviceBlc .btn ul{
  display:table;
  width:100%;
  }

  #serviceBlc .btn ul li{
  display:table;
  float:left;
  width:33%;
  }

  #serviceBlc .btn ul li a{
  display:table-cell;
  vertical-align:middle;
  padding:2% 40px 2% 4%;
  background: url(../img/common/arrow.png) no-repeat right 20px center #fff;
  }
}

@media screen and (max-width: 1200px) {
  #serviceBlc{
  padding:40px 0 0;
  margin-bottom:0;
  }

  #serviceBlc .blcComm{
  width:96%;
  padding:0 2%;
  }

  #serviceBlc .blcComm > h1{
  margin-bottom:25px;
  font-size:130%;
  line-height:1.5em;
  }

  #serviceBlc .blcComm > h1 img{
  display:block;
  width:auto;
  max-height:40px;
  margin-bottom:12px;
  }

  #serviceBlc .txt{
  float: none;
  width: 100%;
  }

  #serviceBlc .cenBlc{
  text-align:center;
  }

  #serviceBlc .cenBlc h1{
  text-align:left;
  }

  #serviceBlc .txt{
  text-align:left;
  margin-bottom:2%;
  }

  #serviceBlc .img{
  display:inline-block;
  text-align:center;
  margin:0 auto;
  }

  #serviceBlc .img li:nth-child(1){
  width:calc(53.057% - 2px);
  }

  #serviceBlc .img li:nth-child(2){
  width:calc(25.53% - 2px);
  }

  #serviceBlc .img li:nth-child(3){
  width:calc(20.863% - 2px);
  }

  #serviceBlc .btn ul{
  max-width: 500px;
  }

  #serviceBlc .btn ul li{
  float:left;
  width:100%;
  box-sizing:border-box;
  margin-bottom:5px;
  }

  #serviceBlc .btn ul li:first-child{
  margin-right:0;
  }

  #serviceBlc .btn ul li:last-child{
  margin-left:0;
  }
}

/* useBlc ------------------------ */
#useBlc{
padding:55px 0;
text-align:center;
background:url(../img/top/catch_bg03.jpg) no-repeat center center #000;
color:#FFFFFF;
}

#useBlc h1{
font-size:24px;
color:#FFFFFF;
}

#useBlc ul{
display:table;
margin:40px auto 0;
}

#useBlc li{
float:left;
width:180px;
margin-right:20px;
text-align:center;
font-weight:bold;
color:#FFFFFF;
}

#useBlc li:last-child{
margin-right:0;
}

#useBlc li img{
display:block;
margin-bottom:8px;
border:#FFFFFF 2px solid;
}

#useBlc .catch{
margin:20px 0 35px;
font-size:18px;
}

#useBlc .lineArt{
margin:0 0 35px;
}

#useBlc .lineArt img{
border:#FFFFFF 2px solid;
}

@media screen and (max-width: 1200px){
  #useBlc{
  padding:55px 2%;
  }

  #useBlc li{
  float:left;
  width:calc(33.33% - 13.33px);
  margin-right:20px;
  }

  #useBlc li img{
  max-width:100%;
  height:auto;
  }
}

@media screen and (max-width: 768px){
  #useBlc h1{
  font-size:130%;
  }

  #useBlc .catch{
  font-size:100%;
  }
}


/* galleryBlc ------------------------ */
#galleryBlc{
padding:80px 0;
border-top:#d5d5d5 solid 1px;
}

#galleryBlc .blcComm > h1{
font-size:22px;
line-height:1;
letter-spacing:0.02em;
}

#galleryBlc .blcComm > h1 img{
padding-right:25px;
vertical-align:middle;
}

#galleryBlc ul{
display:table;
margin:50px auto 0;
}

#galleryBlc li{
float:left;
width:200px;
margin-right:1px;
}

#galleryBlc ul.gallerySp{
display:none;
}

@media screen and (max-width: 1200px){
  #galleryBlc{
  padding:40px 2%;
  }

  #galleryBlc .blcComm > h1{
  font-size: 130%;
  line-height:1.5em;
  }

  #galleryBlc .blcComm > h1 img{
  display:block;
  max-height:50px;
  width:auto;
  margin-bottom:12px;
  }

  #galleryBlc li{
  width:calc(20% - 0.8px);
  }

  #galleryBlc li:nth-child(5n+5){
  margin-right:0;
  }

  #galleryBlc li img{
  max-width:100%;
  height:auto;
  }
}

@media screen and (max-width: 768px){
  #galleryBlc ul{
  display:block;
  text-align:center;
  }
}

@media screen and (max-width: 640px){
  #galleryBlc li{
  float:none;
  text-align:center;
  width:100%;
  margin-right:0;
  margin-bottom:2px;
  }

  #galleryBlc ul.galleryPc{
  display:none;
  }

  #galleryBlc ul.gallerySp{
  display:block;
  }
}

@media screen and (max-width: 480px){
}

/* recruitBlc ------------------------ */
#recruitBlc{
padding:80px 0;
border-top:#d5d5d5 solid 1px;
border-bottom:#d5d5d5 solid 1px;
background-color:#e1002a;
color:#FFFFFF;
}

#recruitBlc .blcComm > h1{
margin-bottom:72px;
font-size:22px;
line-height:1;
color:#FFFFFF;
}

#recruitBlc .blcComm > h1 img{
padding-right:25px;
}

#recruitBlc p{
margin:60px 0 135px;
}

@media screen and (max-width: 1200px){
  #recruitBlc{
  padding:40px 2%;
  margin-bottom: 30px;
  }

  #recruitBlc .blcComm > h1{
  margin-bottom:40px;
  font-size: 130%;
  line-height:1.5em;
  }

  #recruitBlc .blcComm > h1 img{
  display: block;
  max-height:50px;
  width:auto;
  margin-bottom:12px;
  }

  #recruitBlc p{
  margin:0 0 50px;
  }
}


/* contactBlc ------------------------ */
#contactBlc{
padding-top:80px;
}

#contactBlc > h1{
font-size:24px;
line-height:1;
}

#contactBlc > h1 img{
padding-right:25px;
}

#contactBlc .att{
width:95%;
margin:45px auto 25px;
}

#contactBlc .att img{
margin:7px 7px 0 0;
vertical-align:top;
}

#contactBlc .att a{
color:#E1012A;
}

#contactBlc .required th{
padding-left:70px;
background:url(../img/common/icon_required.png) no-repeat 15px 20px #f7f7f7;
}

#contactBlc .option th{
padding-left:70px;
background:url(../img/common/icon_option.png) no-repeat 15px 20px #f7f7f7;
}

#contactBlc .name,
#contactBlc .name_kana,
#contactBlc .add,
#contactBlc .EMAIL,
#contactBlc .message{
width:360px;
}
#contactBlc .name:focus,
#contactBlc .name_kana:focus,
#contactBlc .add:focus,
#contactBlc .EMAIL:focus,
#contactBlc .message:focus{
width:440px;
}

#contactBlc .tel,
#contactBlc .fax{
width:200px;
}

#contactBlc .tel:focus,
#contactBlc .fax:focus{
width:250px;
}

#contactBlc .postcode{
width:80px;
}
#contactBlc .postcode:focus{
width:140px;
}

#contactBlc #rule{
width:95%;
margin:40px auto;
line-height:1.6;
}

#contactBlc #rule a{
display:block;
margin:20px 0;
}

#contactBlc #formSubmit{
text-align:center;
padding:0 0 3%;
}

#contactBlc input[type="submit"]{
display:block;
width:350px;
margin:0 auto;
padding:15px 10px 15px 0;
background:url(../img/common/arrow_w.png) no-repeat 310px center #4b230f;
border-radius:5px;
border:none;
font-size:15px;
line-height:1;
text-align:center;
color:#fff;
cursor:pointer;
}

@media screen and (max-width: 1200px){
  #contactBlc{
  width:96%;
  padding:40px 2% 0;
  }

  #contactBlc > h1{
  font-size: 130%;
  line-height:1.5em;
  }

  #contactBlc > h1 img{
  display: block;
  max-height:50px;
  width:auto;
  margin-bottom:12px;
  }

  #contactBlc .att{
  margin:25px auto 25px;
  }

  #contactBlc tr th,
  #contactBlc tr td{
  display:block;
  width:100%;
  box-sizing:border-box;
  }

  #contactBlc .required th{
  background:url(../img/common/icon_required.png) no-repeat 15px 8px #f7f7f7;
  }

  #contactBlc .option th{
  background:url(../img/common/icon_option.png) no-repeat 15px 8px #f7f7f7;
  }

  #contactBlc input[type="submit"]{
  max-width:350px;
  width:100%;
  box-sizing:border-box;
  }
}

@media screen and (max-width: 768px){
  #contactBlc .name,
  #contactBlc .name_kana,
  #contactBlc .add,
  #contactBlc .EMAIL,
  #contactBlc .message{
  max-width:360px;
  width:98%;
  box-sizing: border-box;
  }
  #contactBlc .name:focus,
  #contactBlc .name_kana:focus,
  #contactBlc .add:focus,
  #contactBlc .EMAIL:focus,
  #contactBlc .message:focus{
  max-width:440px;
  width:100%;
  box-sizing: border-box;
  }
}

@media screen and (max-width: 360px){
  #contactBlc input[type="submit"]{
  background:#4b230f;
  }
}