@charset "utf-8";
/*リクルート recruit*/
/*common*/
figure{
	margin: 0;
	padding: 0;
	width: 100%;
}
img{
	width: 100%;
}
.ib{
	display: inline-block;
}
h3.ttl{
	width: 100%;
	margin: 0;
	padding: 0;
	display: block;
	text-align: center;
	font-size: 162.50%;
	color: #0080CB;
	line-height: 1.0;
  font-family: 'Noto Sans JP', sans-serif;
}
.sub_ttl{
	width: 100%;
	margin: 0 0 40px;
	padding: 0;
	display: block;
	text-align: center;
	font-size: 100%;
	color: #333333;
  font-family: 'Noto Sans JP', sans-serif;
}

/* mainvisual */
.inner_base{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}
@media all and (max-width:640px) {
.inner_base{
	width: 96%;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}
}

.mainvisual{
	width: 100%;
	margin: 0 0 60px;
	padding: 0;
}
.mainvisual figure{
	width: 100%;
	margin: 0 0;
	padding: 0;
}
.mainvisual figure img{
	width: 100%;
	margin: 0;
	padding: 0;
}
.message_area{
	width: 100%;
	margin: 0 0 60px;
	padding: 0;
}

/* message_area */
.message_area{
	width: 100%;
	margin: 0 0 60px;
	padding: 0;
}
.message_area .catch{
	margin: 0 0 50px;
	padding: 0;
	font-size: 125.00%;
	text-align: center;
	font-weight: bold;
}
.message_area .catch span{
	font-size: 125.00%;
}
.marker-animation.active{
  background-position: -100% .5em;
}
.marker-animation {
  background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,244,113) 50%);
  background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,244,113) 50%);
  background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,244,113) 50%);
  background-image: -o-linear-gradient(left, transparent 50%, rgb(255,244,113) 50%);
  background-image: linear-gradient(left, transparent 50%, rgb(255,244,113) 50%);
  background-repeat: repeat-x;
  background-size: 200% .8em;
  background-position: 0 .5em;
  transition: all 1.5s ease;
  font-weight: bold;
}

.marker-animation.bold.active{
  background-position: -100% .8em;
}
.marker-animation.bold {
  background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,244,113) 50%);
  background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,244,113) 50%);
  background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,244,113) 50%);
  background-image: -o-linear-gradient(left, transparent 50%, rgb(255,244,113) 50%);
  background-image: linear-gradient(left, transparent 50%, rgb(255,244,113) 50%);
  background-repeat: repeat-x;
  background-size: 200% .8em;
  background-position: 0 .8em;
  transition: all 1.5s ease;
  font-weight: bold;
}

ul.message_set{
	width: 100%;
	margin: 0 0 10px 0;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
}
ul.message_set > li:first-child{
	width: 40%;
	margin: 0;
	padding: 0;
}
ul.message_set > li:last-child{
	width: 56%;
	margin: 0;
	padding: 0;
}
.message_area .read_txt{
	margin: 0 0 60px;
	padding: 0;
	text-align: center;
	font-size: 125.00%;
	display: block;
	font-weight: bold;
}
@media all and (max-width:640px) {
ul.message_set{
	width: 100%;
	margin: 0 0 10px 0;
	flex-direction: column;
}
ul.message_set > li:first-child{
	width: 100%;
	margin: 0;
	padding: 0;
	order: 2;
}
ul.message_set > li:last-child{
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
	order: 1;
}
.message_area .read_txt{
	margin: 0 0 0;
}
}

/* works_area */
.works_area{
	width: 100%;
	margin: 0 0 60px;
	padding: 0 0 10px;
	background-color: #0080CB;
	overflow: hidden;
	background-image: url(../images/recruit/works_bg_01.png);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
}
.works_area .inner_base{
	width: 90%;
	margin: 0 auto;
}
.works_area .balloon {
  position: relative;
  display: inline-block;
  margin: 40px auto;
  padding: 10px 10px;
  min-width: 120px;
  width: 100%;
  background: #0080CB;
  border: solid 2px #fff;
  box-sizing: border-box;
  border-radius: 10px;
}
.works_area .balloon:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #0080CB;
  z-index: 2;
}

.works_area .balloon:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #fff;
  z-index: 1;
}
.works_area .balloon p {
	display: block;
  margin: 0;
  padding: 10px;
  background-color: #FFF471;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
	font-size: 125.00%;
	position: relative;
}


.works_area .balloon p:before {
	content: "";
	background-color: #0080CB;
	width: 4px;
	height: 50%;
	position: absolute;
	left: -13px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.works_area .balloon p:after {
	content: "";
	background-color: #0080CB;
	width: 4px;
	height: 50%;
	position: absolute;
	right: -13px;
	top: 0;
	bottom: 0;
	margin: auto;
}
dl.works_set {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
dl.works_set dt {
  width: 30%;
  padding: 0;
  background-color: #ffffff;
  margin: 0 0 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 10px;
  color: #0680CB;
	font-size: 125.00%;
	font-weight: bold;
	text-align: center;
}
dl.works_set dd {
  width: 65%;
  padding: 0;
  margin: 0 0 20px 0;
  box-sizing: border-box;
  color: #fff;
}
@media all and (max-width:640px) {
.works_area .balloon {
  margin: 0 auto 40px;
}
.works_area .balloon p {
	font-size: 112.50%;
}
dl.works_set dt {
  width: 50%;
  padding: 0;
  background-color: #ffffff;
  margin: 0 auto 20px;
	font-size: 125.00%;
	height: 60px;
}
dl.works_set dd {
  width: 100%;
  padding: 0;
  margin: 0 0 20px 0;
  box-sizing: border-box;
  color: #fff;
}

}

/* welfare_area */
.welfare_area{
	width: 100%;
	margin: 0 0 60px;
	padding: 0;
}
ul.welfare_set{
	width: 100%;
	margin: 0 0 50px 0;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
}
ul.welfare_set > li.welfare_item_body{
	width: 70%;
	margin: 0;
	padding: 10px 30px;
	box-sizing: border-box;
	border-left: 1px solid #707070;
	border-right: 1px solid #707070;
}
ul.welfare_set > li.welfare_item_body > .ttl{
	width: 80%;
	margin: 0 auto 10px;
	padding: 0;
}
ul.welfare_set > li.welfare_item_body > .ttl > p{
	color: #E61423;
	text-align: left;
	font-size: 125.00%;
	line-height: 1.4;
	font-weight: bold;
	display: inline-block;
	position: relative;
}
ul.welfare_set > li.welfare_item_body > .ttl > p.pri:after{
	content: url(../images/recruit/welfare_img_01.svg);
	position: absolute;
	top: -20px;
	margin-left: 10px;
}
ul.welfare_set > li.welfare_item_body > .ttl > p.seco:after{
	content: url(../images/recruit/welfare_img_02.svg);
	position: absolute;
	top: -20px;
	margin-left: 10px;
}
ul.welfare_set > li.welfare_item_body > .ttl > p.thr:after{
	content: url(../images/recruit/welfare_img_03.svg);
	position: absolute;
	top: -20px;
	margin-left: 10px;
}
ul.welfare_set > li.welfare_item_body > .sub_ttl{
	font-size: 137.50% ;
	margin: 0 auto 10px;
	padding: 0;
	text-align: center;
}

ul.welfare_set > li.welfare_item_tmb{
	width: 30%;
	margin: 0;
	padding: 0;
	position: relative;
}

ul.welfare_set > li.welfare_item_tmb > figure{
	position: absolute;
	bottom: -20px;
}
.reverse_con{
	flex-direction: row-reverse;
}
@media all and (max-width:640px) {
ul.welfare_set{
	width: 100%;
	margin: 0 0 10px 0;
}
ul.welfare_set > li.welfare_item_body > .ttl{
	width: 100%;
	margin: 0 auto 10px;
	padding: 0;
}
ul.welfare_set > li.welfare_item_body{
	width: 100%;
	margin: 0;
	padding: 10px 0;
	box-sizing: border-box;
	border-left: 0px solid #707070;
	border-right: 0px solid #707070;
}
ul.welfare_set > li.welfare_item_tmb{
	width: 100%;
	margin: 0;
	padding: 0;
	position: static;
}
ul.welfare_set > li.welfare_item_tmb > figure{
	position: static;
	bottom: 0;
}
}
/* schedule_area */
.schedule_area{
	width: 100%;
	margin: 0 0 60px;
	padding: 0;
}
/* about_area */
.about_area{
	width: 100%;
	margin: 0 0 60px;
	padding: 60px 10px;
	background-color: #F5F7F8;
	box-sizing: border-box;
}
.catch{
	text-align: center;
	margin: 0 0 20px 0;
	padding: 0;
}
.catch p{
	font-size: 360%;
	line-height: 1.2;
	font-weight: 900;
  color: #fff;
  text-shadow:1px 1px 0 #000, -1px -1px 0 #000,
              -1px 1px 0 #000, 1px -1px 0 #000,
              0px 1px 0 #000,  0-1px 0 #000,
              -1px 0 0 #000, 1px 0 0 #000;
}
.sub_catch{
	text-align: center;
	margin: 0 0 60px 0;
	padding: 0;
}
.sub_catch p{
	color: #E61423;
	padding: 10px 40px;
	border-radius: 50px;
	border: 1px solid #000000;
	display: inline-block;
	font-weight: bold;
	position: relative;
}
.sub_catch p:before{
	content: "";
	background-color: #F5F7F8;
	width: 20px;
	height: 4px;
	position: absolute;
	left: 30px;
	top: -2px;
	margin: auto;
}
.sub_catch p:after{
	content: "";
	background-color: #F5F7F8;
	width: 20px;
	height: 4px;
	position: absolute;
	right: 30px;
	bottom: -2px;
	margin: auto;
}

ul.about_set{
	width: 100%;
	margin: 0 0 10px 0;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
}
ul.about_set > li.about_item_tmb{
	width: 33%;
	margin: 0;
	padding: 0;
	position: relative;
	display: flex;
	align-items: flex-end;
}
ul.about_set > li.about_item_tmb figcaption{
	font-size: 68.75%;
	position: absolute;
	right: 6px;
	bottom: 6px;
	display: inline-block;
	text-align: center;
}
ul.about_set > li.about_item_tmb figcaption span{
	font-size: 140%;
	font-weight: bold;
}

ul.about_set > li.about_item_body{
	width: 65%;
	margin: 0;
	padding: 0px 20px 0px 0px;
	box-sizing: border-box;
}
.about_area h4.ttl{
	width: 70%;
	margin: 60px auto 20px;
	padding: 20px 0;
	text-align: center;
	border-top: 1px dashed #000;
	border-bottom: 1px dashed #000;
}
@media all and (max-width:640px) {
.catch p{
	font-size: 240%;
	font-weight: 900;
  color: #fff;
}
.about_area h4.ttl{
	width: 100%;
	margin: 30px auto 20px;
	padding: 20px 0;
}
.sub_catch{
	text-align: center;
	margin: 0 0 20px 0;
	padding: 0;
}
ul.about_set{
	width: 100%;
	margin: 0 0 10px 0;
	flex-direction: column;
}
ul.about_set > li.about_item_tmb{
	width: 100%;
	margin: 0;
	padding: 0;
}
ul.about_set > li.about_item_body{
	width: 100%;
	margin: 0 0 10px 0;
	padding: 0;
}
ul.about_set > li.about_item_tmb figcaption{
	font-size: 100%;
	position: absolute;
	right: 24px;
	bottom: 10px;
}
ul.about_set > li.about_item_tmb figcaption span{
	font-size: 140%;
	font-weight: bold;
}
}
.about_area h4.ttl p{
	color: #E61423;
	font-size: 125%;
	font-weight: bold;
}

/* btn_area */
.btn_area{
	width: 100%;
	margin: 0 0 0;
	padding: 0;
}
.btn_area a.btn{
	max-width: 370px;
	margin: 0 auto 60px;
	padding: 10px 20px;
	text-align: left;
	background-color: #C1272D;
	color: #fff;
	font-size: 125%;
	display: block;
	position: relative;
	box-sizing: border-box;
	font-weight: bold;
}
.btn_area a.btn.arrow:after{
	content: "▶︎";
	position: absolute;
	top: 50%;
  margin-top: auto;
	margin-top: -14px;
	transition: all 1s;
}
.btn_area a.btn.arrow:hover:after{
	margin-left: 10px;
}

/* fadeUp */

.fadeUp{
	animation-name: fadeUpAnime;
	animation-duration:2s;
	animation-fill-mode:forwards;
	transform: translateY(100px);
	opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}
/* fadeRight */

.fadeRight{
animation-name: fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
	transform: translateX(100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}
/* fadeLeft */

.fadeLeft{
animation-name: fadeLeftAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
	transform: translateX(-100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

/*
@media all and (max-width:640px) {
.fadeUp{
	animation-name: none;
}
.fadeRight{
	animation-name: none;
}
.fadeLeft{
	animation-name: none;
}
}
*/
