@charset "utf-8";
/*================================================
  main_  section

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

/* topics
------------------------------------ */

#topics{
	width:90%;
	max-width: 1728px;
	margin: 0 auto;
	border-left: 3px solid #000;
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.25);
	padding: 0 0 0 20px;
	margin-bottom: 100px;
	margin-top: 50px;
}

#topics .txt-sub{
	font-size: 1.6rem;
}

@media screen and (max-width:768px) {
  #topics{
	  margin-bottom: 80px;
  }
}

#topics h2{
	font-size: 2.8rem;
}

@media screen and (max-width:590px) {
  #topics h2.mr-50p{
	  margin-right: 0;
  }
}

#topics h2 span.bgLRextend::before{
	background: #333;
}

.topics_inner {
	display: flex;
  /*flex-direction: row;*/
	justify-content: flex-start; /*space-between*/
	align-items: center;
}
@media screen and (max-width:960px) {
  .topics_inner {
    justify-content: space-between;
  }
}
@media screen and (max-width:440px) {
  .topics_inner {
	  display: block;
  }
  
  .btn-topics_list {
	  margin-top: 10px !important;
  }
}

/*お知らせ一覧ボタン*/
.topics_inner a.btn-topics_list {
	display: flex;
	width: 70px;
	height: 26px;
	margin: 0;
	padding: 1px 4px;
	justify-content: space-around;
	align-items: center;
	color: #fff;
	font-size: 1.2rem;
  letter-spacing: 0.1rem;
	background-color: #c8102e;
	border-radius: 0.5vh;
}

.topics_inner a::after {
	display: inline-block;
	content: '';
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.topics_inner a:hover {
  opacity: .5;
	transition: all .3s;
}

#topics li a:hover {
	color: #c8102e;
	transition: all .3s;
}

/*----------  bxslider.cssの上書き  s+*/
.bx-wrapper{
  box-shadow:none;
  border:none;
}


/* vision
------------------------------------ */

#vision{
	width:90%;
	max-width: 1200px;
	margin:0 auto;
}

#vision > .sct_areainner {
  display: flex;
  justify-content:space-between;
  align-items: center;
  flex-wrap: wrap;
	margin:0 0 100px 0;
}
@media screen and (max-width:768px) {
  #vision > .sct_areainner {
	  margin:0 0 60px 0;
  }
}
@media screen and (max-width:590px) {
  #vision > .sct_areainner {
	  margin:0 0 50px 0;
  }
}

#vision .txt-sub{
	font-size: 1.6rem;
}

#vision .img{
  width: 45%;
  min-height: 590px;
  background: url("../img/top/top_pct_01.jpg") no-repeat top right;
  background-size: contain;
}
@media screen and (max-width:1279px) {
  #vision .img{
    background-size: cover;
  }
}

#vision .content{
	width: 50%; 
  text-align: right;
}

#vision p.txt_lef{
  text-align: left;
}

@media screen and (max-width:768px) {
  #vision .img{
	  width: 100%;
    background-position: center right;
	  min-height: 350px;
	  margin:0 0 50px 0;
  }
  
  #vision .content{
	  width: 100%; 
	  text-align: left;
  }  
}

#vision h2{
  color: #c8102e;
  margin: 0 0 30px 0;
}

#vision p{
  line-height: 2;
  margin: 0 0 50px 0;
}

#vision p:last-child{
  margin: 0;
}

#vision .vision-lead{
  position: relative;
  color: #c8102e;
  font-size: 2rem;
  font-weight: bold;
  margin: 0 0 90px 0;
}
@media screen and (max-width:768px) {
  #vision .vision-lead{
	  font-size:1.6rem;
  }
}

#vision .vision-lead::after{
	content:'';
  position: absolute;
  bottom: -30px;
  right: 0;
  background: #c8102e;
  width: 12em;
  height: 3px;
}

#vision p {
	display: block;
	text-align: right;
	margin-top: 50px;
	padding: 0;
}

#vision p img{
	width: 60%;
  margin: 0;
	padding: 0;
}
@media screen and (max-width:960px) {
  #vision p img{
	  width: 60%;
  }
}
@media screen and (max-width:768px) {
  #vision p img{
	  width: 42%;
  }
}
@media screen and (max-width:550px) {
  #vision p img{
	  width: 50%;
  }
}


/* advantage
------------------------------------ */

#advantage{
  text-align: center;
	background: url("../img/top/top_bg_01.jpg") no-repeat center;
	background-size: cover;
	margin: 0 auto;
	padding: 60px;
	margin-bottom: 100px;
}

#advantage >.sct_areainner {
	 width: 100%;
	 margin:0 auto;
}
@media screen and (max-width:940px) {
  #advantage {
	  padding:30px;
  }
}
@media screen and (max-width:768px) {
  #advantage  {
	  margin-bottom: 60px;
  }
}
@media screen and (max-width:590px) {
  #advantage  {
	  margin-bottom: 50px;
  }
}

#advantage h2{
	font-size: 3rem;
	color: #fff;
  text-align: center;
  margin: 0 0 60px 0;
}
@media screen and (max-width:768px) {
  #advantage h2{
  	font-size: 2.8rem;
	  margin: 0 0 60px 0;
  }
}
@media screen and (max-width:590px) {
  #advantage h2{
  	font-size: 2.4rem;
	  margin: 0 0 50px 0;
  }
}
@media screen and (max-width:405px) {
  #advantage h2{
  	font-size: 2.1rem;
	  margin: 0 0 50px 0;
  }
}
@media screen and (max-width:360px) {
  #advantage {
	  padding: 30px 20px;
  }  
  #advantage h2{
    letter-spacing: 0.02em;
  }
}

#advantage h2 span.bgLRextend::before{
  background: #fff;
}

.advantage_flex_area{
  display: flex;
  justify-content: space-between;
  text-align: center;
  flex-wrap: wrap;
  overflow: hidden;
}

.advantage_flex_area .advantage_block{
  width:90%;
	max-width: 1200px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
	margin: 0 auto;
}

.advantage_flex_area .advantage_block article{
 /*    margin:0 0 3vh 0; */  
}
.advantage_flex_area .advantage_block article:nth-of-type(1){ 
    width:23%;
    animation-delay: 0.3s;
}
.advantage_flex_area .advantage_block article:nth-of-type(2){ 
    width:23%;
    animation-delay: .6s;
}
.advantage_flex_area .advantage_block article:nth-of-type(3){
    width:23%;
    animation-delay: 1s;
}
.advantage_flex_area .advantage_block article:nth-of-type(4){ 
    width:23%;
    animation-delay: 1.4s;
}

@media screen and (max-width:990px) {
  .advantage_flex_area .advantage_block article:nth-of-type(n+1){ 
    width: 36%;
    margin: 0 0 20px 0;
  }
  .advantage_flex_area .advantage_block{
	  width:80%;
	  justify-content: space-evenly;
  }
}
@media all and (max-width: 990px), (-ms-high-contrast: none), (-ms-high-contrast: active) {
  /* IE10・11のみ対応 */
  .advantage_flex_area .advantage_block{
	  width:80%;
	  justify-content: space-around;/*space-evenlyの変更*/
  }
}
@media screen and (max-width:768px) {
  .advantage_flex_area .advantage_block article:nth-of-type(n+1){ 
    width: 36%;
  }
  .advantage_flex_area .advantage_block{
	  width:90%;
  }
}
@media screen and (max-width:590px) {
  .advantage_flex_area .advantage_block article:nth-of-type(n+1){ 
    width: 80%;
    margin: 0 0 10px 0;
  }
  .advantage_flex_area .advantage_block{
	  width:90%; /*全体の幅*/
  }
}


@media screen and (max-width:990px){
  .advantage_flex_area .advantage_block article:nth-of-type(n+1){ 
    animation-delay: .5s;
  }
}
@media screen and (max-width:450px){
  .advantage_flex_area .advantage_block article:nth-of-type(n+1) {
    animation-delay: 0s!important;
  }
}

.advantage_block_inner {
	height: 250px;
  /*中を縦表示*/
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	border: 3px solid #fff;
	border-radius: 10px;
	
	color: #FFF;
	text-shadow: 1px 2px 3px #808080;
	overflow: hidden;
}
@media screen and (max-width:990px) {
  .advantage_block_inner {
	  height: 200px;
  }
}

.advantage_block_inner .img-box {
  width:100%;
	max-width: 120px;
	margin: 0 auto;
	padding: 5%;
	
	min-height: 0%; /*親：flex-direction: columnの時ieにて余白の対応*/
}

.advantage_flex_area h3{
  font-size: 2rem;
  margin: 0 0 20px 0;
}
.advantage_block_inner p {
	text-align: left;
}
@media screen and (max-width:480px){
  .advantage_flex_area h3{
	  font-size:1.6rem;
  }
  .advantage_flex_area p{
	  font-size:1.4rem;
  }
}


/* service
------------------------------------ */

#service{
	width: 90%;
  max-width: 1200px;
	margin: 0 auto;
}

/*レイアウト関連*/
#service >.sct_areainner {
	margin:0 0 260px 0; /*150+10+100*/
}
@media screen and (max-width:768px) {
  #service > .sct_areainner {
	  margin:0 0 120px 0; /*100+10+60*/
  }
}
@media screen and (max-width:590px) {
  #service > .sct_areainner {
	  margin:0 0 50px 0;
  }
}

#service h2{
  text-align: center;
  margin: 0 0 100px 0;
}
@media screen and (max-width:768px) {
  #service h2{
	  margin: 0 0 60px 0;
  }
}
@media screen and (max-width:590px) {
  #service h2{
	  margin: 0 0 50px 0;
  }
}

/*service title色変え*/
#service h2 span.bgLRextend::before{
  background: #333;
}

#service .txt-sub{
	font-size: 1.6rem;
}

#service .service-area{
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 300px 0;
}

#service .service-area:last-child{
  margin: 0;
}

@media screen and (max-width:768px) {
  #service .service-area{
	  margin:0 0 100px 0;   
  }
}
@media screen and (max-width:590px) {
  #service .service-area{
	  margin:0 0 50px 0;   
  }
}

#service .service-area::after{
	content:'';
  position: absolute;
  width: 70%;
  height: 23em;
  background:#dbdcdc; /*f3f3f3*/
  right: 10%;
  top: 20%;
  z-index: -1;
}

#service .service-area:nth-of-type(2n+1){
  flex-direction: row-reverse;
}

#service .service-area .img{
  width: 50%;
}

#service .service-area .content{
  width: 40%;
  background: #fff;
  box-shadow: 0 0 20px #ccc;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  top: 150px;
}
@media screen and (max-width:990px) {
  #service .service-area .content{
	  width: 47%;
	  top: 120px;
  }  
}
@media screen and (max-width:768px) {
  #service .service-area .img{
	  width: 100%;
	  z-index: 2;
  }
  #service .service-area .content{
	  width: 100%;
	  top: -10px;
	  animation: none;
	  opacity: 1;
	  z-index: 1;
  }
}

#service .service-area .content-area{
  padding: 40px;   
}
@media screen and (max-width:400px) {
  #service .service-area .content-area{
    padding: 30px;   
  }
}

#service .service-area .content-area h3{
	text-align: center;
  font-size: 1rem;
  margin: 0 0 30px 0;
}

#service .service-area .content-area h3.txt-upper{
  font-weight: bold;
  font-size: 1.8rem;
}
@media screen and (max-width:480px) {
  #service .service-area .content-area h3.txt-upper{
    font-size: 1.6rem;
  } 
}

#service .service-area .content-area h3 span:last-child {
  display: block;
  font-size: 2rem;
}

#service .service-area .content-area p{
   margin: 0 0 30px 0;   
}

#service h3.colorful_01 span:nth-child(1) { color: #c8102e; }
#service h3.colorful_01 span:nth-child(2) { color: #c8102e; }
#service h3.colorful_01 span:nth-child(3) { color: #c8102e; }
#service h3.colorful_01 span:nth-child(4) { color: #c8102e; }

#service h3.colorful_02 span:nth-child(1) { color: #c8102e; }
#service h3.colorful_02 span:nth-child(2) { color: #c8102e; }
#service h3.colorful_02 span:nth-child(3) { color: #c8102e; }

/*#service h3.colorful_03 span:nth-child(1) { color: #c8102e; }
#service h3.colorful_03 span:nth-child(2) { color: #c8102e; }*/

#service .btn-cover{
  text-align: right;
}
@media screen and (max-width:400px) {
  #service .btn-cover{
    text-align: center;
  }
}

/* bg-img
------------------------------------ */

/*--------------01*/
.bg-img{
	position: relative;
	height: 60vh;
	background: url("../img/top/top_bg_01.jpg") no-repeat center;
	background-size: cover;
	margin-top: 50px;
	margin-bottom: 100px;
}

@media screen and (max-width:768px) {
  .bg-img{
	  margin-top: 30px;
	  margin-bottom: 60px;
  }   
}

@media screen and (max-width:590px) {
  .bg-img{
	  margin-top: 25px;
	  margin-bottom: 50px;
  }
}

/*--------------02*/
.bg-img_02{
	position: relative;
	height: 55vh;
	background: url("../img/top/top_pct_02.jpg") no-repeat center;
	background-size: cover;
	margin: 0 0 200px 25%;
}

.bg-img_02::after{
	content:'';
	position: absolute;
	top: 20%;
	left: -32%;
	width: 100%;
	height: 55vh;
  background:#dbdcdc; /*f3f3f3*/
	z-index: -1;
}

@media screen and (max-width:768px) {
  .bg-img_02,
  .bg-img_02::after{
	  height: 35vh;
  }   
}
@media screen and (max-width:550px) {
  .bg-img_02{
	  margin: 0 0 100px 25%;
  }
  .bg-img_02,
  .bg-img_02::after{
	  height: 20vh;
  } 
}


/* contact
------------------------------------ */

#contact{
	width: 90%;
  max-width: 700px;
  margin: 0 auto;
}

@media screen and (max-width:768px) {
  #contact{
	  max-width: none;
  }
}

#contact > .sct_areainner {
	margin: 0 0 100px 0;
}
@media screen and (max-width:768px) {
  #contact > .sct_areainner {
	  margin: 0 0 60px 0;
  }
}
@media screen and (max-width:590px) {
  #contact > .sct_areainner {
	  margin: 0 0 50px 0;
  }
}

#contact h2{
  text-align: center;
  margin: 0 0 100px 0;
}
@media screen and (max-width:768px) {
  #contact h2{
    margin: 0 0 60px 0;
  }
}
@media screen and (max-width:590px) {
  #contact h2{
    margin: 0 0 50px 0;
  }
}

#contact h2 span.bgLRextend::before{
  background: #333;
}

#contact .txt-sub{
	font-size: 1rem;
}

#contact p{
  text-align: center;
  margin: 0 0 40px 0;
}


#contact .form-list{
  width: 100%;
  margin: 0 auto;
}

#contact input , button , textarea , select {
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	background: none;
  font-size: 16px;
}

#contact .form-list input[type='text'] , 
#contact .form-list input[type='email'] , 
#contact .form-list textarea{
	width: 100%;
	border: 1px solid #666;
	background: #fff;
	padding: 10px;
	-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#contact .form-list input[type='text'] , input[type='email'] {
	height: 50px;
}

#contact .submit-btn{
  width: 152px;
  margin: 0 auto;
}

#contact input[type='submit']{
   border:2px solid #333;
  color: #333;
  text-align: center;
  padding: 5px 20px;
  width: 152px;
  margin: 0 auto;
  transition: all .3s;
}

#contact input[type='submit']:hover{
  background: #333;
  color: #fff;
} 

#contact .form-list dl{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
	padding: 0 0 20px 0;
}

#contact .form-list dt{
  width: 30%;
}

#contact .form-list dd{
  width: 66%;
}

#contact .form-list textarea {
	height: 200px;
}

@media screen and (max-width:768px) {
  #contact .form-list dt{
	  margin: 0 0 10px 0;
  }
  #contact .form-list dt,
  #contact .form-list dd{
	  width: 100%;
  }
}


