/* noto-sans-jp-regular - latin_japanese */
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: local(''),
         url('../fonts/noto-sans-jp-v36-latin_japanese-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
         url('../fonts/noto-sans-jp-v36-latin_japanese-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }
  /* noto-sans-jp-700 - latin_japanese */
  @font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    src: local(''),
         url('../fonts/noto-sans-jp-v36-latin_japanese-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
         url('../fonts/noto-sans-jp-v36-latin_japanese-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
  }

/* 募集職種　絞り込み　チェックボックス・ラジオボタン */
.ndContent input[type=checkbox], .ndContent input[type=radio] {
    display: none;
} 
.ndContent input[type=checkbox]+label {
    display: block;
    cursor: pointer;
    height: 50px;
    line-height: 50px;
    letter-spacing: 0;
    border: 1px solid #B2D89C;
    box-shadow: 0 0px 2px rgba(0,0,0,0.3);
    padding: 2px 0 0 30px;
    position: relative;
}
.ndContent input[type=checkbox]+label::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;     
    top: 28px;
    left: 5px;
    transform: translateY(-50%);
    border: 2px solid #ccc;
    border-radius: 3px;
    cursor: pointer;
}
.ndContent input[type=checkbox]:checked+label::before {
    background-color: #639335;
    border-color: #639335;
}
.ndContent input[type=checkbox]:checked+label::after {
    /*チェックの✓をつくる*/
    content: "";
    display: block;
    width: 12px;
    height: 7px;
    box-sizing: border-box;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    position: absolute;
    top: 25px;
    left: 12px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg) translateY(-50%);
}
.ndContent .areaRadio {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 5px 5px 30px;
    position: relative;
    width: auto;
}
.ndContent .areaRadio::before {
    background: #fff;
    border: 2px solid #BBBBBB;
    border-radius: 50%;
    content: '';
    display: block;
    height: 14px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 47%;
    width: 14px;
}
.ndContent .areaRadio::after {
    background: #3A8765;
    border-radius: 50%;
    content: '';
    display: block;
    height: 10px;
    left: 9px;
    margin-top: -4px;
    opacity: 0;
    position: absolute;
    top: 47%;
    width: 10px;
}
input[type=radio]:checked + .areaRadio::before {
    border: 2px solid #3A8765;
}
input[type=radio]:checked + .areaRadio::after {
    opacity: 1;
}

/* もっと見る */
label.btnMore {
    display: block;
    width: 100%;
    height: 50px;
    text-align: center;
    cursor: pointer;
    position: relative;
    bottom: -20px;
    z-index: 1;
}
label.btnMore::before {
    display: block;
    content: "";
    width: 100%;
    border-bottom: 1px solid #639335;
    position: absolute;
    z-index: -1;
    top: 22px;
}
label.btnMore::after {
    content: '求人をもっと見る';
    color: #639335;
    font-size: 14px;
    width: 200px;
    height: 44px;
    line-height: 44px;
    letter-spacing: 0;
    text-align: center;
    background-color: #fff;
    background-image: url(../img/icon_arrow_down.svg);
    background-repeat: no-repeat;
    background-position: top 18px right 20px;
    border: 1px solid #639335;
    border-radius: 22px;
    margin: 0 auto;
    padding: 0 15px 0 0;
    cursor: pointer;
    position: absolute;
    right: 0;
    left: 0;
    z-index: 2;
}
input.recruitMore:checked ~ label {
	display: none;
}
input.recruitMore {
	display: none;
}
.morejobsList {
	position: relative;
	z-index: 10;
	overflow: hidden;
	height: 0;
	margin-top: -1px;
    padding-bottom: 20px;
	transition: height 0.3s ease-in-out,box-shadow 0.6s linear;
}
input.recruitMore:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}
input.recruitMore:checked ~ div.morejobsList {
	height: 100%;
}

.recTopleadBr {
    display: none;
}
#jobsInfo, #ndT, #insurance, #skillUp, #transportation, #compensation, #maternityLeave, #healthCheckup, #vaccination, #discount {
    margin-top: -76px;
    padding-top: 76px;
}
.pageKv.recruit {
	height: 400px;
    background: url(../img/top_recruit_sp.jpg) no-repeat center top;
    background-size: cover;
	margin-bottom: 0;
	position: relative;
}
.pageKv.recruit::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.40);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}
.pageKv.recruit h1 {
	color: #fff;
    font-size: 27px;
	margin-bottom: 20px;
	position: relative;
	z-index: 3;
}
.pageKv.recruit .pageKvCatch {
    width: 88%;
	text-align: center;
    letter-spacing: 2px;
    top: auto;
    bottom: 50px;
}
.pageKv.recruit .pageKvCatch p {
	display: block;
	background: none;
}
.pageKv.recruit .pageKvCatch .btnLinkArrow.bottom a {
	margin: 0 auto;
	z-index: 3;
}
.btnLinkArrow.bottom a::after {
    content: "";
    position: absolute;
    bottom: 15px;
    right: 20px;
    width: 15px;
    height: 9px;
    background: url(../img/icon_arrow_down.svg) bottom right no-repeat;
    background-size: 15px 9px;
}
.top_recruit {
    margin: 40px auto 0;
}
.top_recruit .visual {
    width: 100%;
    position: relative;
}
.top_recruit .visual img {
    width: 80%;
    height: auto;
	margin: 0 10%;
}
.top_recruit h2 {
    margin: 30px 0 15px;
}
.recriotTopMovie h3 {
    margin-bottom: 15px;
}

/* 数字で見るコンパス */
.dataCompass div, .dataCompass ul li, .dataCompass h3, .dataCompass h4, .dataCompass p, .dataCompass span {
    font-family: 'Noto Sans JP';
    text-align: center;
}
.dataCompass p, .dataCompass span {
    line-height: 1.2;
}

.dataCompass h3 {
    color: #639335;
    margin-bottom: 20px;
}
.graphDonut {
    width: 56vw;
    height: 28vh;
    pointer-events: none;
    margin: 0 auto;
    padding: 0;
    position: relative;
}
.allStaff {
    display: flex;
    align-items: center;
}
.allStaff div {
    width: 56%
}
.allStaff > div:first-child {
    width: 40%;
    font-size: 12px;
    letter-spacing: 0;
    padding: 0;
}
.allStaff div:first-child {
    font-size: 12px;
}
.allStaff div:first-child .countU {
    color: #639335;
    font-size: 36px;
    font-weight: bold;   
}
.allStaff div:first-child .unit {
    color: #639335;
    font-size: 16px;
    margin-left: 5px;
}
.allStaff div:nth-child(2) {
    position: relative;
}
.allStaff div:nth-child(2) p {
    color: #fff;
    font-size: 12px;
    text-align: left;
    letter-spacing: 0;
    position: absolute;
}
.allStaff div:nth-child(2) p span {
    font-size: 16px;
}
.allStaff div:nth-child(2) p:first-of-type {
    position: absolute;
    top: 26%;
    right: 12%;
}
.allStaff div:nth-child(2) p:nth-of-type(2) {
    position: absolute;
    top: 55%;
    left: 14%;
}
.sex, .holiday {
    border: 1px solid #639335;
    margin: 30px 0 0 0;
    padding: 30px 20px;
}
.sex ul {
    display: flex;
    width: 80%;
    margin: 0 10%;
}
.sex ul li {
    width: 50%;
    color: #639335;
    position: relative;
}
.sex ul li .countU {
    font-size: 42px;
    font-weight: bold;
    margin-left: 15px;
}
.sex ul li:first-child:before {
    content: "";
    position: absolute;
    bottom: 9px;
    left: -22px;
    width: 31px;
    height: 61px;
    background: url(../img/infog_man.svg) bottom left no-repeat;
    background-size: 31px 61px;
}
.sex ul li:nth-child(2):before {
    content: "";
    position: absolute;
    bottom: 9px;
    right: -28px;
    width: 30px;
    height: 61px;
    background: url(../img/infog_woman.svg) bottom left no-repeat;
    background-size: 30px 61px;
}
.holiday h3 {
   position: relative;
}
.holiday h3 span {
    color: #1A1A1A;
    font-size: 12px;
    letter-spacing: 0;
    position: absolute;
    top: 5px;
    right: 10px;
}
.holiday .countU {
    color: #FF7815;
    font-size: 42px;
    font-weight: bold; 
    text-align: right; 
}
.holiday .plus {
    color: #639335;
    display: inline-block;
    font-size: 27px;
    font-weight: bold;
    line-height: 1.1;
    margin-left: 50px;
    position: relative;
}
.holiday .plus:before {
    content: "";
    position: absolute;
    bottom: 9px;
    left: -40px;
    width: 26px;
    height: 26px;
    background: url(../img/infog_plus.svg) bottom left no-repeat;
    background-size: 26px 26px;
}

.barGraph {
    opacity: 0;
}

.dataOccupation {
    margin-top: 30px;
}
.barGraph.active {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-top: 50px;
    opacity: 1;
    transition-delay: 0.5s；
}
.barGraph li {
    width: 34px;
    background-color: #639335;
    position: relative;
    margin: 0 6px;
}
.barGraph.active li {
    transform: scaleY(0);
    transform-origin: bottom;
    animation: extend 0.5s linear forwards;  
}
.barGraph li:nth-child(2) {
    animation-delay: 0.2s;
}
.barGraph li:nth-child(3) {
    animation-delay: 0.3s;
}
.barGraph li:nth-child(4) {
    animation-delay: 0.4s;
}
.barGraph li:nth-child(5) {
    animation-delay: 0.5s;
}
.barGraph li:nth-child(6) {
    animation-delay: 0.6s;
}
@keyframes extend {
    0%{
        transform: scaleY(0);
    }
    100%{
        transform: scaleY(1);
    }
}
.barGraph li .value {
    color: #639335;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0;
    white-space: nowrap;
    margin: 0 auto;
    position: relative;
    top: -25px;
    left: 0;
    right: 0;
    transform: scaleY(1);
}
.barGraph li .value span {
    font-size: 11px;
    font-weight: normal;
}
.barGraph li:first-child {
    height: 55px;
}
.barGraph li:nth-child(2), .barGraph li:nth-child(3) {
    height: 8px;
}
.barGraph li:nth-child(4) {
    height: 150px;
}
.barGraph li:nth-child(5) {
    height: 234px;
}
.barGraph li:nth-child(6) {
    height: 43px;
}
.occupationName {
    display: flex;
    justify-content: center;
    margin-top: 15px;
}
.occupationName li {
    display: flex;
    align-items: center;
    width: 34px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: left;
    margin: 0 6px;
}
.ageGraph {
    margin-top: 50px;
}
.byAgeJobs {
    display: flex;
    flex-wrap: wrap;
}
.byAgeJobs li {
    width: 50%;
    height: 25vh; 
    pointer-events: none;
    margin: 0 auto 15px;
    padding: 0;
    position: relative;
}
.byAgeJobs h4 {
    font-size: 12px;
    letter-spacing: 0;
    margin: 0 auto;
    position: absolute;
    top: 48%;
    right: 0;
    left: 0;
}
.byAgeJobs li p {
    color: #fff;
    font-size: 11px;
    text-align: left;
    letter-spacing: 0;
    position: absolute;
}
.byAgeJobs li p span {
    font-size: 14px;

}
.byAgeJobs li:first-child p.age20s {
    top: 12%;
    right: 30%;
}
.byAgeJobs li:first-child p.age30s {
    top: 43%;
    right: 13%;
}
.byAgeJobs li:first-child p.age40s {
    top: 61%;
    left: 15%;
}
.byAgeJobs li:first-child p.age50s {
    top: 20%;
    left: 15%;
}
.byAgeJobs li:first-child p.age50s span.item50 {
    font-size: 11px;
    position: absolute;
    left: 36%;
}
.byAgeJobs li:nth-child(2) p.age30s, .byAgeJobs li:nth-child(3) p.age30s {
    top: 43%;
    right: 14%;
}
.byAgeJobs li:nth-child(2) p.age40s, .byAgeJobs li:nth-child(3) p.age40s {
    top: 43%;
    left: 14%;
}
.byAgeJobs li:nth-child(3) h4, .byAgeJobs li:nth-child(5) h4, .byAgeJobs li:nth-child(6) h4 {
    top: 43%;
    line-height: 1.2;
}
.byAgeJobs li:nth-child(4) p.age20s {
    top: 12%;
    right: 30%;
}
.byAgeJobs li:nth-child(4) p.age30s {
    top: 28%;
    right: 13%;
}
.byAgeJobs li:nth-child(4) p.age40s {
    top: 65%;
    right: 19%;
}
.byAgeJobs li:nth-child(4) span.item40 {
    font-size: 11px;
    position: absolute;
    top: 3%;
    right: 0;
}
.byAgeJobs li:nth-child(4) p.age50s {
    top: 70%;
    left: 25%;
}
.byAgeJobs li:nth-child(4) p.age60s {
    top: 24%;
    left: 14%;
}
.byAgeJobs li:nth-child(4) span.item60 {
    font-size: 11px;
    word-break: keep-all;
    position: absolute;
    left: 24%;  
}
.byAgeJobs li:nth-child(5) p.age20s {
    top: 10%;
    right: 34%;
}
.byAgeJobs li:nth-child(5) p.age30s {
    top: 21%;
    right: 12%;
}
.byAgeJobs li:nth-child(5) p.age40s {
    top: 60%;
    right: 18%;
}
.byAgeJobs li:nth-child(5) span.item40 {
    font-size: 11px;
    position: absolute;
    top: 3%;
    right: 0;
}
.byAgeJobs li:nth-child(5) p.age50s {
    top: 43%;
    left: 11%;
}
.byAgeJobs li:nth-child(5) p.age60s {
    top: 12%;
    left: 30%;
}
.byAgeJobs li:nth-child(6) p.age20s {
    top: 23%;
    right: 12%;
}
.byAgeJobs li:nth-child(6) p.age30s {
    top: 72%;
    right: 26%;
}
.byAgeJobs li:nth-child(6) p.age40s {
    top: 62%;
    left: 18%;
}
.byAgeJobs li:nth-child(6) p.age50s {
    top: 19%;
    left: 21%;
}


.recruitContens {
    text-align: center;
}
.recruitContens .titleIcon {
    width: 30px;
    height: 30px;
    margin: 70px auto 10px;
}
.recruitContens .titleIcon:first-child {
	margin-top: 0;
}
.recruitContens h2 {
    margin-bottom: 20px;
}
.btnLinkArrow.real a {
    color: #FB4D40;
    border-color: #FB4D40;
    margin: 30px auto 0;
}
.btnLinkArrow.real a::after {
    background: url(../img/icon_link_arrow_real.svg) bottom right no-repeat;
}
.benefitItem, .jobsBnr {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}
.benefitItem li {
    width: 48%;
	height: 125px;
    background-color: #fff;
    border: 2px solid #FDC42A;
    border-radius: 4px;
    margin: 1%;
    padding: 0;
}
.benefitItem li a {
    padding: 15px 0;
}
.benefitItem li img {
    width: auto;
    height: 43px;
}
.benefitItem li h3 {
    font-size: 14px;
	margin-bottom: 0;
}
.benefitItem li img {
	margin-bottom: 10px;
}
.benefitItem li:nth-child(odd) img {
    margin-bottom: 20px;
}
.benefitItem li:nth-child(6) img {
    margin-bottom: 20px;
}
.benefitItem li:nth-child(7) img {
    margin-bottom: 10px;
}

.btnLinkArrow.benefit a {
    color: #f7a100;
    border-color: #FDC42A;
    margin: 30px auto 0;
}
.btnLinkArrow.benefit a::after {
    background: url(../img/icon_link_arrow_benefit.svg) bottom right no-repeat;
}

.jobsBnr li {
    width: 100%;
    height: 83px;
    text-align: left;
    background: linear-gradient(90deg, rgba(35,170,232,1) 0%, rgba(0,134,217,1) 100%);
    border-radius: 4px;
    box-shadow: 0 0px 10px rgba(0,0,0,0.15);
    margin: 0 0 15px;
    padding: 0;
    position: relative;
}
.jobsBnr li a {
    color: #fff; 
    padding: 23px 10px 15px 75px;
}
.jobsBnr li a h3 {
    font-size: 18px;
    letter-spacing: 0;
	margin-bottom: 0;
}
.jobsBnr li a p {
    display: inline-block;
    font-size: 13px;
    margin-top: 2px;
    position: relative;
}
.jobsBnr li a p::after {
    content: "";
    position: absolute;
    bottom: 4px;
    right: -25px;
    width: 20px;
    height: 7px;
    background: url(../img/icon_link_arrow_wh.svg) bottom right no-repeat;
    background-size: 20px 7px; 
}
.jobsBnr li:first-child:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 66px;
    height: 83px;
    background: url(../img/icon_jobs_internal_medicine.svg) center center no-repeat;
    background-size: 66px 83px; 
}
.jobsBnr li:nth-child(2):before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 61px;
    height: 83px;
    background: url(../img/icon_jobs_dentist.svg) center center no-repeat;
    background-size: 61px 83px; 
}
.jobsBnr li:nth-child(3):before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 61px;
    height: 83px;
    background: url(../img/icon_jobs_dental_hygienist.svg) center center no-repeat;
    background-size: 61px 83px; 
}
.jobsBnr li:nth-child(4):before {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 56px;
    height: 73px;
    background: url(../img/icon_jobs_dental_assistant.svg) center center no-repeat;
    background-size: 56px 73px; 
}

.ndPrecaution {
    margin: 10px 7% 0;
}
.ndArea {
    font-size: 16px;
    background-color: #fff;
    margin: 15px 0 0;
    padding: 30px 0;
}
.ndTitle {
    font-size: 18px;
    margin: 10px 0 10px 25px;
}

.narrowingDown {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto 0;
}
.narrowingDown input.tab {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.narrowingDown input.tab + label {
	font-weight: bold;
    border-top: 1px solid #d6e8cb;
    border-bottom: 1px solid #d6e8cb;
	position: relative;
	display: block;
	padding: 15px 50px 15px 30px;
	cursor: pointer;
	margin: 0;
	background-color: #F8FCF4;
}
.narrowingDown input.tab[type=checkbox] + label {
    border-bottom: transparent;
}
.narrowingDown input.tab[type=checkbox]:checked + label {
    border-bottom: 1px solid #d6e8cb;
}
.narrowingDown.last input.tab[type=checkbox] + label {
    border-bottom: 1px solid #d6e8cb;  
}
.narrowingDown .ndContent {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	background: #fff;
}
.ndContent ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	width: 96%;
    margin: 15px 2%;
}
/* :checked */
.narrowingDown input.tab:checked ~ .ndContent {
	max-height: 20em;
}
/* Icon */
.narrowingDown input.tab[type=checkbox] + label::after {
	position: absolute;
	top: 21px;
	right: 30px;
	display: block;
	width: 15px;
	height: 9px;
}
.narrowingDown input.tab[type=checkbox] + label::after {
    content: "";
    background: url(../img/icon_arrow_down.svg) bottom right no-repeat;
    background-size: 15px 9px;
}
.narrowingDown input.tab[type=checkbox]:checked + label::after {
    content: "";
    display: block;
    background: url(../img/icon_arrow_up.svg) bottom right no-repeat;
    background-size: 15px 9px;
}

.ndContent ul li {
    width: 48%;
    margin: 4px 0;
}
.ndContent.occupation ul li {
    width: 100%;
}
.btnBox {
    text-align: center;
}
button.ndGo {
    color: #639335;
    width: 250px;
    height: 44px;
    font-size: 16px;
    letter-spacing: 1px;
    text-align: center;
    background-color: #fff;
    border: 1px solid #639335;
    border-radius: 4px;
    margin: 20px auto 0;
    padding: 10px;
}

.jobsListArea {
    width: 100%;
    max-width: 1150px;
    margin: 20px auto 0;
    padding: 0;
	position: relative;
}
.noItem {
    font-size: 16px;
    text-align: center;
    letter-spacing: 0;
    margin: auto;
}
.jobsList {
    width: 100%;
    background-color: #fff;
    border-radius: 15px;
    box-shadow: 0 0px 10px rgba(0,0,0,0.1);
    margin-top: 30px;
    padding: 25px;
    position: relative;
    opacity: 0;
    animation: fadeinList 0.3s linear forwards;
}
@keyframes fadeinList {
    100% {
      opacity: 1;
    }
  }
.jobsList .btnLinkArrow a {
    width: 100%;
    height: auto;
    color: #fff;
    background-color: #639335;
    border-radius: 18px;
    margin: 35px auto 0;
    padding: 8px 0 7px;
    transition: .5s;
}
.jobsList .btnLinkArrow a::after {
    background: url(../img/icon_link_arrow_wh.svg) bottom right no-repeat;
}
.jobsList .btnLinkArrow a:hover {
    background-color: #fff;
    color: #639335;
}
.jobsList .btnLinkArrow a:hover::after {
    right: -12px;
    background: url(../img/icon_link_arrow.svg) bottom right no-repeat;
}
.flagNew {
    display: inline-block;
    color: #FFF;
    font-size: 12px;
    font-weight: bold;
    padding: 2px 15px 2px;
    background-color: #ff4b78;
    position: absolute;
    top: -5px;
    left: -10px;
}
.flagNew::before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 7px transparent;
    border-right: solid 10px #84292E;
}
.jobsList h3 {
    font-size: 14px;
    letter-spacing: -1px;
    margin-bottom: 15px;
}
.jobsList h3 span {
    font-size: 16px;
    font-weight: bold;
    margin-left: 4px;
}
.occupationInfo {
    display: flex;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.division {
    color: #fff;
    font-size: 12px;
    text-align: center;
    margin-right: 5px;
    padding: 1px 10px 1px;
}
.division.opt {
    height: 25px;
    background-color: #fff;
    margin-right: 10px;
    border: solid 1px #639235;
    color: #639235;
    font-weight: bold;
}
.division.hmc {
    background-color: #639335;
}
.occupationInfo .occupation {
    font-size: 18px;
    font-weight: bold;
    margin-right: 5px;
}
.occupationInfo .employType {
    font-size: 18px;
}
.tagBox {
    width: 100%;
    margin: 15px 0 0 -2px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.tagBox span {
    display: inline-block;
    font-size: 12px;
    text-align: center;
    letter-spacing: 0;
    background-color: #FFF7E8;
    color: #ff4b78;
    margin: 0 0 6px;
    padding: 4px 10px 4px;
    border-radius: 8px;
}
.jobDescription {
    margin-top: 15px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    letter-spacing: normal;
    line-height: 1.8em;
    font-size: 90%;
    margin-bottom: 30px;
}
.jobDescription span b a{
    display: none;
    overflow: hidden;
}
.jobsTerms {
    width: 100%;
    margin-top: 10px;
}
.jobsTerms th {
    width: 15%;
    min-width: 5em;
    font-weight: bold;
    letter-spacing: 0;
    text-align: left;
}
.jobsTerms td {
    width: 85%;
}
.topTxt {
    margin: 20px auto 0;
}

.footerRecruitNav ul {
    margin-top: 100px;
}
.footerRecruitNav {
    margin-top: 100px;
	padding: 0;
}
.footerRecruitNav ul {
    display: flex;
    width: 100%;
    margin: 0 auto;
}
.footerRecruitNav ul li {
    width: 24%;
    box-shadow: 0 0 10px rgba(0,0,0,0.15);
    margin: 0 0.5%;
}
.footerRecruitNav ul li a {
    font-size: 11px;
    height: 100%;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0;  
    padding: 10px 1% 7px;
}
.footerRecruitNav ul li a img {
    width: auto;
    height: 15px;
    margin-bottom: 3px;
}
.footerRecruitNav ul li:nth-child(2) a img {
    margin-bottom: 10px;
}
.footerRecruitNav ul li:nth-child(3) a img {
    margin-bottom: 10px;
}
.footerRecruitNav ul li:first-child {
    border: 2px solid #FB4D40;
    border-radius: 4px;
}
.footerRecruitNav ul li:nth-child(2) {
    border: 2px solid #FDC42A;
    border-radius: 4px;
}
.footerRecruitNav ul li:nth-child(3) {
    border: 2px solid #20BA9C;
    border-radius: 4px;
}
.footerRecruitNav ul li:nth-child(4) {
    border: 2px solid #23AAE8;
    border-radius: 4px;
}


/* recruit 求人詳細 */
.recruitTopBox {
	margin-top: 30px;
}
.recruitH1 {
    font-size: 24px;
    margin: 0 0 30px;
}
.jobsDetail, .jobsInputBox {
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 0 10px rgba(0,0,0,0.15);
    margin: 0 auto;
    padding: 35px 20px 30px;
    position: relative;
}
.jobsInputBox {
    max-width: 600px;
	margin-bottom: 30px;
}
.jobsDetail h3 {
    font-size: 12px;
    letter-spacing: -1px
}
.jobsDetail h3 span {
    font-size: 18px;
    font-weight: bold;
    margin-left: 5px;
}
.jobsDetail .tagBox, .jobsDetail .jobDescription {
    display: block;
}
.jobsDetailTable {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    letter-spacing: normal;
}
.jobsDetailTable th, .jobsDetailTable td {
    display: block;
}
.jobsDetailTable th {
    color: #639335;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
    border-top: 1px solid #CBCBCB;
    padding: 15px 0 10px;
}
.jobsDetailTable td {
    word-break: break-all;
    padding-bottom: 15px;
}
.jobsDetailTable td:last-ch {
    padding-bottom: 0;
}
.jobsDetailTable .googleMap {
    margin: 20px 0 0;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
}
.jobsDetailTable .googleMap iframe {
    width: 100%;
    height: 100%;
    
    position: absolute;
    left: 0;
    top: 0;
}
.titleEntry {
	display: flex;
	justify-content: space-between;
}
.titleEntry .btnToEntry {
	width: 120px;
	margin: -3px 0 0 0;
}
.btnToEntry {
    color: #fff;
    width: 250px;
    height: 44px;
    font-size: 16px;
    letter-spacing: 1px;
    text-align: center;
    background-color: #ff4b78;
    border-radius: 4px;
    margin: 50px auto 0;  
}
.btnToEntry a {
    color: #fff; 
    padding: 10px;
}

.recruitH1.form {
    text-align: center;
    margin: 30px auto 0;
    padding: 0;
}
.entryStep {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 500px;
    margin: 30px auto 15px;
    position: relative;
}
.entryStep::before {
    content: '';
    display: block;
    width: 70%;
    height: 8px;
    background-color: #eaeaea;
    margin: 0 auto;
    position: absolute;
    top: 35px;
    right: 0;
    left: 0;
    z-index: -1;
}
.entryStep.finish01::after {
    content: '';
    display: block;
    width: 35%;
    height: 8px;
    background-color: #B2D89C;
    margin: 0 auto;
    position: absolute;
    top: 35px;
    left: 60px;
    z-index: -1;
}
.entryStep.finish02::before {
    background-color: #B2D89C;
}
.entryStep li {
    width: 33%;
    height: 60px;
    text-align: center;
    padding-bottom: 30px;
    position: relative;
}
.entryStep li.now {
    color: #639335;
}
.entryStep li::before {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #eaeaea;
    margin: 0 auto;
    position: absolute;
    top: 25px;
    right: 0;
    left: 0;
}
.entryStep li.now::before, .entryStep li.finish::before {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #B2D89C;
    margin: 0 auto;
    position: absolute;
    top: 25px;
    right: 0;
    left: 0;
}
.entryStep li.finish::after {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: #639335;
    margin: 0 auto;
    position: absolute;
    top: 33px;
    right: 0;
    left: 0;
}
.inputContents {
    width: 100%;
    font-size: 16px;
}
.required {
    display: inline-block;
    color: #fff;
    font-size: 12px;
    text-align: center;
    background-color: #639335;
    margin-left: 5px;
    padding: 3px 5px;
}
.inputContents dt {
    letter-spacing: 1px;
}
.inputContents dd {
    padding: 10px 0 30px;
}
.addressTerms {
    font-size: 13px;
    letter-spacing: 0;
}
input::placeholder, textarea::placeholder {
    color: #aaa;
}
/* Edge */
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    color: #aaa;
}
/* IE11 & IE10 */
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: #aaa;
}
/* Firefox 19 以降 */
input::-moz-placeholder {
	color: #aaa;
	opacity: 1;
}
/* バリデーション */
.validation {
    color: #C5484F;
    font-size: 14px;
    letter-spacing: 0;
	margin-top: 5px;
}
.inputContents dd input[type=text], .inputContents dd input[type=tel], 
.inputContents dd input[type=mail] , .inputContents dd input[type=number] {
    width: 100%;
    border: 1px solid #eee;
    background-color: #f7f7f7;
    padding: 10px;
}
.inputContents dd input.age[type=number] {
    width: 70px;
    margin-right: 5px;
}
.mailSetting {
    font-size: 13px;
    letter-spacing: 0;
    margin-top: 10px;
}
.inputContents dd input[type=radio] {
    display: none;
}
.inputContents dd .areaRadio {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px 5px 30px;
    position: relative;
    width: auto;
}
.inputContents dd .areaRadio::before {
    background: #fff;
    border: 2px solid #BBBBBB;
    border-radius: 50%;
    content: '';
    display: block;
    height: 14px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 47%;
    width: 14px;
}
.inputContents dd .areaRadio::after {
    background: #3A8765;
    border-radius: 50%;
    content: '';
    display: block;
    height: 10px;
    left: 9px;
    margin-top: -4px;
    opacity: 0;
    position: absolute;
    top: 47%;
    width: 10px;
}
.inputContents dd input[type=radio]:checked + .areaRadio::before {
    border: 2px solid #3A8765;
}
.inputContents dd input[type=radio]:checked + .areaRadio::after {
    opacity: 1;
}
.inputContents dd textarea {
    width: 100%;
    min-height: 120px;
    font-size: 16px;
    border: 1px solid #eee;
    padding: 5px 10px;
}
.btnBox {
    display: flex;
    flex-direction: row-reverse;
    width: 100%;
    max-width: 600px;
    margin: 30px auto 0;
}
button.submit {
    color: #fff;
    width: 65%;
    height: 54px;
    line-height: 54px;
    border-radius: 4px;
    text-align: center;
    background-color: #639335;
    margin-left: 5%;
}
.btnToBack {
    width: 30%;
    height: 54px;
    line-height: 54px;
    border-radius: 4px;
    background-color: #F0F0F0;
}
.thankyou {
    font-size: 16px;
    text-align: center;
    margin-top: 30px
}
.privacy {
	max-width: 600px;
	margin-top: 30px;
	padding: 0;
}
.privacyMsg {
	height: 200px;
	border: 1px solid #eee;
	overflow-y: scroll;
    overflow-x: hidden;
	margin: 15px 0;
	padding: 15px;
}
.privacyMsg ol {
	counter-reset: number;
	margin: 0;
	padding: 0;
}
.privacyMsg ol li {
	position: relative;
	padding: 5px 0 5px 35px;
}
.privacyMsg ol li::before {
    width: 25px;
    text-align: right;
    letter-spacing: 0;
    counter-increment: number;
    content: counter(number)".";
    position: absolute;
    top: 5px;
    left: 0;
}


/* 現場から見るコンパス */
.realTxt {
    line-height: 1.7;
}
.realTxt.one {
    width: 88%;
    max-width: 900px;
    background-color: #FEF8F8;
    border-radius: 10px;
    margin: 50px auto 0;
    padding: 30px 20px;
}
.realTxt.one h2, .realTxt.two h2 {
	margin-bottom: 0;
}
.realTxt img {
    margin: -70px 0 15px;
}
.realTxt.two {
    width: 88%;
    max-width: 900px;   
    margin: 50px auto 0;
	padding: 0;
}
.realTxt.two li {
    background-color: #FEF8F8;
    border-radius: 10px;
    margin: 50px auto 0;
    padding: 30px 20px;
}

/* 福利厚生 */
.benefitDetail {
	margin: 0 auto;
}
.benefitDetail li {
    border: 2px solid #FDC42A;
    margin: 30px auto 0;
    padding: 30px 20px;
    position: relative;
}
.benefitDetail li:first-child {
	margin-top: 0;
}

.benefitDetail li p {
    width: 80px;
    height: 60px;
    text-align: center;
    background-color: #FDC42A;
    border-radius: 0 6px 6px 0;
    padding: 13px 13px;
    position: absolute;
    top: 20px;
    left: -10px;
}
.benefitDetail li p img {
    width: auto;
    height: 34px;
}
.benefitDetail li p img.healthCheckup, .benefitDetail li p img.skillUp, .benefitDetail li p img.transportation {
    width: auto;
    height: 31px;
    margin-top: 3px;
}
.benefitDetail li h2 {
    color :#f7a100;
    font-size: 18px;
    height: 50px;
    box-sizing: border-box;
    margin: 0 0 20px 70px;
}
.benefitDetail li h2.insurance, .benefitDetail li h2.transportation,
.benefitDetail li h2.maternityLeave, .benefitDetail li h2.healthCheckup {
    padding-top: 14px;
}

/* 訪問診療とは */
.homecareMovie .youtubeBox {
    max-width: 500px;
    margin: 0 auto;
}
.homecareMovie h2 {
    font-size: 21px;
    margin-top: 20px;
}
.homecareMovie h3 {
    margin: 15px 0 5px;
}
.bgHC {
    width: 100%;
    max-width: 100%;
    background-color: #F5FCFA;
    margin: 50px 0 0;
    padding: 50px 0;
}
.column4.aboutHC div {
    color: #1DA58B;
    text-align: center;
    box-shadow: 0 0 7px rgba(32,186,156,0.30);
}
.aboutHCmedicalCare div.hcBox {
    border: 1px solid #1DA58B;
    padding: 30px 0;
}
.aboutHCmedicalCare div.hcBox:first-child {
    margin-bottom: 20px;
}
.aboutHCmedicalCare div.hcBox h3 {
    margin-left: 20px;
}
.aboutHCmedicalCare .topic {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.aboutHCmedicalCare .topic p {
    color: #1DA58B;
    width: 31%;
    font-size: 13px;
    letter-spacing: -1px;
    text-align: center;
    background-color: #F5FCFA;
    margin: 5px 1%;
    padding: 20px 5px 10px;
    position: relative;
}
.aboutHCmedicalCare .topic p:first-of-type, .aboutHCmedicalCare .topic p:nth-of-type(4) {
    padding-top: 10px;
}
.aboutHCmedicalCare .careContents {
    line-height: 1.7;
    margin: 15px 20px 0;
}
.aboutHCmedicalCare .topicTxt {
    background-color: #F5FCFA;
    margin-top: 10px;
    padding: 10px;
}
.teamMedicalCare {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    max-width: 450px;
    margin: 70px auto 0;
}
.teamMedicalCare p {
    font-size: 21px;
    font-weight: bold;
    margin: 10px 0 5px;
}
.homecareTool {
    max-width: 1000px;
    margin: 70px auto 0;
}
.homecareTool h3 {
    margin-bottom: 5px;
}
.toolItem {
    width: 100%;
}
.toolItem li {
    color: #1DA58B;
    font-size: 14px;
    letter-spacing: 0px;
    text-align: center;
}
.toolItem li:first-child {
    margin-top: 0;
}
.flowBox.hc {
    box-shadow: 0 0 10px rgba(32,186,156,0.3);
}

/* 仕事内容を知る */
.jobsTopLink {
    margin: 30px auto 0;
}
.jobsTopLink li {
    width: 100%;
    margin-top: 30px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(35,170,232,0.3);
    padding: 30px 20px;
    position: relative;
}
.jobsTopLink li:first-child {
    margin-top: 0;
}
.jobsTopLink li p.ribbon {
    width: 90px;
    height: 65px;
    border-radius: 0 6px 6px 0;
    background: linear-gradient(90deg, rgba(35,170,232,1) 0%, rgba(0,134,217,1) 100%);
    position: absolute;
    top: 20px;
    left: -10px;
}
.jobsTopLink li p.ribbon img {
    width: auto;
    height: 65px;
}
.jobsTopLink li h2 {
    color: #23AAE8;
    height: 50px;
    font-size: 18px;
    font-weight: bold;
    box-sizing: border-box;
    margin: 12px 0 20px 70px;
}
.jobsTopLink li .btnLinkArrow a {
    width: 100%;
    max-width: 250px;
    color: #23AAE8;
    border-color: #23AAE8;
}
.jobsTopLink li .btnLinkArrow a::after {
    background: url(../img/icon_link_arrow_jobs.svg) bottom right no-repeat;
}

/* 内科医師 */
.messageToInternal {
    margin: 30px auto 0;
}
.messageToInternal p {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0;
}
.messageBox li {
    margin-top: 30px;
    position: relative;
}
.messageBox li .youtubeBox {
    margin-bottom: 5px;
}
.jobsDayBox {
    margin-top: 30px;
}
.bgJobs {
    background-color: #F4FAFC;
    padding: 30px 0;
}
.dayBox {
    width: 100%;
	background-color: #fff;
    margin: 0 auto 0;	
    padding: 30px 20px;
}
.dayBox h3 {
    text-align: center;
}
.dayList {
    width: 95%;
    margin-top: 15px;
	margin-left: 5%;
}
.dayList li {
    width: 100%;
    border-left: 2px solid #D8D8D8;
    padding: 15px 0 30px 40px;
    position: relative;
}
.dayList li:last-child {
    border-left: none;
}
.dayList li p {
    color: #fff;
    width: 50px;
    height: 50px;
    font-family: Helvetica Neue;
    font-size: 14px;
    text-align: center;
    line-height: 50px;
    letter-spacing: 0;
    background-color: #23AAE8;
    border-radius: 50%;
    position: absolute;
    top: -0;
    left: -26px;
}
.dayList li img {
	width: 90%;
	max-width: 250px;
    border: 2px solid #23AAE8;
    background-color: #fff;
    margin-top: 15px;
    padding: 5px;
}
.recruitFlow {
    margin: 70px auto 0;
}
.recruitFlowContents {
    display: flex;
    justify-content: space-between;
    background-image: linear-gradient(180deg, #23AAE8 6px, transparent 1px);
    background-position-y: 88px;
    margin-top: 20px;
    position: relative;
    z-index: 1;
}
.recruitFlowContents li {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    height: 181px;
    background-color: #fff;
    border: 1px solid #23AAE8; 
    padding: 15px 10px 15px;
    position: relative;
}
.recruitFlowContents li span {
    color: #23AAE8;
    -ms-text-combine-horizontal: all;
	-webkit-text-combine: horizontal;
	text-combine-upright: all;
	line-height: 1;
    margin-bottom: 10px;
}

.recruitFlowContents li:last-child::after {
	left: -12px;
	top: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(35, 170, 232, 0);
	border-left-color: #23aae8;
	border-width: 12px;
	margin-top: -12px;
}
.recruitFlowContents li:last-child::before {
    content: "";
    display: block;
    width: 9px;
    height: 10px;
    background-color: #fff;
    position: absolute;
    left: -10px;
	top: 47%;
}

/* 歯科医師 */
.tabDivision {
	width: 100%;
	margin-top: 30px;
}
.tabMenu {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0 auto;
}
.tabMenu li {
	width: 48%;
	height: 60px;
	line-height: 53px;
	border-radius: 6px;
	padding-left: 15px;
	position: relative;
}
.tabMenu li:first-child {
	margin-right: 4%;
}
.tabMenu li span {
	position: relative;	
}
.tabMenu li span::before {
	content: "";
    position: absolute;
    top: 1px;
    left: -25px;
    width: 14px;
    height: 14px;
    background: url("../img/icon_tab_off.svg") center center no-repeat;
    background-size: 14px 14px;
}
.tab {
	flex-grow: 1;
	color: #23AAE8;
	text-align: center;
	background-color: #DAF6FD;
	cursor: pointer;
	padding: 5px;
}
.tab.isActive {
	color:#FFF;
	background-color: #23AAE8;
	box-shadow: 0 0 10px rgba(24,107,145,0.5);
	transition: all 0.2s ease-out;
}
.tab.isActive span::before {
    background: url("../img/icon_tab_on.svg") center center no-repeat;
}
.tab.isActive::after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(35, 170, 232, 0);
	border-top-color: #23aae8;
	border-width: 10px;
	margin-left: -10px;
}
.tabArea {
	height: auto;
	margin-top: 30px;
}

.panel {
	display: none;
}

.panel.isShow {
	display: block;
}
.dayBox .devision {
	font-size: 18px;
	text-align: center;
}
.shortMessage {
	margin: 50px auto 0;
}
.shortMessage h3 {
	margin-bottom: 15px;
}

.bgGray.jobsArea {
    position: relative;
}
.tabArea .bgJobs {
    width: 100%;
    margin: 30px 0 0 0;
}
.dentalYoutube {
    width: 100%;
    text-align: center;
    margin: 30px auto;
}
.dentalYoutube .youtubeBox {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}
.dentalYoutube p {
    margin-top: 15px;
}


@media print,screen and (min-width: 560px) {
    .top_recruit h2 {
		font-size: 21px;
        margin-top: -290px;
    }
    .toplead {
        width: 300px;
    }
    .pageKv.recruit h1 {
        font-size: 36px;
    }
    .benefitItem li {
        width: 31%;
    }
	.top_recruit .visual {
		height: 300px;
		position: relative;
	}
	.top_recruit .visual img {
		width: auto;
		height: 200px;
		right: -50px;
		margin: 0;
		position: absolute;
		z-index: -1;
	}
	.recriotTopMovie.bgInner {
		display: flex;
		align-items: center;
	}
	.recriotTopMovie .movieTitle {
		margin-right: 15px;
	}
    .ndArea {
        width: 88%;
        border-radius: 6px;
        margin: 15px 7% 0;
        padding: 30px 20px;
    }
    .ndContent ul {
        justify-content: flex-start;
    }
    .ndContent ul li {
        width: 135px;
        margin: 4px 4px;
    }
    .jobsListArea, .jobsBnr {
        display: flex;
        flex-wrap: wrap;
    }
    .noItem {
        font-size: 18px;
    }
    .jobsList {
        width: 48%;
        margin: 30px 1% 0;
    }
    .jobsBnr li {
        width: 48%;
        margin: 5px 1%;
    }
    .footerRecruitNav ul {
        padding: 0 7%;
    }
    .footerRecruitNav ul li {
        width: 23%;
        margin: 0 1%;
    }
    .footerRecruitNav ul li a {
        padding: 15px 1% 13px;
    }
    .footerRecruitNav ul li a {
        font-size: 14px;
    }
    .footerRecruitNav ul li a img {  
        margin-bottom: 10px;
    }
    .footerRecruitNav ul li:nth-child(2) a img, .footerRecruitNav ul li:nth-child(3) a img {
        margin-bottom: 17px;
    }

    /* recruit 求人詳細 */
    .recruitH1 {
        font-size: 27px;
    }
    .jobsDetail h3 {
        font-size: 16px;
        letter-spacing: 1px;
    }
    .jobsDetail h3 span {
        font-size: 21px;
    }
    .jobsDetailTable {
        border-bottom: 1px solid #CBCBCB;
    }
    .jobsDetailTable th, .jobsDetailTable td {
        display: table-cell;
        border-top: 1px solid #CBCBCB;
        padding: 20px;
    }
    .jobsDetailTable th {
        font-size: 16px;
        font-weight: bold;
        letter-spacing: 0;
        white-space: nowrap;
        background-color: #F8FCF4;
    }
    .jobsDetailTable td {
        font-size: 90%;
        letter-spacing: normal;
        line-height: 1.8em;
    }
    .entryStep {
        width: 450px;
    }

    /* 現場から見るコンパス */
    .realTxt.two {
        display: flex;
		justify-content: space-between;
    }
    .realTxt.two li {
        width: 48%;
        margin: 0 1%;
    }

    /* 福利厚生 */
    .benefitDetail {
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto 0;
    }
    .benefitDetail li {
        width: 46%;
    }
	.benefitDetail li:nth-child(2) {
		margin-top: 0;
	}

    .benefitDetail li h2 {
		letter-spacing: 0px;
        margin: 0 0 20px 60px;
    }

    /* 訪問診療とは */
    .aboutHCmedicalCare {
        display: flex;
    }
    .aboutHCmedicalCare div.hcBox {
        width: 48%;
        height: 530px;
        margin: 0 1%;
    }
    .aboutHCmedicalCare .topicTxt {
        padding: 28px 10px;
    }

    /* 仕事内容を知る */
    .jobsTopLink {
        display: flex;
        flex-wrap: wrap;
    }
    .jobsTopLink li {
        width: 46%;
        margin: 0 2% 30px;
    }
    .recruitFlowContents li {
        width: 15%;
        height: 104px;
        font-size: 14px;
        text-align: center;
        letter-spacing: 0;
        writing-mode: lr-tb;
        padding: 20px 5px 20px;
    }
    .recruitFlowContents li:first-child {
        width: 21%;
    }
    .recruitFlowContents li span::after {
        content: "\A";
	    white-space: pre;
    }
    .recruitFlowContents {
        background-position-y: 49px;
    }
    .recruitFlowContents li span {
        display: block;
    }
	.messageBox ul {
		display: flex;
		justify-content: space-between;
		margin-top: 15px;
	}
	.messageBox ul li {
		width: 31%;
		font-size: 14px;
		letter-spacing: 0;
		margin-top: 0;
	}
    .messageBox ul li a {
        pointer-events: auto;
    }
	.tabMenu {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 0;
	}
	.tabMenu li {
	    height: 80px;
		line-height: 75px;
	}
	.tabMenu li span {
		font-size: 21px;
	}
	.tabMenu li span::before {
		left: -34px;
		width: 21px;
		height: 21px;
		background-size: 21px 21px;
	}
	.tab.isActive::after {
		border-width: 14px;
		margin-left: -14px;
	}
	.tabArea {
		margin-top: 50px;
	}
    .barGraph li .value {
        font-size: 21px;
        top: -35px;
    }
    .barGraph li .value span {
        font-size: 14px;
    }
}

@media print,screen and (min-width: 640px) {
	.pageKv.recruit {
		height: 500px;
		min-height: 500px;
	}
	.pageKv.recruit .pageKvCatch {
		text-align: left;
	}
	.pageKv.recruit .pageKvCatch .btnLinkArrow.bottom a {
		margin: 0;
	}
	.top_recruit h2 {
		font-size: 24px;
		margin-top: -290px;
	}
	
    .recTopleadBr {
        display: block;
    }
    .toplead {
        width: auto;
    }
    .top_recruit .visual {
        width: 100%;
        height: 310px;
        position: relative;
    }
    .top_recruit h2 {
        margin-top: -300px;
    }

    .allStaff {
        width: 560px;
        margin: 0 auto;
    }
    .allStaff > div:first-child {
        width: 300px;
        margin: 0;
    }
    .allStaff div:first-child .countU {
        font-size: 70px;
    }
    .allStaff div:first-child .unit {
        font-size: 27px;
    }
    .allStaff div:first-child {
        font-size: 16px;
    }
    .allStaff div {
        width: 260px;
        height: 260px;
        margin: 0;
    }
    .allStaff div:nth-child(2) p {
        font-size: 16px;
    }
    .allStaff div:nth-child(2) p:first-of-type {
        top: 50px;
        right: 33px;
    }
    .allStaff div:nth-child(2) p span {
        font-size: 21px;
    }
    .allStaff div:nth-child(2) p:nth-of-type(2) {
        position: absolute;
        top: 130px;
        left: 25px;
    }
    .sexHoliday {
        display: flex;
        justify-content: space-between;
        max-width: 900px;
    }
    .sexHoliday div {
        width: 48%;
        margin-top: 70px;
        
    }
    .sex ul {
        width: 86%;
        margin: 0 7%;
    }
    .holiday h3 span {
        top: 9px;
        right: 0px;
    }
    .dataOccupation {
        max-width: 900px;
        border: 1px solid #639335;
        margin-top: 30px;
        padding: 50px;
    }
    .barGraph li, .occupationName li {
        width: 56px;
        margin: 0 10px;
    }
    .ageGraph {
        max-width: 900px;
        border: 1px solid #639335;
        margin-top: 30px;
        padding: 50px 30px;
    }
    .byAgeJobs li:nth-child(3) h4, .byAgeJobs li:nth-child(5) h4, .byAgeJobs li:nth-child(6) h4 {
        top: 44%;
    }
    
    
    .byAgeJobs li {
        width: 240px;
        height: 240px;
    }
    .byAgeJobs h4 {
        font-size: 16px;
    }
    .byAgeJobs li p {
        font-size: 14px;
        line-height: 1.3;
    }
    .byAgeJobs li p span {
        font-size: 18px;
        letter-spacing: -1px;
        padding-right: 2px;
    }
    .byAgeJobs li:first-child p.age20s {
        top: 11%;
        right: 31%;
    }
    .byAgeJobs li:first-child p.age40s {
        top: 64%;
        left: 12%;
    }
    .byAgeJobs li:first-child p.age50s span.item50 {
        font-size: 14px;
        word-break: keep-all;
        letter-spacing: 0;
        position: static;
    }
    .byAgeJobs li:first-child p.age50s {
        top: 24%;
        left: 12%;
    }
    .byAgeJobs li:nth-child(2) p.age30s, .byAgeJobs li:nth-child(3) p.age30s {
        right: 10%;
    }
    .byAgeJobs li:nth-child(2) p.age40s, .byAgeJobs li:nth-child(3) p.age40s {
        left: 10%;
    }
    .byAgeJobs li:nth-child(4) p.age20s {
        top: 10%;
        right: 33%;
    }
    .byAgeJobs li:nth-child(4) p.age30s {
        right: 12%;
    }
    .byAgeJobs li:nth-child(4) span.item40 {
        font-size: 14px;
        position: static;
        letter-spacing: 0;
    }
    .byAgeJobs li:nth-child(4) p.age40s {
        top: 68%;
    }
    .byAgeJobs li:nth-child(4) p.age50s {
        top: 71%;
        left: 26%;
    }
    .byAgeJobs li:nth-child(4) span.item60 {
        font-size: 14px;
        position: static;
        letter-spacing: 0;
    }
    .byAgeJobs li:nth-child(4) p.age60s {
        top: 26%;
        left: 12%;
    }
    .byAgeJobs li:nth-child(5) p.age20s {
        top: 9%;
        right: 36%;
    }
    .byAgeJobs li:nth-child(5) p.age30s {
        top: 20%;
    }
    .byAgeJobs li:nth-child(5) span.item40 {
        font-size: 14px;
        position: static;
        letter-spacing: 0;
    }
    .byAgeJobs li:nth-child(5) p.age40s {
        top: 68%;
    }
    .byAgeJobs li:nth-child(6) p.age20s {
        top: 33%;
        right: 6%;
    }
    .byAgeJobs li:nth-child(6) p.age30s {
        top: 74%;
        right: 28%;
    }
    .byAgeJobs li:nth-child(6) p.age40s {
        left: 15%;
    }
    .byAgeJobs li:nth-child(6) p.age50s {
        top: 20%;
        left: 16%;
    }
    .dentalYoutube {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        text-align: left;   
        margin: 50px auto;
    }
    .dentalYoutube p {
        margin: 35px 0 5px;
    }
    .dentalYoutube .youtubeBox {
        width: 50%;
    }
    .dentalYoutube .youtubeTitle {
        width: 50%;
        max-width: 50%;
    }
}

@media print,screen and (min-width: 960px) {
	#jobsInfo, #ndT, #insurance, #skillUp, #transportation, #compensation, #maternityLeave, #healthCheckup, #vaccination, #discount {
    margin-top: -110px;
    padding-top: 110px;
}
    .recruitNav {
        width: 100%;
        height: 90px;
		margin: 0 auto;
    }
    .recruitNav ul {
        display: flex;
		height: 71px;
        margin: 20px auto 0;
        align-items: flex-end;
        justify-content: center;
    }
    .recruitNav ul li {
        text-align: center;
        letter-spacing: 0;
        margin: 0 35px;
        padding: 10px 0px 3px;
    }
    .recruitNav ul li img {
        margin-bottom: 10px;
    }
    .recruitNav ul li:first-child img {
        width: 24px;
        height: 24px;
    }
    .recruitNav ul li:nth-child(2) img {
        width: 28px;
        height: 24px;
    }
    .recruitNav ul li:nth-child(3) img {
        width: 28px;
        height: 20px;
    }
    .recruitNav ul li:nth-child(4) img {
        width: 24px;
        height: 21px;
    }
    .pageKv.recruit h1 {
        font-size: 42px;
		letter-spacing: 1px;
    }
    .pageKv.recruit .pageKvCatch {
		text-align: left;
        bottom: 100px;
    }
    .pageKv.recruit .pageKvCatch .btnLinkArrow.bottom a {
        margin: 0;
		padding: 14px 10px 14px 0;
    }
	.pageKv.recruit .pageKvCatch .btnLinkArrow.bottom a::after {
		bottom: 20px;
	}
    .top_recruit {
        font-size: 21px;
        line-height: 1.7;
    }
    .top_recruit, .top_recruit .visual {
        width: 100%;
        position: relative;
    }
    .top_recruit h2 {
		font-size: 42px;
        margin-top: -270px;
        margin-bottom: 20px;
    }
    .toplead {
        font-size: 18px;
    }
    .top_recruit .visual {
        height: 300px;
    }
    .top_recruit .visual img {
		width: 420px;
        height: auto;
        right: 0;
		margin: 0;
		position: absolute;
    	z-index: -1;
    }
    .top_recruit {
		margin-top: 50px;
    }
    .pageKv.recruit {
        height: 500px;
        min-height: 500px;
        background: url(../img/top_recruit.jpg) no-repeat center center;
    }
    .recruitContens .titleIcon {
        width: 50px;
        height: 50px;
        margin: 120px auto 10px;
    }
    .recriotTopMovie h3 {
        font-size: 24px;
        letter-spacing: 0;
        margin-top: 10px;
        margin-right: 30px;
    }
	.recriotTopMovie .movieTitle {
		width: 53%;
		max-width: 700px;
	}
    .recriotTopMovie .youtubeBox {
		width: 47%;
        max-width: 500px;
    }
    /* 数字で見るコンパス */
    .allStaff div:first-child .countU {
        font-size: 80px;
    }
    .sex, .holiday {
        padding: 50px;
    }
    .sex ul li {
        font-size: 27px;
    }
    .sex ul li .countU, .holiday .countU {
        font-size: 60px;
    }
    .sex ul li:nth-child(2):before {
        bottom: 16px;
        right: -35px;
        width: 38px;
        height: 83px;
        background-size: 38px 83px;
    }
    .sex ul li:first-child:before {
        bottom: 16px;
        left: -22px;
        width: 41px;
        height: 83px;
        background-size: 41px 83px;
    }
    .holiday .plus {
        font-size: 30px;
    }
    .holiday .plus:before {
        bottom: 18px;
    }
    .dataCompass h3 {
        margin-bottom: 30px;
    }
    #countUpBox h3 {
        margin-top: 50px;
    }
    .barGraph li, .occupationName li {
        width: 70px;
        margin: 0 15px;
    }
    .barGraph li .value {
        font-size: 30px;
        top: -45px;
    }
    .byAgeJobs li:first-child p.age20s {
        top: 11%;
        right: 33%;
    }

    .recruitTopRealBox {
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;
    }
    .benefitItem li {
        width: 23%;
		height: 200px;
    	padding: 0;
    }
    .benefitItem li a {
        padding: 50px 0; 
    }
    .benefitItem li h3 {
        font-size: 21px;
    }
    .jobsListArea {
        padding: 0;
    }
    .jobsBnr {
        width: 100%;
        max-width: 860px;
        padding: 0 1%;
    }
    .jobsBnr li {
        height: 110px;
        margin: 7px 1%;
    }
    .jobsBnr li a {
        padding: 23px 10px 15px 110px;
    }
    .jobsBnr li:first-child:before {
        width: 87px;
        height: 110px;
        background-size: 87px 110px;
    }
    .jobsBnr li:nth-child(2):before {
        width: 81px;
        height: 110px;
        background-size: 81px 110px;
    }
    .jobsBnr li:nth-child(3):before {
        width: 80px;
        height: 110px;
        background-size: 80px 110px;
    }
    .jobsBnr li:nth-child(4):before {
        width: 78px;
        height: 102px;
        background-size: 78px 102px;
    }
    .jobsBnr li a h3 {
        font-size: 27px;
        letter-spacing: 0;
        margin: 5px 0 2px;
    }
    .jobsBnr li a p {
        font-size: 14px;
    }

    .narrowingDown input.tab, .narrowingDown input.tab + label {
        display: none;
    }
    .narrowingDown .ndContent {
        max-height: 300px;
    }
    .narrowingDown {
        border-bottom: 1px solid #639335;
    }
    .narrowingDown:first-of-type {
        border-top: 1px solid #639335;
    }
    .ndArea {
        width: 100%;
        max-width: 1100px;
        border-radius: 6px;
        margin: 15px auto 0;
        padding: 30px 50px;
    }
    .ndTitle {
        margin-left: 0;
    }
    .ndContent {
        display: flex;
    }
    .ndContentTitle {
        width: 150px !important;
        font-weight: bold;
        white-space: nowrap;
        background-color: #F8FCF4;
        padding: 20px 30px;
    }
    .ndContent ul {
        width: 100%;
        margin: 10px 30px;
    }
    .ndContent.occupation ul li {
        width: 23%;
        margin: 5px 1%;
    }
    .ndContent input[type=checkbox]+label {
        height: 30px;
        line-height: 30px;
        border: none;
        box-shadow: none;
    }
    .ndContent input[type=checkbox]+label::before {
        top: 18px;
    }
    .ndContent input[type=checkbox]+label {
        display: inline-block;
    }
    .ndContent input[type=checkbox]:checked+label::after {
        top: 15px;
    }
    .jobsList {
        width: 46%;
        margin: 30px 2% 0;
        padding: 35px;
    }   
    .jobsList h3 {
        font-size: 16px;
    }
    .division {
        font-size: 14px;
        margin-right: 10px;
        padding: 1px 15px 0px;
    }
    .occupationInfo .occupation {
        font-size: 21px;
        margin-right: 10px;
    }
    .occupationInfo .employType {
        font-size: 21px;
    }
    .tagBox span {
        font-size: 13px;
        padding: 5px 14px 5px;
    }
    .jobDescription, .jobsTerms {
        margin-top: 20px;
    }
    .jobDescription {
        height: 3.4em;
    }
    
    .jobsTerms th {
        width: 25%;
        padding: 5px 0;
    }
    .jobsTerms td {
        width: 75%;
        padding: 5px 0;
    }
    .footerRecruitNav {
        margin-top: 120px;
    }
    .footerRecruitNav ul {
        width: 810px;
        margin: 0 auto;
        padding: 0;
    }
    .footerRecruitNav ul li {
        width: 180px;
        height: 120px;
        margin: 0 0 0 30px;
    }
    .footerRecruitNav ul li a {
        font-size: 16px;
    }
    .footerRecruitNav ul li:first-child {
        margin: 0;
    }
    .footerRecruitNav ul li a img {
        height: 25px;
        margin: 20px 0 10px;
    }
    .footerRecruitNav ul li:nth-child(2) a img, .footerRecruitNav ul li:nth-child(3) a img {
        margin-bottom: 10px;
    }

    /* recruit 求人詳細 */
    .recruitH1 {
        font-size: 36px;
        margin: 0;
    }
    .jobsDetail, .jobsInputBox {
        margin-top: 30px;
        padding: 50px 50px;
    }
    .entryStep {
        width: 600px;
    }
    .entryStep.finish01::after {
        left: 70px;
    }

    /* 現場から見るコンパス */
    .recruitNav ul li.active:first-child {
        border-bottom: 2px solid #FB4D40;
        position: relative;
        top: 2px;
    }
    .realTxt.one {
        margin: 70px auto 0;
        padding: 30px 50px 30px 100px;
        position: relative;
    }
    .realTxt.one img {
        position: absolute;
        top: 0;
        left: -90px;
    }
    .realTxt.one.real06 {
        margin-top: 130px;
    }
    .realTxt.one.real06 img {
        top: -50px;
    }
    .realTxt.two {
        margin: 130px auto 0;
    }
    .realTxt.two li {
        position: relative;
        padding: 70px 50px 30px;
    }
    .realTxt.two img {
        position: absolute;
        top: -50px;
        left: -70px;
    }
    .realTxt.two img.realSmall {
        top: -20px;
        left: -40px;
    }
    /* 福利厚生 */
    .recruitNav ul li.active:nth-child(2) {
        border-bottom: 2px solid #FDC42A;
        position: relative;
        top: 2px;
    }
    .benefitDetail:after {
        content: "";
        display: block;
        width: 33.33%;/* .boxに指定したwidthと同じ幅を指定する */
    }
    .benefitDetail li {
        width: 29%;
    }
	.benefitDetail li:first-child, .benefitDetail li:nth-child(2) {
		margin-top: 30px;
	}
    .benefitDetail li h2 {
        font-size: 21px;
        margin-bottom: 30px;
    }
    /* 訪問診療とは */
	.topTxt h1 {
		margin-bottom: 30px;
	}
    .recruitNav ul li.active:nth-child(3) {
        border-bottom: 2px solid #1DA58B;
        position: relative;
        top: 2px;
    }
    .column4.aboutHC {
        flex-wrap: nowrap;
    }
    .topTxt {
        margin-top: 30px;
    }
    .homecareMovie {
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-end;
        margin-top: 120px;
    }
    .homecareMovie h2 {
        font-size: 36px;
    }
    .homecareMovie h3 {
        margin: 30px 0 15px;
    }
    .homecareMovie .youtubeBox {
        margin-left: 50px;
    }
    .column4 div {
        margin-top: 0;
        padding: 30px 20px;
    }
    .aboutHCmedicalCare .topicTxt {
        background-color: #F5FCFA;
        margin-top: 15px;
        padding: 15px;
    }
    .aboutHCmedicalCare .topic p {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        margin: 5px 0;
        position: relative;
    }
    .aboutHCmedicalCare .topic .pcOnly {
        width: 90%;
        margin: 15px;
    }
    .aboutHCmedicalCare .topic p span {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    .aboutHCmedicalCare div.hcBox {
        height: 485px;
    }
    .teamMedicalCare {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 1000px;
        max-width: 1000px;
    }
    .teamMedicalCare p {
        font-size: 36px;
        font-weight: bold;
        margin: 130px 0 15px;
    }
    .teamMedicalCare li {
        width: 35%;
        line-height: 1.7;
    }
    .teamMedicalCare li:last-child {
        width: 65%;
        max-width: 450px;
        margin-left: 30px;
    }

    /* 仕事内容を知る */
    .recruitNav ul li.active:nth-child(4) {
        position: relative;
    }
    .recruitNav ul li.active:nth-child(4)::after, .recruitNav ul li.active:nth-child(4)::before {
        bottom: -21px;
        left: 50%;
        border: solid transparent;
        content: "";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
    }
    
    .recruitNav ul li.active:nth-child(4)::after {
        border-color: rgba(242, 250, 253, 0);
        border-bottom-color: #e7f9ff;
        border-width: 13px;
        margin-left: -13px;
    }
    .recruitNav ul li.active:nth-child(4)::before {
        border-color: rgba(35, 170, 232, 0);
        border-bottom-color: #23AAE8;
        border-width: 16px;
        margin-left: -16px;
    }
	.jobsNav {
		max-width: 100%;
		margin: 0;
		padding: 0;
	}
    .jobsNav ul {
        display: flex;
        justify-content: center;
        width: 100%;
		max-width: 100%;
        height: 60px;
        text-align: center;
        background-color: #e7f9ff;
        border-top: 2px solid #23AAE8;
        margin: 0 auto 60px;
    }
    .jobsNav li {
        margin: 20px 35px 0;
    }
    .jobsTopLink li {
        font-size: 16px;
        padding: 30px 30px 100px;
        position: relative;
    }
    .jobsTopLink li p.ribbon {
        top: 30px;
    }
    .jobsTopLink li h2 {
        font-size: 27px;
    }
    .jobsTopLink li .btnLinkArrow a {
        position: absolute;
        bottom: 30px;
    }

    /* 内科医師 */
    .jobsNav li.active {
        border-bottom: 2px solid #23AAE8;
    }
    .recruitFlowContents li, .recruitFlowContents li:first-child {
        width: 17%;
        height: 152px;
        font-size: 16px;
        padding: 30px 10px;
    }
    .recruitFlowContents li span {
        font-size: 36px;
    }
    .recruitFlowContents {
        background-position-y: 73px;
    }
    .jobsDayBox {
        margin-top: 50px;
    }
    .bgJobs {
        padding: 50px 0;
    }
	.dayBox {
		padding: 50px;
	}
	.dayList li {
		padding-right: 300px;
	}
	.dayList li img {
		max-width: 250px;
		height: auto;
		position: absolute;
		top: 0;
		right: 0;
	}
	.dayList li img.internal02img {
		margin-top: -50px;
	}
	.dayList li img.assistant02img {
		margin-top: 70px;
	}
	.tabMenu {
		padding: 0;
	}
	.tabMenu li {
		width: 48%;
	}
	.tabMenu li:first-child {
		margin-right: 2%;
	}
	.dayList li img.dentalOP03 {
		top: 90px;
	}
	.dayList.daentalOP li:last-child {
		margin-bottom: 90px;
	}
	.dayList li img.dentalHC02 {
		top: 90px;
	}
	.dayList li img.dentalHOP01 {
		top: -120px;
	}
	.dayList li img.dentalHOP02 {
		top: -50px;
	}
	.dayList.daentalHOP li:last-child {
		margin-bottom: 50px;
	} 
    .dayList li img.dentalIng03 {
        top: 100px;
    } 
}
.btnNd {
    color: #fff;
    width: 80px;
    font-size: 14px;
    text-align: center;
    letter-spacing: 0;
    cursor: pointer;
    padding: 15px 20px 15px;
    margin: 0;
    padding: 0;
    position: fixed;	
    right: 0;
    bottom: 180px;
    transition: .3s;
    opacity: 0;
    visibility: hidden; 
    z-index: 10;
}
.btnNd a {
	color: #fff;
    width: 100%;
    font-size: 12px;
    letter-spacing: 0;
    background: rgba(99,147,53,0.85);
    border-radius: 6px 0 0 6px;
    box-shadow: 0 0 10px rgba(38,82,21,0.5);
    padding: 15px 5px;
}
.btnNd.active {
	opacity: 1;
	visibility: visible;
}
.btnNd.absolute {
    display: none;
	margin: 0;
	position: relative;
}


@media print,screen and (min-width: 560px) {
    .btnNd {
        width: 95px;
    }
}
@media print,screen and (min-width: 960px) {
    .btnNd {
        width: 95px;
    }
    .btnNd a {
        font-size: 14px;
    }
}