@charset "UTF-8";
footer {
	padding-bottom: 135px;
}
.content .voicebox {
    padding-bottom: 82px;
}
.content .faqbox {
    /* margin-bottom: 0; */
}
.visual {
    background: url(./images/bg_visual.webp) no-repeat center center / cover;
    padding: 50px 0 77px 0;
}
.visual>.inner {
    width: 94%;
    max-width: 980px;
    margin: 0 auto;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: start;
}
.visual .job_top_box {
	display:flex;
	justify-content: space-between;
	align-items: end;
	width:100%;
	margin-bottom:5px;
}
.visual .job_top_box .gift_money{
	margin-bottom: 4px;
}
.visual .job_top_box .gift_money span {
	background: #fd6374;
	color: #FFF;
	padding: 5px 10px;
	border-radius: 10px;
	margin-right:10px;
}

.visual h1 {
    font-size: 24px;
    text-shadow: 0px 0px 10px rgba(225, 68, 92, 0.5);
    font-weight: 700;
}
.visual .company {
    background: rgba(255, 255, 255, 0.3);
    display: flex;
    align-items: center;
    padding: 5px 15px;
    border-radius: 16px;
    margin-top: 26px;
}
.visual .company.company2 {
	margin-top: 6px;
}
.visual .company .title {
    font-size: 13px;
    font-weight: 700;
    width: 52px;
}
.visual .company2 .title{
    font-size: 13px;
    font-weight: 700;
	width: 70px;
}
.visual .company .name {
    font-size: 15px;
    font-weight: 700;
    width: calc(100% - 52px);
}
.content {
    padding-top: 10px;
}
.content .detail {
    background: #FFF9E8;
    border-radius: 32px 32px 0 0;
    margin-top: -42px;
    position: relative;
    padding: 50px 0 100px 0;
}
.content .detail.detail-with-entry-end{
	padding-bottom: 10px;
}
.content .detail.detail-with-entry-end2{
	margin-top: 0;
  	border-radius: 0;
}
.content .detail>.inner {
    width: 94%;
    max-width: 980px;
    margin: 0 auto;
}
.content .detail .infobox .update {
    text-align: center;
    font-size: 12px;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    color: #8C8C8C;
    margin-bottom: 0;
}
.content .detail .infobox {
    background: #fff;
    border-radius: 16px;
    padding: 20px 15px 15px 15px;
}
.content .detail .infobox dl.dllist {
    margin: 10px 20px 0 20px;
}
.btboxdetail {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    gap: 8px;
}
.btboxdetail a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 0;
    background: #FFC317;
    font-weight: 700;
    border-radius: 100px;
    width: calc(50% - 42px);
    color: #fff;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
}
.btboxdetail a.bt_tel {
    color: #8C8C8C;
    background: #fff;
    border: 1px solid #E7E7E7;
}
.btboxdetail a.bt_tel .icon {
    margin-right: 6px;
}
.content .detail .sec {
    margin-top: 65px;
}
.content .detail .sec+.sec {
    border-top: 1px solid #FFEDB9;
    padding-top: 55px;
}
.content .detail .sec h2 {
    display: flex;
    align-items: center;
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 24px;
}
.content .detail .sec h2 .icon {
    margin-right: 7px;
}
.content .detail .sec .info {
    border-radius: 16px;
    background: #fff;
    border: 1px solid #FFEDB9;
}
.content .detail .sec .info .insec {
    border-top: 1px solid #FFEDB9;
    padding: 30px;
}
.content .detail .sec .info .insec:nth-child(1) {
    border-top: none;
}
.content .detail .sec .info .insec h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 14px;
}
.content .detail .sec .info .insec .body {}
.content .detail .sec .info .insec .body p {
    font-size: 15px;
    line-height: 1.5em;
}
.content .detail .sec .info .insec .body p strong {
    font-weight: 700;
    color: #F77D95;
}
.content .detail .gallery ul.gallerylist {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.content .detail .gallery ul.gallerylist li {
    width: calc(100% / 4 - 15px);
}
.content .detail .gallery ul.gallerylist li a {
    display: block;
}
.content .detail .gallery ul.gallerylist li a img {
    object-fit: contain;
    width: 100%;
    height: 142px;
    border-radius: 8px;
}
.content .detail .companyinfo {}
.content .detail .detailfooter {
    background: #fff;
    border-radius: 16px;
    padding: 15px;
    margin-top: 70px;
}
.content .detail .detailfooter .btboxdetail {
    margin-top: 0;
}
.content .detail .detailfooter .bt_search {
    margin-top: 15px;
    padding: 10px 0 5px 0;
    display: flex;
    justify-content: center;
    border-top: 1px solid #E7E7E7;
}
.content .detail .detailfooter .bt_search a {
    color: #F77D95;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    font-weight: 700;
    padding: 10px 20px;
}
.bt_entry_fixed {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 0;
    background: #FFC317;
    box-shadow: 0px 0px 10px 0px rgba(238, 139, 2, 0.45);
    font-weight: 700;
    border-radius: 100px;
    width: 380px;
    color: #fff;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    margin: 20px auto 0 auto;
    position: fixed;
    bottom: 25px;
    left: 50%;
    transform: translate(-50%, 0);
    opacity: 0;
    pointer-events: none;
    z-index: 1000;
}
.bt_entry_fixed.show {
    opacity: 1;
    pointer-events: auto;
}
.bt_entry_fixed:hover {
	opacity: 0;
}
.bt_entry_fixed.show {
	opacity: 1;
}
.bt_entry_fixed.show:hover {
	opacity: 0.75;
}

/**************************************************************/
/** SP ********************************************************/
/**************************************************************/
@media screen and (max-width: 767px) {
	footer {
		padding-bottom: 122px;
	}
	.bt_pagetop {
		bottom: 107px;
	}
	.content .voicebox {
		padding-bottom: 82px;
	}
	.content .faqbox {
		/* margin-bottom: 0; */
	}
	.visual {
		background: url(./images/bg_visual.webp) no-repeat center center / 150% 100%;
		padding: 25px 0 64px 0;
	}
	.visual>.inner {
		width: 92%;
		max-width: 980px;
		margin: 0 auto;
		color: #fff;
		display: flex;
		flex-direction: column;
		align-items: start;
	}
	.visual h1 {
		font-size: 20px;
		text-shadow: 0px 0px 10px rgba(225, 68, 92, 0.5);
		font-weight: 700;
	}
	.visual .company {
		background: rgba(255, 255, 255, 0.3);
		display: flex;
		align-items: center;
		padding: 5px 15px;
		border-radius: 16px;
		margin-top: 20px;
	}
	.visual .company.company2 {
		margin-top: 6px;
	}
	.visual .company .title {
		font-size: 13px;
		font-weight: 700;
		width: 50px;
		letter-spacing: 0;
	}
	.visual .company2 .title{
		font-size: 13px;
		font-weight: 700;
		width: 70px;
		letter-spacing: 0;
	}
	.visual .company .name {
		font-size: 15px;
		font-weight: 700;
		width: calc(100% - 50px);
		letter-spacing: 0;
	}
	.content {
		padding-top: 10px;
	}
	.content .detail {
		background: #FFF9E8;
		border-radius: 32px 32px 0 0;
		margin-top: -42px;
		position: relative;
		padding: 0;
	}
	.content .detail>.inner {
		width: auto;
		margin: 0 auto;
	}
	.content .detail .infobox .update {
		text-align: center;
		font-size: 12px;
		text-decoration: underline;
		text-decoration-thickness: 1px;
		color: #8C8C8C;
		margin-bottom: 0;
	}
	.content .detail .infobox {
		background: #fff;
		border-radius: 32px 32px 0 0;
		padding: 20px 0% 30px 0%;
	}
	.content .detail .infobox dl.dllist {
		margin: 0px 04%0 4%;
	}
	.btboxdetail {
		display: flex;
		justify-content: space-between;
		margin-top: 24px;
		gap: 8px;
		flex-wrap: wrap;
		padding: 0 8%;
	}
	.btboxdetail a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 16px 0;
		background: #FFC317;
		font-weight: 700;
		border-radius: 100px;
		width: 100%;
		color: #fff;
		letter-spacing: 0.1em;
		text-indent: 0.1em;
	}
	.btboxdetail a.bt_tel {
		color: #8C8C8C;
		background: #fff;
		border: 1px solid #E7E7E7;
		width: calc(100% - 54px);
		padding: 8px 0;
	}
	.btboxdetail a.bt_tel .icon {
		margin-right: 6px;
	}
	.content .detail .sec {
		margin: 30px 0% 0px 0%;
	}
	.content .detail .sec+.sec {
		border-top: 1px solid #FFEDB9;
		padding-top: 30px;
	}
	.content .detail .sec > .inner {
		padding: 0 4%;
	}
	.content .detail .sec h2 {
		display: flex;
		align-items: center;
		font-size: 22px;
		font-weight: 700;
		margin-bottom: 24px;
	}
	.content .detail .sec h2 .icon {
		margin-right: 7px;
	}
	.content .detail .sec .info {
		border-radius: 16px;
		background: #fff;
		border: 1px solid #FFEDB9;
	}
	.content .detail .sec .info .insec {
		border-top: 1px solid #FFEDB9;
		padding: 25px 15px;
	}
	.content .detail .sec .info .insec:nth-child(1) {
		border-top: none;
	}
	.content .detail .sec .info .insec h3 {
		font-size: 16px;
		font-weight: 700;
		margin-bottom: 14px;
	}
	.content .detail .sec .info .insec .body {}
	.content .detail .sec .info .insec .body p {
		font-size: 14px;
		line-height: 1.5em;
	}
	.content .detail .sec .info .insec .body p strong {
		font-weight: 700;
		color: #F77D95;
	}
	.content .detail .gallery ul.gallerylist {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
	.content .detail .gallery ul.gallerylist li {
		width: calc(100% / 2 - 5px);
	}
	.content .detail .gallery ul.gallerylist li a {
		display: block;
	}
	.content .detail .gallery ul.gallerylist li a img {
		object-fit: cover;
		width: 100%;
		height: 28vw;
		border-radius: 8px;
	}
	.content .detail .companyinfo {}
	.content .detail .detailfooter {
		background: #fff;
		border-radius: 16px;
		padding: 24px 0 0 0;
		margin-top: 30px;
	}
	.content .detail .detailfooter .btboxdetail {
		margin-top: 0;
	}
	.content .detail .detailfooter .bt_search {
		margin-top: 24px;
		padding: 17px 0;
		display: flex;
		justify-content: center;
		border-top: 1px solid #E7E7E7;
	}
	.content .detail .detailfooter .bt_search a {
		color: #F77D95;
		text-decoration: underline;
		text-decoration-thickness: 1px;
		font-weight: 700;
		padding: 10px 20px;
		display: 16px;
	}
	.bt_entry_fixed {
		display: flex;
		width: 92%;
		bottom: 25px;
		left: 50%;
		transform: translate(-50%, 0);
		z-index: 1000;
	}
    .bt_entry_fixed:hover {
        opacity: 0;
    }
    .bt_entry_fixed.show,
    .bt_entry_fixed.show:hover {
        opacity: 1;
    }
}
