 @charset "UTF-8";

html,
:host {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  font-family: "Noto Sans JP", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
  line-height: inherit;
}

img,
video {
  max-width: 100%;
  height: auto;
}

:root {
  --black: #464646;
  --gray: #D9D9D9;
  --l-gray: #F9F9F9;
  --grada: linear-gradient(128.27deg, #fda516 0%, #fea29d 25%, #e39dd3 50%, #c4abf9 75%, #9bc3fb 100%);
  --work01: #FC8982;
  --work01-grada: linear-gradient(44.89deg, #f6c1be 0%, #fc8982 50%);
  --work02: #F9A5C0;
  --work02-grada: linear-gradient(44.89deg, #fee0e9 0%, #f9a5c0 50%);
  --work03: #d79dd6;
  --work03-grada: linear-gradient(44.89deg, #f2e0f2 0%, #d79dd6 50%);
  --work04: #999dd7;
  --work04-grada: linear-gradient(44.89deg, #d2d4f9 0%, #999dd7 50%);
  --work05: #559ed8;
  --work05-grada: linear-gradient(44.89deg, #b2d8f5 0%, #559ed8 50%);
  --work06: #5bbfbc;
  --work06-grada: linear-gradient(44.89deg, #c7f0ef 0%, #5bbfbc 50%);
  --work07: #88cc91;
  --work07-grada: linear-gradient(44.89deg, #d3f8d8 0%, #88cc91 50%);
  --work08: #bbe164;
  --work08-grada: linear-gradient(44.89deg, #f3ffd7 0%, #bbe164 39%);
  --work09: #f3c200;
  --work09-grada: linear-gradient(44.89deg, #ffea96 0%, #f3c200 50%);
  --work10: #fdb033;
  --work10-grada: linear-gradient(44.89deg, #ffe8c3 0%, #fdb033 50%);
  --f-en: "Marcellus", serif;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.left-0 {
  left: 0px;
}

.right-0 {
  right: 0px;
}

.top-0 {
  top: 0px;
}

.top-6 {
  top: 1.5rem;
}

.top-8 {
  top: 2rem;
}

.z-10 {
  z-index: 10;
}

.z-50 {
  z-index: 50;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-8 {
  margin-bottom: 2rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.flex {
  display: flex;
}

.hidden {
  display: none;
}

.h-0\.5 {
  height: 0.125rem;
}

.w-6 {
  width: 1.5rem;
}

.w-full {
  width: 100%;
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.resize {
  resize: both;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-4 {
  gap: 1rem;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.text-center {
  text-align: center;
}

.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}

.not-italic {
  font-style: normal;
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

body {
  color: var(--black);
}

a {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

@media (min-width: 1024px) {
}

.f-en {
  font-family: "Marcellus", serif;
}

#loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100vh;
  background: var(--grada);
  display: flex;
  justify-content: center;
  align-items: center;
}

#loading.fade-out {
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}

#loading span {
  width: 60px;
  height: 60px;
  border: 6px solid var(--gray);
  border-top: 6px solid #fff;
  border-radius: 50%;
}

.wrap-common {
  padding-left: 8vw;
  padding-right: 8vw;
}

.header {
  padding: 1rem 8vw;
  align-items: flex-start;
}

.header .logo {
  width: 50%;
  max-width: 206px;
  margin: 0;
  font-size: 100%;
  text-align: center;
  position: relative;
  z-index: 51;
}

.header .logo a {
  text-decoration: none;
  color: var(--black);
}

.header .logo a:before {
  content: "";
  display: block;
  width: 100%;
  height: 18px;
  background-image: url(../img/common/logo-bl.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.header .logo a .ico {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 0;
}

.header .logo a .txt {
  font-size: 10px;
  letter-spacing: 0.2em;
  font-weight: 400;
  white-space: nowrap;
}

.header.bl .logo a {
  color: #fff;
}

.header.bl .logo a:before {
  background-image: url(../img/common/logo-wh.png);
}

.header .cv-h {
  bottom: 0;
  left: 0;
  width: 100%;
  gap: 5px;
  padding: 10px;
  background: #fff;
}

.header .cv-h a {
  flex: 1;
  padding: 20px 2px;
  font-size: 10px;
  font-weight: 500;
}

.header .cv-h a.btn-entry {
  background: linear-gradient(60.74deg, #fda516, #fea29d 25%, #e39dd3 50%, #c4abf9 75%, #9bc3fb);
}

.header .cv-h a.btn-entry:after {
  display: none;
}

#menu-toggle {
  color: #fff;
  width: 22%;
  max-width: 34px;
  border: none;
  background: none;
  z-index: 51;
}

#menu-toggle .bar {
  display: block;
  height: 1px;
  width: 100%;
  margin: 0 auto 7px;
  background: #757575;
  transition: all 0.3s ease;
}

#menu-toggle .bar-top.open {
  background: #fff;
  transform: rotate(30deg) translateY(9px);
}

#menu-toggle .bar-middle.open {
  opacity: 0;
  background: #fff;
  transform: translateX(-11px);
}

#menu-toggle .bar-bottom.open {
  background: #fff;
  transform: rotate(-30deg) translateY(-9px);
}

#menu {
  background-color: var(--black);
  padding: 23% 8vw 4rem 8vw;
  height: 100vh;
  overflow-y: auto;
}

.gnavi {
  margin: 0;
  gap: 20px 4%;
}

.gnavi a {
  color: #fff;
  display: block;
  text-decoration: none;
}

.gnavi li {
  width: 100%;
  font-size: 17px;
  line-height: 150%;
}

.gnavi>li>a.link {
  padding: 18px 45px 18px 0;
  border-bottom: solid 1px #DFDFDF;
}

.gnavi>li.btn-pull>a {
  position: relative;
}

.gnavi>li>a.link span:before {
  display: block;
  font-family: var(--f-en);
  font-size: 14px;
  letter-spacing: 0.15em;
  line-height: 150%;
  color: #888;
}

.gnavi>li.topics>a.link span:before {
  content: "Topics";
}

.gnavi>li.concept>a.link span:before {
  content: "Concept";
}

.gnavi>li.aboutus>a.link span:before {
  content: "About us";
}

.gnavi>li.works>a.link span:before {
  content: "Works";
}

.gnavi>li.interview>a.link span:before {
  content: "Staff Interview";
}

.gnavi>li.education>a.link span:before {
  content: "Education･Benefit";
}

.gnavi .accordion:after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 18px;
  z-index: 10;
  width: 10px;
  height: 18px;
  transform: rotate(90deg);
  transform-origin: 5px 9px;
  background-color: #fff;
  -webkit-mask-image: url(../img/common/ico-arrow.svg);
  mask-image: url(../img/common/ico-arrow.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: all 0.3s ease;
}

.gnavi .accordion.open:after {
  transform: rotate(-90deg);
}

.gnavi .accordion-item {
  padding: 0;
  overflow: hidden;
  height: 0;
  display: none;
}

.gnavi .accordion-item .pull-navi {
  padding: 5vw 0;
}

.gnavi .accordion-item li a {
  font-size: 14px;
  line-height: 50px;
}

.gnavi .new_graduate,
.gnavi .career {
  width: 48%;
}

.gnavi .new_graduate .btn-newgraduate,
.gnavi .career .btn-career {
  position: relative;
  padding: 18px 10px;
  text-align: center;
}

.gnavi .new_graduate a:after,
.gnavi .career a:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 12px;
  height: 16px;
  margin-left: 5px;
  background-color: #fff;
  -webkit-mask-image: url(../img/common/ico-arrow-tri.svg);
  mask-image: url(../img/common/ico-arrow-tri.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

@media (min-width: 768px) {
  .header {
    padding: 1.5rem 4vw;
  }

  .header .logo {
    max-width: none;
  }

  .header .logo a {
    display: flex;
    align-items: center;
    gap: 0 8px;
  }

  .header .logo a:before {
    display: inline-block;
    width: 206px;
    height: 22px;
  }

  .header .logo a .txt {
    font-size: 12px;
  }

  #menu {
    padding: 6rem 5vw 4rem 5vw;
  }
}

@media (min-width: 1024px) {}

@media (min-width: 1280px) {
  .header {
    padding: 0 22% 0 2vw;
  }

  .header .logo {
    width: 24%;
    padding: 1.2rem 0;
  }

  .header .logo a:before {
    max-width: 206px;
    width: 70%;
  }

  .header .cv-h {
    bottom: auto;
    top: 0;
    left: auto;
    right: 0;
    z-index: 50;
    background: none;
    padding: 0;
    gap: 0;
    width: 22%;
  }

  .header .cv-h a {
    border-radius: 0;
    font-size: 14px;
    text-decoration: none;
  }

  .header .cv-h .btn-newgraduate {
    border-radius: 0 0 0 5px;
  }

  .header .cv-h .btn-newgraduate:before,
  .header .cv-h .btn-career:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 7px;
    height: 12px;
    margin-right: 5px;
    background-color: #fff;
    -webkit-mask-image: url(../img/common/ico-arrow-tri.svg);
    mask-image: url(../img/common/ico-arrow-tri.svg);
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }

  .header .cv-h .btn-entry {
    display: none;
  }

  #menu {
    background-color: transparent;
    padding-top: 0;
    padding-right: 22%;
    height: auto;
    overflow-y: visible;
    padding: 0;
    transform: none;
    opacity: 1 !important;
  }

  .gnavi {
    gap: 0;
    align-items: center;
  }

  .gnavi li {
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 150%;
    width: auto;
  }

  .gnavi a {
    color: var(--c-gry);
  }

  .gnavi>li.btn-pull,
  .gnavi .faq,
  .gnavi .cv_contact {
    width: auto;
  }

  .gnavi .cv_contact {
    background: transparent;
    margin-top: 0;
  }

  .gnavi>li>a {
    border-bottom: none;
  }

  .gnavi>li>a:after,
  .gnavi .faq .link:after,
  .gnavi .cv_contact .link:after {
    background-color: transparent;
    background-image: unset;
  }

  .gnavi>li>a.link span:before {
    display: none;
  }

  .gnavi .accordion-item {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100vw;
    padding: 6rem 4rem 2rem;
    background: #fff;
  }

  .gnavi li:hover>.accordion-item {
    visibility: visible;
    opacity: 1;
  }

  .gnavi .accordion-item .inner{
    display: flex;
    flex-wrap: wrap;
    gap: 4%;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
  }
  .gnavi .accordion-item .ttl{
    width: 30%;
  }
  .gnavi .accordion-item .ttl a{
    display: inline-block;
  }
  .gnavi .accordion-item .ttl .main{
    font-size: 20px;
    font-weight: 500;
    line-height: 150%;
  }
  .gnavi .accordion-item .ttl .sub{
    display: block;
    font-size: 17px;
    letter-spacing: 0.15em;
    line-height: 150%;
    color: #757575;
  }
  .gnavi .accordion-item .pull-navi{
    width: 66%;
  }

  .gnavi .accordion-item li {
    font-size: 14px;
    margin-bottom: 5px;
  }

  .gnavi .accordion-item li a {
    padding: 5px 0 5px 20px;
    position: relative;
    line-height: 150%;
  }

  .gnavi .accordion-item li a:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 12px solid var(--c-gry-m);
  }

  .gnavi .accordion-item .pull-navi {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2%;
    padding: 0;
  }

  .gnavi>li {
    position: relative;
    padding: 0;
  }

  .gnavi>li a.link {
    padding: 1.25rem .8rem;
    position: relative;
    z-index: 2;
    border-bottom: none;
  }

  .gnavi>li a.link:hover {
    background-color: #FCE7EA;
    border-radius: 0 0 5px 5px;
  }

  .gnavi .btn-pull .link:after {
    display: none;
  }

  .gnavi .cv_contact {
    position: absolute;
    top: -1.7rem;
    right: 0;
    padding: 0;
  }

  .gnavi .cv_contact .link {
    display: block;
    color: #fff;
    padding: 30px 20px;
    border-radius: 0 0 0 20px;
    background-image: url(../img/top/i-green.png);
    background-repeat: no-repeat;
    background-size: cover;
  }

  .gnavi .cv_contact .link:before {
    position: static;
    display: block;
    width: 54px;
    height: 34px;
    margin: 0 auto 8px;
    background-image: url(../img/common/ico_contact.svg);
  }

  .gnavi .cv_contact .link:hover {
    background-image: url(../img/top/i-orange.png);
  }
}

.footer {
  background: var(--black);
  padding: 3.5rem 0 6rem;
}

.footer .logo {
  text-align: center;
  margin-bottom: 2rem;
}

.footer .logo img {
  max-width: 240px;
  margin: 0 auto 10px;
}

.footer .logo .txt {
  font-size: 14.81px;
  letter-spacing: 0.2em;
  line-height: 120%;
  color: #fff;
}

.footer .f-nav {
  border-top: 1px solid #888;
}

.footer .f-nav .primary,
.footer .f-nav .minor {
  width: 100%;
  flex-direction: column;
  gap: 1.5em;
  margin-top: 2.4em;
}

.footer .f-nav .primary .link {
  color: #fff;
  font-size: 14px;
  line-height: 150%;
  text-decoration: none;
}

.footer .f-nav .primary .link:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 7px;
  height: 12px;
  margin-right: 5px;
  background-color: #fff;
  -webkit-mask-image: url(../img/common/ico-arrow-tri.svg);
  mask-image: url(../img/common/ico-arrow-tri.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.footer .f-nav .minor .link {
  color: #a8a8a8;
  font-size: 12px;
  line-height: 150%;
  text-decoration: none;
}

.footer .f-nav .minor .link.ico-clone:after {
  background-color: #a8a8a8;
}

.footer .copyright {
  color: #a8a8a8;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 150%;
  font-weight: 300;
  margin-top: 5em;
}

.btn-backtotop {
  position: fixed;
  bottom: 6rem;
  right: 20px;
  z-index: 49;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--black);
  border: solid 1px #888;
  border-radius: 5px;
  width: 56px;
  height: 56px;
}

.btn-backtotop img {
  filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(281deg) brightness(102%) contrast(103%);
}

@media (min-width: 768px) {}

@media (min-width: 1024px) {
  .footer .logo {
    text-align: left;
  }

  .footer .logo img {
    display: inline-block;
    margin-right: 1rem;
  }

  .footer .f-nav .primary,
  .footer .f-nav .minor {
    flex-direction: unset;
  }

  .footer .f-nav .primary li,
  .footer .f-nav .minor li {
    display: inline-block;
    width: auto;
  }
}

@media (min-width: 1280px) {
  .footer {
    padding: 5rem 0;
  }

  .footer .logo {
    margin-bottom: 3rem;
  }

  .footer .f-nav .primary {
    width: 55%;
  }

  .footer .f-nav .minor {
    width: 45%;
    justify-content: flex-end;
  }

  .footer .copyright {
    text-align: center;
    margin-top: 8em;
  }
}

.btn-newgraduate {
  display: block;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: linear-gradient(68.45deg, #fea29d, #e39dd3);
  border-radius: 5px;
}

.btn-career {
  display: block;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: linear-gradient(67.9deg, #c4abf9, #9bc3fb);
  border-radius: 5px;
}

.btn-bg-wh {
  display: block;
  background: #fff;
  color: var(--black);
  text-decoration: none;
  padding: 25px 45px 25px 25px;
  border: none;
  border-radius: 5px;
  position: relative;
  box-shadow: 0px 2.152777910232544px 16.15px rgba(0, 0, 0, 0.05);
}

.btn-bg-wh .grada {
  display: inline-block;
  font-size: 24px;
  letter-spacing: 0.05em;
  line-height: 120%;
  margin-bottom: 5px;
  background: var(--grada);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.btn-bg-wh .main {
  display: block;
  color: var(--black);
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 120%;
}

.btn-bg-wh:before {
  content: "";
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 16px;
  height: 16px;
  background: var(--grada);
  -webkit-mask-image: url(../img/common/ico-arrow-2.svg);
  mask-image: url(../img/common/ico-arrow-2.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.btn-gry {
  display: inline-block;
  min-width: 206px;
  text-align: center;
  text-decoration: none;
  background: var(--black);
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.15em;
  padding: 13px 32px 13px 32px;
  border: none;
  border-radius: 5px;
  position: relative;
}

.btn-gry:before {
  content: "";
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 12px;
  height: 12px;
  background: #fff;
  -webkit-mask-image: url(../img/common/ico-arrow-2.svg);
  mask-image: url(../img/common/ico-arrow-2.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.btn-contact {
  background: var(--black);
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
}

.btn-entry {
  display: block;
  color: #fff;
  background: linear-gradient(90deg, #fda516 0%, #fea29d 25%, #e39dd3 50%, #c4abf9 75%, #9bc3fb 100%);
  padding: 25px 25px 30px;
  border: none;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;
}

.btn-entry .sub {
  color: #fff;
  font-size: 42px;
  letter-spacing: 0.05em;
  line-height: 120%;
  margin-bottom: 5px;
}

.btn-entry .main {
  display: block;
  font-size: 14px;
  line-height: 120%;
}

.btn-entry .main:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 10px;
  height: 10px;
  margin-left: 5px;
  background: #fff;
  -webkit-mask-image: url(../img/common/ico-clone.svg);
  mask-image: url(../img/common/ico-clone.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.btn-entry:after {
  content: "";
  display: block;
  width: 57px;
  height: 22px;
  margin: 20px auto 0;
  background: #fff;
  -webkit-mask-image: url(../img/common/ico-entry.svg);
  mask-image: url(../img/common/ico-entry.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.ico-clone:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 12px;
  height: 12px;
  margin-left: 5px;
  background-color: #fff;
  -webkit-mask-image: url(../img/common/ico-clone.svg);
  mask-image: url(../img/common/ico-clone.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/****** f-cv-entry style ******/
.f-cv-entry {
  position: relative;
  padding: 2.5rem 0;
}

.f-cv-entry:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url(../img/common/bg-grada.jpg);
  background-size: 150% 100%;
  opacity: .3;
}

.f-cv-entry .head {
  display: none;
  aspect-ratio: 1 / 0.41;
  overflow: hidden;
  background-image: url(../img/top/f-img.jpg);
  background-position: 84% bottom;
  background-size: cover;
  position: relative;
  margin-bottom: 2.5rem;
}

.f-cv-entry .head .anim-txtloop {
  display: block;
  mix-blend-mode: screen;
  width: 1260px;
  position: absolute;
  bottom: 0;
  left: 0
}

.f-cv-entry .head .anim-txtloop:nth-child(1) {
  animation: infinity-scroll-right 40s infinite linear 0.5s both;
}

@keyframes infinity-scroll-right {
  from {
    transform: translateX(100%);
  }

  to {
    transform: translateX(0%);
  }
}

.f-cv-entry .head .anim-txtloop:nth-child(2) {
  animation: infinity-scroll-right2 40s infinite linear 0.5s both;
}

@keyframes infinity-scroll-right2 {
  from {
    transform: translateX(0%);
  }

  to {
    transform: translateX(-100%);
  }
}

.f-cv-entry .block-bnr {
  gap: 20px 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.f-cv-entry .block-bnr li {
  width: 100%;
}

.f-cv-entry .block-bnr li a {
  text-decoration: none;
}

@media (min-width: 768px) {

  .f-cv-entry .block-bnr li:nth-child(1),
  .f-cv-entry .block-bnr li:nth-child(2) {
    width: calc(50% - 10px);
  }
}

@media (min-width: 1024px) {
  .f-cv-entry .head {
    aspect-ratio: 1 / 0.283;
  }

  .f-cv-entry .head .anim-txtloop {
    width: 1536px;
  }

  .f-cv-entry .block-bnr li a{
    position: relative;
  }
  .f-cv-entry .block-bnr li a:after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2rem;
    margin: auto 0;
  }
}

/****** page command style ******/
.page-mainttl {
  margin: 0;
  padding: 5rem 1rem 1.5rem;
  position: relative;
}
.page-mainttl:before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 26px;
  margin-right: 10px;
  background-image: url(../img/common/ico-star.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.page-mainttl:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/common/bg-grada.jpg);
  background-size: cover;
  background-position: left top;
  opacity: .5;
}
.page-mainttl .sub {
  font-weight: 400;
  font-size: 10vw;
  letter-spacing: 0.05em;
  line-height: 120%;
  margin-right: 1rem;
}
.page-mainttl .main {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 120%;
  margin-top: .5em;
  padding-left: 40px;
}
@media (min-width: 768px) {
  .page-mainttl {
    padding: 6rem 2rem 1.5rem;
  }
  .page-mainttl:before {
    width: 52px;
    height: 47px;
  }
  .page-mainttl .sub {
    font-size: 42px;
  }
  .page-mainttl .main {
    font-size: 16px;
    padding-left: 60px;
  }
}
@media (min-width: 1024px) {
  .page-mainttl .main {
    display: inline-block;
    padding-left: 0;
  }
}
@media (min-width: 1280px) {
  .page-mainttl {
    padding: 8rem 5rem 1.5rem;
  }
  .page-mainttl:before {
    width: 67px;
    height: 58px;
    margin-left: -50px;
  }
  .page-mainttl .sub {
    font-size: 86px;
  }
  .page-mainttl .main {
    font-size: 20px;
  }
}

.page-ttl02 {
    text-align: center;
    margin: 30px 0;
}
.page-ttl02 .sub {
    display: block;
    font-size: 32px;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 3.5px;
    margin-bottom: 10px;
}
.page-ttl02 .main {
    display: block;
    font-size: 12px;
    font-weight: 500;
    line-height: 100%;
}
@media (min-width: 1024px) {
    .page-ttl02 {
        margin: 50px 0;
    }
    .page-ttl02 .sub {
        font-size: 38px;
    }
    .page-ttl02 .main {
        font-size: 14px;
    }
}
@media (min-width: 1280px) {
    .page-ttl02 {
        margin: 80px 0;
    }
    .page-ttl02 .sub {
        font-size: 70px;
    }
    .page-ttl02 .main {
        font-size: 16px;
    }
}

.page-ttl03{
  font-weight: 500;
  margin: 4rem 0 2rem;
  padding-bottom: 15px;
  border-bottom: solid 1px #d8d8d8;
}
.page-ttl03 .sub {
  background: var(--grada);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-right: .5rem;
  font-size: 34px;
  letter-spacing: 0.1em;
  line-height: 100%;
}
.page-ttl03 .main{
  display: block;
  margin-top: 10px;
  font-size: 12px;
  line-height: 100%;
}

@media (min-width: 1280px) {
  .page-ttl03{
    margin: 8rem 0 2rem;
    padding-bottom: 20px;
  }
  .page-ttl03 .sub {
    font-size: 50px;
  }
  .page-ttl03 .main{
    font-size: 18px;
    display: inline-block;
    margin-top: 0;
  }
}

.breadcrumbs {
  margin: 5rem 0 1rem;
}
.breadcrumbs .breadcrumbs-inner {
  margin: 0;
  gap: 0 .5rem;
}
.breadcrumbs .breadcrumbs-inner .item {
  font-size: 10px;
  line-height: 32px;
}
.breadcrumbs .breadcrumbs-inner .item,
.breadcrumbs .breadcrumbs-inner .item a {
  color: var(--c-gry);
  text-decoration: none;
}
.breadcrumbs .breadcrumbs-inner .item:after {
  content: "ー";
  display: inline-block;
  margin-left: .5rem;
}
.breadcrumbs .breadcrumbs-inner .item:nth-last-child(1):after {
  display: none;
}
@media (min-width: 1024px) {
  .breadcrumbs {
    margin-bottom: 2rem;
  }
  .breadcrumbs .breadcrumbs-inner .item {
    font-size: 14px;
  }
  .breadcrumbs .breadcrumbs-inner .item a:hover {
    color: var(--c-green);
  }
}

.pager{
  list-style: none;
  padding: 0;
  justify-content: center;
  gap: 0.2rem 0.5rem;
}
.pager .pager-item{
  aspect-ratio: 1/1;
  min-width: 46px;
}
.pager .pager-item .link{
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  font-size: 18px;
  line-height: 45px;
  text-align: center;
  color: #fff;
  background: var(--black);
}
.pager .pager-item.active .link{
  background: var(--grada);
}
@media (min-width: 1024px) {
  .pager .pager-item .link:hover{
    background: var(--grada);
  }
}

/****** page aboutus style ******/
.nav-aboutus {
  display: flex;
  flex-wrap: wrap;
  gap: 5%;
}
.nav-aboutus:before{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  border-top: solid 1px #d8d8d8;
}
.nav-aboutus.nav-environment:before{
  border-top: none;
}
.nav-aboutus .ttl .sub{
  background: var(--grada);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 34px;
  letter-spacing: 0.1em;
  line-height: 120%;
}
.nav-aboutus .ttl .main{
  display: block;
  font-size: 12px;
  line-height: 100%;
  margin-top: 10px;
}
.nav-aboutus .nav-aboutus-list{
  padding: 0;
  list-style: none;
  gap: 1.5rem 5%;
}
.nav-aboutus .nav-aboutus-list .item{
  width: 47.5%;
}
.nav-aboutus .nav-aboutus-list .item .link{
  text-decoration: none;
  color: var(--black);
}
.nav-aboutus .nav-aboutus-list .item .img{
  display: block;
  width: 100%;
  aspect-ratio: 1/0.67;
  overflow: hidden;
  border-radius: 5px;
}
.nav-aboutus .nav-aboutus-list .item .img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nav-aboutus .nav-aboutus-list .item .label{
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 100%;
}
.nav-aboutus .nav-aboutus-list .item .label:after{
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 5px;
  height: 10px;
  margin-left: 5px;
  background-color: var(--black);
  -webkit-mask-image: url(../img/common/ico-arrow.svg);
  mask-image: url(../img/common/ico-arrow.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

@media (min-width: 1024px) {
  .nav-aboutus:before {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }
  .nav-aboutus .ttl{
    width: 25%;
  }
  .nav-aboutus .ttl .main{
    font-size: 16px;
  }
  .nav-aboutus .nav-aboutus-list{
    width: 70%;
    gap: 3rem 5%;
  }
  .nav-aboutus .nav-aboutus-list .item{
    width: 30%;
  }
  .nav-aboutus .nav-aboutus-list .item .label{
    font-size: 16px;
  }
  .nav-aboutus .nav-aboutus-list .item .label:after{
    width: 7px;
    height: 12px;
  }
}

/****** page works style ******/
.sec-work-detail .hero img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sec-work-detail .work-ttl{
  font-size: 24px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 1.7px;
  padding-left: 1.8rem;
  margin-bottom: 2rem;
  position: relative;
}
.sec-work-detail .work-ttl:before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 7px;
  height: 100%;
  border-radius: 50px;
  background: var(--work01-grada);
}
.sec-work-detail .work-head{
  gap: 7%;
  margin-bottom: 3rem;
}
.sec-work-detail .work-head .intro .ttl{
  font-size: 16px;
  font-weight: 700;
  line-height: 192%;
  letter-spacing: 1.3px;
  margin: 0 0 2rem;
}
.sec-work-detail .work-head .intro .comment{
  font-size: 14px;
  line-height: 187%;
  letter-spacing: 0.8px;
}
.sec-work-detail .work-head .qualifications{
  background: var(--l-gray);
  padding: 1rem 1.5rem;
  border-radius: 5px;
}
.sec-work-detail .work-head .qualifications .label{
  font-size: 16px;
  font-weight: 700;
  line-height: 120%;
  text-align: center;
}
.sec-work-detail .work-head .qualifications .list{
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
}
.sec-work-detail .work-head .qualifications .list .item{
  width: 100%;
  font-size: 14px;
  font-weight: 500;
  line-height: 150%;
  border-radius: 100px;
  border: 1px solid var(--work01);
  background: #FFF;
  position: relative;
  padding: .8rem 42px;
}
.sec-work-detail .work-head .qualifications .list .item:before{
  content: "";
  position: absolute;
  left: 25px;
  top: 1.2rem;
  width: 10px;
  height: 10px;
  background: var(--work01-grada);
}
.sec-work-detail .work-interview{
  align-items: center;
  justify-content: center;
  background: var(--l-gray);
  padding: 3rem 8vw;
  position: relative;
  overflow: hidden;
}
.sec-work-detail .work-interview:before{
  content: "";
  width: 150%;
  height: 150%;
  position: absolute;
  bottom: -50%;
  right: -70%;
  background-image: radial-gradient(circle closest-side, var(--work01), #ffffff);
  opacity: .3;
  mix-blend-mode: darken;
}
.sec-work-detail .work-interview .txt{
  text-align: center;
  margin-top: 1rem;
}
.sec-work-detail .work-interview .txt .ttl .sub{
  display: block;
  font-size: 30px;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 3.5px;
  margin: 0 0 .8rem;
}
.sec-work-detail .work-interview .txt .ttl .main{
  font-size: 14px;
  font-weight: 500;
  line-height: 120%;
}
.sec-work-detail .work-interview .txt .block-btn{
  margin-top: 2rem;
}
.sec-work-detail .work-flow .flow-ttl{
  margin-top: 3rem;
  padding-bottom: 2rem;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 120%;
  border-bottom: solid 1px #D8D8D8;
}
.sec-work-detail .work-flow .flow-ttl .prof{
  display: inline-block;
  margin: 1rem auto 0;
  padding: 10px 2rem;
  font-size: 14px;
  font-weight: 700;
  line-height: 130%;
  letter-spacing: 0.9px;
  color: var(--work01);
  border-radius: 50px;
  border: 1px solid var(--work01);
  background: #FFF;
}
.sec-work-detail .work-flow .flow-list{
  justify-content: center;
  gap: 30px 5%;
  margin-bottom: 3rem;
}
.sec-work-detail .work-flow .flow-list dt{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 20%;
  max-width: 100px;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  position: relative;
  background: var(--work01-grada);
}
.sec-work-detail .work-flow .flow-list dt:before{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  right: -5px;
  bottom: -5px;
  z-index: -1;
  border-radius: 5px;
  border: solid 1px var(--work01);
}
.sec-work-detail .work-flow .flow-list dt:after{
  content: "";
  transform: rotate(90deg);
  position: absolute;
  bottom: -25px;
  left: 45%;
  width: 7px;
  height: 12px;
  margin-right: 5px;
  background-color: var(--work01);
  -webkit-mask-image: url(../img/common/ico-arrow-tri.svg);
  mask-image: url(../img/common/ico-arrow-tri.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.sec-work-detail .work-flow .flow-list dt.last:after{
  display: none;
}
.sec-work-detail .work-flow .flow-list dt .sub{
  display: block;
  width: 100%;
  font-size: 12px;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 1px;
  display: block;
}
.sec-work-detail .work-flow .flow-list dt .num{
  display: block;
  width: 100%;
  font-size: 24px;
  font-weight: 400;
  line-height: 120%;
  letter-spacing: 3px;
}
.sec-work-detail .work-flow .flow-list dd{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 70%;
  margin: 0;
  padding-left: 10px;
}
.sec-work-detail .work-flow .flow-list dd .label{
  font-size: 16px;
  font-weight: 700;
  line-height: 180%;
  margin: 0;
  color: var(--work01);
}
.sec-work-detail .work-flow .flow-list dd .comment{
  font-size: 12px;
  line-height: 180%;
}

.sec-work-detail .work-info{
  background-color: var(--l-gray);
  padding-top: 3rem;
  padding-bottom: 3rem;
  box-shadow: 0 8px 10px -3px rgba(0, 0, 0, 0.05) inset;
}
.sec-work-detail .work-info .box-btn{
  gap: 1rem 0;
}
.sec-work-detail .work-info .block01,
.sec-work-detail .work-info .block02{
  width: 100%;
}
.sec-work-detail .work-info .block01{
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
}
.sec-work-detail .work-info .block01 .btn,
.sec-work-detail .work-info .block02 .btn{
  display: block;
  width: 100%;
  position: relative;
  color: var(--black);
  text-decoration: none;
}
.sec-work-detail .work-info .block01 .btn{
  border-radius: 5px;
  text-align: center;
  padding: 1rem 4rem;
  background: linear-gradient(60deg,rgba(255, 177, 170, 1) 0%, rgba(245, 199, 184, 1) 100%);
}
.sec-work-detail .work-info .block01 .btn .sub{
  display: block;
  font-size: 24px;
  letter-spacing: 0.05em;
  line-height: 120%;
}
.sec-work-detail .work-info .block01 .btn .main{
  font-size: 14px;
  line-height: 120%;
}
.sec-work-detail .work-info .block01 .btn .ico-arrow,
.sec-work-detail .work-info .block02 .btn .ico-arrow {
  text-align: center;
  position: absolute;
  right: 1rem;
  bottom: 0;
  top: 0;
  margin: auto;
  padding: 0 0 0 4px;
  width: 40px;
  height: 40px;
  line-height: 38px;
  border-radius: 50%;
  background: linear-gradient(60deg,rgba(255, 177, 170, 1) 0%, rgba(245, 199, 184, 1) 100%);
}
.sec-work-detail .work-info .block01 .btn .ico-arrow:before,
.sec-work-detail .work-info .block02 .btn .ico-arrow:before{
  content: "";
  position: absolute;
  left: 1px;
  top: 1px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background-color: #fff;
}
.sec-work-detail .work-info .block01 .btn .ico-arrow img,
.sec-work-detail .work-info .block02 .btn .ico-arrow img {
  width: 6px;
  position: relative;
  z-index: 1;
}
.sec-work-detail .work-info .block02 .btn{
  font-weight: 500;
  border-bottom: solid 1px #d8d8d8;
  padding: 1rem 4rem 1rem 1rem;
}

.sec-work-detail .work-info .box-page{
  overflow: hidden;
  justify-content: space-between;
  background: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 10px;
  margin-top: 3rem;
  text-align: center;
}
.sec-work-detail .work-info .box-page .prev,
.sec-work-detail .work-info .box-page .next,
.sec-work-detail .work-info .box-page .all{
  display: block;
  width: 100%;
  padding: 14px 10px;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 150%;
  border-bottom: solid 1px #d8d8d8;
}
.sec-work-detail .work-info .box-page .prev,
.sec-work-detail .work-info .box-page .next{
  color: var(--black);
}
.sec-work-detail .work-info .box-page .next{
  order: 2;
}
.sec-work-detail .work-info .box-page .all{
  order: 3;
  border-bottom: none;
  background: var(--black);
  color: #fff;
}
.sec-work-detail .work-info .box-page .all:after{
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 9px;
  height: 12px;
  margin-left: .6em;
  background-color: #fff;
  -webkit-mask-image: url(../img/common/ico-squ.svg);
  mask-image: url(../img/common/ico-squ.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.sec-work-detail .work-info .box-page .prev span,
.sec-work-detail .work-info .box-page .next span{
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 0 25px;
}
.sec-work-detail .work-info .box-page .prev span:before,
.sec-work-detail .work-info .box-page .next span:after{
  content: "";
  width: 7px;
  height: 12px;
  position: absolute;
  top: 5px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/common/ico-arrow.svg);
}
.sec-work-detail .work-info .box-page .prev span:before{
  transform:rotate(180deg);
  left: 10px;
}
.sec-work-detail .work-info .box-page .next span:after{
  right: 10px;
}

/* color */
.page-work01 .page-mainttl:after{background: var(--work01-grada);}

.page-work02 .page-mainttl:after,
.page-work02 .sec-work-detail .work-ttl:before,
.page-work02 .sec-work-detail .work-head .qualifications .list .item:before,
.page-work02 .sec-work-detail .work-flow .flow-list dt{background: var(--work02-grada);}
.page-work02 .sec-work-detail .work-head .qualifications .list .item,
.page-work02 .sec-work-detail .work-flow .flow-list dt:before{border: 1px solid var(--work02);}
.page-work02 .sec-work-detail .work-interview:before{background-image: radial-gradient(circle closest-side, var(--work02), #ffffff);}
.page-work02 .sec-work-detail .work-flow .flow-ttl .prof{color: var(--work02);border: 1px solid var(--work02);}
.page-work02 .sec-work-detail .work-flow .flow-list dt:after{background-color: var(--work02);}
.page-work02 .sec-work-detail .work-flow .flow-list dd .label{color: var(--work02);}
.page-work02 .sec-work-detail .work-info .block01 .btn{background: linear-gradient(60deg, #FE9BCB 0%, #F3B6CB 100%);}
.page-work02 .sec-work-detail .work-info .block01 .btn .ico-arrow,
.page-work02 .sec-work-detail .work-info .block02 .btn .ico-arrow{
  background: linear-gradient(60deg, #FE9BCB 0%, #F3B6CB 100%);
}

.page-work03 .page-mainttl:after,
.page-work03 .sec-work-detail .work-ttl:before,
.page-work03 .sec-work-detail .work-head .qualifications .list .item:before,
.page-work03 .sec-work-detail .work-flow .flow-list dt{background: var(--work03-grada);}
.page-work03 .sec-work-detail .work-head .qualifications .list .item,
.page-work03 .sec-work-detail .work-flow .flow-list dt:before{border: 1px solid var(--work03);}
.page-work03 .sec-work-detail .work-interview:before{background-image: radial-gradient(circle closest-side, var(--work03), #ffffff);}
.page-work03 .sec-work-detail .work-flow .flow-ttl .prof{color: var(--work03);border: 1px solid var(--work03);}
.page-work03 .sec-work-detail .work-flow .flow-list dt:after{background-color: var(--work03);}
.page-work03 .sec-work-detail .work-flow .flow-list dd .label{color: var(--work03);}
.page-work03 .sec-work-detail .work-info .block01 .btn{background: linear-gradient(60deg, #DCABFB 0%, #E4C5F0 100%);}
.page-work03 .sec-work-detail .work-info .block01 .btn .ico-arrow,
.page-work03 .sec-work-detail .work-info .block02 .btn .ico-arrow{
  background: linear-gradient(60deg, #DCABFB 0%, #E4C5F0 100%);
}

.page-work04 .page-mainttl:after,
.page-work04 .sec-work-detail .work-ttl:before,
.page-work04 .sec-work-detail .work-head .qualifications .list .item:before,
.page-work04 .sec-work-detail .work-flow .flow-list dt{background: var(--work04-grada);}
.page-work04 .sec-work-detail .work-head .qualifications .list .item,
.page-work04 .sec-work-detail .work-flow .flow-list dt:before{border: 1px solid var(--work04);}
.page-work04 .sec-work-detail .work-interview:before{background-image: radial-gradient(circle closest-side, var(--work04), #ffffff);}
.page-work04 .sec-work-detail .work-flow .flow-ttl .prof{color: var(--work04);border: 1px solid var(--work04);}
.page-work04 .sec-work-detail .work-flow .flow-list dt:after{background-color: var(--work04);}
.page-work04 .sec-work-detail .work-flow .flow-list dd .label{color: var(--work04);}
.page-work04 .sec-work-detail .work-info .block01 .btn{background: linear-gradient(60deg, #A1BDF8 0%, #A1BDF8 100%);}
.page-work04 .sec-work-detail .work-info .block01 .btn .ico-arrow,
.page-work04 .sec-work-detail .work-info .block02 .btn .ico-arrow{
  background: linear-gradient(60deg, #A1BDF8 0%, #A1BDF8 100%);
}

.page-work05 .page-mainttl:after,
.page-work05 .sec-work-detail .work-ttl:before,
.page-work05 .sec-work-detail .work-head .qualifications .list .item:before,
.page-work05 .sec-work-detail .work-flow .flow-list dt{background: var(--work05-grada);}
.page-work05 .sec-work-detail .work-head .qualifications .list .item,
.page-work05 .sec-work-detail .work-flow .flow-list dt:before{border: 1px solid var(--work05);}
.page-work05 .sec-work-detail .work-interview:before{background-image: radial-gradient(circle closest-side, var(--work05), #ffffff);}
.page-work05 .sec-work-detail .work-flow .flow-ttl .prof{color: var(--work05);border: 1px solid var(--work05);}
.page-work05 .sec-work-detail .work-flow .flow-list dt:after{background-color: var(--work05);}
.page-work05 .sec-work-detail .work-flow .flow-list dd .label{color: var(--work05);}
.page-work05 .sec-work-detail .work-info .block01 .btn{background: linear-gradient(60deg, #9CDAF9 0%, #C1DFF1 100%);}
.page-work05 .sec-work-detail .work-info .block01 .btn .ico-arrow,
.page-work05 .sec-work-detail .work-info .block02 .btn .ico-arrow{
  background: linear-gradient(60deg, #9CDAF9 0%, #C1DFF1 100%); 
}

.page-work06 .page-mainttl:after,
.page-work06 .sec-work-detail .work-ttl:before,
.page-work06 .sec-work-detail .work-head .qualifications .list .item:before,
.page-work06 .sec-work-detail .work-flow .flow-list dt{background: var(--work06-grada);}
.page-work06 .sec-work-detail .work-head .qualifications .list .item,
.page-work06 .sec-work-detail .work-flow .flow-list dt:before{border: 1px solid var(--work06);}
.page-work06 .sec-work-detail .work-interview:before{background-image: radial-gradient(circle closest-side, var(--work06), #ffffff);}
.page-work06 .sec-work-detail .work-flow .flow-ttl .prof{color: var(--work06);border: 1px solid var(--work06);}
.page-work06 .sec-work-detail .work-flow .flow-list dt:after{background-color: var(--work06);}
.page-work06 .sec-work-detail .work-flow .flow-list dd .label{color: var(--work06);}
.page-work06 .sec-work-detail .work-info .block01 .btn{background: linear-gradient(60deg, #C3F5EA 0%, #CBEFF1 100%);}
.page-work06 .sec-work-detail .work-info .block01 .btn .ico-arrow,
.page-work06 .sec-work-detail .work-info .block02 .btn .ico-arrow{
  background: linear-gradient(60deg, #C3F5EA 0%, #CBEFF1 100%); 
}

.page-work07 .page-mainttl:after,
.page-work07 .sec-work-detail .work-ttl:before,
.page-work07 .sec-work-detail .work-head .qualifications .list .item:before,
.page-work07 .sec-work-detail .work-flow .flow-list dt{background: var(--work07-grada);}
.page-work07 .sec-work-detail .work-head .qualifications .list .item,
.page-work07 .sec-work-detail .work-flow .flow-list dt:before{border: 1px solid var(--work07);}
.page-work07 .sec-work-detail .work-interview:before{background-image: radial-gradient(circle closest-side, var(--work07), #ffffff);}
.page-work07 .sec-work-detail .work-flow .flow-ttl .prof{color: var(--work07);border: 1px solid var(--work07);}
.page-work07 .sec-work-detail .work-flow .flow-list dt:after{background-color: var(--work07);}
.page-work07 .sec-work-detail .work-flow .flow-list dd .label{color: var(--work07);}
.page-work07 .sec-work-detail .work-info .block01 .btn{background: linear-gradient(60deg, #A5EDB6 0%, #C5EBD1 100%);}
.page-work07 .sec-work-detail .work-info .block01 .btn .ico-arrow,
.page-work07 .sec-work-detail .work-info .block02 .btn .ico-arrow{
  background: linear-gradient(60deg, #A5EDB6 0%, #C5EBD1 100%); 
}

.page-work08 .page-mainttl:after,
.page-work08 .sec-work-detail .work-ttl:before,
.page-work08 .sec-work-detail .work-head .qualifications .list .item:before,
.page-work08 .sec-work-detail .work-flow .flow-list dt{background: var(--work08-grada);}
.page-work08 .sec-work-detail .work-head .qualifications .list .item,
.page-work08 .sec-work-detail .work-flow .flow-list dt:before{border: 1px solid var(--work08);}
.page-work08 .sec-work-detail .work-interview:before{background-image: radial-gradient(circle closest-side, var(--work08), #ffffff);}
.page-work08 .sec-work-detail .work-flow .flow-ttl .prof{color: var(--work08);border: 1px solid var(--work08);}
.page-work08 .sec-work-detail .work-flow .flow-list dt:after{background-color: var(--work08);}
.page-work08 .sec-work-detail .work-flow .flow-list dd .label{color: var(--work08);}
.page-work08 .sec-work-detail .work-info .block01 .btn{background: linear-gradient(60deg, #CCF397 0%, #DEEDB9 100%);}
.page-work08 .sec-work-detail .work-info .block01 .btn .ico-arrow,
.page-work08 .sec-work-detail .work-info .block02 .btn .ico-arrow{
  background: linear-gradient(60deg, #CCF397 0%, #DEEDB9 100%); 
}

.page-work09 .page-mainttl:after,
.page-work09 .sec-work-detail .work-ttl:before,
.page-work09 .sec-work-detail .work-head .qualifications .list .item:before,
.page-work09 .sec-work-detail .work-flow .flow-list dt{background: var(--work09-grada);}
.page-work09 .sec-work-detail .work-head .qualifications .list .item,
.page-work09 .sec-work-detail .work-flow .flow-list dt:before{border: 1px solid var(--work09);}
.page-work09 .sec-work-detail .work-interview:before{background-image: radial-gradient(circle closest-side, var(--work09), #ffffff);}
.page-work09 .sec-work-detail .work-flow .flow-ttl .prof{color: var(--work09);border: 1px solid var(--work09);}
.page-work09 .sec-work-detail .work-flow .flow-list dt:after{background-color: var(--work09);}
.page-work09 .sec-work-detail .work-flow .flow-list dd .label{color: var(--work09);}
.page-work09 .sec-work-detail .work-info .block01 .btn{background: linear-gradient(60deg, #FFD86C 0%, #FFE6B0 100%);}
.page-work09 .sec-work-detail .work-info .block01 .btn .ico-arrow,
.page-work09 .sec-work-detail .work-info .block02 .btn .ico-arrow{
  background: linear-gradient(60deg, #FFD86C 0%, #FFE6B0 100%); 
}

.page-work10 .page-mainttl:after,
.page-work10 .sec-work-detail .work-ttl:before, 
.page-work10 .sec-work-detail .work-head .qualifications .list .item:before,
.page-work10 .sec-work-detail .work-flow .flow-list dt{background: var(--work10-grada);}
.page-work10 .sec-work-detail .work-head .qualifications .list .item,
.page-work10 .sec-work-detail .work-flow .flow-list dt:before{border: 1px solid var(--work10);}
.page-work10 .sec-work-detail .work-interview:before{background-image: radial-gradient(circle closest-side, var(--work10), #ffffff);}
.page-work10 .sec-work-detail .work-flow .flow-ttl .prof{color: var(--work10);border: 1px solid var(--work10);}
.page-work10 .sec-work-detail .work-flow .flow-list dt:after{background-color: var(--work10);}
.page-work10 .sec-work-detail .work-flow .flow-list dd .label{color: var(--work10);}
.page-work10 .sec-work-detail .work-info .block01 .btn{background: linear-gradient(60deg, #FEBD8B 0%, #FED0A5 100%);}
.page-work10 .sec-work-detail .work-info .block01 .btn .ico-arrow,
.page-work10 .sec-work-detail .work-info .block02 .btn .ico-arrow{
  background: linear-gradient(60deg, #FEBD8B 0%, #FED0A5 100%); 
}


@media (min-width: 1024px) {
  .sec-work-detail .hero{
    width: 100%;
    position: relative;
  }
  .sec-work-detail .hero:before{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50%;
    height: 103px;
    border-radius: 0 5px 0 0;
    background: #FFF;
  }
  .sec-work-detail .work-ttl,
  .sec-work-detail .work-head{
    position: relative;
    z-index: 1;
  }
  .sec-work-detail .work-ttl{
    width: 46%;
    font-size: 34px;
    padding-left: 1.8rem;
    margin-top: -50px;
    margin-bottom: 4rem;
  }
  .sec-work-detail .work-head{
    margin-bottom: 4.5rem;
  }
  .sec-work-detail .work-head .intro{
    width: 50%;
  }
  .sec-work-detail .work-head .qualifications{
    width: 43%;
    padding: 2rem 4rem;
  }
  .sec-work-detail .work-head .intro .ttl{
    font-size: 26px;
  }
  .sec-work-detail .work-head .intro .comment{
    font-size: 16px;
  }
  .sec-work-detail .work-head .qualifications .label{
    font-size: 18px;
  }
  .sec-work-detail .work-head .qualifications .list .item{
    font-size: 16px;
    padding: .8rem 45px;
  }
  .sec-work-detail .work-head .qualifications .list .item:before{
    top: 1.3rem;
    width: 12px;
    height: 12px;
  }

  .sec-work-detail .work-interview .img{
    width: 55%;
  }
  .sec-work-detail .work-interview .txt{
    width: 45%;
    margin-top: 0;
  }
  .sec-work-detail .work-interview .txt .ttl .sub{
    font-size: 70px;
  }
  .sec-work-detail .work-interview .txt .ttl .main{
    font-size: 16px;
  }

  .sec-work-detail .work-flow .flow-ttl{
    margin-top: 6rem;
    margin-bottom: 4rem;
    padding-bottom: 3.5rem;
    font-size: 30px;
  }
  .sec-work-detail .work-flow .flow-ttl .prof{
    font-size: 18px;
    min-width: 356px;
    margin: 2rem auto 0;
  }
  .sec-work-detail .work-flow .flow-list {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6rem;
  }
  .sec-work-detail .work-flow .flow-list dt:before{
    right: -6px;
    bottom: -6px;
  }
  .sec-work-detail .work-flow .flow-list dt:after {
    width: 13px;
    height: 24px;
    bottom: -30px;
}
  .sec-work-detail .work-flow .flow-list dt .sub{
    font-size: 14px;
  }
  .sec-work-detail .work-flow .flow-list dt .num{
    font-size: 30px;
  }
  .sec-work-detail .work-flow .flow-list dd .label{
    font-size: 20px;
  }
  .sec-work-detail .work-flow .flow-list dd .comment{
    font-size: 16px;
  }

  .sec-work-detail .work-info {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .sec-work-detail .work-info .box-btn{
    gap: 1rem 5%;
  }
  .sec-work-detail .work-info .block01,
  .sec-work-detail .work-info .block02{
    width: 47.5%;
  }
  .sec-work-detail .work-info .block01 {
    gap: 2rem 0;
  }
  .sec-work-detail .work-info .block01 .btn {
    padding: 2.5rem 4rem;
  }
  .sec-work-detail .work-info .block01 .btn .sub{
    font-size: 36px;
  }
  .sec-work-detail .work-info .block01 .btn .main{
    font-size: 20px;
  }
  .sec-work-detail .work-info .block02 .btn {
    font-size: 20px;
    padding: 2.5rem 4rem 2.5rem 1rem;
  }

  .sec-work-detail .work-info .box-page {
    border-radius: 40px;
    margin-top: 6rem;
  }
  .sec-work-detail .work-info .box-page .prev,
  .sec-work-detail .work-info .box-page .next,
  .sec-work-detail .work-info .box-page .all {
    width: auto;
    padding: 26px 20px;
    font-size: 16px;
    border-bottom: none;
  }
  .sec-work-detail .work-info .box-page .next{
    order: 3;
  }
  .sec-work-detail .work-info .box-page .all{
    order: 2;
    border-radius: 40px;
    padding: 26px 50px;
  }
  .sec-work-detail .work-info .box-page .prev span,
  .sec-work-detail .work-info .box-page .next span{
    padding: 0 40px;
  }
  .sec-work-detail .work-info .box-page .prev span{
    text-align: left;
  }
  .sec-work-detail .work-info .box-page .next span{
    text-align: right;
  }
  .sec-work-detail .work-info .box-page .prev span:before,
  .sec-work-detail .work-info .box-page .next span:after{
    width: 10px;
    height: 17px;
  }
  .sec-work-detail .work-info .block01 .btn .ico-arrow,
  .sec-work-detail .work-info .block02 .btn .ico-arrow{
    right: 2rem;
  }
}

/****** page staff style ******/
.page-staff01 .page-mainttl:after {
    background: var(--work01-grada);
}
.sec-staff-detail .hero{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  position: relative;
  padding: 2.2rem 8vw;
  aspect-ratio: 4 / 1.8;
  box-shadow: 0px 4px 30px 0px rgba(0, 0, 0, 0.1);
}
.sec-staff-detail .hero .num{
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 10vw;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
}
.sec-staff-detail .hero .ttl{
  margin: 0 0 1rem;
  border-radius: 5px;
  overflow: hidden;
  font-size: 4vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 180%;
}
.sec-staff-detail .hero .ttl span{
  display: inline-block;
  color: #fff;
  border-radius: 0 5px 5px 0;
  padding: .1rem .5rem;
  background: var(--work01);
}
.sec-staff-detail .hero .prof{
  color: #fff;
  font-size: 2vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 1rem 0 0;
}
.sec-staff-detail .hero .prof .occ{
  display: inline-block;
  padding: 2px 12px;
  margin-bottom: 5px;
  margin-right: 5px;
  background: #fff;
  color: var(--black);
  border-radius: 20px;
  border-style: solid;
  border-width: 1px;
  border-color: var(--work01);
}
.sec-staff-detail .hero .bg{
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.sec-staff-detail .hero .bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sec-staff-detail .interview{
  position: relative;
  overflow: hidden;
  padding: 3rem 0;
}
.sec-staff-detail .interview:before,
.sec-staff-detail .interview:after {
    content: "";
    width: 120%;
    height: 120%;
    position: absolute;
    z-index: -2;
    background-image: radial-gradient(circle closest-side, var(--work01), #ffffff);
    opacity: .3;
}
.sec-staff-detail .interview:before{
  top: -60%;
  right: -60%;
}
.sec-staff-detail .interview:after{
  bottom: -60%;
  left: -60%;
}
.sec-staff-detail .interview .item{
  gap: 1rem 0;
  margin-bottom: 3rem;
}
.sec-staff-detail .interview .item .ttl{
  display: inline-block;
  padding: 0 20px;
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 180%;
  position: relative;
}
.sec-staff-detail .interview .item .ttl:before,
.sec-staff-detail .interview .item .ttl:after{
  content: "";
  position: absolute;
  width: 14px;
  height: 12px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.sec-staff-detail .interview .item .ttl:before{
  top: 0;
  left: 0;
  background-color: var(--work01);
  -webkit-mask-image: url(../img/common/ico-dq-l.svg);
  mask-image: url(../img/common/ico-dq-l.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.sec-staff-detail .interview .item .ttl:after{
  bottom: 0;
  right: 0;
  background-color: var(--work01);
  -webkit-mask-image: url(../img/common/ico-dq-r.svg);
  mask-image: url(../img/common/ico-dq-r.svg);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.sec-staff-detail .interview .item .comment{
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 180%;
  padding-left: 20px;
}
.sec-staff-detail .interview .item .img{
  overflow: hidden;
  border-radius: 5px;
  aspect-ratio: 1/0.75;
}
.sec-staff-detail .interview .item .img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sec-staff-detail .interview .item-off{
  border-radius: 5px;
  background: #fff;
  position: relative;
  padding: 2rem 1.5rem 1.5rem;
  gap: 1rem 5%;
}
.sec-staff-detail .interview .item-off:before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 5px;
  border: 2px solid transparent;
  background: var(--grada) border-box border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: destination-out;
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  mask-composite: exclude;
}
.sec-staff-detail .interview .item-off .ttl {
  background: var(--grada);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 24px;
  text-align: center;
  margin: 0;
}
.sec-staff-detail .interview .item-off .comment{
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 180%;
}
.sec-staff-detail .interview .item-off .img{
  overflow: hidden;
  border-radius: 5px;
  aspect-ratio: 1/0.666;
}
.sec-staff-detail .interview .item-off img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sec-staff-detail .message{
  position: relative;
  margin-bottom: 4rem;
}
.sec-staff-detail .message .bg{
  /* position: absolute;
  top: 0;
  left: 0;
  z-index: -1; */
  width: 100%;
  order: 1;
  aspect-ratio: 1 / 0.46;
}
.sec-staff-detail .message .bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sec-staff-detail .message .head,
.sec-staff-detail .message .comment{
  order: 2;
}
.sec-staff-detail .message .head{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0 8vw 0 50%;
  aspect-ratio: 1 / 0.46;
}
.sec-staff-detail .message .ttl{
  margin: 0;
}
.sec-staff-detail .message .ttl .label{
  display: inline-block;
  border-radius: 50px;
  background-color: #fff;
  padding: 5px 1rem;
  margin: 0 0 .5rem;
  font-size: 9px;
  border: 1px solid var(--work01);
  color: var(--work01);
}
.sec-staff-detail .message .lead{
  display: block;
  font-size: 4.5vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 180%;
  color: #fff;
  margin: 0;
}
.sec-staff-detail .message .comment{
  margin-top: 2rem;
  padding: 0 8vw;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 180%;
}
.sec-staff-detail .message:before{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 1 / 0.46;
  background-size: 65% 100%;
  background-repeat: no-repeat;
  background-position: right center;
  background-image: url(../img/staff/staff01/message_cover.png);
}

.sec-staff-detail .block-btn{
  justify-content: center;
  gap: 1rem 5%;
  margin-top: 4rem;
}
.sec-staff-detail .block-btn .btn-gry{
  width: 100%;
  max-width: 290px;
}
.btn-gry.ico-squ:before {
    -webkit-mask-image: url(../img/common/ico-squ.svg);
    mask-image: url(../img/common/ico-squ.svg);
}

/* color */
.page-staff02 .page-mainttl:after {background: var(--work02-grada);}
.page-staff02 .sec-staff-detail .hero .ttl span{background: var(--work02);}
.page-staff02 .sec-staff-detail .hero .prof .occ{border-color: var(--work02);}
.page-staff02 .sec-staff-detail .interview:before,.page-staff02 .sec-staff-detail .interview:after {background-image: radial-gradient(circle closest-side, var(--work02), #ffffff);}
.page-staff02 .sec-staff-detail .interview .item .ttl:before,.page-staff02 .sec-staff-detail .interview .item .ttl:after{background-color: var(--work02);}
.page-staff02 .sec-staff-detail .message .ttl .label{border: 1px solid var(--work02);color: var(--work02);}
.page-staff02 .sec-staff-detail .message:before{background-image: url(../img/staff/staff02/message_cover.png);}

.page-staff03 .page-mainttl:after {background: var(--work03-grada);}
.page-staff03 .sec-staff-detail .hero .ttl span{background: var(--work03);}
.page-staff03 .sec-staff-detail .hero .prof .occ{border-color: var(--work03);}
.page-staff03 .sec-staff-detail .interview:before,.page-staff03 .sec-staff-detail .interview:after {background-image: radial-gradient(circle closest-side, var(--work03), #ffffff);}
.page-staff03 .sec-staff-detail .interview .item .ttl:before,.page-staff03 .sec-staff-detail .interview .item .ttl:after{background-color: var(--work03);}
.page-staff03 .sec-staff-detail .message .ttl .label{border: 1px solid var(--work03);color: var(--work03);}
.page-staff03 .sec-staff-detail .message:before{background-image: url(../img/staff/staff03/message_cover.png);}

.page-staff04 .page-mainttl:after {background: var(--work04-grada);}
.page-staff04 .sec-staff-detail .hero .ttl span{background: var(--work04);}
.page-staff04 .sec-staff-detail .hero .prof .occ{border-color: var(--work04);}
.page-staff04 .sec-staff-detail .interview:before,.page-staff04 .sec-staff-detail .interview:after {background-image: radial-gradient(circle closest-side, var(--work04), #ffffff);}
.page-staff04 .sec-staff-detail .interview .item .ttl:before,.page-staff04 .sec-staff-detail .interview .item .ttl:after{background-color: var(--work04);}
.page-staff04 .sec-staff-detail .message .ttl .label{border: 1px solid var(--work04);color: var(--work04);}
.page-staff04 .sec-staff-detail .message:before{background-image: url(../img/staff/staff04/message_cover.png);}

.page-staff05 .page-mainttl:after {background: var(--work05-grada);}
.page-staff05 .sec-staff-detail .hero .ttl span{background: var(--work05);}
.page-staff05 .sec-staff-detail .hero .prof .occ{border-color: var(--work05);}
.page-staff05 .sec-staff-detail .interview:before,.page-staff05 .sec-staff-detail .interview:after {background-image: radial-gradient(circle closest-side, var(--work05), #ffffff);}
.page-staff05 .sec-staff-detail .interview .item .ttl:before,.page-staff05 .sec-staff-detail .interview .item .ttl:after{background-color: var(--work05);}
.page-staff05 .sec-staff-detail .message .ttl .label{border: 1px solid var(--work05);color: var(--work05);}
.page-staff05 .sec-staff-detail .message:before{background-image: url(../img/staff/staff05/message_cover.png);}

.page-staff06 .page-mainttl:after {background: var(--work06-grada);}
.page-staff06 .sec-staff-detail .hero .ttl span{background: var(--work06);}
.page-staff06 .sec-staff-detail .hero .prof .occ{border-color: var(--work06);}
.page-staff06 .sec-staff-detail .interview:before,.page-staff06 .sec-staff-detail .interview:after {background-image: radial-gradient(circle closest-side, var(--work06), #ffffff);}
.page-staff06 .sec-staff-detail .interview .item .ttl:before,.page-staff06 .sec-staff-detail .interview .item .ttl:after{background-color: var(--work06);}
.page-staff06 .sec-staff-detail .message .ttl .label{border: 1px solid var(--work06);color: var(--work06);}
.page-staff06 .sec-staff-detail .message:before{background-image: url(../img/staff/staff06/message_cover.png);}

.page-staff07 .page-mainttl:after {background: var(--work07-grada);}
.page-staff07 .sec-staff-detail .hero .ttl span{background: var(--work07);}
.page-staff07 .sec-staff-detail .hero .prof .occ{border-color: var(--work07);}
.page-staff07 .sec-staff-detail .interview:before,.page-staff07 .sec-staff-detail .interview:after {background-image: radial-gradient(circle closest-side, var(--work07), #ffffff);}
.page-staff07 .sec-staff-detail .interview .item .ttl:before,.page-staff07 .sec-staff-detail .interview .item .ttl:after{background-color: var(--work07);}
.page-staff07 .sec-staff-detail .message .ttl .label{border: 1px solid var(--work07);color: var(--work07);}
.page-staff07 .sec-staff-detail .message:before{background-image: url(../img/staff/staff07/message_cover.png);}

.page-staff08 .page-mainttl:after {background: var(--work08-grada);}
.page-staff08 .sec-staff-detail .hero .ttl span{background: var(--work08);}
.page-staff08 .sec-staff-detail .hero .prof .occ{border-color: var(--work08);}
.page-staff08 .sec-staff-detail .interview:before,.page-staff08 .sec-staff-detail .interview:after {background-image: radial-gradient(circle closest-side, var(--work08), #ffffff);}
.page-staff08 .sec-staff-detail .interview .item .ttl:before,.page-staff08 .sec-staff-detail .interview .item .ttl:after{background-color: var(--work08);}
.page-staff08 .sec-staff-detail .message .ttl .label{border: 1px solid var(--work08);color: var(--work08);}
.page-staff08 .sec-staff-detail .message:before{background-image: url(../img/staff/staff08/message_cover.png);}

.page-staff09 .page-mainttl:after {background: var(--work09-grada);}
.page-staff09 .sec-staff-detail .hero .ttl span{background: var(--work09);}
.page-staff09 .sec-staff-detail .hero .prof .occ{border-color: var(--work09);}
.page-staff09 .sec-staff-detail .interview:before,.page-staff09 .sec-staff-detail .interview:after {background-image: radial-gradient(circle closest-side, var(--work09), #ffffff);}
.page-staff09 .sec-staff-detail .interview .item .ttl:before,.page-staff09 .sec-staff-detail .interview .item .ttl:after{background-color: var(--work09);}
.page-staff09 .sec-staff-detail .message .ttl .label{border: 1px solid var(--work09);color: var(--work09);}
.page-staff09 .sec-staff-detail .message:before{background-image: url(../img/staff/staff09/message_cover.png);}

.page-staff10 .page-mainttl:after {background: var(--work10-grada);}
.page-staff10 .sec-staff-detail .hero .ttl span{background: var(--work10);}
.page-staff10 .sec-staff-detail .hero .prof .occ{border-color: var(--work10);}
.page-staff10 .sec-staff-detail .interview:before,.page-staff10 .sec-staff-detail .interview:after {background-image: radial-gradient(circle closest-side, var(--work10), #ffffff);}
.page-staff10 .sec-staff-detail .interview .item .ttl:before,.page-staff10 .sec-staff-detail .interview .item .ttl:after{background-color: var(--work10);}
.page-staff10 .sec-staff-detail .message .ttl .label{border: 1px solid var(--work10);color: var(--work10);}
.page-staff10 .sec-staff-detail .message:before{background-image: url(../img/staff/staff10/message_cover.png);}

@media (min-width: 768px) {
  .sec-staff-detail .interview .item{
    gap: 1rem 5%;
  }
  .sec-staff-detail .interview .item .txt{
    width: 55%;
  }
  .sec-staff-detail .interview .item .img{
    width: 40%;
  }
  .sec-staff-detail .interview .item:nth-child(even) .img{
    order: 1;
  }
  .sec-staff-detail .interview .item:nth-child(even) .txt{
    order: 2;
  }

  .sec-staff-detail .interview .item-off .txt{
    width: 55%;
  }
  .sec-staff-detail .interview .item-off .img{
    width: 40%;
  }

  .sec-staff-detail .message .head {
    padding: 0 8vw 0 48%;
  }
  .sec-staff-detail .message .ttl .label{
    font-size: 12px;
  }
  .sec-staff-detail .message .lead {
    font-size: 4vw;
  }
  .sec-staff-detail .message:after{
    content: "";
    position: absolute;
    top: 3rem;
    left: 65%;
    z-index: 1;
    width: 20%;
    max-width: 332px;
    height: 104px;
    background-image: url("../img/common/message.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }
}
@media (min-width: 1024px) {
  .sec-staff-detail .hero {
    padding: 4rem 8vw;
    aspect-ratio: 1 / 0.521;
  }
  .sec-staff-detail .hero .ttl {
    font-size: 3vw;
    margin: 0 0 3rem;
  }
  .sec-staff-detail .hero .ttl span {
    padding: .1rem 1.5rem;
  }
  .sec-staff-detail .hero .prof {
    font-size: 1.5vw;
  }
  .sec-staff-detail .hero .prof .occ{
    padding: 2px 18px;
    margin-right: 15px;
  }
  .sec-staff-detail .hero .num {
    top: 2rem;
    right: 2rem;
    font-size: 100px;
  }

  .sec-staff-detail .interview .item-off {
    padding: 3rem;
  }

  .sec-staff-detail .message {
    margin-bottom: 4rem;
    padding: 3rem 8vw;
    aspect-ratio: 1 / 0.35;
    align-items: stretch;
  }
  .sec-staff-detail .message:before{
    z-index: 1;
    height: 100%;
  }
  .sec-staff-detail .message:after{
    top: 1rem;
    left: 75%;
  }
  .sec-staff-detail .message .head {
    position: relative;
    z-index: 2;
    padding: 0 0 0 45%;
    aspect-ratio: auto;
  }
  .sec-staff-detail .message .ttl .label{
    font-size: 18px;
    margin-bottom: 2.5rem;
  }
  .sec-staff-detail .message .lead{
    font-size: 20px;
  }
  .sec-staff-detail .message .bg{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
  }
  .sec-staff-detail .message .comment {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 0 0 0 45%;
    font-size: 16px;
    color: #fff;
  }
}
@media (min-width: 1280px) {
  .sec-staff-detail .hero .ttl {
    font-size: 40px;
  }
  .sec-staff-detail .hero .prof {
    font-size: 20px;
    margin: 1rem 0 0;
  }
  .sec-staff-detail .hero .num {
    top: 4rem;
    right: 4rem;
    font-size: 136px;
  }

  .sec-staff-detail .interview{
    padding: 7rem 0;
  }
  .sec-staff-detail .interview .item{
    align-items: center;
    gap: 1rem 10%;
    margin-bottom: 6rem;
  }
  .sec-staff-detail .interview .item .txt{
    width: 50%;
  }
  .sec-staff-detail .interview .item .ttl{
    font-size: 26px;
    padding: 0 30px;
    margin-bottom: 10px;
  }
  .sec-staff-detail .interview .item .ttl:before,
  .sec-staff-detail .interview .item .ttl:after{
    width: 25px;
    height: 21px;
  }
  .sec-staff-detail .interview .item .comment{
    padding-left: 30px;
    font-size: 16px;
  }

  .sec-staff-detail .interview .item-off{
    gap: 1rem 10%;
    align-items: center;
    padding: 5rem;
  }
  .sec-staff-detail .interview .item-off .txt{
    width: 52%;
  }
  .sec-staff-detail .interview .item-off .ttl{
    font-size: 22px;
    margin-bottom: 30px;
  }
  .sec-staff-detail .interview .item-off .comment{
    font-size: 16px;
  }
  .sec-staff-detail .interview .item-off .img{
    width: 38%;
  }

  .sec-staff-detail .message {
    padding: 4rem 8vw;
    margin-bottom: 8rem;
  }
  .sec-staff-detail .message .lead {
    font-size: 26px;
  }
  .sec-staff-detail .message .ttl .label{
    padding: 5px 1.5rem;
  }
  .sec-staff-detail .message:after {
    top: 3rem;
    left: 75%;
  }
  .sec-staff-detail .message .head,
  .sec-staff-detail .message .comment {
    padding: 0 0 0 55%;
  }
}

/****** nav-staff style ******/
.nav-staff ul{
  padding: 0;
  margin-bottom: 4rem;
}
.nav-staff .ttl{
  text-align: center;
}
.nav-staff .ttl .sub{
  font-size: 34px;
  letter-spacing: 0.1em;
  line-height: 120%;
}
.nav-staff-list a{
  text-decoration: none;
}
.nav-staff .thumbnail {
  display: inline-block;
  position: relative;
  margin-bottom: 1rem;
}
.nav-staff .thumbnail .num,
.nav-staff .thumbnail .ico-arrow {
  position: absolute;
}
.nav-staff .thumbnail .num {
  top: 1rem;
  left: 1rem;
  font-size: 30px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
}
.nav-staff .thumbnail .ico-arrow {
  text-align: center;
  right: 1rem;
  bottom: 1rem;
  margin: 0 auto;
  padding: 6px 0 0 2px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-image: url(../img/common/bg-grada.jpg);
  background-position: center;
  background-size: cover;
}
.nav-staff .thumbnail .ico-arrow img {
  width: 6px;
}
.nav-staff .thumbnail .img {
  display: block;
  overflow: hidden;
  border-radius: 5px;
  aspect-ratio: 1/1;
}
.nav-staff .thumbnail .img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nav-staff .content .label {
  position: relative;
  display: block;
  text-align: center;
  padding: 8px 40px;
  margin: 0 auto;
  border-radius: 50px;
  background: #fff;
  color: var(--black);
  border: solid 1px var(--black);
}
.nav-staff .content .label span {
  display: block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 24px;
}
.nav-staff .content .prof{
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 150%;
  text-align: center;
  color: var(--black);
}

.nav-staff .swiper-scrollbar-drag{
  background: var(--grada);
}

@media (min-width: 768px) {
  .nav-staff-list {
    width: calc(100% - 10vw);
    margin: 0 0 0 auto;
  }
}

@media (min-width: 1280px) {
  .nav-staff .ttl{
    margin-bottom: 2rem;
  }
  .nav-staff .ttl .sub {
    font-size: 44px;
  }
}


@media (min-width: 768px) {
  .md\:order-1 {
    order: 1;
  }

  .md\:order-2 {
    order: 2;
  }

  .md\:order-3 {
    order: 3;
  }

  .md\:mb-20 {
    margin-bottom: 5rem;
  }

  .md\:block {
    display: block;
  }

  .md\:hidden {
    display: none;
  }

  .md\:w-1\/2 {
    width: 50%;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:pr-4 {
    padding-right: 1rem;
  }

  .md\:text-left {
    text-align: left;
  }
}

@media (min-width: 1280px) {
  .xl\:static {
    position: static;
  }

  .xl\:absolute {
    position: absolute;
  }

  .xl\:left-0 {
    left: 0px;
  }

  .xl\:block {
    display: block;
  }

  .xl\:flex {
    display: flex;
  }

  .xl\:hidden {
    display: none;
  }

  .xl\:w-auto {
    width: auto;
  }

  .xl\:flex-row {
    flex-direction: row;
  }

  .xl\:items-center {
    align-items: center;
  }

  .xl\:bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  }

  .xl\:p-0 {
    padding: 0px;
  }

  .xl\:transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
}