@charset "utf-8";
body,h1,h2,h3,h4,h5,p,form,ul,li,figure{
	margin: 0;
	padding: 0;
	list-style: none
}
*{ box-sizing: border-box; }
img{ vertical-align: bottom }
.inner{
	position:relative;
	width: 1000px;
	margin: 0 auto
}
a{
 color: #000;
}
body{
	background: #1859BF
}
header{
	background:#FFF;
	width: 100%;
	height: 73px;
	z-index:1;
	position: relative;
}
#confirm header,#thanks header{
	margin-bottom: 30px;	
}
#hdr_inner{
	width: 98%;
	height: 73px;
	top:0;
	left: 0;
	margin: 0 auto;
	position: absolute
}
#hdr_inner p{
	font-weight: bold;
	position: absolute;
	top:25px;
	left: 280px;

}
.center { text-align: center; }
.btn_entry{
	color: #FFF;
	background: #B00000;
	width: 160px;
	height: 50px;
	display: block;
	position: absolute;
	font-size: 17px;
	right: 0;
	top:10px;
	bottom:8px;
	border-radius: 3px;
	text-align: center;
	font-weight: bold;
	line-height: 1;
	padding-top: 18px;
	z-index: 10;
	text-decoration: none
}

#hdr_tel{
	color: #000;
	display: block;
	position: absolute;
	top:14px;
	right: 180px;
	font-weight: bold;
	text-align: right;
	text-decoration: none;
	font-size: 24px;
}
#hdr_tel span{
	font-size: 12px;
	font-weight: normal;
	display: block;
	line-height: 1
}
#logo{
	width: 240px;
	height: auto;
	position: absolute;
	top:15px;
	left: 15px;
}
#logo img{
	width: 100%;
	height:auto
}
#mv{
	margin: 0 auto;
	background-image: url("img/mv_bg.jpg?v=1");
	background-size: cover;
	background-position: center bottom;
	text-align: center;
	background-repeat: no-repeat
}
#mv img{
	display: block;
	width: 1200px;
	margin: 0 auto
}
.h2{
	text-align: center;
	font-size: 50px;
	color: #FFF;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	margin-bottom: 15px;
}
.h2 p{
	font-size: 20px;
}
.mb20{ margin-bottom: 20px; }
.mb30{ margin-bottom: 30px; }
.h3{
	text-align: center;
	font-size: 30px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	color: #13479B;
	border-bottom: 2px solid #13479B;
	margin-bottom: 20px;
	padding-bottom: 8px;
}
.h4{
	text-align: center;
}

.swiper-wrapper{
	width: 100%;
	padding-bottom: 40px;
}
.swiper img{
	width: 700px;
	height: 300px;
	object-fit: cover
}
.swiper p{
	font-size: 14px;
	text-align: center;
	padding-top: 4px;
}
.swiper-pagination{
	margin-top: -30px !important;	
}
.bg_blue{
	background:#1859BF;
	padding-top:0px;
}
.box1{
	background: #FFF;
	padding: 30px 60px;
	margin-bottom: 50px;
	box-shadow: 10px 10px 0 rgba(255,255,255,0.2)
}
.box1 p{
	font-size: 18px;
	line-height: 180%;
}
.skill{
	background: #FFE68E;
	padding: 20px;
	margin-bottom: 30px
}
.flexbox1{
	display: flex
}
.flexbox1 .item1{
	width: 35%;
	padding-right: 20px;
	padding-bottom: 20px
}
.flexbox1 .item2{
	width: 65%;
}
#work .box1{

	padding-bottom: 0;
	margin-bottom: 40px;
}
#work .item1{
	text-align: center
}
#work .item2 p{
	margin-bottom: 20px;
}
#work .item1 img{
	with:auto;

}
#bg2{
	background-image: url("img/bg3.png");
	background-repeat: no-repeat;
	background-position: center top
}
#gallery{
	padding-top: 70px;	
}
#pr_point h2{
	color: #FFF
}
.box1{
	border: 2px solid #13479B
}
.article1{
	width: 100%;
}
.article1 li{
	display: flex;
	padding: 25px 0;
	border-bottom: 2px dashed #ccc
}
.article1 li:last-child{
	border: none
}
.article1 .item1{
	width: 45%;
}
.article1 .item2{
	width: 55%;
	padding-left: 30px;
}
.article1 .item1 img{
	width: 100%;
	height:auto;
}
.article1 .item2 h3{
	font-size: 22px;
	color: #1859BF
}
.article1 .item2 p{
	font-size: 17px;
	line-height: 200%;
}
#faq h2{
	color: #1859BF;
	font-size: 34px;
}
.faq_list{
	
}
.faq_list .item{
	
}
.faq_list .qbox{
	padding: 20px 15px;
	box-shadow:0px 0 6px rgba(0,0,0,0.14);
	display: flex;
	margin-bottom: 20px;
	cursor: pointer;

}
.qbox h2:after {
	content: "";
	display: inline-block;
	width: 28px;
	height: 28px;
	background-image:url(img/arrow.png) no-repeat right top;
	background-size: 30px auto;
	position:absolute;
	top: 50%;
	right: 7px;
	transform: translateY(-50%);
	transition: 0.2s;
}
.faq_list .q{
	display: block;
	width: 60px;
	font-weight: bold;
	color: darkred;
	text-align: center;
	font-size: 20px
}
.faq_list h3{
	font-size: 20px;
	width: calc(100% - 60px);
	color: #000 !important;
}
.faq_list .abox{
	padding: 20px 15px;
	box-shadow:0px 0px 6px rgba(0,0,0,0.14);
	display: flex;
	margin-bottom: 20px;
	margin-top:-20px;
	cursor: pointer;

}
.faq_list .a{
	display: block;
	width: 60px;
	font-weight: bold;
	text-align: center;
	font-size: 20px;
	padding-top: 5px;
}
.abox p{
	font-size: 17px;
	width: calc(100% - 60px);
	color: #000 !important;
	padding-top: 7px;
}
#recruit h2{
	color: #1859BF;
	font-size: 34px;
}
.ta1{
	width: 100%;
}
.ta1 td, .ta1 th{
	padding: 10px;
	border-bottom: 1px solid #ccc
}

.ta1 th{
	background: #eee
}
#form h2{
	color: #1859BF;
	font-size: 34px;
}
#privacy{
	font-size: 14px;
	height: 300px;
	overflow-y: auto;
	width: 100%;
	padding: 15px;
	border: 1px solid #ccc;
	margin-bottom: 30px
}
#privacy p,#privacy li{
	font-size: 13px;
	list-style: none;
}
#privacy h3{
	font-size: 16px
}
#privacy h4{
	font-size: 15px
}
.btn1{
	display: inline-block;
	background: #1859BF;
	color: #FFF;
	font-size: 16px;
	border: none;
	border-radius: 7px;
	text-decoration: none;
	line-height: 1;
	text-align: center;
	width: 265px;
	padding: 21px 10px 18px 10px;
	position: relative;
	font-weight: bold
}
.btn1:hover{
	opacity: 0.9;
}
.btnbox{
	text-align: center;
	padding: 30px 0
}
input[type=text],input[type=email],input[type=tel],textarea{
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	outline: none;
	font-size: 16px;
	width: 100%;
}
.error{
	color: red;	
}
#company h2{
	color: #1859BF;
	font-size: 34px;
}
#contact{
	text-align: center;
	padding-bottom: 35px;
}
#contact .inner{
	overflow: hidden;
	background: #FFF;
	box-shadow: 10px 10px 0 rgba(255,255,255,0.2)
}
#contact .item{
	width: 50%;
	padding: 50px 0;
}
#contact .item h2{
	font-size: 30px;
	padding-bottom: 5px;
	margin: 0 !important;

}

#contact .item h2 div{
	font-size: 15px;
	display: block;
	padding-bottom: 5px;margin: 0 !important;
}
#contact .item:first-child{
	float: left;
	border-right: 3px solid #eee;
}
#contact .item:first-child p{
	padding-top: 12px;

}
#contact .item:last-child{
	float: right;
	padding: 50px 0!important;;
}
#contact .item p{
	font-size: 16px;
	margin-bottom: 20px
}
#contact .bdr{
	width: 80px;
}
.btn_contact{
}
footer{
	text-align: center;
	font-size: 16px;
	padding: 30px 0;
	background: #FFF
}
#ftr_logo{
	width:170px;
	margin: 0 auto;

	font-weight: bold
}
#ftr_logo img{
	width:100%;
	height: auto;

}
#ftr_address{
	padding-top: 10px;


}
#copyright{
	padding-top: 10px;


}
#manga{
	padding: 15px 0 0px 0;
	margin: 0;
}
.bdr{
	display: block;
	width: 80px;
	height: 3px;
	background:#1859BF;
	margin: 5px auto 0 auto
}
.pc{ display: block;}
.sp{ display: none; }
@media screen and (max-width: 768px) {
.sp{ display: block;}
.pc{ display: none; }
	
    .inner{
        position:relative;
        width: 100%;
        margin: 0 auto
    }
    #hdr_inner p{
        display: none
    }
    #logo{
        width: 235px;
        top:17px;
        left: 12px;
    }
    .btn_entry{
        width: 90px;
        height: 40px;
        display: block;
        position: absolute;
        font-size: 15px;
        right: 0;
        top:15px;
        bottom:8px;
        border-radius: 3px;
        text-align: center;
        font-weight: bold;
        line-height: 1;
        padding-top: 14px;
    }
    #hdr_tel{
        top:14px;
        right: 100px;
        font-size: 18px;
		display: none
    }
  #mv{
      width: 100%;
	  background-size: cover;
	overflow: hidden
  }

  #mv img{
      vertical-align: baseline;
	  box-sizing:border-box;
	  width: 120%;
	  margin-left: -10%;
	  height: auto;
	  object-fit: cover
  }
  .h2{
      font-size: 27px;
      margin-bottom: 15px;
	  line-height: 130%
  }
  .h2 p{
      font-size: 16px;
  }
  .h3{

      font-size: 20px;
      border-bottom: 2px solid #13479B;
      margin-bottom: 20px;
      padding-bottom: 8px;
  }
    .bg_blue{
        margin-top: 0px;
    }
    .box1{
        width: 92%;
        margin: 0 auto;
        padding: 20px 20px;
        margin-bottom: 50px;
        box-shadow: 10px 10px 0 rgba(255,255,255,0.2)
    }
.flexbox1{
	display: block
}
.flexbox1 .item1{
	width: 100%;
	padding: 0;
}
.flexbox1 .item1 img{
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}
.flexbox1 .item2{
	width: 100%;
}
#work .box1{
	background-image: none;
	background-repeat: no-repeat;
	padding-bottom: 0;
	margin-bottom: 40px;
}

.article1 li{
	display: block;
	padding: 25px 0;
	border-bottom: 2px dashed #ccc
}
.article1 li:last-child{
	border: none
}
.article1 .item1{
	width: 100%;
	padding-bottom: 10px;
}
.article1 .item2{
	width: 100%;
	padding-left: 0px;
}
.article1 .item2 h3{
	font-size: 22px;
	text-align: center
}
.article1 .item2 p{
	font-size: 17px;
	line-height: 200%;
}
	
#contact .inner{
	display: block;
	padding-top: 30px;
	width: 92%;
	margin: 0 auto
}
#contact .item{
	width: 100%;
	padding: 10px 0;
}
#contact .item:first-child{
	padding: 0px 0 0px 0;
	border: none
}

#contact .item:first-child div{
	padding: 20px 0 15px 0;
	border: none
}
#contact .item:last-child{
	padding: 0px 0 15px 0 !important;
}
#contact .item h2{
	font-size: 23px;
	padding-bottom: 5px;
}
.faq_list .qbox{
	padding: 15px 10px;


}
.faq_list .q{
	width: 40px;
	font-size:25px
}
.faq_list h3{
	font-size: 18px;
	line-height: 140%;
	width: calc(100% - 40px);
	padding-top:4px;
}
.faq_list .a{
	width: 40px;
	font-size:25px
}
.abox p{
	font-size: 17px;
	line-height: 140%;
	width: calc(100% - 40px);
}
#faq h2,#recruit h2,#form h2,#company h2{
	color: #1859BF;
	font-size: 24px;
}
#about h2.h2{
		font-size:22px
	}
}