:root{
  --red-01: #C70000;
  --gray-02: #A4A8AD;
  --color-gray-d7d8db: #d7d8db;
  --color-gray-e8e8ea: #e8e8ea;
  --color-gray-ebebec: #ebebec;
  --color-paleblue-c3e3ed: #c3e3ed;
  --color-blue-116cc7: #116cc7;
  --white : #fff;
  --icon-youtube: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2228%22%20viewBox%3D%220%200%2040%2028%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M39.1651%204.37253C38.7041%202.65052%2037.3509%201.29727%2035.6289%200.836312C32.5075%200%2019.9991%200%2019.9991%200C19.9991%200%207.49059%200%204.37253%200.836312C2.65052%201.29727%201.29727%202.65052%200.836312%204.37253C0%207.49059%200%2014%200%2014C0%2014%200%2020.5094%200.836312%2023.6275C1.29727%2025.3495%202.65052%2026.7027%204.37253%2027.1637C7.49059%2028%2019.9991%2028%2019.9991%2028C19.9991%2028%2032.5075%2028%2035.6256%2027.1637C37.3476%2026.7027%2038.7008%2025.3495%2039.1618%2023.6275C39.9981%2020.5094%2039.9981%2014%2039.9981%2014C39.9981%2014%2039.9981%207.49059%2039.1618%204.37253H39.1651Z%22%20fill%3D%22%23FF0000%22%2F%3E%20%3Cpath%20d%3D%22M16%2019.9991L26.3946%2014L16%208.00095V19.9991Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  --icon-newWindow: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M11.5%2014.5h-10v-10h1v9h9z%22%2F%3E%3Cpath%20d%3D%22M14.5%2012H4V1.5h10.5V12zM5%2011h8.5V2.5H5V11z%22%2F%3E%3Cpath%20d%3D%22M7.5%204.5v1h2.29L6.63%208.66l.71.71%203.16-3.16V8.5h1v-4z%22%2F%3E%3C%2Fsvg%3E");
}
/** ==================================================
* 共通
* ================================================ */
/* 通常時（false）: 表示 */
.c-btn.-s-header-drawerbtn {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
/* true時: 非表示 */
[aria-expanded="true"].c-btn.-s-header-drawerbtn {
  opacity: 0;
  visibility: hidden;
}
.s-header>.logo>.link>.image{
  aspect-ratio: 184 / 45;
}
.s-header>.logo>.link{
  gap: 5px;
  font-size: var(--fs-18);
}
.s-recruitHeader>.logo>.link>.image{
  aspect-ratio: 184 / 45;
}
.s-recruitHeader>.logo>.link{
  gap: 5px;
  font-size: var(--fs-18);
}

.c-heading.-typeE>.inner{
  background: none;
}
.c-heading.-typeE.-fill-blue-500>.inner{
  color: var(--color-blue-500);
}
.c-text.-large{
  font-size: var(--fs-26);
  font-weight: 450;
  line-height: 2;
}
@media (max-width:575px) {
  .s-footer>.primary>.content>.list{
    gap: var(--size-grid-gap);
  }
  .s-footer-contentItem.-marg{
    gap: calc(var(--size-grid-gap) * 2);
  }
}

.s-page-header>.inner>.media .image{
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}
@media (max-width:767px) {
  .s-page-header>.inner>.media::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
    pointer-events: none;
  }
}

.c-scrollable{
  border: 1.5px solid var(--color-black-500);
}

.c-line.-gray-d7d8db {
  --c-line-color: var(--color-gray-d7d8db);
  --c-line-color-strong: var(--color-gray-d7d8db);
}
.c-line.-gray-e8e8ea {
  --c-line-color: var(--color-gray-e8e8ea);
  --c-line-color-strong: var(--color-gray-400);
}
.c-line.-paleblue-c3e3ed {
  --c-line-color: var(--color-paleblue-c3e3ed);
  --c-line-color-strong: var(--color-paleblue-500);
}
.c-line.-gray-ebebec {
  --c-line-color: var(--color-gray-ebebec);
  --c-line-color-strong: var(--color-gray-500);
}
.c-line.-blue-116cc7 {
  --c-line-color: var(--color-blue-116cc7);
  --c-line-color-strong: var(--color-blue-300);
}

.c-figure:before {
  pointer-events: none;
}
.c-anchor{
  --c-anchor-scroll-margin-top: var(--size-144);
}
@media (max-width:767px) {
  .c-anchor{
    --c-anchor-scroll-margin-top: var(--size-200);
  }
}
.c-datalist.-typeListbox>.item>.desc>.list>.item{
  min-height: 2.7em;
}

.c-datalist.-typeC>.item{
  padding-block: var(--size-24);
}
.c-datalist.-typeB>.item{
  padding-block: calc(var(--c-datalist-fs)*0.55);
}
.c-datalist.-typeC>.item>.desc{
  margin-top: 0.5em;
}

.c-heading.-typeF._fs-19{
  font-size: var(--fs-19);
}
.c-text._fs-17{
  font-size: var(--fs-17);
}
/** ==================================================
* 企業TOP
* ================================================ */
.c-card-typeA-datalist{
  min-height: 155px;
}
.c-card.-typeData>.body>.content>.number>.num.-fill-blue-500{
  color: var(--color-blue-500);
}
.c-card.-typeData>.body>.content>.number>.unit.-fill-blue-500{
  color: var(--color-blue-500);
}
.c-card-typeData-image>.image, .c-card.-typeData>.body>.content>.media>.image{
  height: clamp(180px, 12.5vw, 240px);
}
@media (max-width:991px) {
  .home-hero{
    max-height: 50svh;
  }
}
@media (max-width:767px) {
  .c-card-typeA-datalist{
    min-height: calc(var(--fs-13)*1.4*3 + var(--fs-13)*.5 + var(--size-16)*2);
  }
}
/** ==================================================
* 採用TOP
* ================================================ */
.recruit-wrapper>.hero{
  overflow: hidden;
}
.recruit-wrapper>.hero>.deco {
  inset: auto 100% -520px auto;
  position: absolute;
  width: 256px;
  z-index: 1;
}
@media (min-width: 768px) {
  .recruit-wrapper>.hero>.deco {
    transform: translate(min(20vw, 100%));
  }
}
@media (min-width: 992px) {
  .recruit-wrapper>.hero>.deco {
    transform: translate(min(15vw, 100%));
  }
}
.c-card.-typeVoice>.body>.meta>.inner>.belong{
  font-weight: 450;
}
.recruit-wrapper>.area>.inner>.guideline{
  margin-top: 0;
}
@media (max-width:991px) {
  .recruit-hero{
    max-height: 50svh;
  }
}

/** ==================================================
* 募集要項
* ================================================ */
.c-accordion.-guideline>.summary{
  font-size: var(--fs-25);
  color: var(--color-blue-500);
}
.c-datalist.-typeB.-guideline>.item.-border-emphasis{
  padding-block: calc(var(--c-datalist-fs)*1.5);
}
.misc-childSection>.body>.section.-marg{
  margin-top: var(--size-80);
  padding-top: var(--size-56);
}
.c-btn.-typeC._t-btn{
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-20);
  padding-block: calc(var(--c-datalist-fs) * 1.5);
  border-top: 1px solid var(--color-gray-e8e8ea);
  border-bottom: 3px solid var(--color-skyblue-500);
}
@media (min-width: 576px) {
  .c-datalist.-typeB.-guideline>.item {
    padding-block: calc(var(--c-datalist-fs)*1);
  }
}
@media (max-width:991px) {
  .misc-section>.body{
    padding-bottom: var(--size-56);
  }
}
/** ==================================================
* 新着情報
* ================================================ */
.c-archive-article{
  min-height: var(--size-104-linear);
}
.c-archive-article>.title{
  margin-top: var(--size-8);
}
/** ==================================================
* 会社概要
* ================================================ */
@media (max-width:560px) {
  .s-page-toc{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .s-page-toc>.item:last-child {
  grid-column: 1 / -1;
}
  .s-page-toc>.item>.link{
    min-height: 3.5em;
  }
}
/** ==================================================
* 事業部紹介
* ================================================ */
.youtube.-marg{
  margin-top: var(--size-40);
}
.youtube>.link{
  display: block;
  background-color: #4F4F50;
  border-radius: 4px;
  color: var(--white);
  text-align: center;
  padding: 1em 1em 1em 1.5em;
  max-width: 100%;
  width: 316px;
  font-size: var(--fs-18);
  font-weight: 500;
  line-height: 1.2;
  position: relative;
}
.youtube>.link::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 1.5em;
  transform: translateY(-50%);
  background: url(../img/youtube-icon.svg) center / cover no-repeat;
  width: 39.998px;
  height: 28px;
}
@media (max-width:560px) {
  .s-page-toc.-business{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .s-page-toc.-business>.item:last-child {
    grid-column: auto;
  }
}
/** ==================================================
* 健康経営
* ================================================ */
.s-page-header>.inner>.content>.subheading>.inner{
  background: none;
}
.c-figure.-health-message{
  width: var(--size-136-linear);
}
.c-figure.-health-message.-small{
  width: var(--size-96-linear);
}
/** ==================================================
* 社員インタビュー
* ================================================ */
.voice-article>.header>.content>.heading{
  font-size: clamp(25px,3.3536585366cqw,var(--fs-40));
}
/** ==================================================
* 問い合わせフォーム
* ================================================ */
.page-container.-contact{
  position: relative;
}
.page-container.-contact>.area{
  container-type: inline-size;
  margin: 0 auto;
  position: relative;
  width: var(--w-container-large);
}
.page-container.-contact>.area>.header{
  margin-block: var(--size-88);
  position: relative;
}
.page-container.-contact>.area>.line.-left {
  inset: 0 100% 0 auto;
}
.page-container.-contact>.area>.line {
  position: absolute;
  z-index: -1;
}
.page-container.-contact>.area>.line.-right {
  inset: 0 auto 0 100%;
}
.page-container.-contact>.area>.content{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  padding-top: var(--size-56);
  position: relative;
}
.page-container.-contact>.area>.content.-complete{
  padding-block: 150px 200px;
}
.page-container.-contact>.area>.content>.ttl{
  color: var(--color-blue-500);
  text-align: center;
  font-size: var(--fs-20);
  font-weight: 700;
  line-height: 2;
}
.page-container.-contact>.area>.content>.txt{
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
}
.page-container.-contact>.area>.content.-complete>.txt{
  margin-bottom: var(--size-56);
}
.page-container.-contact>.area>.content>.note{
  color: var(--red-01);
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}
.page-container.-contact>.area>.content.-complete>.action{
  width: min(500px,100%);
  margin-inline: auto;
}
.page-container.-contact>.area>.form{
  position: relative;
  margin-block: var(--size-64) var(--size-96);
}
@media (max-width:560px) {
  .page-container.-contact>.area>.content>.txt{
    text-align: left;
  }
  .page-container.-contact>.area>.content>.note{
    text-align: left;
  }
  .page-container.-contact>.area>.content{
    align-items: flex-start;
  }
}
/** ==================================================
* c-contactForm
* ================================================ */
.c-contactForm {
  font-size: var(--fs-16);
  line-height: 1.6;
  width: min(960px,100%);
  margin-inline: auto;
  padding-block: var(--size-56) var(--size-184);
  position: relative;
}
.c-contactForm>.line.-left {
  inset: 0 100% 0 auto;
}
.c-contactForm>.line {
  position: absolute;
  z-index: -1;
}
.c-contactForm>.line.-right {
  inset: 0 auto 0 100%;
}
.c-contactForm > .list > .item {
  display: flex;
  flex-direction: column;
  gap: 1em 0;
  padding: 1.2em 0;
  border-bottom: 1px solid #BCBFC3;
}
@media (min-width: 768px) {
  .c-contactForm > .list > .item {
    flex-direction: row;
    align-items: center;
  }
}
.c-contactForm > .list > .item > .label {
  display: flex;
  align-items: center;
  font-weight: 500;
  font-feature-settings: "palt";
}
@media (min-width: 768px) {
  .c-contactForm > .list > .item > .label {
    flex: 0 0 auto;
    width: 20em;
    padding: calc(0.8em + 1px) 0;
  }
}
.c-contactForm > .list > .item > .label > .any {
  flex: 0 0 auto;
  margin-right: 1.35em;
  padding: 2px .9em;
  background: var(--gray-02);
  border-radius: 4px;
  font-size: var(--fs-13);
  line-height: 1.6;
  letter-spacing: .5px;
  color: var(--white);
}
.c-contactForm > .list > .item > .label > .any.-required {
  background: var(--red-01);
  color: var(--white);
}
.c-contactForm > .list > .item > .control {
  flex: 1 1 0%;
}
.c-contactForm > .list > .item > .control>p+p{
  margin-top: 1.5em;
}
.c-contactForm > .list > .item > .control.-grid{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 8px;
}
.c-contactForm > .list > .item > .control.-grid.-col01{
  grid-template-columns: repeat(1,1fr);
}
/* .mw_wp_form .horizontal-item + .horizontal-item{
  margin-left: 0 !important;
} */
.mw_wp_form .horizontal-item>label>input{
  margin-right: 0;
}
.mw_wp_form_confirm .c-contactForm > .attention{
  display: none;
}
.c-contactForm > .attention {
  margin-top: var(--size-56);
  font-size: 16px;
  text-align: center;
}
.c-contactForm > .attention > .link {
  text-decoration: underline;
  color: var(--color-blue-500);
}
.c-contactForm > .action {
  width: min(810px,100%);
  margin-inline: auto;
  margin-top: var(--size-64);
}
.c-contactForm > .action>dd{
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
.c-contactForm > .action>.submit{
  justify-content: center;
  padding: 0;
}
@media (min-width: 768px) {
  .c-contactForm > .list > .item > .control.-radio {
    align-self: center;
  }
}
.mw_wp_form_confirm .c-contactForm > .list > .item > .control {
  padding-block: calc(0.8em + 1px);
}
@media (max-width:560px) {
  .mw_wp_form_confirm .c-contactForm > .list > .item > .control{
    padding-block: 0;
  }
}
.-c-contactForm-submit {
  text-align: center;
  width: 100%;
  padding-inline: 1em !important;
  min-height: calc(var(--c-btn-typeA-h-unitless) / var(--c-btn-typeA-fs-unitless) * 1em);
}

.c-formControl {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  line-height: inherit;
  color: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-formControl:disabled {
  cursor: not-allowed;
}
.c-formControl::-moz-placeholder {
  opacity: 0.25;
}
.c-formControl::placeholder {
  opacity: 0.25;
}
textarea.c-formControl {
  resize: vertical;
}
select.c-formControl {
  padding-right: 2em;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='22' viewBox='0 0 30 22'%3e%3cpath fill='%23343a40' d='M15 22L0 0h30z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: calc(100% - 0.75em) 50%;
  background-size: 0.5em auto;
}
select.c-formControl[multiple], select.c-formControl[size]:not([size="1"]) {
  background-image: none;
}
.c-formControl.-auto {
  display: inline-block;
  width: auto;
}
.c-formControl {
  padding: 0.8em 1em;
  border: 1px solid #CED1D5;
  background: #F1F1F1;
  border-radius: 4px;
  font-size: 16px;
  line-height: 2;
}
@media (min-width: 960px) {
  .c-formControl {
    font-size: var(--fs-15);
  }
}
.c-formControl.-typeArchive {
  width: 15em;
}

@media (hover: hover) {
  .submit:hover .c-arrow:before {
    animation: c-arrow-before var(--duration-slower) forwards;
  }
  .submit:hover .c-arrow::after{
    animation: c-arrow-after var(--duration-slower) forwards;
  }
  .c-contactForm > .attention > .link:hover{
    opacity: 0.65;
  }
}

/*========= -newWindow -icon =========*/
.c-icon.-newWindow::before {
  -webkit-mask-image: var(--icon-newWindow);
  mask-image: var(--icon-newWindow);
  background-color: var(--color-blue-500);
}

/** ==================================================
* プライバシーポリシー
* ================================================ */
.privacy{
  container-type: inline-size;
  margin: 0 auto;
  padding-block: 0 var(--size-160);
  position: relative;
  width: var(--w-container-large);
  z-index: 0;
}
.privacy_content>p{
  font-size: 16px;
  line-height: 2;
  text-align: justify;
  word-break: break-all;
}
.privacy_wrap > h2{
  position: relative;
  font-size: var(--fs-28);
  font-weight: bold;
  border-bottom: 1px solid #CECACA;
  margin-bottom: 0.5em;
  line-height: 2;
}
.privacy_wrap > h2::after{
  content: "";
  position: absolute;
  bottom: -1%;
  left: 0;
  width: 20%;
  border-top: 2px solid var(--color-blue-500);
}
.privacy_wrap{
  margin: 2em 0;
}
.privacy_wrap > p{
  font-size: 16px;
  line-height: 2;
  text-align: justify;
  word-break: break-all;
}
.privacy_wrap>.list{
  margin-left: 1em;
  text-indent: -1em;
  line-height: 2;
  margin-top: 0.5em;
}

/** ==================================================
* サイトマップ
* ================================================ */
.page-container.-siteMap{
  position: relative;
}
.page-container.-siteMap>.area{
  container-type: inline-size;
  margin: 0 auto;
  position: relative;
  width: var(--w-container-large);
}
.page-container.-siteMap>.area>.header{
  margin-block: var(--size-88);
  position: relative;
}
.page-container.-siteMap>.area>.line.-left {
  inset: 0 100% 0 auto;
}
.page-container.-siteMap>.area>.line {
  position: absolute;
  z-index: -1;
}
.page-container.-siteMap>.area>.line.-right {
  inset: 0 auto 0 100%;
}
.page-container.-siteMap>.area>.content{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  margin-bottom: var(--size-160);
  position: relative;
}
.page-container.-siteMap>.area>.content>.flx{
  display: flex;
  gap: 1em;
  width: min(880px,100%);
  margin-inline: auto;
}
.page-container.-siteMap>.area>.content>.flx>.item{
  flex: 1 0 0;
  position: relative;
  padding-bottom: var(--size-64);
}
.page-container.-siteMap>.area>.content>.flx>.item>.ttl{
  color: var(--color-black-500);
  font-size: var(--fs-27);
  font-weight: 500;
  line-height: 1.4;
  position: relative;
  padding-left: 1em;
  margin-bottom: var(--size-56);
}
.page-container.-siteMap>.area>.content>.flx>.item>.ttl::before{
  content: "";
  position: absolute;
  top: 50%;
  left: .2em;
  transform: translateY(-50%);
  background: var(--color-skyblue-500);
  border-radius: 100%;
  aspect-ratio: 1 / 1;
  width: .4em;
}
.page-container.-siteMap>.area>.content>.flx>.item>.ttl>a{
  transition: color var(--duration-base);
}
@media (hover : hover) {
  .page-container.-siteMap>.area>.content>.flx>.item>.ttl>a:hover{
    color: var(--color-skyblue-500);
    opacity: 1;
  }
}
.page-container.-siteMap>.area>.content>.flx>.item>.sub-ttl{
  color: var(--gray-02);
  font-size: var(--fs-18);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: var(--size-32);
}
.page-container.-siteMap>.area>.content>.flx>.item>.c-list{
  margin-bottom: var(--size-64);
}
@media (max-width:560px) {
  .page-container.-siteMap>.area>.content>.flx{
    flex-direction: column;
    gap: var(--size-32);
  }
}
.page-container.-siteMap>.area>.content>.flx>.item>.c-list>.item>a{
  font-weight: 500;
  transition: color var(--duration-base);
}
@media (hover : hover) { 
  .page-container.-siteMap>.area>.content>.flx>.item>.c-list>.item>a:hover{
    color: var(--color-skyblue-500);
    opacity: 1;
  }
}
