@charset "UTF-8";


/* 共通部分として宣言できそうなもの */
:root {
  --main-gradient: linear-gradient(to right,  #f2f2f2 50%,#cccccc 100%);
}



.section-fill {
  background: #ffffff;
  max-width: 1000px;
  width: 100%;
  margin: auto;
  padding: 2.75rem;
    box-shadow: var(--shadow-card, none);
}

#content-wrapper {
padding: 100px 20px;
}





:root {
  --job-selection: linear-gradient(to right,  #009390 54%,#9ac4c4 100%);
}


#page-title {
  height: 220px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}


#page-lead-text {
  background: #ffffff;
  padding: 4rem 0;
  margin: 0;
}

#page-lead-text P {
  font-size: 1.75rem;
  text-align: center;
  word-wrap: break-word;
  white-space: nowrap;
}


#archive-intro header {
  text-align: center;
  margin: 0 0 2rem 0;
}

#archive-intro header h2 {
  font-size: 2rem;
}

#archive-intro header p {

}



#archive-entries {
  margin: 0;
}


#intro-message {
  text-align: center;
  margin: 0 0 var(--presentation_spacing_group) 0;
  font-size: clamp(1em, 1.5vw, 1.25em);
}


#terms > .as-grid {
  width: clamp(240px, 33vw, 50%);
  grid-template: auto / 1fr 1fr;
  margin: 0 auto var(--presentation_spacing_section);
  background: #ffffff;
}

#terms a {
  display: block;
  font-size: clamp(1.25rem, 1.75vw, 1.75rem);
  text-align: center;
  line-height: 1;
  padding: 1em 0.5em;
  color: #ffffff;
  background: var(--theme_color_common_gray_60);
  white-space: nowrap;
  font-weight: bold;
  text-decoration: none;
}

#terms a.current {
  background: var(--theme_color_corporate);
}



#titles {
}

#titles > .as-grid {
  grid-template: auto / repeat(2, 1fr);
  gap: clamp(1px, 1vw, 1rem);
  /* align-items: end; */
}
@media only screen and (max-width: 767px){
#titles > .as-grid {
  grid-template: auto / repeat(1, 1fr);
}}


#titles > .as-grid > li > :is(a, span) {
  display: flex;
  /* min-height: clamp(1em, 2vw, 2em); */
  height: 100%;
  box-sizing: border-box;
  background: var(--theme_color_common_gray_30);
  padding: clamp(0.5em, 1vw, 1em);
  align-items: center;
  justify-content: center;
  color: #ffffff;
}

#titles > .as-grid > li > a {
  background: #ffffff;
  border: 1px solid #cccccc;
  text-align: center;
  color: #000000;
  font-weight: bold;
  transition: background 0.25s;
  text-decoration: none;
}

#titles > .as-grid > li > a:hover {
  border: 1px solid var(--theme_color_corporate);
  background: var(--job-selection);
  color: #ffffff;
  opacity: 1;
}

#titles > .as-grid > li > a.current {
  font-weight: bold;
  background: var(--job-selection);
  color: #ffffff;
  border: none;
  /* padding: clamp(1em, 2vw, 2em) clamp(1em, 2vw, 2em); */
}





#titles > .as-grid > li > a.current.in-preparation,
#titles > .as-grid > li > a.current.not-recruiting {
  background: var(--theme_color_common_gray_60);
}


#post-content {
  margin: 0;
  padding: 0 0 var(--presentation_spacing_group);
}


#post-content header {
  text-align: center;
}


#post-content > .background-fill {
  background: var(--theme_color_corporate_10);
  padding: var(--presentation_spacing_group) 0;
}



#details {
  margin: 0 0 3rem 0;
}

#details > dl {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--theme_color_common_gray_60);
}

#details > dl > div {
  display: grid;
  grid-template: auto / clamp(10em, 12vw, 12em) auto;
  gap: 1em;
  border-bottom: 1px solid var(--theme_color_common_gray_60);
  padding: 1em 0;
}

#details > dl > div > dt {
  margin: 0;
  text-align: center;
  align-self: center;
  white-space: break-spaces;
  word-wrap: break-word;
  word-break: auto-phrase;
}

#details > dl > div > dd {
  margin: 0;
}

#details > dl > div > dd > * {
  margin: 0;
}

#details dl + dl {
  border: none;
}


body.tax-recruitment-type.term-career #apparent-title {
  background: var(--theme_color_recruitment_10);
}

body.tax-recruitment-type.term-career #terms a.current {
  background: var(--theme_color_recruitment);
}

body.tax-recruitment-type.term-career #titles > .as-grid > li > a {
  background: #ffffff;
  border-color: var(--theme_color_recruitment);
  color: var(--theme_color_recruitment);
  /* transition: background 0.25s; */
}

body.tax-recruitment-type.term-career #titles > .as-grid > li > a.current {
  background: var(--theme_color_recruitment);
  color: #ffffff;
}



body.tax-recruitment-type.term-career #titles > .as-grid > li > a:hover {
  background: var(--theme_color_recruitment);
  color: #ffffff;
}



body.tax-recruitment-type.term-career #apparent-title h2 {
  color: var(--theme_color_recruitment);
}

body.tax-recruitment-type.term-career section > [data-define-width] > header > h3 {
  color: var(--theme_color_recruitment);
}

body.tax-recruitment-type.term-career section header > h4 {
  color: var(--theme_color_recruitment);
  font-size: clamp(1.5rem, 1.75vw, 1.75rem);
  margin: 0 0 0.5em 0;
}



body.tax-recruitment-type.term-career #post-content > .background-fill {
  background: var(--theme_color_recruitment_10);
}



#career-ratio > ol {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 0.25em;
  width: clamp(240px, 33vw, 300px);
  margin: 0 auto;
}

#career-ratio > ol > li {
  display: grid;
  grid-template: auto / auto 4em;
  gap: 0.5em;
}

#career-ratio > ol > li [data-part="number"] {
  text-align: right;
}

#career-ratio > ol > li [data-part="number"]:after {
  content: '%';
}

#career-ratio [data-part="result"] {
  text-align: center;
  color: var(--theme_color_recruitment);
  font-size: clamp(1.5em, 2.5vw, 2.5em);
  font-weight: bold;
  margin: 0 0 0.25em 0;
}

#career-ratio [data-part="notes"] {
  text-align: center;
}




#post-content header h4 + p.not-recruiting {
  margin: 1em 0 0 0;
  color: var(--theme_color_common_warn);
}



#post-content footer nav[data-part="career-inquiry"] {
  margin: var(--presentation_spacing_group) 0 0 0;
}

#post-content footer nav[data-part="career-inquiry"] {
  text-align: center;
}

/* #post-content footer nav[data-part="career-inquiry"] a {
  display: inline-block;
  font-size: clamp(1em, 1.5vw, 1.5em);
  padding: 0.75em 2em;
  line-height: 1;
  color: #ffffff;
  background: var(--theme_color_common_gray_60);
  font-weight: bold;
}

#post-content footer nav[data-part="career-inquiry"] a:after {
  content: '\f105';
  margin: 0 0.5em;
} */



#content-extra {
}

#content-extra header {
  margin: 0 0 0.5em 0;
}

#content-extra header > * {
  color: var(--theme_color_corporate);
  text-align: left;
}


#content-extra > section:not(:last-child) {
  margin: 0 0 2rem 0;
}


#entry-external {
  border-bottom: 1px solid #e6e6e6;
  padding: 0 0 2rem 0;
  margin: 0 0 2rem 0;
}

#entry-external > header {
  text-align: center;
  margin:  0 0 2rem 0;
}

#entry-external > nav {
  text-align: center;
}

#entry-external > nav a {
  display: inline-block;
  background: #017ec3;
  color: #ffffff;
  padding: 1.5rem 3rem;
  width: 100%;
  max-width: 400px;
  text-align: center;
  text-decoration: none;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  position: relative;
}

#entry-external > nav a::after {
content: '';
display: inline-block;
width: 0.7em;
height: 0.7em;
border-right: 1px solid currentColor;
border-top: 1px solid currentColor;
transform: rotate(45deg);
margin-left: .5em;
display: inline-block;
position: absolute;
top: 35%;
right: 20px;
align-items: center;
justify-content: end;
justify-content: end;
}



#entry-form {

}


#entry-form > header {
  text-align: center;  
}

#entry-form .form-fill {
  background: #f2f2f2;
  padding: 2rem;
}

#entry-form input {
  font-size: 1.25rem;

}

#entry-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], select) {
  width: 100%;
}

#entry-form .wp-block-snow-monkey-forms-item.smf-item {
  margin: 0 0 1rem 0;
}

#entry-form .wp-block-snow-monkey-forms-item .smf-item__label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

#entry-form .wp-block-snow-monkey-forms-item.required .smf-item__label::after {
  content: '必須';
  color: var(--theme_color_corporate);
  background: #ffffff;
  border: 1px solid var(--theme_color_corporate);
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1;
  padding: 0.125em 0.75em;
}

#entry-form .snow-monkey-form .smf-item__label {
  font-size: 1.25rem;
  font-weight: bold;
  margin: 0 0 0.25rem 0;
}

#entry-form .snow-monkey-form .smf-item__label > small {
  font-size: 0.75em;
  font-weight: 500;
}

#entry-form .smf-form .smf-select-control {
  display: block;
}

#entry-form form button[type="submit"] {
  background: var(--job-selection);
  border: none;
  border-radius: 0;
  color: #ffffff;
  font-size: 1.5rem;
  display: block;
  line-height: 1;
  padding: 1.5rem 0;
  width: 100%;
  font-weight: bold;

  transition: opacity 0.25s 0s;
}

#entry-form form button[type="submit"]:hover {
  opacity: 0.5;
}