@charset "UTF-8";


#pagetop {
	bottom: 15px;
}
@media screen and (max-width: 768px) {
	body.fotter_fixedBtn #pagetop {
		bottom: 80px;
	}
}

#wrapper.has-fixedBnr {
	padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
	#wrapper.has-fixedBnr {
		padding-bottom: 65px;
	}
}

/* sec
=======================================================*/
.sec:not(:last-of-type) {
	margin-bottom: 45px;
}
@media screen and (max-width: 768px) {
	.sec:not(:last-of-type) {
		margin-bottom: 25px;
	}
}




/* detailHeader
=======================================================*/
.detailHeader__title {
	font-weight: bold;
	font-size: 2.4rem;
}
.detailHeader__cont {
	border-top: 1px solid #d2d2d2;
	padding-top: 10px;
	margin-top: 15px;
}
.detailHeader__contPR {
	line-height: 1.5;
	margin-bottom: 5px;
	color: #33bfdb;
}
.detailHeader__contCompany {
	color: #737373;
	font-size: 1.4rem;
	text-align: right;
}

@media screen and (max-width: 768px) {
	.detailHeader__title {
		font-size: 1.8rem;
	}
	.detailHeader__contCompany {
		font-size: 1.2rem;
	}
	.jobDetailCont {
		display: block;
	}
}



/* jobDetailBtn
=======================================================*/
.jobDetailBtn {
	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
  	justify-content: flex-end;
}
.jobDetailBtn li:first-child {
	margin-right: 10px;
}
.detailCont .jobDetailBtn {
	margin-top: 30px
}

@media screen and (max-width: 768px) {
	.jobDetailBtn {
		-webkit-box-orient: vertical;
	  	-webkit-box-direction: normal;
	  	-ms-flex-direction: column;
	  	flex-direction: column;
	  	align-items: center;
		margin: 10px 0 20px;
	}
	.jobDetailBtn li:first-child {
		margin-right: 0;
		margin-bottom: 10px;
	}
}


/* jobEntryBtn
=======================================================*/
.jobEntry.is_fixed {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 15px;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1000;
}
.jobEntry:not(.is_fixed) {
	margin-bottom: 40px;
}
.jobEntryBtn {
	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
  	justify-content: center;
}
.jobEntryBtn__item:not(:first-child) {
	margin-left: 20px;
}
.jobEntryBtn__fav {
	border: none;
	outline: none;
	display: block;
	border-radius: 4px;
	background: #fdc44f;
	box-shadow: 0px 5px 0 #f7b42c;
	width: 230px;
	height: 60px;
	line-height: 60px;
	margin: 0 auto;
	text-align: center;
	transition: 0.1s;
	color: #fff;
}
.jobEntryBtn__fav:hover {
	transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
}
.jobEntryBtn__fav.active {
	background: #94b9cb;
}
.jobEntryBtn__fav span {
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	background: url(../img/ico_favorite.png) no-repeat left center;
	padding-left: 22px;
	display: inline-block;
}
.jobEntryBtn__entry {
    border: none;
	outline: none;
	display: block;
	border-radius: 4px;
	background:#8dcf3f;
	box-shadow: 0px 5px 0 #6bb612;
	width: 460px;
	height: 60px;
	line-height: 60px;
	margin: 0 auto;
	text-align: center;
	transition: 0.1s;
	color: #fff;
}
.jobEntryBtn__entry span {
    display: inline-block;
	font-size: 2.0rem;
	font-weight: bold;
}
.jobEntryBtn__entry:hover {
	transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
	color: #fff;
}
.jobEntryBtn__cv {
	border: none;
	display: block;
	margin: 0 auto;
	border-radius: 4px;
	background: #ff7c7c;
	box-shadow: 0px 5px 0 #d95a5a;
	width: 460px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	transition: 0.1s;
	color: #fff;
}
.jobEntryBtn__cv:hover {
	transform: translate3d(0, 5px, 0);
    box-shadow: none;
    text-decoration: none;
	color: #fff;
}
.jobEntryBtn__cv span {
	display: inline-block;
	height: 100%;
	padding-left: 56px;
	font-size: 2.0rem;
	font-weight: bold;
	background-size: 46px auto;
	position: relative;
}
.jobEntryBtn__cv span:before {
    content: "無料";
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    color: #ff7c7c;
    font-size: 1.4rem;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    letter-spacing: 1px;
}
@media screen and (max-width: 768px) {
	.jobEntry.is_fixed {
		padding: 10px 10px 15px;
	}
	.jobEntry:not(.is_fixed) {
		margin-bottom: 40px;
	}
	.jobEntryBtn__item:not(:first-child) {
		margin-left: 10px;
	}
	.jobEntryBtn__fav {
		width: 50px;
		height: 40px;
		line-height: 40px;
	}
	.jobEntryBtn__fav span {
		text-indent: -9999px;
		padding-left: 0;
	    width: 100%;
	    background-position: center center;
	}
	.jobEntryBtn__entry {
		width: calc(100vw - 100px);
		height: 40px;
		line-height: 40px;
	}
	.jobEntryBtn__entry span {
		font-size: 1.4rem;
	}
	.jobEntryBtn__cv {
		width: calc(100vw - 100px);
		height: 40px;
		line-height: 40px;
	}
	.jobEntryBtn__cv span {
		background-size: 30px auto;
		padding-left: 40px;
		font-size: 1.4rem;
	}
	.jobEntryBtn__cv span:before {
		width: 32px;
		height: 32px;
		font-size: 1.0rem;
	}
}
@media screen and (max-width: 320px) {
	.jobEntryBtn__cv span {
		padding-left: 32px;
		font-size: 1.2rem;
	}
	.jobEntryBtn__cv span:before {
		width: 28px;
		height: 28px;
		font-size: 0.8rem;
	}
}



/* detailCont
=======================================================*/
.detailCont__unit:not(:last-of-type) {
	margin-bottom: 60px;
}
.detailCont__title {
	position: relative;
}
.detailCont__titleText {
	border-bottom: 1px solid #d2d2d2;
	padding-bottom: 10px;
	margin: 0 0 20px;
}
.detailCont__titleText span {
	display: inline-block;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 0 0 0 10px;
	color: #33bfdb;
	border-left: 6px solid #33bfdb;
}
.detailCont__titleID {
	position: absolute;
	top: 12px;
	right: 0;
	font-size: 1.4rem;
	color: #b7b7b7;
}
.detailCont__cate {
	margin: 0 0 15px;
	font-size: 0;
}
.detailCont__cateItem {
	display: inline-block;
	font-size: 1.4rem;
	padding: 8px 10px 6px;
	border-radius: 3px;
	background-color: #33bfdb;
	color: #fff;
	margin: 0 5px 5px 0;
}
.detailCont__pic {
	/*text-align: center;*/
	/*margin-bottom: 30px;*/
	display: flex;
	margin-bottom: 30px;
}
.detailCont__pic_noimage {
	/*text-align: center;*/
	/*margin-bottom: 30px;*/
	display: flex;
	margin-bottom: 30px;
}
.detailCont__picThumb {
	max-width: 300px;
}
.detailCont__picCont {
	margin: 0 0 0 50px;
	flex: 1 1 0%;
}
.detailCont__picCont p {
	line-height: 1.6;
	margin-bottom: 20px;
}
.detailCont__picCont_noimage {
	margin: 0 50px 0 0;
	flex: 1 1 0%;
}
.detailCont__picCont_noimage p {
	line-height: 1.6;
	margin-bottom: 20px;
}
.detailCont__commentTitle {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.detailCont__commentTitle:before {
	content: "\f075";
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-size: 2.0rem;
	font-weight: 900;
	color: #33bfdb;
	padding-right: 5px;
}
.detailCont__note {
	padding: 20px;
	margin-bottom: 30px;
	background-color: #fcf6b9;
	color: #e63232;
}
.detailCont__note p {
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.detailCont__unit:not(:last-of-type) {
		margin-bottom: 30px;
	}
	.detailCont{
		-webkit-box-orient: vertical;
	  	-webkit-box-direction: normal;
	  	-ms-flex-direction: column;
	  	flex-direction: column;
	  	margin-top: 10px;
	}
	.detailCont__titleText span {
		font-size: 2.0rem;
	}
	.detailCont__titleID {
		font-size: 1.1rem;
	}
	.detailCont__cate {
		margin: 0 0 10px;
	}
	.detailCont__cateItem {
		font-size: 1.0rem;
		padding: 6px 8px 4px;
		margin: 0 3px 3px 0;
	}
	.detailCont__note {
		padding: 10px;
		width: 90%;
		margin: 0 auto;
	}
	.detailCont__pic {
		display: block;
	}
	.detailCont__pic_noimage {
		display: block;
	}
	.detailCont__picThumb {
		margin: 0;
		max-width: inherit;
	}
	.detailCont__picCont {
		margin: 10px 0;
	}
	.detailCont__picCont_noimage {
		margin: 10px 0;
	}
}



/* detailContTable
=======================================================*/
.detailContTable {
	border-top: #33bfdb 1px dotted;
}
.detailContTable__unit {
	display: flex;
	border-bottom: #33bfdb 1px dotted;
}
.detailContTable__title,
.detailContTable__cont {
	font-size: 1.4rem;
}
.detailContTable__cont_sm {
	font-size: 1.25rem;
}

.detailContTable__title {
	width: 165px;
	padding: 20px 30px;
	background: #eaf6fc;
	font-weight: bold;
	color: #33bfdb;
}
.detailContTable__cont {
	flex: 1 1 0%;
    padding: 20px 30px;
}

.detailContTable.colorGray {
	border-top: #737373  1px dotted;
}
.detailContTable.colorGray .detailContTable__unit {
	border-bottom: #737373  1px dotted;
}
.detailContTable.colorGray .detailContTable__title {
    background: #f5f5f5;
    color: #737373 ;
}

@media screen and (max-width: 768px) {
	.detailContTable__title,
	.detailContTable__cont {
		font-size: 1.2rem;
	}
	.detailContTable__title {
		width: 104px;
		padding: 10px;
	}
	.detailContTable__cont {
		padding: 10px;
	}
	.detailContTable__cont_sm {
		font-size: 1.1rem;
	}
	.detailContTable__cont .note-text {
		width: auto;
	}
}


/* mynaviBox01
=======================================================*/
.mynaviBox01 {
	padding: 20px 30px 30px;
	margin-bottom: 60px;
	background-color: #fff;
	text-align: center;
}
.mynaviBox01__title {
	margin-bottom: 15px;
	font-size: 1.8rem;
	font-weight: bold;
}
.mynaviBox01__title span {
	color: #ff6f6f;
	font-size: 3.0rem;
}


@media screen and (max-width: 768px) {
	.mynaviBox01 {
		padding: 20px 15px;
		margin: 0 10px 30px;
	}
	.mynaviBox01__title {
		margin-bottom: 10px;
		font-size: 1.2rem;
	}
	.mynaviBox01__title span {
		font-size: 2.0rem;
	}
}


/* contactInfo
=======================================================*/
.contactInfo {
	display: flex;
}
.contactInfo__detailUnit {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #d2d2d2;
	padding: 10px 0;
}
.contactInfo__detailTitle {
	font-size: 1.4rem;
	font-weight: bold;
	width: 80px;

}
.contactInfo__detailCont {
	padding-left: 15px;
	flex: 1 1 0%;
	font-size: 1.4rem;

}
.contactInfo__detailUnit.is_tel .contactInfo__detailTitle img {
	width: 76px;
	height: auto;
}
.contactInfo__detailUnit.is_tel .contactInfo__detailCont {
	font-size: 3.0rem;
	font-weight: bold;
}
.contactInfo__detailUnit.is_number .contactInfo__detailCont span {
	font-size: 2.4rem;
}
.contactInfo__text {
	flex: 1 1 0%;
	padding-left: 40px;

}
.contactInfo__textBox {
	background-color: #f7f7f7;
	padding: 15px;
	margin-bottom: 10px;

}
.contactInfo__textBox dt {
	margin-bottom: 5px;
	font-size: 1.4rem;
	font-weight: bold;

}
.contactInfo__textBox dd {
	font-size: 1.4rem;

}
.contactInfo__text p {
	font-size: 1.4rem;
	line-height: 1.6;
}

@media screen and (max-width: 768px) {
	.contactInfo {
		display: block;
	}
	.contactInfo__detail {
		margin-bottom: 10px;
	}
	.contactInfo__detailTitle {
		font-size: 1.2rem;
		width: 80px;
	}
	.contactInfo__detailCont {
		padding-left: 10px;
		font-size: 1.2rem;
	}
	.contactInfo__detailUnit.is_tel .contactInfo__detailTitle img {
		width: 52px;
	}
	.contactInfo__detailUnit.is_tel .contactInfo__detailCont {
		font-size: 2.0rem;
	}
	.contactInfo__detailUnit.is_number .contactInfo__detailCont span {
		font-size: 1.6rem;
	}
	.contactInfo__text {
		padding-left: 0;
	}
	.contactInfo__textBox {
		padding: 10px;
		margin-bottom: 10px;
	}
	.contactInfo__textBox dt {
		margin-bottom: 5px;
		font-size: 1.2rem;
	}
	.contactInfo__textBox dd {
		font-size: 1.2rem;
	}
	.contactInfo__text p {
		font-size: 1.2rem;
	}
}



/* contactInfo
=======================================================*/
.detailTitle {
	padding-bottom: 10px;
    margin: 0 0 20px;
}
.detailTitle__sub {
	display: block;
	border-left: 4px solid #ff6f6f;
	font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 10px;
    padding-left: 10px;
}
.detailTitle__main {
	display: block;
	font-size: 1.8rem;
	/*color: #ff6f6f;*/
    font-weight: bold;
    padding: 0 0 0 10px;
}

@media screen and (max-width: 768px) {
	.detailTitle {
		padding-bottom: 5px;
	    margin: 0 0 10px;
	}
	.detailTitle__sub {
		font-size: 1.2rem;
	    margin-bottom: 5px;
	    padding-left: 5px;
	}
	.detailTitle__main {
		font-size: 1.8rem;
	    padding: 0;
	}
}



/* entryForm
=======================================================*/
#entryForm {
	padding: 6px;
}
#entryForm #includeArea {
	padding: 20px 30px 30px;
	background-color: #fff;
}
.entryForm__title {
	padding: 10px 0;
    font-size: 2.6rem;
    text-align: center;
    font-weight: bold;
    color: #fff;
}
@media screen and (max-width: 768px) {
	#entryForm #includeArea {
		padding: 10px;
	}
	.entryForm__title {
		padding: 5px 0;
	    font-size: 2.0rem;
	}
}