@charset "UTF-8";

/* Accordion
--------------------------------------------- */
.accordion__item {
  background-color: #fff;
  border-radius: 10px;
}
.accordion__item:not(:last-child) {
  margin-bottom: 16px;
}
.accordion__item[open] > .accordion__head > .btn__wrapper > .tgl-btn::after {
  transform: translate(-50%, -50%) rotate(0deg);
  opacity: 0;
}
.accordion__item--occupation .accordion-heading {
  font-size: 14px;
  font-weight: 600;
  padding-top: 15px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 960px) {
  .accordion__item { border-radius: 20px;}	
  .accordion__item--occupation .accordion-heading {
    font-size: 16px;
    padding-top: 20px;
	  font-weight:600;
  }
}
.accordion__item--scope {
  background-color: #f7f7fc;
}
.accordion__head {
  position: relative;
  display: block;
  cursor: pointer;
}
.accordion__head::marker, .accordion__head::-webkit-details-marker {
  display: none;
}
.accordion__head .btn__wrapper {
  position: absolute;
  top: 40px;
  right: 30px;
}
@media only screen and (min-width: 960px) {
  .accordion__head .btn__wrapper {
    top: 50%;
    transform: translateY(-50%);
    right: 60px;
  }
}
.accordion__head .btn__wrapper > .tgl-btn::after {
  opacity: 1;
  transition: all 0.2s linear;
}
.accordion__head--occupation {
  padding: 20px 20px;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 960px) {
  .accordion__head--occupation {
    padding: 28px 40px;
    flex-direction: row;
    align-items: center;
  }
}
.accordion__head--occupation > div:first-child {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
@media only screen and (min-width: 960px) {
  .accordion__head--occupation > div:first-child {
    width: 38%;
    max-width: 370px;
    margin-bottom: unset;
  }
}
.accordion__head--occupation > div:first-child .occupation-id {
  font-size: 0.875rem;
  margin-right: 15px;
}
@media only screen and (min-width: 598px) {
  .accordion__head--occupation > div:first-child .occupation-id {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 960px) {
  .accordion__head--occupation > div:first-child .occupation-id {
    margin-right: 24px;
  }
}
.occupation-name{
	line-height:1.4em;
	border-left: 5px dotted #5961a7;
	padding-left: 20px;
}
@media only screen and (min-width: 960px) {
	.occupation-name{
		line-height:1.5em;
		border-left: 7px dotted #5961a7;
		padding-left: 25px;
	}
}
	
.accordion__head--occupation > div:first-child .occupation-name {
  display: flex;
  flex-direction: column;
}
.accordion__head--occupation > div:first-child .occupation-name > span:first-child {
  font-size: 16px;
  font-weight: 600;
}
.accordion__head--occupation > div:first-child .occupation-name > span:nth-child(2) {
  font-size: 12px;
  font-weight: 400;
  opacity: 0.5;
}
@media only screen and (min-width: 598px) {
  .accordion__head--occupation > div:first-child .occupation-name > span:first-child {
    font-size: 18px;
    font-weight: 600;
  }
  .accordion__head--occupation > div:first-child .occupation-name > span:nth-child(2) {
    font-size: 12px;
    font-weight: 400;
    opacity: 0.5;
  }
}
.accordion__head--occupation .occupation-summary {
  font-size: 14px;
}

.accordion__head--scope {
  padding: 15px 14px;
}
@media only screen and (min-width: 960px) {
	.accordion__head--occupation .occupation-summary {font-size: 15px; margin-top: 0;}
  .accordion__head--scope {
    padding: 25px 30px;
  }
}
.accordion__head--scope > p::before {
  content: "";
  display: inline-block;
  border-radius: 9999px;
  width: 8px;
  height: 8px;
  background-color: #1d2087;
  margin-right: 12px;
  transform: translateY(-2px);
}
@media only screen and (min-width: 960px) {
  .accordion__head--scope > p {
    font-size: 16px;
  }
  .accordion__head--scope > p::before {
    width: 8px;
    height: 8px;
  }
}
.accordion__head--scope .btn__wrapper {
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
}
.accordion__head--scope .btn__wrapper > .tgl-btn::before, .accordion__head--scope .btn__wrapper > .tgl-btn::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 1.5px;
  background-color: #1d2087;
}
@media only screen and (min-width: 960px) {
  .accordion__head--scope .btn__wrapper > .tgl-btn::before, .accordion__head--scope .btn__wrapper > .tgl-btn::after {
    width: 20px;
    height: 2px;
  }
}
.accordion__head--scope .btn__wrapper > .tgl-btn::after {
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% + 0.5px), calc(-50% - 0.5px)) rotate(90deg);
}
@media only screen and (min-width: 960px) {
  .accordion__head--scope .btn__wrapper > .tgl-btn::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }
}
.accordion__body {
  position: relative;
  overflow: hidden;
}
.accordion__body__inner--occupation {
  padding: 15px 20px 30px;
}
@media only screen and (min-width: 598px) {
  .accordion__body__inner--occupation {
    padding: 15px 38px 40px;
  }
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation {
    border-top: unset;
    padding: 44px 60px 60px 60px;
  }
}
.accordion__body__inner--occupation .occupation-description {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-description {
    flex-direction: row;
    margin-bottom: 50px;
  }
}
.accordion__body__inner--occupation .occupation-description__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-description__text {
    margin-bottom: unset;
    margin-right: 60px;
  }
}
.accordion__body__inner--occupation .occupation-description__text > p {
  font-size:15px;
	line-height:2.0em;
}
.accordion__body__inner--occupation .occupation-description__text > p:first-child {
  font-size: 17px;
  font-weight:400;
	line-height:1.8em;
	color:#1d2087;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-description__text > p:first-child {
    font-size: 20px;
	  font-weight:400;
	  line-height:1.9em;
  }
}
.accordion__body__inner--occupation .occupation-description__text > p:not(:last-child) {
  margin-bottom: 24px;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-description__text > p:not(:last-child) {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-description__thumbnail {
    flex: 1;
    width: 30%;
  }
}
.accordion__body__inner--occupation .occupation-description__thumbnail > img {
  border-radius: 10px;
	width:100%;
	height:auto;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-description__thumbnail > img {
    border-radius: 15px;
  }
}
.accordion__body__inner--occupation .occupation-scope {
  padding-top: 30px;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-scope {
    padding-top: 50px;
  }
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-career__list {
    border-bottom: 1px solid rgba(37, 42, 52, 0.25);
  }
}
.accordion__body__inner--occupation .occupation-career__item {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-career__item {
    flex-direction: row;
  }
}
.accordion__body__inner--occupation .occupation-career__item:not(:last-of-type)::after {
  content: "";
  position: absolute;
  top: 14px;
  left: 4px;
  width: 2px;
  height: calc(100% + 28px);
  background-color: #95d1de;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-career__item:not(:last-of-type)::after {
    left: 38px;
    height: calc(100% + 40px);
  }
}
.accordion__body__inner--occupation .occupation-career__item:first-of-type::after {
  background: linear-gradient(180deg, #bedee5 0%, #95d1de 100%);
}
.accordion__body__inner--occupation .occupation-career__item:first-of-type .occupation-career-post-name::before {
  background-color: #bedee5;
}
.accordion__body__inner--occupation .occupation-career__item:nth-last-of-type(2)::after {
  background: linear-gradient(180deg, #95d1de 0%, #1d2087 100%);
}
.accordion__body__inner--occupation .occupation-career__item:last-of-type .occupation-career-post-name::before {
  background-color: #1d2087;
}
.accordion__body__inner--occupation .occupation-career__item:not(:first-of-type) {
  margin-top: 28px;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-career__item:not(:first-of-type) {
    margin-top: 40px;
  }
}
.accordion__body__inner--occupation .occupation-career__item > .occupation-career-post-description {
  border-bottom: 1px solid rgba(37, 42, 52, 0.25);
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-career__item > .occupation-career-post-description {
    border-bottom: unset;
  }
  .accordion__body__inner--occupation .occupation-career__item:not(:last-of-type) > .occupation-career-post-description {
    border-bottom: 1px solid rgba(37, 42, 52, 0.25);
  }
}
.accordion__body__inner--occupation .occupation-career-post-name {
  margin-bottom: 12px;
}
.accordion__body__inner--occupation .occupation-career-post-name::before {
  content: "";
  position: relative;
  display: inline-block;
  border-radius: 9999px;
  width: 10px;
  height: 10px;
  background-color: #95d1de;
  margin-right: 12px;
  z-index: 10;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-career-post-name {
    margin-bottom: unset;
    padding-left: unset;
    width: 26%;
  }
  .accordion__body__inner--occupation .occupation-career-post-name::before {
    margin-left: 34px;
    margin-right: 16px;
  }
}
.accordion__body__inner--occupation .occupation-career-post-description {
  margin-left: 22px;
  padding-bottom: 34px;
  line-height: 160%;
  letter-spacing: 0.64px;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--occupation .occupation-career-post-description {
    width: 74%;
    margin-left: unset;
    padding: 0 76px 24px 0;
  }
}
.accordion__body__inner--scope {
	padding: 0 15px 20px;
	font-weight:400;
	font-size:14px;
	line-height:2.0em;
}
@media only screen and (min-width: 960px) {
  .accordion__body__inner--scope {
    padding: 4px 70px 25px 50px;
	  font-size:15px;
	  font-weight:400; 
  }
}

.dec__topline {
  position: relative;
  display: block;
}
.dec__topline::before {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  height: 1px;
  width: 100%;
  background-color: rgba(37, 42, 52, 0.25);
}
.dec__topline::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: inline;
  height: 1px;
  width: 100px;
  background-color: #1d2087;
}

h2.sec__ttl {
	  font-size:22px;
	  font-weight:400;	
  margin-bottom: 20px;
	padding-left:15px;
}
@media only screen and (min-width: 960px) {
  h2.sec__ttl {
	  font-size:32px;
    margin-bottom: 40px;
  }
}
section#occupation > .cnt .accordion__list--occupation {
  margin-bottom: 20px;
}

.requirements__item dt, .requirements__item dd {
  box-sizing: border-box;
}
.requirements__item dt {
	  width: 100%;
	  padding: 18px 5px 0;
		font-weight:500;
		font-size:15px;
	color:#1d2087;
}
.requirements__item dd {
	  width: 100%;
	  padding: 5px 5px 10px 10px;
		font-weight:400;
	font-size:15px;
}
/* 募集要項TB
================================================== */
@media only screen and (min-width: 598px) {
	.requirements__item{
	  display: flex;
	  flex-wrap: wrap;
	  width: 100%;
	}
	.requirements__item dt {
	  width: 180px;
	  padding: 25px 10px;
		color:#000;
	}
	.requirements__item dd {
	  width: calc(100% - 180px);
	  margin-left: 0;
	  padding: 25px 20px;
		line-height:1.8em;
	}
	.dec__topline::after {
		  width: 180px;
	}
}
p.job-type::before {
  content: "";
  display: inline-block;
  border-radius: 9999px;
  width: 8px;
  height: 8px;
  background-color: #1d2087;
  margin-right: 12px;
  transform: translateY(-2px);
}
ul.salary-detail li{margin-bottom:1em; line-height:1.9em;}
ul.salary-detail li h3{
	font-size:15px;
	font-weight:600;
}
ul.salary-detail li p{font-weight:400; padding-left:0.8em}
section#requirements > .cnt .requirements__content .requirements__item--occupations > dd:not(:last-of-type) {
  margin-bottom: 2px;
}
@media only screen and (min-width: 598px) {
  section#requirements > .cnt .requirements__content .requirements__item--occupations > dd:not(:last-of-type) {
    margin-bottom: 8px;
  }
}
section#requirements > .cnt .requirements__content .requirements__item--salary > dd > p {
  margin-bottom: 32px;
}
section#requirements > .cnt .requirements__content .requirements__item--salary > dd > dl > dt {
  margin-bottom: 16px;
}
section#requirements > .cnt .requirements__content .requirements__item--salary > dd > dl > div:not(:last-of-type) {
  margin-bottom: 20px;
}
section#requirements > .cnt .requirements__content .requirements__item--salary > dd > dl > div > dt:not(:last-of-type),
section#requirements > .cnt .requirements__content .requirements__item--salary > dd > dl > div > dd:not(:last-of-type) {
  margin-bottom: 4px;
}
section#requirements > .cnt .requirements__content .requirements__item--benefits > dd > dl > dd:not(:last-of-type) {
  margin-bottom: 8px;
}
@media only screen and (min-width: 598px) {
  section#requirements > .cnt .requirements__content .requirements__item--benefits > dd > dl > dd:not(:last-of-type) {
    margin-bottom: 16px;
  }
}

section#selection-flow > .cnt {
  margin-bottom: 50px;
}
@media only screen and (min-width: 598px) {
  section#selection-flow > .cnt {
    margin-bottom: 80px;
  }
}
section#selection-flow > .cnt .flow__head {
  display: flex;
  flex-direction: column;
  margin-bottom: 60px;
}
@media only screen and (min-width: 960px) {
  section#selection-flow > .cnt .flow__head {
    flex-direction: row;
    align-items: center;
    margin-bottom: 66px;
  }
}
section#selection-flow > .cnt .flow__head .sec__ttl {
  position: relative;
  margin-bottom: 10px;
}
@media only screen and (min-width: 960px) {
  section#selection-flow > .cnt .flow__head .sec__ttl {
    margin-right: 120px;
    margin-bottom: unset;
  }
}
section#selection-flow > .cnt .flow__head > p {
  font-family: "Noto Sans JP", sans-serif;
}

section#selection-flow > .cnt .flow__diagram{
	width:100%;
	margin:10px auto 30px;
	background:#f7f7ed;
	border-radius:0 50px 0 50px;
	padding:35px 20px 45px;
}
section#selection-flow > .cnt .flow__diagram img{
	width:100%;
	height:auto;
}
@media only screen and (min-width: 960px) {
	section#selection-flow > .cnt .flow__diagram{
		margin:30px auto 70px;
		border-radius:10px 90px 10px 90px;
		padding:80px 80px 90px;
	}
}

section#selection-flow > .cnt .flow__diagram > p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  margin-bottom: 24px;
}
section#selection-flow > .cnt .flow__diagram > .pc {
  display: none;
}
section#selection-flow > .cnt .flow__diagram > .sp {
  display: block;
}
@media only screen and (min-width: 598px) {
  section#selection-flow > .cnt .flow__diagram p {
    font-size: 1rem;
  }
  section#selection-flow > .cnt .flow__diagram > .pc {
    display: block;
  }
  section#selection-flow > .cnt .flow__diagram > .sp {
    display: none;
  }
}
section#selection-flow .scroll-bg-msg {
  margin-bottom: 80px;
}
@media only screen and (min-width: 598px) {
  section#selection-flow .scroll-bg-msg {
    margin-bottom: 120px;
  }
}
.tgl-btn {
  position: relative;
  display: block;
}
.tgl-btn::before, .tgl-btn::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 1.5px;
  background-color: #3b3e99;
  border-radius: 6px;
}
@media only screen and (min-width: 960px) {
  .tgl-btn::before, .tgl-btn::after {
    width: 20px;
    height: 2px;
  }
}
.tgl-btn::before {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.tgl-btn::after {
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% + 0.5px), calc(-50% - 0.5px)) rotate(90deg);
}
@media only screen and (min-width: 960px) {
  .tgl-btn::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }
}

/*追加CSS */
.recruit_btn{width:90%; max-width:1100px; margin:0 auto; text-align:center}
.recruit_btn a{
	display: inline-block;
	padding: 10px 55px 10px 35px;
	border-radius: 50px;
	color:#fff!important;
	font-size:15px;
	background:url("../images/arrow_bottom.png") ,linear-gradient(45deg, #6ec7e5 0%, #82d2d9 100%);
	background-size: 12px auto, 100%;
	background-repeat: no-repeat;
	background-position: 85%;	
	transition: .4s;
}
.recruit_btn a:hover{
	background:url("../images/arrow_bottom.png") ,linear-gradient(45deg, #5ac2e8 0%, #6abac3 100%);
	background-size: 12px auto, 100%;
	background-repeat: no-repeat;
	background-position: 85%;
}
@media only screen and (min-width: 960px) {
  	.recruit_btn{text-align:right}
	.recruit_btn a{
		padding: 15px 65px 15px 45px;
		font-size:18px;
		background-repeat: no-repeat;
		background-position: 83%;	
	}
	.recruit_btn a:hover{
		background-repeat: no-repeat;
		background-position: 83%;
	}
}
.model_nensyu h3{font-size:15px; font-weight:500; margin:1em 0 0.7em}
.sub_explanation{margin-bottom:1.3em}
.sub_explanation h4{font-size:15px; font-weight:500;}
p.bf_text{margin-bottom:1.5em;}