@charset "UTF-8";
/*--------------------    デフォルトスタイル    --------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:1.4rem;
    vertical-align:baseline;
    background:transparent;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif;/*-------------------- フォントファミリー--*/
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}
ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    color: #000;
    vertical-align:baseline;
    background:transparent;
    text-decoration: none;
}
ins {
    text-decoration:none;
}
del {
    text-decoration: line-through;
}
mark {
    background-color:#ff9;
    color:#000;
    font-weight:bold;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    /* border-collapse:collapse; */
    border-spacing:0;
}
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}

/*------------------------------------------------------------
    レイアウト
------------------------------------------------------------*/
body {
    position: relative;
	color: #000;/*-------------------- デフォルト フォントカラー--*/
	font-weight: 400;/*-------------------- デフォルト フォントウェイト--*/
	font-size: 1.4rem;/*-------------------- デフォルト フォントサイズ--*/
	line-height: 2.1;/*-------------------- デフォルト 行間--*/
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
a {
	transition: all .3s;
}
a:hover {
	opacity: .6;
}
section{
	overflow: hidden;
}

@media all and (min-width: 835px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 834px) {
	body {
		min-width: inherit;
	}
	body.open {
		overflow: hidden;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}



/*------------------------------------------------------------
    Header
------------------------------------------------------------*/
#gHeader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    /* padding: 25px 0 22px 0; */
    background: #fff;
    border-bottom: 1px solid #d6d6d6;
    z-index: 100;
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
#gHeader::-webkit-scrollbar {
        display: none;
}
#gHeader .headBox {
    display: flex;
    justify-content: space-between;
    align-content: center;
    margin: 0 auto;
    background-color: #fff;
}
#gHeader .headBox a {
	display: flex;
	align-items: center;
}
#gHeader .headBox .logo{
  font-family: 'Noto Sans JP', sans-serif;
  margin: 10px 0 0 16px;
  display:flex;
  align-items: center;

}
#gHeader .headBox .logo h2{
  border: 0.46px solid #000;
    border-radius: 50px;
    font-size: 12.1px;
    font-weight: 500;
    width: 102px;
    text-align: center;
    margin-left: 20px;
    margin-bottom: 5px;
    line-height: 1.85;
}

#gHeader .headBox .navBox {
    display: flex;
    justify-content: flex-end;
    align-items: center;

}
#gHeader .headBox .hNav {
    display: inline-block;
}
#gHeader .headBox .hNav .navUl {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
}
#gHeader .headBox .hNav .navUl li {
    margin-left: 34px;
	padding-top: 5px;
}
#gHeader .headBox .hNav .navUl li:first-child {
    margin-left: 0;
}
#gHeader .headBox .hNav .navUl li a {
    font-size: 15px;
    display: block;
    font-weight: bold;
	text-align: center;
	line-height: 1.2;
}
#gHeader .headBox .hNav .navUl li:last-child {
	padding-top: 0;
}
#gHeader .headBox .hNav .navUl li .enBtn a{
  background-color: #f2d21c;
  margin-left: 5px;
	height: 83px;
	width: 170px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#gHeader .headBox .hNav .navUl li .enBtn a span {
	font-size: 2.1rem;
	font-weight: 900;
	letter-spacing: 1px;
	display: block;
	padding-right: 10px;
}


/* エントリーボタン 動き */
.enBtn a {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
  overflow: hidden;
    /*アニメーションの指定*/   
    transition: ease .2s;
}
.enBtn a:hover {
	opacity: 1;
}

/*ボタン内spanの形状*/
.enBtn a span {
  position: relative;
  z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color:#333;
	transition: all .3s;
}
.enBtn a span:before {
	position: absolute;
	content: "";
	width: 5px;
	height: 5px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
	top: 39%;
	right: -20%;
	transition: all .3s;
}
.enBtn a span:after {
	position: absolute;
	content: "";
	width: 25px;
	height: 25px;
	border: 1px solid #000;
	border-radius: 100px;
	top: -2%;
	right: -34%;
	transition: all .3s;
}

.enBtn a:hover span {
  color:#fff;
}
.enBtn a:hover span:before {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
.enBtn a:hover span:after {
	border: 1px solid #fff;
}

/*== 背景が流れる（左から右） */
.enBtn a:before {
  content: '';
    /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
    /*色や形状*/
  background:#000;/*背景色*/
  width: 100%;
  height: 100%;
    /*アニメーション*/
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

/*hoverした際の形状*/
.enBtn a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}




@media all and (max-width: 834px) {
	
	#gHeader .headBox .logo {
		margin: 0;
	}
	#gHeader .headBox .logo img {
		margin: 12px 0 4px 16px;
	}
	#gHeader .headBox .navBox .enBtn a {
		font-size: 1.7rem;
		letter-spacing: 0.5px;
		font-weight: 900;
		background: #F1D11C;
		padding: 0 30px;
		height: 60px;
	}
	#gHeader .headBox .navBox .menuBtn {
		width: 60px;
		height: 60px;
		background: #0045A7;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	#gHeader .headBox .navBox .menuBtn .bar {
		height: 2px;
		width: 24px;
		background: #fff;
		margin: 5px 0;
		transition: all .3s;
	}
	#gHeader .headBox .navBox .open .bar01 {
		transform: rotate(45deg);
		margin-bottom: -7px;
	}
	#gHeader .headBox .navBox .open .bar02 {
		transform: rotate(-45deg);
	}
	
	
	.menuHam {
		position: fixed;
		z-index: 90;
		top: 0;
		left: 0;
		background: #fff;
		width: 100%;
		padding: 80px 0 30px;
	}
	.menuHam .spUl {
		padding-bottom: 20px;
		border-bottom: 1px solid #cecece;
	}
	.menuHam .spUl li a {
		font-size: 1.7rem;
		font-weight: 700;
		display: block;
		padding: 10px 7%;
		position: relative;
	}
	.menuHam .spUl li a:before {
		position: absolute;
		content: "";
		width: 8px;
		height: 8px;
		border-top: 2px solid #0045A7;
		border-right: 2px solid #0045A7;
		transform: rotate(45deg);
		right: 10%;
		top: 37%;
	}
	.menuHam .site {
		margin: 30px auto 20px;
		width: 70%;
	}
	.menuHam .site a{
		display: block;
		width: 100%;
		background-color: #0045a8;
		color: #fff;
		padding: 12px 0;
		font-size: 16px;
		text-align: center;
		position: relative;
	}
	.menuHam .site a img {
		position: absolute;
		right: 8%;
		top: 40%;
	}
	.menuHam .underUl {
		text-align: center;
	}
	.menuHam .underUl li {
		display: inline;
	}

	
	
	
	
	.black {
		position: absolute;
		z-index: 80;
		background: rgba(0,0,0,0.7);
		width: 100%;
		height: 100%;
		display: none;
		transition: all .3s;
	}
	.on_b {
		display: block;
	}
	
	
}





/*------------------------------------------------------------
    Footer
------------------------------------------------------------*/
#gFooter{
  background-color: #f8f8f6;
  padding: 48px 0 0;
}
#gFooter .flex_f{
  display: flex;
  width: 915px;
  margin: 0 auto 35px;
  justify-content: space-between;
  align-items: flex-end;
}
#gFooter .left .flogo{
  display: flex;
  align-items: center;

}
#gFooter .left .flogo img{
  mix-blend-mode: multiply;
}
#gFooter .left .flogo h2{
  border: 0.46px solid #000;
    border-radius: 50px;
    font-size: 15.54px;
    font-weight: 500;
    width: 132px;
    text-align: center;
    margin-left: 20px;
    margin-bottom: 5px;
    line-height: 1.85;
    background-color: #fff;
}
#gFooter .left .address{
  font-size: 13px;
  font-weight: 500;
  margin-top: 10px;
  letter-spacing: 1px;
    line-height: 160%;
}
#gFooter .right .site {
  margin: 0 0 15px auto;
    width: 209px;
}
#gFooter .right .site a{
  display: flex;
    background-color: #0045a8;
    color: #fff;
    padding: 5px 25px 5px 60px;
    font-size: 16px;
    text-align: center;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
}
#gFooter .right ul {
	text-align: right;
}
#gFooter .right ul li {
  display: inline;
}
#gFooter .right ul .sl {
	margin: 0 3px;
}
#gFooter .copy{
  text-align: center;
  background-color: #fff;
  font-size: 12px;
  padding: 20px 0 10px;
}



@media all and (max-width: 834px) {
	
	#gFooter .flex_f {
		width: 100%;
		justify-content: center;
	}
	#gFooter .left .flogo {
		flex-direction: column;
	}
	#gFooter .left .flogo img {
		width: 240px;
	}
	#gFooter .left .flogo h2 {
		margin: 10px 0 5px;
		font-size: 1.5rem;
		line-height: 1.5;
	}
	#gFooter .copy {
		font-size: 9px;
		padding: 10px 0 13px;
	}
}






/*------------------------------------------------------------
    recruit
------------------------------------------------------------*/
.recruit {
	padding-top: 83px;
}
.recruit .slideBox .topSlider {
	opacity: 0;
	transition: all .3s;
}
.recruit .slideBox .topSlider.slick-initialized{
  opacity: 1;
}
.recruit .slideBox .topSlider .li01 {
	position: relative;
	padding-bottom: 120px;
}
.recruit .slideBox .topSlider .li01 .cTxt {
	position: absolute;
	z-index: 50;
	width: 290px;
	height: auto;
	right: 1%;
	bottom: 9%;
}
/* dots 
.recruit .slideBox .topSlider {
	position: relative;
}
.recruit .slideBox .topSlider .slick-dots {
	position: absolute;
	bottom: 140px;
	left: 2%;
	display: flex;
	justify-content: flex-start;
}
.recruit .slideBox .topSlider .slick-dots li {
	margin: 0;
	height: auto;
	width: auto;
}
.recruit .slideBox .topSlider .slick-dots li button {
	border: 1px solid #fff;
	height: 12px;
	width: 12px;
	border-radius: 50px;
	margin: 0 2px;
	font-size: 0;
}
.recruit .slideBox .topSlider .slick-dots li button:before {
	display: none;
}
.recruit .slideBox .topSlider .slick-dots .slick-active button {
	background: #fff;
}*/

.recruit .slideBox {
	position: relative;
}
.recruit .slideBox .uTxt {
	color: #0045a7;
	font-weight: 700;
	position: absolute;
	bottom: 6%;
	font-size: 2.2rem;
	left: 50%;
	margin-left: -270px;
	border: 1.5px solid #0045a7;
	border-radius: 8px;
	padding: 5px 12px 5px 20px;
}
.recruit .slideBox .uTxt .sTxt {
	font-size: 1.5rem;
	letter-spacing: 0;
}
.recruit .slideBox .uTxt a {
	color: #0045a7;
	text-decoration: underline;
}



.recruit .sec01 {
	position: relative;
	background: linear-gradient(#fff 15%, rgba(236, 236, 231, 0.33) 15%, #FFF);
}
.recruit .sec01:before {
	content: '';
	position: absolute;
	top: 15%;
	left: 0;
	border-bottom: 20vw solid #fff;
	border-right: 140vw solid transparent;
	transform: scale(1, -1);
}

.recruit .exp{
  text-align: center;
	padding-top: 60px;
	position: relative;
	z-index: 5;
}
.recruit .exp .headline{
  display: inline;
  font-size: 32px;
  color: #fff;
  background-color: #0045a8;
  line-height: 180%;
  padding: 0 20px 3px;
}
.recruit .exp .ptxt{
  position: relative;
    margin-top: 45px;
    font-size: 16px;
    font-weight: bold;
    line-height: 240%;
    z-index: 1;
}
.recruit .imgbox01 {
	display: flex;
	justify-content: center;
	position: relative;
	margin: 80px 0 0;
}
.recruit .imgbox01:before {
	position: absolute;
	content: "";
	width: 1132px;
	height: 462px;
	background: url("img/recruit/back1.png");
	background-size: 100%;
	background-repeat: no-repeat;
	z-index: 3;
	top: 30%;
}
.recruit .imgbox01 .img01 {
	margin-right: -50px;
}
.recruit .imgbox01 .img02 {
	margin-top: 260px;
}
.recruit .imgbox02 {
	display: flex;
	justify-content: center;
}
.recruit .imgbox02 .img03txt {
	background: #fff;
	padding: 60px 50px;
	margin-top: 110px;
	margin-left: -60px;
}
.recruit .yTxt {
	text-align: center;
	margin: 20px 0 100px;
}
.recruit .yTxt span {
	font-size: 2.2rem;
	font-weight: 600;
	background: #f1d11c;
	padding: 2px 10px 3px;
}


.recruit .message{
  position: relative;
  padding-top: 120px;
  background: linear-gradient(white 30%, rgba(236, 236, 231, 0.33) 30%, #FFF);
}
.recruit .message::before{
  content: '';
  position: absolute;
  top: 30%;
  left: 0;
  border-bottom: 15vw solid #fff;
  border-left: 140vw solid transparent;
  transform: scale(1, -1);
}
.recruit .message .headtitle{
  text-align: center;
}
.recruit .sub{
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 1px;
}
.recruit .message .sub{
  margin-bottom: 70px;
  margin-top: 5px;
}
.recruit .message .mflex{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.recruit .message .mflex .name{
  background-color: #0045a8;
  color: #fff;
  font-weight: bold;
  width: 288px;
    text-align: right;
    box-sizing: border-box;
    padding: 10px 35px 5px 0;
    margin-left: -30px;
    margin-bottom: -25px;
}
.recruit .message .mflex .mini{
  display: inline-block;
    font-size: 15px;
    font-weight: bold;
    border-bottom: 0.94px solid #fff;
    padding-left: 15px;
}
.recruit .message .mflex .large{
  font-size: 26px;
  font-weight: bold;
}
.recruit .message .ptxt{
  font-size: 15px;
  font-weight: 500;
  text-align:justify;
  width: 617px;
  margin: 75px auto 150px;
  line-height: 210%;
}
.recruit .work{
  background-image: url("img/recruit/rimg5.jpg");
	background-size: cover;
	padding: 83px 0 70px;
} 
.recruit .work .txtbox{
  display: flex;
  justify-content: center;
  text-align:justify;
  position: relative;
  background-color: rgba(255, 255, 255, 0.8);
  width: 845px;
  margin:0 auto;
  padding: 60px 90px 70px 65px;
  box-sizing: border-box;
}
.recruit .work .sub{
  text-align: left;
  margin-top: 5px;
    margin-left: 6px;
}
.recruit .work .txtbox .right{
  width: 450px;
  margin-left: 110px;
  margin-top: -8px;
}
.recruit .work .txtbox .right .blue{
  font-size: 19.5px;
  font-weight: bold;
  color: #0045a8;
  margin-bottom: 5px;
}
.recruit .work .txtbox .right .wbox{
  display: flex;
  margin-bottom: 42px;
}
.recruit .work .txtbox .right .wbox .boxs{
  font-size: 19.5px;
  font-weight: bold;
  color: #0045a8;
  border: 1.16px solid #0045a8;
  background-color: #fff;
  width: 111px;
  text-align: center;
  margin-right: 8px;
    line-height: 1.4;
    padding-bottom: 2px;
    letter-spacing: 2px;

}
.recruit .work .txtbox .right .bline{
  background-color: #0045a8;
    color: #fff;
    display: inline-block;
    padding: 0 35px;
    font-size: 17px;
    font-weight: bold;
    line-height: 1.9;
    letter-spacing: 1px;
    margin-bottom: 27px;
}
.recruit .work .txtbox .right .bcontent{
  display: flex;
  align-items: flex-start;
}
.recruit .work .txtbox .right .bcontent img{
  margin-right: 10px;
  margin-top: 3px;
}
.recruit .work .txtbox .right .bcontent .ptxt{
  font-size: 15px;
  font-weight: bold;
  color: #0045a8;
  line-height: 1.7;
    letter-spacing: 0.5px;
    width: 397px;
}
.recruit .work .txtbox .right .bcontent.bottom{
  margin-top: 20px;
  border-bottom: 0.5px solid #8c8c8c;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
.recruit .work .txtbox .right .pbottom{
  font-size: 14px;
  font-weight: 500;
  width: 439px;
  margin: 0 auto;
}
.recruit .person{
  padding-top: 90px;
    text-align: center;
	background: linear-gradient(rgba(236, 236, 231, 0.33) 30%, #FFF);
}
.recruit .person img{
  margin-bottom: -65px;
}
.recruit .person .headline{
  font-size: 26px;
    font-weight: bold;
    color: #fff;
    background-color: #0045a8;
    display: inline-block;
    line-height: 1;
    padding-bottom: 2px;
    padding: 6px 20px 8px;
    margin-bottom: 45px;
}
.recruit .person .pflex{
  display: flex;
  justify-content: center;
  width: 635px;
	background: #fff;
  margin: 0 auto 40px;
  flex-wrap: wrap;
}
.recruit .person .pflex .pbox{
  width: 304px;
    height: 109px;
    border: 2px solid #0045a8;
    border-radius: 12px;
    color: #0045a8;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.7;
}
.recruit .person .pflex .pbox.box1,
.recruit .person .pflex .pbox.box2{
  margin-bottom: 12px;
}
.recruit .person .pflex .pbox:nth-child(odd){
  margin-right: 17px;
}
.recruit .person .pflex .pbox p{
  font-size: 18px;
  font-weight: 900;
}
.recruit .person .ptxt{
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 100px;
}
.recruit .person .ptxt span{
  font-size: 18px;
  font-weight: bold;
  background-color: #f2d21c;
  display: inline-block;
  line-height: 1.5;

}


.recruit .schedule {
	text-align: center;
	padding: 95px 0 100px;
	border-top: 1px solid #cecece;
}
.recruit .schedule .headline {
	font-size: 3rem;
	color: #00459c;
	letter-spacing: 1.5px;
	line-height: 1.4;
	margin-bottom: 35px;
	position: relative;
	display: inline-block;
}
.recruit .schedule .headline:before {
	position: absolute;
	content: "";
	width: 11px;
	height: 60px;
	border: 1.5px solid #00459c;
	border-right: none;
	left: -60px;
	top: 18px;
}
.recruit .schedule .headline:after {
	position: absolute;
	content: "";
	width: 11px;
	height: 60px;
	border: 1.5px solid #00459c;
	border-left: none;
	right: -60px;
	top: 18px;
}
.recruit .schedule .headline .sTxt {
	font-size: 2rem;
}
.recruit .schedule img {
	box-sizing: border-box;
	padding-right: 30px;
	display: block;
	margin: 0 auto;
}



.recruit .point{
  background-color: #0045a8;
  padding-top: 87px;
  padding-bottom: 87px;
}
.recruit .point .headtitle{
  text-align: center;
}
.recruit .point .sub{
  color: #fff;
  margin-top: 5px;
  margin-bottom: 50px;
}
.recruit .point .pflex{
  display: flex;
  width: 1110px;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: center;
}
.recruit .point .pflex .pobox{
  background-color: #fff;
  width: 333px;
  height: 273px;
  margin: 8px 7px;
  padding: 10px 15px;
  box-sizing: border-box;
}
.recruit .point .pflex .pobox h3{
  text-align: center;
  color: #0045a8;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 1.5;
}
.recruit .point .pflex .box1 h3{
  margin-top: -40px;
}
.recruit .point .pflex .box2 h3{
  margin-top: -13px;
}
.recruit .point .pflex .box3 h3{
  margin-top: 15px;
}
.recruit .point .pflex .box4 h3{

}
.recruit .point .pflex .box5 h3{
  margin-top: -15px;
}
.recruit .point .pflex .ptxt{
  width: 270px;
    margin: 0 auto;
    line-height: 1.9;
    margin-top: 20px;
}
.recruit .info{
  padding: 133px 0 100px;
}
.recruit .info .headtitle{
  text-align: center;
  margin-bottom: 5px;
}
.recruit .info .btnBox {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
.recruit .info .btnBox .aBtn a {
	color: #0045a7;
	font-weight: 700;
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.3;
	width: 272px;
	height: 64px;
	border: 1px solid #0045a7;
	text-align:center;
	margin: 0 10px;
	position: relative;
}
.recruit .info .btnBox .aBtn a:before {
	position: absolute;
	content: "";
	width: 16px;
	height: 9px;
	background: url("img/recruit/arrow.png");
	background-size: 100%;
	right: 20px;
}
.recruit .info #info01 {
	padding: 90px 0 160px;
}
.recruit .info #info02 {
	padding: 0 0 80px;
}
.recruit .info .headline {
	text-align: center;
	font-size: 2.5rem;
	letter-spacing: 1px;
	color: #0045a7;
	font-weight: 700;
	margin-bottom: 10px;
}
.recruit .info table{
  width: 744px;
  margin: 0 auto 45px;
  box-sizing: border-box;
  border-top: 3px solid #0045a8;
  border-bottom: 3px solid #0045a8;
}
.recruit .info table th,
.recruit .info table td{
  font-size: 15px;
  padding: 30px 0;
  text-align: left;
  box-sizing: border-box;
  letter-spacing: 1px;

  background-image: linear-gradient(to right, #bebebe, #bebebe 2px, transparent 5px, transparent 5px); /* 幅2の線を作る */
  background-size: 8px 1px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
.recruit .info table th{
  font-weight: bold;
  background-color: #f8f8f6;
  width: 186px;
  padding-left: 36px;
}
.recruit .info table td{
  font-weight: 500;
  padding-left: 40px;
  line-height: 1.7;
}

.recruit .info table tr:last-child th,
.recruit .info table tr:last-child td{
  background-image: none;
}
.recruit .info .enBtn a{
    background-color: #f2d21c;
    width: 307px;
	height: 70px;
    margin: 0 auto;
    padding-right: 10px;
    box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
}
.recruit .info .enBtn a span {
	font-size: 2.1rem;
	font-weight: 900;
	letter-spacing: 1px;
	display: block;
}
.recruit .info .enBtn a span:before {
	right: -70px;
	top: 45%;
}
.recruit .info .enBtn a span:after {
	right: -82px;
	top: 20%;
}


@media all and (max-width: 834px) {
	
	
	.recruit {
		padding-top: 62px;
	}
	/*.recruit .slideBox .topSlider .slick-dots {
		bottom: 48px;
	}
	
	.recruit .slideBox .topSlider .slick-dots li button {
		border: 1px solid #0045A7;
	}
	.recruit .slideBox .topSlider .slick-dots .slick-active button {
		background: #0045A7;
	}*/
	
	
	.recruit .slideBox .topSlider .li01 {
		padding-bottom: 20px;
	}
	.recruit .slideBox .topSlider .li01 .cTxt {
		width: 55%;
		right: 2%;
		bottom: 0;
	}
	.recruit .slideBox .uTxt {
		font-size: 1.6rem;
		position: static;
		width: 88.5%;
		margin: 0 auto;
		line-height: 1.3;
		padding: 10px 0 12px;
		text-align: center;
	}
	.recruit .slideBox .uTxt .sTxt {
		font-size: 1.2rem;
	}
	
	
	
	.recruit .sub {
		line-height: 1.6;
		font-size: 1.6rem;
	}
	
	.recruit .sec01 {
		background: linear-gradient(#fff 8%, rgba(236, 236, 231, 0.33) 8%, #FFF);
	}
	.recruit .sec01:before {
		top: 8%;
	}
	
	.recruit .exp {
		text-align: justify;
		padding: 90px 7% 0;
	}
	.recruit .exp .headline {
		font-size: 2.1rem;
		padding: 0 4px 2px;
		margin-left: -8px;
	}
	.recruit .exp .ptxt {
		margin: 30px 0 0;
		font-size: 1.5rem;
		line-height: 1.9;
	}
	
	.recruit .imgbox01 {
		flex-direction: column;
		margin-bottom: 130px;
	}
	.recruit .imgbox01:before {
		background-image: url(img/recruit/sp_back1.png);
		width: 110%;
		height: 300px;
		left: -8%;
		top: auto;
		bottom: -160px;
	}
	.recruit .imgbox01 .img01 {
		margin: 0 auto 0 0;
	}
	.recruit .imgbox01 .img02 {
		margin: 10px 0 0 auto;
		width: 50%;
	}
	.recruit .imgbox02 {
		flex-direction: column;
	}
	.recruit .imgbox02 .img03txt {
		margin: -100px 4% 0;
		background: rgba(255,255,255,0.9);
		padding: 50px 7% 30px;
	}
	
	
	.recruit .yTxt {
		margin: 10px 9% 70px;
		text-align: justify;
	}
	.recruit .yTxt span {
		font-size: 1.8rem;
		line-height: 2.2;
		padding: 2px 0 3px;
	}
	
	
	
	.recruit .message {
		padding: 90px 0 50px;
		background: linear-gradient(white 24%, rgba(236, 236, 231, 0.33) 24%, #FFF);
	}
	.recruit .message:before {
		top: 24%;
	}
	.recruit .message .sub {
		margin-bottom: 40px;
	}
	.recruit .message .mflex {
		flex-direction: column;
	}
	.recruit .message .mflex img {
		width: 85%;
	}
	.recruit .message .mflex .name {
		margin: -20px auto 0;
		width: 260px;
		text-align: center;
		padding: 10px 0 8px;
	}
	.recruit .message .mflex .mini {
		font-size: 1.35rem;
		padding: 0;
	}
	.recruit .message .mflex .large {
		font-size: 2.3rem;
		letter-spacing: 2px;
		line-height: 1.6;
	}
	.recruit .message .ptxt {
		font-size: 1.4rem;
		width: 86%;
		margin: 50px auto;
	}
	
	
	
	.recruit .work {
		background-image: url(img/recruit/sp_rimg5.jpg);
		padding: 55px 0;
	}
	.recruit .work .txtbox {
		width: 94%;
		flex-direction: column;
		padding: 55px 7% 20px;
	}
	.recruit .work .txtbox .left {
		text-align: center;
	}
	.recruit .work .txtbox .left .sub {
		text-align: center;
	}
	.recruit .work .txtbox .right {
		margin: 40px 0;
		width: 100%;
	}
	.recruit .work .txtbox .right .blue {
		font-size: 1.8rem;
		letter-spacing: 1px;
		line-height: 1.5;
		text-align: center;
		margin-bottom: 10px;
	}
	.recruit .work .txtbox .right .wbox {
		justify-content: center;
		margin-bottom: 35px;
	}
	.recruit .work .txtbox .right .wbox .boxs {
		font-size: 1.8rem;
		margin: 0 2px;
	}
	.recruit .work .txtbox .right .bline {
		text-align: center;
		line-height: 1.4;
		width: 100%;
		padding: 10px 0;
	}
	.recruit .work .txtbox .right .bcontent .ptxt {
		font-size: 1.4rem;
		letter-spacing: 0.2px;
	}
	.recruit .work .txtbox .right .pbottom {
		width: 100%;
	}
	
	
	
	.recruit .schedule {
		padding-top: 70px;
		padding-bottom: 80px;
	}
	.recruit .schedule .headline {
		font-size: 2.2rem;
	}
	.recruit .schedule .headline .sTxt {
		font-size: 1.7rem;
		letter-spacing: 0.5px;
	}
	.recruit .schedule .headline:before {
		height: 56px;
		width: 7px;
		top: 8px;
		left: -40px;
	}
	.recruit .schedule .headline:after {
		height: 56px;
		width: 7px;
		top: 8px;
		right: -40px;
	}
	.recruit .schedule img {
		padding-right: 0;
		width: 110%;
		max-width: none;
		margin: 0 -5%;
	}
	
	
	
	
	.recruit .person {
		padding: 60px 0 70px;
	}
	.recruit .person img {
		margin-bottom: -40px;
	}
	.recruit .person .headline {
		font-size: 2.1rem;
	}
	.recruit .person .pflex {
		flex-direction: column;
		width: 86%;
		margin-bottom: 20px;
	}
	.recruit .person .pflex .pbox {
		width: 100%;
		height: 95px;
		margin: 0 0 10px!important;
	}
	.recruit .person .pflex .pbox p {
		font-size: 1.7rem;
		line-height: 1.6;
	}
	.recruit .person .ptxt {
		font-size: 1.6rem;
		margin-bottom: 0;
	}
	.recruit .person .ptxt span {
		font-size: 1.8rem;
	}
	
	
	
	
	
	
	.recruit .point {
		padding: 70px 0 50px;
	}
	.recruit .point .sub {
		margin-bottom: 34px;
	}
	.recruit .point .pflex {
		flex-direction: column;
		width: 88%
	}
	.recruit .point .pflex .pobox {
		width: 100%;
		height: auto;
		margin: 0 0 15px;
		padding: 10px 7% 40px;
	}
	.recruit .point .pflex .pobox img {
		margin-left: -8px;
	}
	.recruit .point .pflex .pobox h3 {
		font-size: 2.2rem;
	}
	.recruit .point .pflex .box1 h3 {
		margin-top: -20px;
	}
	.recruit .point .pflex .ptxt {
		width: 100%;
	}
	
	
	
	
	
	
	
	.recruit .info {
		padding: 110px 0 0;
	}
	.recruit .info .btnBox {
		flex-direction: column;
		margin-top: 45px;
	}
	.recruit .info .btnBox .aBtn a {
		margin: 0 auto 10px;
	}
	.recruit .info #info01 {
		padding: 70px 0 90px;
	}
	.recruit .info .headline {
		font-size: 2rem;
		line-height: 1.5;
		margin-bottom: 15px;
	}
	.recruit .info table {
		width: 85%;
		margin: 0px auto 30px;
	}
	.recruit .info table th,
	.recruit .info table td {
		display: block;
		width: 100%;
	}
	.recruit .info table th {
		font-size: 1.5rem;
		padding: 10px 20px;
		background-image: none;
	}
	.recruit .info table td {
		font-size: 1.4rem;
		padding: 24px 20px 30px;
		background-image: linear-gradient(to right, #bebebe, #bebebe 1px, transparent 2px, transparent 2px);
		background-size: 4px 1px;
	}
	.recruit .info .enBtn a {
		width: 76%;
	}
	


}



@media all and (max-width: 374px) {
	
	.recruit .exp .headline {
		font-size: 1.8rem;
	}
	.recruit .imgbox01:before {
		bottom: -200px;
	}
	.recruit .point .pflex .pobox h3 {
		font-size: 1.9rem;
		letter-spacing: 0;
	}
	.recruit .info .headtitle {
		width: 260px;
		margin: 0 auto;
	}
}


@media all and (min-width: 480px) and (max-width: 768px) {
		
	.recruit .imgbox01:before {
		height: 500px;
		bottom: -200px;
	}
	.recruit .schedule img {
		width: 440px;
		margin: 0 auto;
		display: block;
	}

}




/*------------------------------------------------------------
    contact01
------------------------------------------------------------*/
.contact{
	padding: 150px 0 0;
}
.contact .headline03{
	margin-bottom: 40px;
	text-align: center;
}
.contact .headline03 .min {
	display: block;
	margin-top: 5px;
}
.contact .f-item{
  text-align: center;
}
.contact .exp p{
  text-align: center;
	margin-bottom: 15px;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.5px;
}
.contact .exph2{
  font-size: 15px;
  font-weight: 400;
  margin-bottom: 25px;
  margin-top: 35px;
  letter-spacing: 0.5px;
	line-height: 185%;
}
.contact .headline{
  font-size: 12px;
  color: #aaaaaa;
	font-weight: 400;
  line-height: 180%;
	margin-bottom: 65px;
}
.contact .step{
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
	position: relative;
}
.contact .step:before {
	position: absolute;
	content: "";
	width: 240px;
	height: 2px;
	background: #cecece;
	top: 40%;
	z-index: -1;
}
.contact .step .sCon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 30px 45px 10px;
}
.contact .step .sCon .circle{
  width: 14px;
  height: 14px;
  border: 2px solid #cecece;
  border-radius: 100%;
	background: #fff;
}
.contact .step .sCon .txt {
	color: #a3a2a2;
	font-size: 1.6rem;
	margin-top: 5px;
}
.contact .step .on .circle {
	background: #0045aa;
	border: 2px solid #0045aa;
}
.contact .step .on .txt {
	color: #0045aa;
	font-weight: 600;
}

.contact .con_form{
  width: 600px;
  margin: 0 auto;
  margin-bottom: 28px;
}
.contact table input,
.contact table textarea {
  border: 1px solid #f9f9f9;
  padding-left: 1em;
  height: 52px;
  flex: 1;
  width: 600px;
  background: #f9f9f9;
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  box-sizing: border-box;
  letter-spacing: 0.5px;
}
.contact table input::placeholder {
  color: #9fa0a0;
}
.contact .con_form th,
.contact .con_form td{
  border: none;
  background-color: #fff;
  text-align: center;
  display:block;
  font-size: 14px;
  font-weight: 400;
	letter-spacing: 0.5px;
}
.contact .con_form td{
  padding: 5px 30px 25px 30px;
}
.contact .con_form th{
  display: flex;
  align-items: center;
  text-align: start;
  margin-left: 35px;
  padding-bottom:0;
}

.contact .con_form th span{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  letter-spacing: 1px;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5px 1px;
  margin-left: 18px;
  width: 45px;
  height: 20px;
  background-color: #f4d41c;
}
.contact .con_form textarea{
  height:195px;
	box-sizing: border-box;
	padding: 15px;
}
.contact .submitbtn{
   position:relative;
   margin-bottom: 127px;
}
.contact .submitbtn input,
.contact.third .submitbtn a{
  font-weight: bold;
  font-size: 14px;
  display: flex;
  justify-content: center;
  margin:0 auto;
  text-decoration: none;
  outline: 0;
  cursor: pointer;
	border: 0;
  color: #fff;
  background-color: #0045aa;
  position: relative;
  height: 59px;
  width: 315px;
  align-items: center;
  letter-spacing:1px;
  padding-left: 15px;
  box-sizing: border-box;
}
.contact .submitbtn input:hover,
.contact.third .submitbtn a:hover {
	opacity: .6;
}

.contact .radioBox td {
	display: flex;
}
.contact .radioBox td span {
	margin-right: 10px;
}
.contact .radioBox td input {
	width: 10px;
    height: 10px;
    margin-bottom: 5px;
}





@media all and (max-width: 834px){
	.contact {
    padding: 130px 0 0;
}
	.contact .headline03 img{
		width:auto;
		height: 30px;
	}
	.contact .exp {
		margin: 0 7%;
	}
	.contact .exp p {
		text-align: justify;
	}
	.contact .step{
		margin-bottom: 50px;
	}
	.contact .step .circle{
		width: 80px;
    height: 80px;
	}
.contact .con_form {
    width: 100%;
		margin-bottom: 5px;
	}
	.contact .con_form th p {
    margin-left: 4%;
    font-size: 13px;
    height: 23px;
		padding: 0;
}
	.contact table input,
	.contact table textarea {
		width: 100%;
	}
	.contact .con_form td {
    padding: 5px 20px 20px 20px;
}
.contact .submitbtn {
    margin-bottom: 94px;
}
.contact .submitbtn input,
.contact.third .submitbtn input {
    width: 70%;
    margin-bottom: 85px;
    height: 60px;
    letter-spacing: 1px;
    padding-left: 20px;
}
	
	
	.contact .radioBox td {
		flex-direction: column;
		text-align: left;
		padding-left: 30px;
}
.contact .radioBox td span {
	margin: 0!important;
}
}
/*------------------------------------------------------------
    contact02
------------------------------------------------------------*/

.contact.second .step {
	margin-bottom: 60px;
}
.contact.second .step:after {
	position: absolute;
	content: "";
	width: 120px;
	height: 2px;
	background: #0045aa;
	top: 40%;
	left: 50%;
	margin-left: -120px;
}
.contact.second .conBox {
	border: solid 1px #a2a2a2;
  width: 774px;
  margin: 0 auto;
  margin-bottom: 45px;
	padding: 20px 0 60px;
}


.contact.second .con_form th span {
	display: none;
}
.contact.second .con_form th,
.contact.second .con_form td{
  border: none;
  padding-top: 50px;
  padding-bottom: 0;
  letter-spacing: 0.5px;
　font-size: 14px;
  font-weight: 400;
	display: inline-block;
	vertical-align: top;
}
.contact.second .con_form th {
	width: 135px;
	text-align: left;
	font-weight: 600;
}
.contact.second .con_form td{
  text-align: justify;
	width: 380px;
  line-height: 190%;
  padding: 50px 0 0 28px;
}

.contact.second .underbtn{
  text-align: center;
  margin-bottom: 130px;
  margin-top: -110px;
}
.contact.second .underbtn input{
	font-size: 14px;
  font-weight: bold;
  color: #0045aa;
  border: 1px solid #0045aa;
	background: #fff;
  width: 315px;
  height: 59px;
  box-sizing: border-box;
  padding-top: 5px;
  display: block;
  margin: 0 auto;
}
@media all and (max-width: 834px){
	.contact.second {
		padding-bottom: 30px;
	}
	.contact.second .headline03 img {
    width: auto;
		height: 30px;
}
	.contact.second .step {
		margin-bottom: 40px;
	}
.contact.second .conBox {
    width: 90%;
	padding: 10px 0 50px;
}
.contact.second .con_form th,
.contact.second .con_form td {
    display: block;
    width: 80%;
}
.contact.second .con_form th {
    padding: 35px 0 0 8%;
    font-size: 15px;
	margin-left: 0;
	margin-bottom: 10px;
}
.contact.second .con_form td {
    width: 85%;
    padding: 0 0 0 8%;
    letter-spacing: 0;
    line-height: 160%;
}
.contact.second .con_form .last {
    line-height: 210%;
}
.contact.second .submitbtn,
.contact.second .submitbtn input {
    margin-bottom: 0;
}
.contact.second .underbtn {
    margin-top: 20px;
    margin-bottom: 55px;
}
.contact.second .underbtn input {
    letter-spacing: 1px;
	width: 70%;
	height: 60px;
}
}

/*------------------------------------------------------------
    contact03
------------------------------------------------------------*/
.contact.third .exph2{
	margin-bottom: 70px;
}
.contact.third .step:before {
	background: #0045aa;
}


@media all and (max-width: 834px){
	.contact.third .headline03 img {
    width: auto;
		height: 30px;
}
.contact.third .exph2 {
    margin-bottom: 60px;
}
.contact.third .submitbtn {
    margin-bottom: 68px;
}
.contact.third .submitbtn a {
    margin-bottom: 0;
	width: 70%;
}
}





/*------------------------------------------------------------
   privacy
------------------------------------------------------------*/

.privacy {
	padding: 150px 0 0;
}
.privacy .headline03 {
	text-align: center;
	margin-bottom: 30px;
}
.privacy .content {
	width: 630px;
	margin: 0 auto 150px;
}
.privacy .content .conBox {
	margin-bottom: 50px;
}
.privacy .content .conBox .head {
	font-weight: 700;
}
.privacy .content .conBox p {
	line-height: 1.8;
	text-align: justify;
	margin-bottom: 10px;
	font-weight: 400;
	font-size: 1.4rem;
}
.privacy .content .conBox ul li {
	text-indent: -35px;
	padding-left: 35px;
	line-height: 1.6;
	margin-bottom: 10px;
}
.privacy .content .conBox .ul02 li {
	text-indent: -14px;
	padding-left: 14px;
}
.privacy .content .conBox .square {
	text-indent: -18px;
	padding-left: 18px;
	margin-top: 20px;
}


@media all and (max-width: 834px) {
	
	.privacy {
		padding: 130px 0 0;
	}
	.privacy .headline03 img {
		width: 250px;
	}
	.privacy .content {
		width: 87%;
		margin-bottom: 80px;
	}
	.privacy .content .conBox .head {
		display: block;
		line-height: 1.6;
		margin-bottom: 7px;
	}
	.privacy .content .conBox ul li {
		padding-left: 30px;
	}
	
	
}












/*----- フェードイン -----*//*  slide-top show をHTMLのクラスにつける */
/* 上からフェードイン */
.slide-top {
	opacity: 0;
	transform: translate(0, -20px);
	transition: all 1s ease-out;
 }

/* 下からフェードイン */
.slide-bottom {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 1s ease-out;
 }
.slide-bottom02 {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 1.5s ease-out;
 }
.slide-bottom03 {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 2s ease-out;
 }
.slide-bottom04 {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 2.2s ease-out;
 }
.slide-bottom05 {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 2.5s ease-out;
 }


 /* 左からフェードイン */
.slide-left {
	opacity: 0;
	transform: translate(-50px, 0);
	transition: all 1s ease-out;
 }

/* 右からフェードイン */
.slide-right {
	opacity: 0;
	transform: translate(50px, 0);
	transition: all 1s ease-out;
 }