
/* CSS Document */

header{
position:fixed;
left:0;
right:0;
top: 0;
margin:auto;
text-aling:center;
z-index:1000;
	transition-duration: 3s;
}
.main-image{
	position: relative;
	margin: 70px auto 0;
}
.main-image .photo img{
	width: 100%;
	height: auto;
}

.main-image .photo img {
  width: 100%;
  max-height: 600px;
  object-fit: cover;
}

.main-image .title{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 0;
	width: 40%;
	background: rgba(24,120,196,0.7);
	padding: 20px;
	text-align: center;
	margin: auto;
	color: #fff;
}
.main-image .en{
	color: #fff;
}

section,
section article{
	position: relative;
	margin-top: -3%;
	padding: 5% 0 0;
}

h3.waku{
	margin: 3% auto 3%;
	text-align: center;
	font-weight: 700;
	position: relative;
	padding: 8px 5px;
	width: 40%;
	max-width: 350px;
	z-index: 30;
}
h3.waku::before{
  content: '';/*ボックス作成*/
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
	border:2px solid #1878c4;
	background: #fff;
  z-index: -1;
  transform: skew(-30deg);
}
h3.backb{
	margin: 5% auto 3%;
	text-align: center;
	font-weight: 700;
	position: relative;
	padding: 6px 5px;
	width: 40%;
	max-width: 300px;
	color: #fff;
  z-index: 10;
}
h3.backb::before{
  content: '';/*ボックス作成*/
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
	background:#1878c4;
  z-index: -1;
  transform: skew(-30deg);
}
h3.line{
	color: #fff;
	padding: 10px;
	background:#1878c4;
}
h4.catchblue{
	text-align: center;
	margin: 3% auto;
	font-weight: 700;
	color: #1878c4;
}
h4.catch{
	text-align: center;
	margin: 3% auto;
	font-weight: 700;
}

h5.line{
	text-align: center;
	margin: 3% auto;
	position:relative;
}
h5.line span{
	background: #1878c4;
	color: #fff;
	padding: 5px 20px;
	text-align: center;
	
}
h5.line::before{
	position: absolute;
	z-index: -1;
	content: "";
	left: 0;
	top:50%;
	width: 100%;
	border-bottom:2px solid #1878c4;
}
h5.white{
	text-align: center;
	margin: 3% auto;
	position:relative;
}
h5.white span{
	background: #fff;
	color: #1878c4;
	padding: 5px 20px;
	text-align: center;
	
}


/*BUSINESS*/

.businessback01{
	background: url("../img/business/business_back01.png") center center no-repeat;
	background-size: cover;
	padding: 0;
}
.businessback02{
	background: url("../img/business/business_back02.png") center center no-repeat;
	background-size: cover;
	padding: 0;
}
.businessback03{
	background: url("../img/business/business_back03.png") center center no-repeat;
	background-size: cover;
	padding: 0;
}
.businessback01 .photo,
.businessback02 .photo,
.businessback03 .photo{
	width: 50%;
}
.businessback01 .txt,
.businessback02 .txt,
.businessback03 .txt{
	width: 50%;
	padding: 30px;
}
.businessback01 .txt p,
.businessback02 .txt p,
.businessback03 .txt p{
	color: #fff;
}

/*COMPANY*/
.rinen{
	background: url("../img/company/company_back01.png") center 20% no-repeat;
	background-size: 100% auto;
	padding-bottom:5%;
}
.rinen .Flexbox{
	max-width: 800px;
	margin: 5% auto;
}
.rinen .photo{
	width: 40%;
}
.rinen .txt{
	width: 60%;
	padding: 30px;
}

.vision{
	background: #f3f8fc url("../img/company/company_back02.png") center center no-repeat;
	padding:3% 0 5% 0;
}
.hakenbtn{
	text-align: center;
	margin: 3% auto 5%;
}
.hakenbtn a{
	display: inline-block;
	padding: 15px 25px 15px 40px;
	color: #1878c4;
	border:2px solid #1878c4;
	position: relative;
	width: 50%;
	max-width: 380px;
}
.hakenbtn a .triangle01{ 
	position: absolute;
	left: 15px;
	top: 23px;
    width: 0;
    height: 0;
    border-top: solid 8px transparent;
    border-right: solid 8px transparent;
    border-bottom: solid 8px transparent;
    border-left: solid 8px #74aedc;
}
.hakenbtn a:hover{
	background: #e0edf7;
}

/*RECRUIT*/

.messagecatch{
	margin: -70px auto 5%;
	background: #1878c4;
	color: #fff;
	font-weight: 700;
	padding: 20px 30px;
	position: relative;
	z-index: 10;
	max-width: 430px;
	width: 40%;
}
.message p{
	margin: 0 auto 40px;
	line-height: 220%;
}
.sign{
	width: 40%;
	margin: 5% 0 5% auto;
	max-width: 300px;
}

/*RECRUIT*/

.aboutphoto{
	margin: 5% auto;
}
.aboutphoto img{
	width: 100%;
	height: auto;
}
.bluewaku{
	margin: 5% auto;
	border: 3px solid #1878c4;
}
.bluewaku h5{
	text-align: center;
	color: #fff;
	padding: 10px;
	background: #1878c4;
}
.bluewaku p{
	padding: 30px;
}

.datal{
	width: 100%;
	padding: 15px;
}
.datas{
	width: 50%;
	padding: 15px;
}

.workstxt{
	background: #fff;
	padding: 10px 20px 5%;
	position: relative;
	z-index: 10;
}
.welfareback{
	background: #e7f1f9;
	margin: -50px auto 0;
	padding: 50px 10px 30px;
	z-index: -1;
	position: relative;
}
.welfareback .ico{
	width: 60px;
	position: absolute;
	left: 10px;
	top: 10px;
}
.welfares{
	position: relative;
	width: 46%;
	margin: 15px 2%;
	background: #fff;
	padding: 30px 20px 30px 80px;
}
.welfarel{
	position: relative;
	width: 96%;
	margin: 15px 2%;
	background: #fff;
	padding: 20px 20px 20px 80px;
}
.welfareback p{
	font-size: 1.4rem;
	line-height: 1.8em;
	margin: 10px 0;
}

.faq_box{
	margin: 3% auto;
}
.faq_box .faq_q ,
.faq_box .faq_a{
	position: relative;
	padding: 25px 20px 25px 50px;
} 
.faq_box .faq_a{
	background: #f3f8fc;
	padding: 25px 20px 25px 60px;
}
.faq_box .faq_q span.q{
	color: #1878c4;
	position: absolute;
	left: 10px;
	top: 20px;
	font-size: 2.8rem;
	font-weight: 700;
}
.faq_box .faq_a span.a{
	color: #f32f1b;
	position: absolute;
	left: 20px;
	top: 25px;
	font-size: 2.8rem;
	font-weight: 700;
}

.member_main{
	margin: auto;
	position: relative;
}
.member_main .photo{
	width: 100%;
}
.member_main .catch{
	position: absolute;
	left: 5%;
	top: 15%;
	font-size: 2.8vw;
	line-height: 2.0em;
	font-weight: 700;
	font-family: 'Noto Sans JP', serif;
}
.member_main .profile{
	background: #1878c4;
	position: absolute;
	left: 0;
	bottom: 5%;
	padding: 20px 10% 15px 5%;
	display: inline-block;
	clear: #fff;
}
.member_main .profile .name{
	color: #fff;
	font-size: 2.2rem;
	line-height: 1.0em;
	letter-spacing: 0.05em;
}
.member_main .profile .en{
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	margin-left: 5px
}
.member_main .profile p{
	color: #fff;
	line-height: 1.7em;
	font-size: 1.3rem;
	margin: 10px 0;
}

.voice{
	margin: 5% auto;}
.voice .photo_left{
	padding: 20px;
	width: 50%;
}
.voice .txt_right{
	padding: 20px;
	width: 50%;
}
.voice .photo_center{
	padding: 20px;
}
.voice .txt_center{
	padding: 20px;
}
.voice_back01{
	background: url("../img/recruit/voice01_p04.png") center center no-repeat;
	padding: 30px 0 50px;
	background-size: cover;
}
.voice_back02{
	background: url("../img/recruit/voice02_p04.png") center center no-repeat;
	padding: 30px 0 50px;
	background-size: cover;
}
.voice_back03{
	background: url("../img/recruit/voice03_p04.png") center center no-repeat;
	padding: 30px 0 50px;
	background-size: cover;
}
.voice_back01 dl,
.voice_back02 dl,
.voice_back03 dl{
	margin: 10px auto;
}
.voice_back01 dl dt,
.voice_back02 dl dt,
.voice_back03 dl dt{
	color: #fff;
	width: 80px;
	float: left;
}
.voice_back01 dl dd,
.voice_back02 dl dd,
.voice_back03 dl dd{
	color: #fff;
	margin-left: 80px;
}
.voice_back01 p,
.voice_back03 p{
	color: #fff;
}

@media (min-width:1px) and (max-width: 960px) {

.main-image{
	position: relative;
	margin: 60px auto 0;
}

.messagecatch{
	margin: -60px auto 30px;
	max-width: 430px;
	width: 80%;
}
	
.member_main .profile{
	background: #1878c4;
	position: absolute;
	left: 0;
	bottom: 3%;
	padding: 10px 10% 5px 5%;
	display: inline-block;
	clear: #fff;
}
.member_main .profile .name{
	font-size: 2.0rem;
}

.voice_back01{
	background: url("../img/recruit/voice01_p04.png") center center no-repeat;
	padding: 30px 10px 50px;
	background-size: cover;
}
.voice_back02{
	background: url("../img/recruit/voice02_p04.png") center center no-repeat;
	padding: 30px 10px 50px;
	background-size: cover;
}
.voice_back03{
	background: url("../img/recruit/voice03_p04.png") center center no-repeat;
	padding: 30px 10px 50px;
	background-size: cover;
}
.voice_back01 dl dt,
.voice_back02 dl dt,
.voice_back03 dl dt{
	color: #fff;
	width: 70px;
	float: left;
}
.voice_back01 dl dd,
.voice_back02 dl dd,
.voice_back03 dl dd{
	color: #fff;
	margin-left: 70px;
}	
	
}
@media (min-width:1px) and (max-width: 768px) {
	
.main-image .title{
	padding: 10px 20px;
	width: 60%;
}
h3.waku{
	width: 60%;
	margin: 30px auto 20px;
}
h3.backb{
	margin: 30px auto 20px;
	}
.businessback01 .photo,
.businessback02 .photo,
.businessback03 .photo{
	width: 70%;
	margin: 10px auto 0;
	order: 1;
}
.businessback01 .txt,
.businessback02 .txt,
.businessback03 .txt{
	width: 100%;
	padding: 10px 20px;
	order: 2;
}
	

.rinen .Flexbox{
	max-width: 800px;
	margin: 10px auto 30px;
}	
.rinen .photo{
	width: 80%;
	margin: auto;
}
.rinen .txt{
	width: 100%;
	padding: 0 20px 20px;
}
	
.hakenbtn a{
	display: inline-block;
	padding: 15px 15px 15px 30px;
	color: #1878c4;
	border:2px solid #1878c4;
	position: relative;
	width: 80%;
	max-width: 380px;
}
.messagecatch{
	margin: -40px auto 30px;
	max-width: 430px;
	width: 80%;
}
.sign{
	width: 60%;
	margin: 5% 0 5% auto;
	max-width: 300px;
}
.bluewaku p{
	padding: 20px;
}
.datal{
	width: 100%;
	padding: 10px;
}
.datas{
	width: 50%;
	padding: 10px;
}
.workstxt{
	background: #fff;
	padding: 10px 20px 30px;
	margin-top: 0px;
	position: relative;
	z-index: 10;
}
.welfareback .ico{
	width: 50px;
	position: absolute;
	left: 10px;
	top: 10px;
}
.welfares{
	position: relative;
	width: 96%;
	margin: 10px 2%;
	background: #fff;
	padding: 30px 20px 30px 70px;
}
.welfarel{
	position: relative;
	width: 96%;
	margin: 10px 2%;
	background: #fff;
	padding: 20px 20px 20px 70px;
}
.faq_box .faq_q ,
.faq_box .faq_a{
	position: relative;
	padding: 25px 20px 25px 43px;
} 
.faq_box .faq_a{
	background: #f3f8fc;
	padding: 25px 20px 25px 55px;
}
.faq_box .faq_q span.q{
	font-size: 2.5rem;
	top:25px
}
.faq_box .faq_a span.a{
	font-size: 2.5rem;
	top:25px
}

.member_main .catch{
	position: absolute;
	left: 3%;
	top: 18%;
	font-size: 3.2vw;
	line-height: 2.0em;
	font-weight: 700;
	font-family: 'Noto Sans JP', serif;
}	
.member_main .profile{
	background: #1878c4;
	position: relative;
	left: inherit;
	bottom: inherit;
	padding: 10px 10% 5px 5%;
	display: inline-block;
	clear: #fff;
	margin: -80px auto 30px 0;
	width: auto;
	display: inline-block;
}
.voice .photo_left{
	padding: 10px;
	width: 80%;
	margin: auto;
}
.voice .txt_right{
	padding: 10px;
	width: 100%;
}
.voice .photo_center{
	padding: 10px;
}
.voice .txt_center{
	padding: 10px;
}

.voice_back01,
.voice_back02,
.voice_back03{
	padding: 30px 20px 50px;
	background-size: cover;
}
.voice_back01 dl dt,
.voice_back02 dl dt,
.voice_back03 dl dt{
	width: 55px;
	float: left;
}
.voice_back01 dl dd,
.voice_back02 dl dd,
.voice_back03 dl dd{
	margin-left: 55px;
}		
}

@media only screen and (min-width:1px) and (max-width: 530px) {
.main-image .title{
	padding: 5px 10px;
	width: 80%;
}
	
.messagecatch{
	margin: -20px auto 30px;
	max-width: 430px;
	width: 80%;
}

.datal{
	width: 100%;
	padding: 5px;
}
.datas{
	width: 50%;
	padding: 5px;
}	
.member_main .catch{
	position: absolute;
	left: 3%;
	top: 33%;  
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	font-size: 3.8vw;
	line-height: 1.8em;
	font-family: 'Noto Sans JP', serif;
}	
.member_main .profile{
	background: #1878c4;
	position: relative;
	left: inherit;
	bottom: inherit;
	padding: 10px 10% 5px 5%;
	display: inline-block;
	clear: #fff;
	margin: -20px auto 30px 0;
	width: auto;
	display: inline-block;
	width: 60%;
}
.member_main .profile .name{
	font-size: 1.8rem;
}
.member_main .profile .en{
	font-size: 1.1rem;
	margin: 0;
}
.member_main .profile p{
	color: #fff;
	line-height: 1.7em;
	font-size: 1.2rem;
	margin: 10px 0;
}
	
}
.terms ul,
.terms ol,
.terms p{
	margin: 10px 20px 20px;
}
.terms ul li{
	list-style: circle;
	margin-left: 30px;
}
.terms ol li{
	list-style: decimal;
	margin-left: 30px;
}


.contactwaku{
	background: #f3f8fd;
	padding: 30px;
	margin: 20px auto;
}
.contactwaku .tel,
.contactwaku .fax{
	color: #1777c3;
	text-align: center;
	padding: 20px 15px;
	font-size: 3.2rem;
	font-weight: 700;
}
@media only screen and (min-width:1px) and (max-width: 768px) {

.contactwaku{
	background: #f3f8fd;
	padding: 30px;
	margin: 10px auto;
}
.contactwaku .tel,
.contactwaku .fax{
	color: #1777c3;
	text-align: center;
	padding: 10px 15px;
	font-size: 2.8rem;
	font-weight: 700;
}
}
@media only screen and (min-width:1px) and (max-width: 530px) {

.contactwaku{
	background: #f3f8fd;
	padding: 20px;
	margin: 0px auto;
}
}
