/** ==================================================
* page-header
* ================================================ */
.page-header{
  width: var(--content-width-1300);
  margin-inline: auto;
  min-height: 500px;
  height: 100%;
  position: relative;
}
.page-header>.content{
  position: absolute;
  left: 0;
  bottom: 0;
  padding-bottom: var(--px-100);
  margin-left: 60px;
}
@media (max-width:1000px) {
  .page-header{
    min-height: 300px;
  }
  .page-header>.content{
    padding-bottom: 30px;
  }
}
@media (max-width:767px) {
  .page-header>.content{
    margin-left: 30px;
  }
}
/** ==================================================
* c-heading
* ================================================ */
.c-heading.-page_typeA{
  position: relative;
}
.c-heading.-page_typeA>.ttl{
  font-size: var(--font-40);
  font-weight: 700;
}
.c-heading.-page_typeA>.deco{
  position: absolute;
  bottom: 0;
  left: 0;
  color: transparent;
  -webkit-text-stroke-width: 1.5px;
  -webkit-text-stroke-color: rgba(68, 227, 237, 0.50);
  font-size: 50px;
  font-weight: 700;
  white-space: nowrap;
  transform-origin: left bottom;
  transform: rotate(-90deg);
}
@media (max-width:1000px) {
  .c-heading.-page_typeA>.deco{
    font-size: 30px;
  }
}

/** ==================================================
* breadcrumb
* ================================================ */
.breadcrumb{
  background: linear-gradient(90deg, #44E3ED 0.01%, #16B5D1 50.01%, #00AFCC 100%);
  padding-block: 1em;
}
.breadcrumb>.c-breadcrumb{
  width: var(--content-width-1300);
  margin-inline: auto;
}
.c-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4
}
.c-breadcrumb>.item {
  align-items: center;
  display: flex;
}
.c-breadcrumb>.item:not(:last-child):after {
  aspect-ratio: 1/1;
  background: var(--color-white);
  content: "";
  flex: 0 0 auto;
  margin-inline:.875em;-webkit-mask: var(--icon-arrow-b-right) no-repeat 50% 50%/.8461538462em;
  mask: var(--icon-arrow-b-right) no-repeat 50% 50%/.8461538462em;
  width: 1em
}
.c-breadcrumb>.item>.link {
  color: var(--color-white);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.c-breadcrumb.-s-page-header>.item:not(:last-child):after {
  aspect-ratio: 1/1;
  background: var(--color-black);
  content: "";
  flex: 0 0 auto;
  margin-inline:.875em;-webkit-mask: var(--icon-arrow-b-right) no-repeat 50% 50%/.8461538462em;
  mask: var(--icon-arrow-b-right) no-repeat 50% 50%/.8461538462em;
  width: 1em
}
.c-breadcrumb.-s-page-header>.item>.link {
  color: var(--color-white)
}


/** ==================================================
* 会社案内
* ================================================ */
/*========= message =========*/
.message{
  background: var(--color-white);
  padding-top: var(--px-140);
  overflow: hidden;
}
.message>.section.-message{
  width: var(--content-width-1300);
  margin-inline: auto;
  padding-top: var(--px-90);
}
.-line{
  position: relative;
}
.-line>.line.-top{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 1px;
  background: var(--color-neon-blue);
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.-line>.line.-bottom{
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 1px;
  background: var(--color-neon-blue);
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.-line>.line.-left,
.-line>.line.-right{
  position: absolute;
  top: 0;
  width: 1px;
  height: 100%;
  background: var(--color-neon-blue);
  clip-path: inset(0 0 100% 0);
  transition: clip-path 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.-line>.line.-left  { left:  calc(50% - var(--content-width-1300) / 2); }
.-line>.line.-right { right: calc(50% - var(--content-width-1300) / 2); }
.-line>.line.-center{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 100%;
  background: var(--color-neon-blue);
  clip-path: inset(0 0 100% 0);
  transition: clip-path 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.-line.is-border-animated > .line.-top{
  clip-path: inset(0 0% 0 0);
}
.-line.is-border-animated > .line.-bottom{
  clip-path: inset(0 0% 0 0);
}
.-line.is-border-animated > .line.-left,
.-line.is-border-animated > .line.-right,
.-line.is-border-animated > .line.-center{
  clip-path: inset(0 0 0% 0);
}
.message>.section>.inner>.body{
  margin-top: var(--px-60);
  color: var(--color-black);
}
.message>.section>.inner>.body>.media>img{
  width: 100%;
  height: auto;
  display: block;
}
.message>.section>.inner>.body>.flx-head{
  display: flex;
  justify-content: space-between;
  padding-block: var(--px-75) var(--px-50);
}
.message>.section>.inner>.body>.flx-head>.item{
  flex: 1 0 0%;
  display: flex;
  gap: var(--px-25);
  flex-direction: column;
  align-items: center;
  padding-inline: 1em;
}
.message>.section>.inner>.body>.flx-head>.item>.copy{
  font-size: var(--font-24);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.message>.section>.inner>.body>.flx-head>.item>.name{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--px-25);
  font-size: var(--font-40);
  font-weight: 700;
}
.message>.section>.inner>.body>.flx-head>.item>.name>span{
  font-size: 16px;
  text-align: center;
  font-weight: 700;
}
.message>.section>.inner>.body>.flx-content{
  display: flex;
  justify-content: space-between;
  padding-block: var(--px-75) var(--px-30);
}
.message>.section>.inner>.body>.flx-content>.item{
  flex: 1 0 0%;
  padding-inline: var(--px-60);
}
.message>.section>.inner>.body>.flx-content>.item>.head>.copy{
  font-size: var(--font-30);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 1em;
}
.message>.section>.inner>.body>.flx-content>.item>.head>.name{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: var(--font-25);
  font-weight: 700;
  padding-bottom: 1em;
}
.message>.section>.inner>.body>.flx-content>.item>.head>.name>span{
  font-size: 16px;
  text-align: center;
  font-weight: 700;
}
.message>.section>.inner>.body>.flx-content>.item>.txt{
  font-family: var(--font-sansJP);
  font-size: var(--font-18);
  font-weight: 400;
  line-height: 2;
}
.message>.section>.inner>.body>.flx-content>.item>.txt+.txt{
  margin-top: 2em;
}
.message>.section>.inner>.body>.box{
  width: 100%;
  height: 100%;
  min-height: var(--px-200);
}
@media (max-width:1200px) {
  .message>.section>.inner>.body>.flx-head>.item>.name{
    flex-direction: column;
    gap: 0;
  }
}
@media (max-width:767px) {
  .message{
    padding-top: var(--px-80);
  }
  .message>.section.-message{
    width: 100%;
    padding-top: var(--px-50);
  }
  .message>.section>.inner>.body>.flx-content{
    width: 90vw;
    margin-inline: auto;
    flex-direction: column;
    align-items: center;
    gap: var(--px-80);
    padding-top: var(--px-50);
  }
  .message>.section>.inner>.body>.flx-content>.item{
    padding-inline: 1em;
  }
  .message>.section>.inner>.body>.flx-content>.item>.txt:first-of-type{
    margin-top: 1.85em;
  }
  .message>.section>.inner>.body>.box{
    min-height: var(--px-100);
  }
}

/*========= policy =========*/
.policy>.section.-policy{
  width: var(--content-width-1300);
  margin-inline: auto;
  padding-block: var(--px-150);
}
.policy>.section.-policy>.inner>.body{
  text-align: center;
  padding-top: var(--px-90);
}
.policy>.section.-policy>.inner>.body>.en-ttl{
  font-size: var(--font-36);
  line-height: 1.2;
  font-weight: 700;
  width: 438px;
  max-width: 100%;
  display: inline-block;
  position: relative;
}
.policy>.section.-policy>.inner>.body>.en-ttl::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url('../img/ttl-border.svg') center / cover no-repeat;
  width: 100%;
  height: 14px;
  z-index: -1;
}
.policy>.section.-policy>.inner>.body>.ttl{
  font-size: var(--font-20);
  font-weight: 700;
}
.policy>.section.-policy>.inner>.body>.copy{
  margin-top: var(--px-80);
  text-align: center;
  font-size: var(--font-60);
  font-weight: 700;
  line-height: 1.4;
}
.policy>.section.-policy>.inner>.body>.img{
  padding-top: var(--px-90);
}
@media (max-width:767px) {
  .policy>.section.-policy>.inner>.body>.copy{
    font-size: var(--font-50);
  }
}

/*========= overview =========*/
.overview{
  background: var(--color-white);
}
.overview::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.25;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
}
.overview>.section.-overview{
  width: var(--content-width-1300);
  margin-inline: auto;
  padding-block: var(--px-150);
}
.overview>.section.-overview>.inner>.body{
  color: var(--color-black);
  margin-top: var(--px-90);
  padding-left: var(--px-55);
  position: relative;
}
.overview>.section.-overview>.inner>.body::before{
  content: "";
  position: absolute;
  inset: 0;
  height: 100%;
  width: 10px;
  background: linear-gradient(180deg, #44E3ED 0.03%, #2BBAD6 50.03%, #00AFCC 100.03%);
}
.section.-overview>.inner>.body>.list>.item{
  display: flex;
  align-items: flex-start;
  gap: 40px;
  padding-block: var(--px-24);
  position: relative;
  line-height: 1.8;
}
.section.-overview>.inner>.body>.list>.item:first-of-type{
  padding-top: 0;
}
.section.-overview>.inner>.body>.list>.item::before{
  content: '';
  position: absolute;
  bottom: 0;
  left: 210px;
  width: calc(100% - 210px);
  height: 1px;
  background: #5B5B5B;
}
.section.-overview>.inner>.body>.list>.item>dt{
  width: min(170px,100%);
}
.section.-overview>.inner>.body>.list>.item>dt>span{
  display: block;
  background: #5B5B5B;
  color: var(--color-white);
  text-align: center;
  font-size: 20px;
}
.section.-overview>.inner>.body>.list>.item>dd{
  width: calc(100% - 170px);
  flex: 1 0 0;
  font-size: 18px;
  padding-left: 1em;
}
.section.-overview>.inner>.body>.list>.item>dd>.btn{
  display: inline-block;
  border: 0.5px solid #5B5B5B;
}
.section.-overview>.inner>.body>.list>.item>dd>.btn.-marg{
  margin-top: 0.5em;
}
.section.-overview>.inner>.body>.list>.item>dd>.btn>.link{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--px-60);
  padding-block: 10px;
  padding-inline: 15px;
  text-decoration: underline;
}
@media (hover : hover) {
  .section.-overview>.inner>.body>.list>.item>dd>.btn>.link:hover>.c-icon.-black::before{
    transform: translateX(5px);
  }
}
@media (max-width:767px) {
  .overview>.section.-overview>.inner>.body{
    padding-left: 1em;
  }
  .section.-overview>.inner>.body>.list>.item{
    flex-direction: column;
    border-bottom: none;
    gap: 10px;
  }
  .section.-overview>.inner>.body>.list>.item>dt{
    width: 100%;
  }
  .section.-overview>.inner>.body>.list>.item>dd{
    width: 100%;
    padding-left: 0;
  }
  .section.-overview>.inner>.body>.list>.item::before{
    content: none;
  }
  .section.-overview>.inner>.body>.list>.item>dd>.btn{
    display: block;
  }
  .section.-overview>.inner>.body>.list>.item>dd>.btn>.link{
    gap: 10px;
  }
}

/** ==================================================
* 事業内容
* ================================================ */
.service-bg{
  position: relative;
  z-index: 1;
  background-color: #0D0D0D;
  overflow: hidden;
}
.service-bg::before{
  content: "";
  position: absolute;
  inset: 0;
  bottom: 0;
  background: url(../img/service-bg-01.jpg) center bottom / cover no-repeat;
  z-index: -1;
}

/*========= area =========*/
.section.-area>.inner{
  width: var(--content-width-1300);
  margin-inline: auto;
  padding-block: var(--px-150) var(--px-130);
}
.section.-area>.inner>.body{
  padding-top: var(--px-90);
}
.section.-area>.inner>.body>.copy{
  text-align: center;
  font-family: var(--font-sansJP);
  font-size: var(--font-30);
  font-weight: 700;
  line-height: 2;
}
.section.-area>.inner>.body>.media{
  padding-top: var(--px-90);
  text-align: center;
}
@media (max-width:767px) {
  .section.-area>.inner>.body>.copy{
    text-align: left;
    font-size: 18px;
  }
}

/*========= service-item ソフトウェア =========*/
.section.-service-item>.inner{
  width: var(--content-width-1300);
  margin-inline: auto;
  padding-block: var(--px-100) var(--px-250);
}
.section.-service-item>.inner>.body{
  padding-top: var(--px-90);
}
.section.-service-item>.inner>.body>.head{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.section.-service-item>.inner>.body>.head.-second{
  margin-top: var(--px-90);
}
.section.-service-item>.inner>.body>.head>.ttl{
  font-size: 30px;
  font-weight: 500;
}
.section.-service-item>.inner>.body>.head>.txt{
  font-size: 20px;
  font-weight: 400;
}
.section.-service-item>.inner>.body>.grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  grid-auto-rows: minmax(435px, auto);
  gap: var(--px-60);
  margin-top: var(--px-50);
}
.section.-service-item>.inner>.body>.grid>.list{
  background: linear-gradient(90deg, rgba(68, 227, 237, 0.40) -5.7%, rgba(82, 210, 233, 0.40) 50%, rgba(131, 119, 241, 0.40) 105.7%);
  border: 4px solid var(--color-neon-blue);
  box-shadow: 0 0 13.5px 0 rgba(178, 247, 251, 0.20) inset;
  backdrop-filter: blur(5px);
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-block: var(--px-30) var(--px-25);
  padding-inline: 1em;
  gap: var(--px-30);
}
.section.-service-item>.inner>.body>.grid>.list>.txt{
  text-align: center;
  font-family: var(--font-sansJP);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
.section.-service-item>.inner>.body>.flx{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--px-30);
  width: min(850px,100%);
  margin-inline: auto;
  margin-top: var(--px-50); 
}
.section.-service-item>.inner>.body>.flx>.item{
  position: relative;
  clip-path: polygon(13px 0%, calc(100% - 13px) 0%, 100% 50%,calc(100% - 13px) 100%, 13px 100%, 0% 50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, rgba(68, 227, 237, 0.40) -5.7%, rgba(82, 210, 233, 0.40) 50%, rgba(131, 119, 241, 0.40) 105.7%);
  box-shadow: 0 0 13.5px 0 rgba(178, 247, 251, 0.20) inset;
  filter: drop-shadow(0 0 15px #44E3ED);
}
.section.-service-item>.inner>.body>.flx>.item>span{
  text-align: center;
  display: block;
  white-space: nowrap; 
  padding-block: 5px;
  font-family: var(--font-sansJP);
  font-size: var(--font-24);
  font-weight: 500;
  position: relative;
  padding-inline: 1em;
  background: rgba(22, 94, 98, 0.40);
}
@media (max-width:767px) {
  .section.-service-item>.inner>.body>.grid{
    grid-auto-rows: auto;
    grid-template-columns: repeat(1, 1fr);
  }
  .section.-service-item>.inner>.body>.flx{
    gap: 10px;
  }
}
/*
========= hardware =========*/
.section.-service-item.-hardware{
  background: url(../img/service-bg-02.jpg) center bottom / cover no-repeat;
}
/*========= flow =========*/
.section.-flow>.inner{
  width: var(--content-width-1300);
  margin-inline: auto;
  padding-block: var(--px-150);
}
.section.-flow>.inner>.body{
  margin-top: var(--px-60);
}
.section.-flow>.inner>.body>.list{
  width: min(858px,100%);
  margin-inline: auto;
}
.section.-flow>.inner>.body>.list>.item:first-of-type{
  margin-top: 0;
}
.section.-flow>.inner>.body>.list>.item{
  width: min(600px,100%);
  min-height: 145px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--px-30);
  background: linear-gradient(90deg, rgba(68, 227, 237, 0.40) -5.7%, rgba(36, 154, 197, 0.40) 50%, rgba(29, 71, 93, 0.40) 105.7%);
  border: 4px solid var(--color-neon-blue);
  box-shadow: 0 0 13.5px 0 rgba(178, 247, 251, 0.20) inset;
  filter: drop-shadow(0 0 15px #2382BC);
  backdrop-filter: blur(5px);
  padding-block: var(--px-30);
  position: relative;
  margin-top: var(--px-90);
}
.section.-flow>.inner>.body>.list>.item.-left{
  margin-right: auto;
}
.section.-flow>.inner>.body>.list>.item.-right{
  margin-left: auto;
  margin-top: var(--px-90);
}
/* 縦線: 左アイテム下へ（最後以外）→ 次の右アイテムへ接続 */
.section.-flow>.inner>.body>.list>.item.-left:not(:last-child)::after{
  content: '';
  position: absolute;
  top: 100%;
  left: 100px;
  width: 2px;
  height: calc(var(--px-90) + 77px);
  background: linear-gradient(180deg, #44E3ED 0%, #00AFCC 100%);
  box-shadow: 0 0 8px rgba(68, 227, 237, 0.8);
}
/* 横線: 右アイテムの左端（左からの縦線を受け取る） */
.section.-flow>.inner>.body>.list>.item.-right::before{
  content: '';
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  width: 158px;
  height: 2px;
  background: linear-gradient(270deg, #44E3ED 0%, #00AFCC 100%);
  box-shadow: 0 0 8px rgba(68, 227, 237, 0.8);
}
/* 縦線: 右アイテム下へ（最後以外）→ 次の左アイテムへ接続 */
.section.-flow>.inner>.body>.list>.item.-right:not(:last-child)::after{
  content: '';
  position: absolute;
  top: 100%;
  right: 100px;
  width: 2px;
  height: calc(var(--px-90) + 77px);
  background: linear-gradient(180deg, #44E3ED 0%, #00AFCC 100%);
  box-shadow: 0 0 8px rgba(68, 227, 237, 0.8);
}
/* 横線: 左アイテムの右端（最初以外）→ 右からの縦線を受け取る */
.section.-flow>.inner>.body>.list>.item.-left:not(:first-child)::before{
  content: '';
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  width: 158px;
  height: 2px;
  background: linear-gradient(90deg, #44E3ED 0%, #00AFCC 100%);
  box-shadow: 0 0 8px rgba(68, 227, 237, 0.8);
}
/* ─── コネクターライン アニメーション ─── */
/* cubic-bezier(0.22,1,0.36,1): 素早く動き出してゆっくり止まる「描かれる」感覚 */

/* 縦線: 常に初期非表示（上→下へ描画） */
.section.-flow>.inner>.body>.list>.item.-left:not(:last-child)::after,
.section.-flow>.inner>.body>.list>.item.-right:not(:last-child)::after{
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
/* 縦線: アクティブ（スペシフィシティ +1で確実に優先） */
.section.-flow>.inner>.body>.list>.item.-left:not(:last-child).is-line-active::after,
.section.-flow>.inner>.body>.list>.item.-right:not(:last-child).is-line-active::after{
  clip-path: inset(0 0 0% 0);
}
/* 右アイテム横線: 常に初期非表示（縦線の端→アイテムへ描画） */
.section.-flow>.inner>.body>.list>.item.-right::before{
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
/* 右アイテム横線: アクティブ */
.section.-flow>.inner>.body>.list>.item.-right.is-before-active::before{
  clip-path: inset(0 0% 0 0);
}
/* 左アイテム横線: 常に初期非表示（縦線の端→アイテムへ描画） */
.section.-flow>.inner>.body>.list>.item.-left:not(:first-child)::before{
  clip-path: inset(0 0 0 100%);
  transition: clip-path 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
/* 左アイテム横線: アクティブ */
.section.-flow>.inner>.body>.list>.item.-left:not(:first-child).is-before-active::before{
  clip-path: inset(0 0 0 0%);
}
.section.-flow>.inner>.body>.list>.item>.number{
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: var(--color-white);
  color: transparent;
  font-family: var(--font-sansJP);
  font-size: var(--font-40);
  font-weight: 700;
}
.section.-flow>.inner>.body>.list>.item>.txt{
  font-family: var(--font-sansJP);
  font-size: var(--font-24);
  font-weight: 700;
}
@media (max-width:960px) {
  .section.-flow>.inner>.body>.list>.item{
    width: 100%;
    min-height: auto;
    justify-content: flex-start;
    padding-inline: 1.5em;
  }
  .section.-flow>.inner>.body>.list>.item.-right::before{
    content: none;
  }
  .section.-flow>.inner>.body>.list>.item.-left:not(:first-child)::before{
    content: none;
  }
  .section.-flow>.inner>.body>.list>.item.-left:not(:last-child)::after{
    left: 2.5em;
    height: calc(var(--px-90) + 7px);
  }
  .section.-flow>.inner>.body>.list>.item.-right:not(:last-child)::after{
    right: unset;
    left: 2.5em;
    height: calc(var(--px-90) + 7px);
  }
}
@media (max-width:560px) { 
  .section.-flow>.inner>.body>.list>.item{
    gap: 10px;
    padding-inline: .8em;
  }
  .section.-flow>.inner>.body>.list>.item>img{
    width: 30px;
    aspect-ratio: 1/1;
  }
}
/** ==================================================
* 採用情報
* ================================================ */
.section.-hero-recruit>.inner>.movie{
  position: relative;
}
.section.-hero-recruit>.inner>.movie>.content{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  padding-inline: 1em;
}
.section.-hero-recruit>.inner>.movie>.content>.copy{
  color: #E0E0E0;
  font-family: var(--font-sansJP);
  font-size: var(--font-50);
  font-weight: 700;
  margin-bottom: var(--px-75);
  text-shadow: 0px 0px 3px var(--color-black);
}
.section.-hero-recruit>.inner>.movie>.content>.txt{
  color: #E0E0E0;
  text-align: center;
  font-size: var(--font-25);
  font-weight: 500;
  line-height: 1.8;
  text-shadow: 0px 0px 3px var(--color-black);
}
.section.-hero-recruit>.inner>.movie>.content>.txt+.txt{
  margin-top: 1em;
}
.section.-hero-recruit>.inner>.movie::before{
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/grid-bg.svg) center / cover no-repeat;
}
.section.-hero-recruit>.inner>.movie::after{
  content: "";
  position: absolute;
  inset: 0;
  background-color: #0D1117;
  z-index: -1;
}
.section.-hero-recruit>.inner>.movie>video{
  width: 100%;
  height: 100svh;
  min-height: 500px;
  opacity: 0.3;
  object-fit: cover;
}
@media (max-width:767px) {
  .section.-hero-recruit>.inner>.movie>video{
    height: 50svh;
  }
  .section.-hero-recruit>.inner>.movie>.content>.copy{
    font-size: var(--font-40);
  }
  .section.-hero-recruit>.inner>.movie>.content>.txt{
    font-size: 18px;
  }
}
/*========= work =========*/
.section.-work{
  background: url("../img/recruit-work-bg.jpg") center / cover no-repeat;
}
.section.-work>.inner{
  width: var(--content-width-1300);
  margin-inline: auto;
  padding-block: var(--px-150);
}
.section.-work>.inner>.body{
  margin-top: var(--px-90);
}
.section.-work>.inner>.body:has(.-second){
  margin-top: var(--px-300);
}
.section.-work>.inner>.body>.head{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.section.-work>.inner>.body>.head>.ttl{
  font-size: 30px;
  font-weight: 500;
}
.section.-work>.inner>.body>.head>.txt{
  font-size: 20px;
}
.section.-work>.inner>.body>.grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  grid-auto-rows: minmax(300px, auto);
  gap: var(--px-60);
  margin-top: var(--px-50);
}
.section.-work>.inner>.body>.grid>.list{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--px-25);
  padding: 1em;
}
.section.-work>.inner>.body>.grid>.list.-list01{
  background: url("../img/recruit-work-item-bg01.jpg") center / cover no-repeat;
}
.section.-work>.inner>.body>.grid>.list.-list02{
  background: url("../img/recruit-work-item-bg02.jpg") center / cover no-repeat;
}
.section.-work>.inner>.body>.grid>.list.-list03{
  background: url("../img/recruit-work-item-bg03.jpg") center / cover no-repeat;
}
.section.-work>.inner>.body>.grid>.list>.ttl{
  text-align: center;
  font-family: var(--font-sansJP);
  font-size: var(--font-30);
  font-weight: 700;
}
.section.-work>.inner>.body>.grid>.list>.txt{
  text-align: center;
  font-family: var(--font-sansJP);
  font-size: var(--font-22);
  font-weight: 500;
}
.section.-work>.inner>.body.-second>.grid{
  grid-auto-rows: auto;
}
.section.-work>.inner>.body.-second>.grid>.list.-second{
  background-color: #2D3436;
  border: 2px solid var(--color-neon-blue);
  filter: drop-shadow(0 0 10px var(--color-neon-blue));
  padding: 0;
  justify-content: space-between;
}
.section.-work>.inner>.body.-second>.grid>.list.-second>.ttl{
  background-color: var(--color-gray);
  width: 100%;
  padding: 15px .5em;
}
.section.-work>.inner>.body.-second>.grid>.list.-second>.flx{
  background-color: var(--color-gray);
  width: 100%;
  padding: 15px .5em;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 110px;
}
.section.-work>.inner>.body.-second>.grid>.list.-second>.flx>.txt{
  text-align: center;
  font-family: var(--font-sansJP);
  font-size: var(--font-20);
  font-weight: 500;
}
.section.-work>.inner>.body.-second>.grid>.list.-second>.flx>.txt>.large{
  font-size: var(--font-30);
}
.section.-work>.inner>.body.-second>.grid>.list.-second>.flx>.txt>.small{
  font-size: var(--font-16);
}
@media (max-width:767px) {
  .section.-work>.inner>.body>.grid{
    grid-template-columns: repeat(1,1fr);
  }
  .section.-work>.inner>.body:has(.-second){
    margin-top: var(--px-200);
  }
}
/*========= interview =========*/
.section.-interview{
  background: linear-gradient(360deg, rgba(13, 13, 13, 1) 85%, rgba(255, 255, 255, 0) 100%);
}
.section.-interview>.inner{
  width: var(--content-width-1300);
  margin-inline: auto;
  padding-block: var(--px-150) 0;
}
.section.-interview>.inner>.body>.grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(10px, 5.2083333333vw, 100px);
  margin-top: var(--px-85);
  margin-bottom: var(--px-95);
  position: relative;
}
.section.-interview>.inner>.body>.grid>.link>.list-wrap{
  display: flex;
  flex-direction: column;
  position: relative;
}
.scroll-indicator {
  position: absolute;
  bottom: -5%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  flex-direction: column;
  z-index: 10;
  pointer-events: none;
  transition: opacity 0.8s ease;
}
.scroll-indicator > .c-icon.-scroll {
  animation: scrollDown 2s ease-out infinite;
}
@keyframes scrollDown {
  0% {
    transform: translateY(0px);
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    transform: translateY(25px);
    opacity: 0;
  }
}
.section.-interview>.inner>.body>.grid>.link>.list-wrap>.deco{
  display: inline-block;
  align-self: flex-start;
  background-color: var(--color-neon-blue);
  color: var(--color-black);
  font-size: var(--font-24);
  padding: 0 1em 0 0.5em;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 100%, 0 100%);
  letter-spacing: 0.05em;
}
.section.-interview>.inner>.body>.grid>.link>.list-wrap>.list{
  border: 2px solid var(--color-neon-blue);
  box-shadow: 0 0 12px 0 rgba(178, 247, 251, 0.80) inset, 0 0 12px 0 #44E3ED;
}
.section.-interview>.inner>.body>.grid>.link>.list-wrap>.list::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
}
.section.-interview>.inner>.body>.grid>.link>.list-wrap>.copy{
  text-align: center;
  font-size: var(--font-22);
  font-weight: 700;
  line-height: 1.8;
  margin-top: 1em;
}
@media (max-width:960px) {
  .section.-interview>.inner>.body>.grid>.link>.list-wrap>.copy{
    font-size: 16px; 
  }
}
@media (max-width:767px) {
  .section.-interview>.inner>.body>.grid{
    grid-template-columns: repeat(1, 1fr);
  }
}
/* インタビュー内容 */
.recruit-content > .inner{
  width: 100%;
  margin-inline: auto;
}
.recruit-content > .inner > .content > .list{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.recruit-content > .inner > .content > .list > .item{
  position: relative;
  background-color: #F8F9F4;
  font-size: var(--font-24);
  font-weight: 500;
  line-height: 1.4;
  padding: 1em;
  width: 100%;
  text-align: center;
}
.recruit-content > .inner > .content > .list > .item::before{
  content: "";
  position: absolute;
  top: 50%;
  left: var(--px-30);
  transform: translateY(-50%);
  background-color: #8FC31F;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  width: 8px;
}
.recruit-content > .inner > .content > .list > .item::after{
  content: "";
  position: absolute;
  top: 50%;
  right: var(--px-30);
  transform: translateY(-50%);
  background-color: #8FC31F;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  width: 8px;
}
.recruit-content > .inner > .content > .txt{
  font-size: var(--font-18);
  font-weight: 500;
  line-height: 2;
  margin-top: var(--px-30);
  text-align: center;
}
.recruit-content > .inner > .content > .tlb-grid > .item > .txt{
  text-align: center;
}
.recruit-content > .inner.-recruit-interview > .content > .interview{
  position: relative;
  display: grid;
  justify-items: center;
  grid-template-columns: min(1120px, 1120 / 1920 * 100 * 1vw) 1fr;
  min-height: 100vh;
  grid-template-areas: "text image";
  padding-top: var(--px-200);
}
.recruit-content > .inner.-recruit-interview > .content > .interview.-reverse{
  grid-template-columns: 1fr min(1120px, 1120 / 1920 * 100 * 1vw) ;
  grid-template-areas: "image text";
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .img_box{
  width: 100%;
  height: 100vh;
  max-height: 100%;
  position: sticky;
  top: 0;
  grid-area: image;
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .img_box > picture > .img{
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: top;
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box{
  width: min(100% , 1000px);
  height: 100%;
  padding-block: 0 var(--px-200);
  padding-inline: 15% 10%;
  position: relative;
  z-index: 1;
  grid-area: text;
}
.recruit-content > .inner.-recruit-interview > .content > .interview.-reverse > .txt_box{
  padding-inline: 10% 15%;
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .ttl{
  margin-bottom: var(--px-70);
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .ttl > h2{
  font-size: var(--font-80);
  font-weight: 100;
  color: var(--color-white);
  position: relative;
  padding-left: 70px;
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .ttl > h2::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url("../img/logo.svg") center / cover no-repeat;
  aspect-ratio: 1 / 1;
  width: 60px;
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .ttl > .name{
  color: #FFF;
  font-size: var(--font-30);
  font-weight: 700;
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .ttl > .name>span{
  font-size: var(--font-20);
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .ttl > .txt{
  color: var(--color-white);
  font-size: var(--font-20);
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .content{
  color: var(--color-white);
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .content + .content{
  margin-top: var(--px-80);
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .content > h3{
  font-size: var(--font-20);
  line-height: 1.2;
  font-weight: 500;
  padding-left: var(--px-60);
  margin-bottom: var(--px-30);
  position: relative;
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .content > h3::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: var(--color-neon-blue);
  width: var(--px-50);
  height: 1px;
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .content > p{
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .content > p + p{
  margin-top: 1em;
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .schedule{
  margin-block: var(--px-50) var(--px-55);
}
.schedule-list {
  width: 100%;
  margin-inline: auto;
  color: var(--color-white);
}
.schedule-list > h3{
  font-size: var(--font-20);
  line-height: 1.2;
  font-weight: 500;
  padding-left: var(--px-60);
  margin-bottom: var(--px-30);
  position: relative;
}
.schedule-list > h3::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: var(--color-neon-blue);
  width: var(--px-50);
  height: 1px;
}
.schedule-list > .schedule-item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #666;
  padding: 15px 0;
  font-size: 16px;
  line-height: 2;
}
.schedule-list > .schedule-item > .schedule-time {
  flex: 0 0 80px;
  font-weight: 500;
  color: var(--color-white);
  margin: 0;
  padding-left: 20px;
  border-right: 1px solid #666;
}
.schedule-list > .schedule-item > .schedule-description {
  flex: 1;
  margin: 0;
  font-weight: 400;
  line-height: 2;
  padding-inline: var(--px-20);
}
.recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .movie{
  margin-bottom: var(--px-80);
  aspect-ratio: 16 / 9;
}

@media (max-width:1240px) {
  .recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box{
    padding-inline: 10% 5%;
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview.-reverse > .txt_box{
    padding-inline: 10% 5%;
  }
}
@media (max-width:960px) {
  .recruit-content > .inner.-recruit-interview > .content > .interview{
    grid-template-areas: 
    "image"
    "text";
    grid-template-columns: 1fr;
    padding-top: var(--px-100);
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview.-reverse{
    grid-template-areas: 
    "image"
    "text";
    grid-template-columns: 1fr;
    padding-top: var(--px-100);
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview > .img_box{
    position: unset;
    height: 50vh;
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .ttl::before{
    top: 5px;
    left: 0;
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box{
    padding-inline: 5%;
    padding-block: 50px;
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview.-reverse > .txt_box{
    padding-inline: 5%;
    padding-block: 50px;
  }
  .recruit-content > .inner > .content > .tlb-grid > .item > .txt{
    text-align: left;
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .content > h3::before{
    width: 20px;
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .content > h3{
    padding-left: 30px;
  }
}
@media (max-width:560px) {
  .recruit-content > .inner > .content > .txt{
    text-align: left;
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview > .img_box{
    height: 30vh;
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .ttl > h2{
    font-size: var(--font-50);
    padding-left: 60px;
  }
  .recruit-content > .inner.-recruit-interview > .content > .interview > .txt_box > .ttl > h2::before{
    width: 50px;
  }
}
/*========= process =========*/
.section.-process>.inner{
  width: var(--content-width-1300);
  margin-inline: auto;
  padding-block: var(--px-150);
}
.section.-process>.inner>.media{
  margin-top: var(--px-130);
  width: 100%;
  text-align: center;
}
/*========= recruit-news =========*/
.recruit-news{
  background: var(--color-white);
}
.recruit-news::after{
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.25;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
}
.section.-recruit-news>.inner{
  width: var(--content-width-1300);
  margin-inline: auto;
  padding-block: var(--px-150);
}
.section.-recruit-news>.inner>.body{
  margin-top: var(--px-50);
}

/** ==================================================
* single / archive
* ================================================ */
.other-container {
  padding: var(--px-80) 0 var(--px-140);
}
.other-container > .section {
  max-width: var(--content-width-medium);
  margin-inline: auto;
}
.other-container > .section + .section {
  margin-top: var(--px-80);
}
.other-container > .section.-w-small {
  max-width: var(--content-width-980);
}
.other-container > .section.-w-large {
  max-width: var(--content-width-1300);
}
.other-container > .section.-w-fluid {
  max-width: none;
}
.other-container > .section.-mt-small {
  margin-top: var(--px-40);
}
.other-anchor {
  scroll-margin-top: var(--px-50);
}
@media (min-width: 960px) {
  .other-anchor {
    scroll-margin-top: calc(var(--site-header-scrolled-height) + var(--px-80));
  }
}
.other-anchor:focus {
  outline: none;
}
.c-article > .c-article__header > .category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6em;
  font-size: 16px;
  line-height: 1.4;
}
.c-article > .c-article__header > .category > .item > .link {
  display: inline-block;
  padding: 0.4em 1.4em;
  background: var(--color-blue);
  color: var(--color-white);
}
.c-article > .c-article__header > .title {
  margin-top: 1em;
  padding-bottom: 1em;
  border-bottom: 1px solid var(--color-black);
  font-weight: 500;
  font-size: var(--font-30);
  line-height: 1.6;
}
.c-article > .c-article__header > .date {
  margin-top: 1.2em;
  font-size: 16px;
  letter-spacing: 0.04em;
  text-align: right;
}
.c-article > .body {
  margin-top: var(--px-50);
}
.c-article > .c-article__footer {
  margin-top: var(--px-80);
}
.c-article > .c-article__footer > .item + .item {
  margin-top: var(--px-30);
}
.c-article > .c-article__footer > .item > .date {
  font-size: var(--font-14);
  letter-spacing: 0.04em;
  text-align: right;
}
.c-article > .c-article__header > .date.-single-works {
  text-align: left;
}

.c-termList {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.8em;
  font-size: var(--font-18);
  line-height: 1.4;
}
.c-termList > .heading {
  flex: 0 0 auto;
  font-size: var(--font-26);
  font-family: var(--font-sans);
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  color: var(--color-blue);
}
.c-termList > .body {
  flex: 0 1 auto;
}
.c-termList > .body > .list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8em 0;
  min-height: 4em;
  padding: 1em 2.6em;
  background: linear-gradient(90deg, #44E3ED 0.01%, #16B5D1 50.01%, #00AFCC 100%);
  color: var(--color-white);
}
.c-termList > .body > .list > .item:not(:last-child)::after {
  opacity: 0.3;
  margin-inline: 1.2em;
  content: "|";
}
.c-termList > .body > .list > .item > .link {
  transition: color var(--transition-duration) ease;
}
.c-termList.-gradient > .body > .list {
  background: var(--color-blue);
}
.c-termList > .body > .list.-child::before {
  content: "";
  position: absolute;
  inset: 50% auto auto 2.8em;
  width: 1em;
  aspect-ratio: 1/1;
  background: currentColor;
  -webkit-mask: var(--icon-arrow-d-right) no-repeat 50%/contain;
          mask: var(--icon-arrow-d-right) no-repeat 50%/contain;
  transform: translateY(-50%);
}
.c-termList > .body > .list > .item > .link:is(:hover, .-current) {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.c-termList > .body > .list.-child > .item > .link:is(:hover, .-current) {
  text-decoration: underline;
  text-underline-offset: 5px;
}
/*========= 追加 =========*/
.breadcrumb.-archive{
  margin-top: 130px;
}
.home-container>.body.-archive{
  background: var(--color-white);
  color: var(--color-black);
}
.home-container>.body.-archive::after{
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.25;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
}
.c-formControl.-typeArchive{
  padding: 8px 10px;
  font-size: 17px;
}
.c-formcontrol {
  --c-formcontrol-py: .625em;
  --c-formcontrol-px: 1em;
  --c-formcontrol-bg: var(--color-white);
  --c-formcontrol-border: 1px solid var(--color-gray);
  --c-formcontrol-border-radius: 2px;
  --c-formcontrol-font-size: 16px;
  --c-formcontrol-line-height: 1.6;
  --c-formcontrol-file-button-bg: hsl(208.04deg 100% 74.55% / 50%);
  --c-formcontrol-file-button-hover-bg: hsl(208.04deg 100% 74.55% / 20%);
  --c-formcontrol-file-button-color: inherit;
  --c-formcontrol-file-button-border: none;
}
.c-formcontrol.-typeTerms {
  --c-formcontrol-py: .5em;
  --c-formcontrol-px: 1em;
  --c-formcontrol-font-size: 16px;
  --c-formcontrol-bg: var(--color-white);
  --c-formcontrol-border: 1px solid var(--color-gray);
}
.c-formcontrol {
  background: var(--c-formcontrol-bg);
  border: var(--c-formcontrol-border);
  border-radius: var(--c-formcontrol-border-radius);
  display: inline-block;
  font-size: var(--c-formcontrol-font-size);
  line-height: var(--c-formcontrol-line-height);
  padding: var(--c-formcontrol-py) var(--c-formcontrol-px);
  width: auto;
}
.c-formcontrol::-moz-placeholder {
  color: var(--c-formcontrol-placeholder-color);
}
.c-formcontrol::placeholder {
  color: var(--c-formcontrol-placeholder-color);
}
/* プルダウン（select）専用のスタイリング */
select.c-formcontrol {
  padding-right: 2.25em;
  cursor: pointer; /* PCでホバーした時に指マークにして「押せる感」を出す */
  
  /* ① スマホOS（iPhone/Android）の勝手な標準デザイン・アニメーションを完全無効化 */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  
  /* ② 疑似要素(::after)を使わず、背景画像として「下矢印（▼）」を描画する（タップの邪魔をしない！） */
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"%3E%3Cpath fill="%23888888" d="M6 8L0 0h12z"/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: right 1em center; /* 右から1em、縦中央に配置 */
  background-size: 10px; /* 矢印のサイズ */
}

/* （おまけ）iPhoneでタップした瞬間にテキスト入力欄などが「フワッ」と青くなるのを防ぐ＆独自の色にする */
.c-formcontrol:focus {
  outline: none;
  /* ストラクトブルーに近い色で、スタイリッシュな枠線を出す（不要なら削除OKです） */
  border-color: #0056b3; 
  box-shadow: 0 0 0 1px #0056b3;
}

/* IE対策（念のため） */
select.c-formcontrol::-ms-expand {
  display: none;
}
.c-formcontrol::file-selector-button {
  background: var(--c-formcontrol-file-button-bg);
  border-right: var(--c-formcontrol-border);
  color: var(--c-formcontrol-file-button-color);
  margin: calc(var(--c-formcontrol-py)*-1) calc(var(--c-formcontrol-px)*-1);
  margin-inline-end:var(--c-formcontrol-px);padding: var(--c-formcontrol-py) var(--c-formcontrol-px);
  transition-duration: var(--duration-base);
  transition-property: background-color,color;
}
.c-formcontrol:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--c-formcontrol-file-button-hover-bg);
}
.c-formcontrol.-block {
  display: block;
  width: 100%;
}
@media (max-width:1000px) {
  .breadcrumb.-archive{
    margin-top: 110px;
  }
}
/*========= 投稿詳細　採用リンク追加 =========*/
.recruit-single__content{
  margin-top: var(--px-80);
}
.recruit-single__content > .link{
  background: linear-gradient(90deg, #44E3ED 0.01%, #16B5D1 50.01%, #00AFCC 100%);
  color: var(--color-white);
  font-size: var(--font-20);
  font-weight: 700;
  line-height: 1.4;
  padding: 1em 2em;
  text-align: center;
  width: 100%;
  display: block;
  transition-duration: var(--transition-duration);
}
@media (hover : hover) {
  .recruit-single__content > .link:hover{
    opacity: var(--transition-opacity);
  }
}

/** ==================================================
* c-gutenberg
* ================================================ */
.c-gutenberg {
  --c-gutenberg-elem-gap: 1lh;
  --c-gutenberg-a-color: var(--color-blue);
  --c-gutenberg-wp-element-caption-margin-top: .8em;
  --c-gutenberg-wp-element-caption-font-size: var(--font-14);
  --c-gutenberg-wp-element-caption-line-height: 1.6;
  --c-gutenberg-wp-element-caption-color: var(--color-gray-dark-b);
}
.c-gutenberg {
  display: block;
  margin: 0;
  padding: 0;
  font: inherit;
  line-height: 1;
  text-align: justify;
  word-break: break-all;
  overflow-wrap: break-word;
  color: inherit;
}
.c-gutenberg :where(hr) {
  border: none;
  border-top: 1px solid currentColor;
  color: inherit;
}
.c-gutenberg :where(h1, h2, h3, h4, h5, h6) {
  margin: 0;
  font: inherit;
  line-height: inherit;
  color: inherit;
}
.c-gutenberg :where(ul:not(.c-list, .c-row), ol:not(.c-list, .c-row)) {
  padding-left: 1.25em;
  list-style: revert;
}
.c-gutenberg strong {
  font-weight: bolder;
}
.c-gutenberg :where(a:-moz-any-link) {
  text-decoration: underline;
  color: var(--c-gutenberg-a-color);
}
.c-gutenberg :where(a:any-link) {
  text-decoration: underline;
  color: var(--c-gutenberg-a-color);
}
.c-gutenberg .wp-element-caption {
  margin-top: var(--c-gutenberg-wp-element-caption-margin-top);
  margin-bottom: 0;
  font-size: var(--c-gutenberg-wp-element-caption-font-size);
  line-height: var(--c-gutenberg-wp-element-caption-line-height);
  color: var(--c-gutenberg-wp-element-caption-color);
}
.c-gutenberg .wp-block-embed-youtube > .wp-block-embed__wrapper {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
}
.c-gutenberg .wp-block-embed-youtube > .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  aspect-ratio: 16/9;
}
.c-gutenberg .wp-block-embed-youtube > .wp-block-embed__wrapper > iframe {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  border: none;
}
.c-gutenberg :where(div, hr, dl, ol, ul, p, blockquote, figure, table),
.c-gutenberg .pdfemb-viewer {
  margin-bottom: var(--c-gutenberg-elem-gap);
}
.c-gutenberg :where(div, hr, dl, ol, ul, p, blockquote, figure, table):last-child,
.c-gutenberg .pdfemb-viewer:last-child {
  margin-bottom: 0;
}
.c-gutenberg :where(h1, h2, h3, h4, h5, h6) :first-child {
  margin-top: 0;
}
.c-gutenberg .wp-block-embed__wrapper,
.c-gutenberg .pdfemb-pagescontainer, .c-gutenberg .pdfemb-inner-div {
  margin: 0;
}
.c-gutenberg {
  font-size: var(--font-18);
  line-height: 2;
}
.c-gutenberg :is(h1, h2, h3, h4, h5, h6) {
  margin: 2em 0 1em;
  font-weight: 500;
  line-height: 1.6;
}
.c-gutenberg :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}
.c-gutenberg h1 + :is(h2, h3, h4, h5, h6),
.c-gutenberg h2 + :is(h3, h4, h5, h6),
.c-gutenberg h3 + :is(h4, h5, h6),
.c-gutenberg h4 + :is(h5, h6),
.c-gutenberg h5 + h6 {
  margin-top: 0;
}
.c-gutenberg h2 {
  font-size: 1.5em;
}
.c-gutenberg h3 {
  font-size: 1.3em;
}
.c-gutenberg h4 {
  font-size: 1.1em;
}
.c-gutenberg hr {
  border-color: var(--color-gray-pale-b);
}
.c-gutenberg .c-dataList > .item {
  margin: 0;
}
.c-gutenberg strong {
  font-weight: 600;
}
.c-gutenberg > .section {
  margin-block: calc(var(--c-gutenberg-elem-gap) * 2);
}
.c-gutenberg > .section:first-child {
  margin-top: 0;
}
.c-gutenberg > .section:last-child {
  margin-bottom: 0;
}
.c-gutenberg > .section.-singleInterview-c-card-typeTalk {
  margin-inline: calc((var(--content-width-small) - var(--content-width-medium)) / 2);
}
/** ==================================================
* privacy
* ================================================ */
.body.-policy{
  background: var(--color-white);
}
.body.-policy::after{
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.25;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
}
.privacy{
  max-width: var(--content-width-1300);
  margin: 0 auto;
  line-height: 2.2;
  padding-block: var(--px-100);
  color: var(--color-black);
}
.privacy_wrap > h2{
  position: relative;
  font-size: var(--font-28);
  font-weight: bold;
  border-bottom: 1px solid var(--color-gray);
  margin-bottom: 0.5em;
}
.privacy_wrap > h2::after{
  content: "";
  position: absolute;
  bottom: -1%;
  left: 0;
  width: 20%;
  border-top: 2px solid var(--color-neon-blue);
}
.privacy_wrap{
  margin: 2em 0;
}
.privacy_wrap > p{
  font-size: 16px;
}
.privacy_wrap > p.-marg{
  margin-top: 1em;
}
.privacy_wrap > p>a{
  text-decoration: underline;
}
@media (hover : hover) {
  .privacy_wrap > p>a:hover{
    opacity: 0.65;
  }
}

/** ==================================================
* entry form
* ================================================ */
.body.-entry{
  background: var(--color-white);
  color: var(--color-black);
}
.body.-entry::after{
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.25;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
}
.body.-entry>.inner{
  max-width: var(--content-width-980);
  margin: 0 auto;
  padding-block: var(--px-100);
}
.body.-entry>.inner>.section>.lead{
  font-size: var(--font-20);
  line-height: 1.8;
  text-align: center;
  margin-bottom: 2em;
}
@media (max-width:560px) {
  .body.-entry>.inner>.section>.lead{
    text-align: left;
  }
}

.c-contactform {
  --c-contactform-list-gap: 0;
  --c-contactform-list-item-gap: calc(var(--px-16)*.75) 0;
  --c-contactform-cloudflare-margin: var(--px-24) auto 0;
  --c-contactform-action-margin: var(--px-24) auto 0;
  --c-contactform-action-submit-margin: var(--px-24) auto 0;
  --c-contactform-label-column-gap: 1em;
  --c-contactform-label-font-weight: 700;
  --c-contactform-label-font-size: 16px;
  --c-contactform-label-line-height: 1.6;
  --c-contactform-label-letter-spacing: -.02em;
  --c-contactform-horizontal-label-lg-width: 13em;
  --c-contactform-horizontal-label-lg-padding: calc(.625em + 1px) 0;
  --c-contactform-any-padding: .5em .375em;
  --c-contactform-any-background: #dbdad9;
  --c-contactform-any-border-radius: 3px;
  --c-contactform-any-letter-spacing: .125em;
  --c-contactform-any-font-size: var(--font-11);
  --c-contactform-any-color: var(--color-black);
  --c-contactform-any-required-background: #ad0002;
  --c-contactform-any-required-color: var(--color-white);
}
.c-contactform>.list>.item {
  border-bottom: 1px dotted var(--color-gray);
  padding-block: 2em;
}
.c-contactform>.list>.item>.label .note {
  align-self: flex-end;
  font-size: 15px;
}
.c-contactform>.list {
  display: flex;
  flex-direction: column;
  gap: var(--c-contactform-list-gap);
}
.c-contactform>.list>.item {
  display: flex;
  flex-direction: column;
  gap: var(--c-contactform-list-item-gap);
}
.c-contactform>.list>.item>.label {
  align-items: center;
  -moz-column-gap: var(--c-contactform-label-column-gap);
  column-gap: var(--c-contactform-label-column-gap);
  display: flex;
  flex: 0 0 auto;
  font-size: var(--c-contactform-label-font-size);
  font-weight: var(--c-contactform-label-font-weight);
  letter-spacing: var(--c-contactform-label-letter-spacing);
  line-height: var(--c-contactform-label-line-height);
}
.c-contactform>.list>.item>.label>.any {
  background: var(--c-contactform-any-background);
  border-radius: var(--c-contactform-any-border-radius);
  color: var(--c-contactform-any-color);
  display: grid;
  flex: 0 0 auto;
  font-size: var(--c-contactform-any-font-size);
  letter-spacing: var(--c-contactform-any-letter-spacing);
  line-height: 1;
  padding: var(--c-contactform-any-padding);
  place-items: center;
  text-indent: var(--c-contactform-any-letter-spacing);
}
.c-contactform>.list>.item>.control {
  flex: 1 1 0%;
}
.c-contactform>.cloudflare {
  margin: var(--c-contactform-cloudflare-margin);
  text-align: center;
}
.c-contactform>.action {
  margin-block: 2em;
}
.c-contactform>.action>.submit {
  margin: var(--c-contactform-action-submit-margin);
  position: relative;
}
.c-contactform>.list>.item>.label>.any.-required {
  background: var(--c-contactform-any-required-background);
  color: var(--c-contactform-any-required-color);
}
.c-contactform.-horizontal>.list>.item {
  align-items: flex-start;
  flex-direction: row;
}
.c-contactform.-horizontal>.list>.item>.label {
  padding: var(--c-contactform-horizontal-label-lg-padding);
  width: var(--c-contactform-horizontal-label-lg-width);
}
.c-contactform.-horizontal>.list>.item>.control {
  align-self: center;
}
.c-btn {
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-flex;
}
.c-btn.-block {
  display: flex;
  width: 100%;
}
.c-btn.-typeB {
  --c-btn-typeA-h-unitless: 64;
  --c-btn-typeA-fs-unitless: 17;
  --c-btn-typeA-fs: var(--font-17);
  --c-btn-typeA-arrow-r-unitless: 17;
  --c-btn-typeA-arrow-fs-unitless: 17;
  --c-btn-typeA-arrow-fs: var(--font-17);
  background: linear-gradient(90deg, #44E3ED 0.01%, #16B5D1 50.01%, #00AFCC 100%);
  border: 2px solid var(--color-neon-blue);
  color: var(--color-white);
  font-size: var(--c-btn-typeA-fs);
  font-weight: 600;
  line-height: 1.4;
  min-height: calc(var(--c-btn-typeA-h-unitless)/var(--c-btn-typeA-fs-unitless)*1em);
  padding-block:.25em;padding-left: calc(var(--c-btn-typeA-pl-unitless)/var(--c-btn-typeA-fs-unitless)*1em);
  padding-right: calc(var(--c-btn-typeA-pr-unitless)/var(--c-btn-typeA-fs-unitless)*1em);
  position: relative;
  transition-duration: var(--duration-base);
  transition-property: background-color,border-color,color
}
.c-btn.-typeA.-c-contactform {
  --c-btn-typeA-fill-color: linear-gradient(90deg, #44E3ED 0.01%, #16B5D1 50.01%, #00AFCC 100%);
  --c-btn-typeA-border-color: linear-gradient(90deg, #44E3ED 0.01%, #16B5D1 50.01%, #00AFCC 100%);
  --c-btn-typeA-text-color: var(--color-white);
  --c-btn-typeA-pl-unitless: 32;
  --c-btn-typeA-pr-unitless: 32;
  text-align: center;
}
.wpcf7 {
  --wpcf7-not-valid-tip-font-weight: 700;
  --wpcf7-not-valid-tip-font-size: var(--font-14);
  --wpcf7-not-valid-tip-color: #ad0002;
  --wpcf7-response-output-padding: 2em 1.5em;
  --wpcf7-response-output-font-weight: 700;
  --wpcf7-response-output-font-size: var(--font-15);
  --wpcf7-response-output-line-height: 1.4;
}
.wpcf7-response-output {
  background: transparent!important;
  border: 2px solid;
  font-size: var(--wpcf7-response-output-font-size)!important;
  font-weight: var(--wpcf7-response-output-font-weight)!important;
  letter-spacing: 0!important;
  line-height: var(--wpcf7-response-output-line-height)!important;
  margin: 0!important;
  padding: var(--wpcf7-response-output-padding)!important;
  position: relative!important;
  text-align: center!important;
  z-index: 0!important;
}
.wpcf7-response-output:before {
  background: currentColor!important;
  content: ""!important;
  inset: 0!important;
  opacity: .05!important;
  position: absolute!important;
}
.wpcf7 .wpcf7-response-output {
  color: #00a0d2!important;
}
.wpcf7 .sent .wpcf7-response-output {
  color: #46b450!important;
}
.wpcf7 .aborted .wpcf7-response-output,.wpcf7 .failed .wpcf7-response-output {
  color: #dc3232!important;
}
.wpcf7 .spam .wpcf7-response-output {
  color: #f56e28!important;
}
.wpcf7 .invalid .wpcf7-response-output,.wpcf7 .payment-required .wpcf7-response-output,.wpcf7 .unaccepted .wpcf7-response-output {
  color: #ffb900!important;
}
.wpcf7-spinner {
  inset: 50% auto auto 50%!important;
  margin: 0!important;
  position: absolute!important;
  transform: translate(-50%,-50%)!important;
}
input[type="file"].c-formcontrol {
  border: var(--c-formcontrol-border);
}
input[type="file"].c-formcontrol::file-selector-button {
  border: none;
  border-right: var(--c-formcontrol-border);
}
@media (max-width:767px) {
  .c-contactform.-horizontal>.list>.item {
    align-items: flex-start;
    flex-direction: column;
  }
  .c-contactform.-horizontal>.list>.item>.control{
    width: 100%;
  }
  .c-contactform.-horizontal>.list>.item>.label{
    width: 100%;
  }
  .c-contactform>.list>.item{
    padding-block: 1em;
  }
}
/* reCAPTCHA v3 アイコンを不可視に */
.grecaptcha-badge { visibility: hidden; }
