body{
font-size: .15rem;
 font-family: "Noto Sans JP", sans-serif;
}

p{
	margin-bottom:0;
	line-height: 2;
}

a:hover {
    text-decoration: none;
}

dl, ol, ul {
    margin-top: 0;
    margin-bottom: 0;
}

.header {
    display: flex ;
}

.global-nav nav ul a {
    line-height: 2;
}

/*見出し*/

.recruit-head{
	margin-top: 96px;
	height: 170px;
	width:100%;
	background-color: #e6f4ff;
	display: flex;
	justify-content: center;
	align-items: center;
}
.recruit-head__text{
	margin-bottom: 0;
	flex: 0 1 auto;
	width: fit-content;
	font-size: .32rem;
	text-align: center;
   	line-height: 1.3;
	font-weight:var(--font-w-bold);
}
/* =======================================

	recruit box

======================================= */
.recruit_box {
	margin-top: 96px!important;
	color:#fff;
	background-color:#1ca1e9;
}
.recruit_box h1 {
	border-bottom: none !important;
	text-align:center;
	font-size: .40rem;
	font-weight: var(--font-w-bold);
	margin-bottom:32px;
}

.recruit_box h1:after {

  border-bottom: none !important;
}
.recruit_box_left {
	padding:5% 3%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.recruit_box_right {
	padding:5% 3%;
}
.recruit_box_right_inner {
	background-color:#1bb2e4;
	padding:42px 42px 20px 42px;
	border-radius:4px;
	box-shadow:0 0px 4px rgba(30,30,80,.1);
}
.recruit_box h2 {
	text-align:center;
	margin-top:50px;
	font-size:2em;
}
.recruit_box h3 {
	text-align:center;
	font-size:1.3em;
}
.reqruit_cont_list p {
	margin-bottom:0rem !important;
}
.reqruit_cont_list a {
	font-size: 1em;
	color:#fff;
	border-bottom:solid 1px #fff;
	display:block;
	padding:10px 0 10px 10px;
	vertical-align: middle;
	text-align:left;
}
.reqruit_cont_list a:hover {
	background-color: rgba(255,255,255,0.2);
	text-decoration:none;
}
.rec-top__qr-wrap{
	margin-bottom: 35px!important;
}
.rec-top__qr-flex{
	justify-content: space-between;
}
.rec-top__qr-imgwrap{
	max-width: 75px;
}
.rec-top__qr-img{
	width: 100%;
}
.rec-top__line-text{
	margin-top: 15px;
	margin-bottom: 10px;
}
.req_copy {
    font-family: 'Noto Sans JP', sans-serif;
    -ms-font-feature-settings: "normal";
    margin-top: 1em;
    font-size: .40rem;
    font-weight: bold;
	margin-bottom: 10px;
}
.large_list a {
	font-size: 1.5em;
	color:#fff;
	border:solid 1px #fff;
	display:block;
	margin-bottom:10px;
	padding:17px 0 17px 40px;
	vertical-align: middle;
	text-align:left;
	position: relative;
}


.small_list a {
	font-size: 1em;
	color:#fff;
	border:solid 1px #fff;
	display:block;
	padding:20px 0 20px 40px;
	vertical-align: middle;
	text-align:left;
	position: relative;
}

.req_list a{
	position: relative;
	padding:10px 0 10px 40px;
}
.small_list a::before,
.large_list a::before,
.req_list a::before{
	margin-right:0.2em;
	content: '';
    color: #0B40AF;
    background-image: url(/crystal/wp-content/themes/original/images/common/arrow-white.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 15px;
    height: 12px;
    display: inline-block;
    position: absolute;
    top: 52%;
    left: 20px;
	transform: translateY(-50%);
}
.icon-blank{
	width: 20px;
	height: auto;
	vertical-align: baseline;
}

.reqruit_cont_list span {
	color:#fff;
	background-color:#005d82;
	font-size:0.6em;
	padding:3px 5px;
	margin-right:10px;
}

.recruit-breadcrumb {
    background-color: initial;
    align-items: baseline;
    padding: 0 20px;
}

.recruit-breadcrumb .material-icons {
    vertical-align: bottom;
}

.container .breadcrumb-item a{
	color:#1ca1e9;
}


#sub-contents h2 {
    color: #1ca1e9;
    margin-top: 120px;
    margin-bottom: 1em;
    font-size: .24rem;
    padding: 10px 20px;
    border: 1px solid #1ca1e9;
    border-radius: 4px;
}


.voice_wrap {
    position: relative;
    margin: 5px auto;
}

.voice_cat {
    position: absolute;
    top: 1px;
    left: 1px;
    background-color: #076184;
    color: #fff;
    padding: 2px 15px;
    font-size: .13rem;
}


.voice_text {
    position: absolute;
    left: 1px;
    bottom: 1px;
    right: 1px;
    background: rgba(0,0,0,0.5);
    color: #fff;
    padding: 2px 10px;
	font-size: .16rem;
}


.text-decoration-none {
    font-size: .17rem;
}

.card-header {
    padding: 12px 30px;
    margin-bottom: 0;
    background-color: rgba(0,0,0,.03);
    border-bottom: 1px solid rgba(0,0,0,.125);
}

.card-body{
    padding: 20px 55px;
	font-size: .17rem;
}

.material-icons {
    vertical-align: middle;
    color: #666;
}

.card-header h5 {
    font-size: 0;
}

.card{
border-radius: 5px;
}
.card-header:first-child{
	
	border-top-right-radius: 0;
    border-top-left-radius: 0;
}


.accordion>.card:last-of-type {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}


/* PCサイズ以外 */
@media only screen and (max-width : 800px) {
	.recruit_box_right {
		padding: 0 30px;
		margin: 30px auto;
	}
	.recruit_box_left {
    	padding: 0 30px;
	}
	.recruit_box_left img{
		width: 80%;
		margin: 0 auto;
        display: block;
	}
	.recruit_box_right_inner {
		padding:25px 15px 15px;
	}
	.large_list a {
		padding: 10px 0 10px 40px;
		font-size: 1.2em;
		margin-bottom:15px;
	}
	.small_list a {
		margin-bottom: 15px;
		padding: 10px 0 10px 40px;
	}
	.rec-top__line-text{
		margin-bottom: 8px;
	}
	.rec-top__qr-wrap{
		margin-bottom :30px!important;
	}
	.rec-top__qr-flex {
		justify-content: center;
	}
	.recruit_box_img{
		margin-top:0;
	}

	h1.text-md-center.req_copy {
		margin-bottom: 20px;
		font-size: .3rem;
		line-height: 1.4;
		text-align: center;
	}
	.req_copy_small{
		text-align: center;
	}

	.recruit-breadcrumb {
		display: none;
	}

	#sub-contents h2 {
		margin-top: 80px;
		margin-bottom: 1em;
		font-size: .22rem;
			padding: 10px 10px;
	}

	.card-header {
		padding: 12px 20px;
		 font-size: .16rem;
	}

	.card-body {
		padding: 20px 23px;
		font-size: .16rem;
	}


}
/* PCサイズ以外 */
@media only screen and (max-width : 800px) {


.req_line-qr {padding:0.5em !important;text-align:center;}
}



/*LINE  採用ページ*/

#sub-contents h1{
	border-bottom: solid 3px #ccc;
    position: relative;
    	font-size:.32rem;
    padding-bottom: 0.1em;
    padding-top: 1em;
    margin-bottom: 1em;
}

#sub-contents h1:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #1ca1e9;
    bottom: -3px;
    width: 30%;
}


#sub-contents h3 {
    font-size: .20rem;
    color: #666;
    border-bottom: solid 1px #666;
    padding: 15px 0 15px 5px;
    margin: 1em 0 1em 0;
}
#sub-contents .voice-container h3 {
    margin: 1em 0 1em .3rem;
	border-bottom: 0;
	line-height: 1.5;
	text-indent: -.3rem;
	position: relative;
}
#sub-contents .voice-container h3::after{
	content: "";
	display:inline-block;
	background-color: #666;
	width: calc(100% + .3rem);
    height: 1px;
    position: absolute;
    bottom: 0;
    right: 0;
}
.mt-5, .my-5 {
    margin-top: 50px !important;
}

.material-icons.md-36 {
    font-size: 36px;
}

ol.number {
    counter-reset: yourDefinition;
}

ol.number li {
    padding-left: 45px;
    text-indent: -45px;
    margin-bottom: 2em;
}

ol.number li::before {
    counter-increment: yourDefinition;
    content: counter(yourDefinition);
    display: inline-block;
    margin-right: 10px;
    width: 30px;
    height: 30px;
    text-align: center;
    color: white;
    font-weight: bold;
    font-family: helvetica;
    font-size: 1.5em;
    line-height: 1.3em;
    text-indent: 0;
    background: #22B91D;
    border-radius: 100%;
}


.line-contact p {
    margin-bottom: 30px;
}


.breadcrumb {
    margin: 30px 0;
    width: 1320px;
    max-width: 100%;
    margin: 30px auto;
    padding: 0 60px;
	display: block;
    background-color: transparent;
    border-radius: 0;
}

.qa_num{
	display: inline-block;
	width: 45px;
}

.card-body,
.text-body {
  display: flex;
  align-items: flex-start;
}

.qa_num {
  flex-shrink: 0;
  width: 45px;
  line-height: 1.7;
}

.faq_text {
  flex: 0 1 auto;
  width: auto;
  line-height: 1.7;
}


/* PCサイズのみ */
@media only screen and (min-width: 800px) {
	.touroku_wrap {
		background-color:#fff;
		margin:2em auto;
		padding:1em 3em;
		border-radius:4px;
		box-shadow:0 0px 4px rgba(30,30,80,.3);
		max-width:80%;
	}
}


@media only screen and (max-width : 480px) {
	#sub-contents h1 {
		font-size: .24rem;
	}

	.line-contact p {
		line-height: 1.8;
	}

	ol.number li {
		line-height: 1.8;
		font-size: .16rem;
	}
}


.recruit-head__wrap{
	margin: 120px auto 24px;
}
.recruit-head__wrap--career{
	margin: 50px auto 24px;
}
.recruit-head__en{
	font-weight: bold;
    font-size: .60rem;
    font-family: "Roboto", sans-serif;
    color: #E1E0DF;
    line-height: 1;
    text-align: center;
}
#sub-contents .recruit-head__ja{
	margin: 0;
	padding: 0;
    border: none;
    border-radius: 0;
	font-size: .21rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.6;
    font-family: "Noto Sans JP", sans-serif;
	color: #000;
}
.recruit-head__ja::before{
	display:none;
}

@media only screen and (max-width : 800px) {
	.recruit_box {
		margin-top: 70px!important;
		padding-bottom: 50px !important;
	}
	    .breadcrumb {
        margin: 30px auto;
        padding: 0 29px;
    }
    .recruit-head {
        margin-top: 70px;
        height: 90px;
    }
	.recruit-head__wrap{
		margin: 80px auto 20px;
	}
	.voice-container{
		padding: 0 15px!important;
	}
	.voice_wrap{
		margin-bottom: 20px;
	}
	#sub-contents .voice-container h3{
		font-size: .18rem;
	}
	.rec-line__contents{
		padding: 0 15px!important;
	}
}

/*キャリアアップ*/

.breadcrumb li+li:before {
    content: '>' !important;
    margin: auto 5px;
}

.breadcrumb li::after {
    display: none;
}

.breadcrumb-item+.breadcrumb-item::before {
    padding-right: 0px;
}

.breadcrumb-item+.breadcrumb-item {
    padding-left: 5px;
}



.btn-group-lg>.btn, .btn-lg {
    padding: 10px 10px;
    font-size: .20rem;
    line-height: 1.5;
    border-radius: 5px;
}

.carrierup-main h1+p{
	margin-bottom:20px;
}


.carrierup-main#sub-contents recruit-head__wrap{
	margin-top:20px;
}


.carrierup-main .table td, .carrierup-main .table th {
    padding: 15px 15px;
    vertical-align: top;
    border-top: 1px solid #dee2e6;
}

.carrierup-main .table {
    margin-bottom: 30px;
}

.carrierup-main .table + p{
	margin-bottom: 20px;
}

.carrierup-main {
    margin-top: 30px !important;
}


/* モバイルサイズのテーブル */
@media only screen and (max-width : 480px) {
	.res_table th {
		display:block !important;
		background-color:#f0f0f0;
	}
	.res_table td {
		display:block !important;
	}
	
	#sub-contents h2 {
    font-size: .18rem;
}

#sub-contents h2:before {
    font-size: .20rem;
}
}




.card_box {
	margin-bottom:15px;
}
.card-title{
	font-size:1em;
}

.card-text {
	font-size:0.7em;
}
.company_map {
	border:none;
	width:100%;
	height:350px;
}

.carrierup-main .table td, .carrierup-main .table th {
    line-height: 1.6;
    font-size: .16rem;
	    padding: 15px 12px;
    letter-spacing: 0.001em;
}






/*先輩の声*/

.voice_sign {
    background: #f0f0f0;
    border-radius: 5px;
    padding: 10px;
    text-align: center !important;
}

.voice_sign .col-md-4{
	padding: 0 25px;
	text-align: start;
}


.voice_sign h2 {
    color: #000 !important;
    border: none !important;
    content: none !important;
    margin: 0 !important;
	padding: 20px 0 !important;
	text-align :start;
}


.balloon {
    position: relative;
    padding: 20px;
    background: #f0f0f0;
    border-radius: 5px;
}

.balloon p {
    margin: 0;
}

.balloon::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -15px;
    top: 20px;
    border-left: 15px solid #f0f0f0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

.voice_read {
    font-weight: bold;
    margin-top: 3em;
    margin-bottom: 0em;
    font-size: 1.2em;
}


main#sub-contents {
    margin-top: 0;
}


#item02 {
    margin-bottom: 0;
}

.contact-banner__text p:nth-of-type(1),
.contact-banner__text p:nth-of-type(2) {
    line-height: 2;
}


@media screen and (max-width:800px){
	main#sub-contents {
		margin-top: 0;
	}

    .voice_qa_wrap p {
        margin-bottom: 38px;
    }

	p.voice_icon {
		margin: 0 auto;
		width: 85px;
	}

	.balloon p {
		margin: 0;

	}

	p.voice_read{
	margin-bottom: 20px;
	}
	.recruit-head__text{
		font-size: .24rem;
	}
	.recruit-head__en{
		font-size: .48rem;
	}
	.recruit-head__ja{
		font-size: .18rem;
	}
	.voice_sign{
	    padding: 10px 10px 20px;
	}
	.voice_sign h2{
		text-align: center;
	}
	.voice_sign .col-md-4{
		margin-bottom: 20px;
		text-align: center;
	}
	.voice_sign .col-md-8{
		padding: 0 25px;
	}
	.container-ceo .row{
		flex-direction: column;
		align-items: center;
	}
	.container-ceo .row .col-2{
		max-width: 100%;
	}
	.balloon{
		margin-bottom: 20px;
	}
	.balloon::before {
		left:46%;
		top: 100%;
		border-top: 15px solid #f0f0f0;
		border-left: 15px solid transparent;
		border-right: 15px solid transparent;
	}
	
}





/*コンタクトフォーム*/

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

	Cotact

======================================= */
.contact_form .mfp_element_all{
	max-width: 100%;
}
.contact_form .mfp_element_textarea{
	width: 100%!important;
	height: 100px !important;
}
.contact_form .p-postal-code{
	width: 100%!important;
}
#sub-contents label {
    margin-bottom: 10px;
}

.form-group {
    margin-bottom: 20px;
}

.form-control {
    font-size: initial;
    height: initial;
    line-height: 1.8;
    border-radius: 5px;
    padding: 10px 30px;
}

.form-control:focus {
    box-shadow: 0 0 0 4px rgba(0,123,255,.25);
    padding: 10px 10px;
}

.btn-primary {
    color: #fff;
    background-color: #1ca1e9;
    border-color: #1ca1e9;
    font-size: .16rem;
    padding: 15px 35px;
    border-radius: 5px;
    margin: 0 auto;
    display: block;
}
#mfp_overlay_inner h4{
	font-size:.2rem;
}
.rec-thx{
    margin: 60px auto 0;
	text-align: center;
}
/* Sサイズ、タブレット : Small Devices, Tablets */
@media only screen and (min-width : 768px) {
	.contact_form {width:80%;margin:auto;}
}
/* PCサイズのみ */
@media only screen and (min-width : 768px) {
	.form-check {text-align:center !important;}
}


.entry-contact-main h1+p{
	margin-bottom:20px;
}

/*flow*/
.recruit-flow {
	width: 1040px;
	max-width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.recruit-flow div {
	width: 14.231%;
	padding-bottom: 14.231%;
	border-radius: 50%;
	position: relative;
	background-color: #E4E4E4;
	position: relative;
}
.recruit-flow div p {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: fit-content;
	height: fit-content;
}
.recruit-flow div:last-of-type,
.recruit-flow div:first-of-type {
	background-color: #009DDB;
	color: #fff;
}
.recruit-flow div:last-of-type::before {
	display: none;
}
.recruit-flow img {
	width: 16px;
}


@media screen and (max-width:800px) {
	.recruit-flow {
		flex-direction: column;
	}

	.recruit-flow div {
		width: 85%;
		padding-bottom: 14%;
		border-radius: 10px;
		margin: 0 auto 10px;
	}
	.recruit-flow img {
		width: 16px;
		margin: 0 auto 10px;
		transform: rotate(90deg);
	}
}