@import"https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap";

:root {
  --vw: 1vw
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
input,
button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0)
}

sup {
  vertical-align: super
}

sub {
  vertical-align: sub
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}

ul,
ol {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0);
  color: inherit;
  text-decoration: none;
  display: block;
  box-sizing: border-box;
  transition: .2s
}

img {
  vertical-align: bottom;
  border: none;
  width: 100%;
  height: auto
}

del {
  text-decoration: line-through
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}

input,
select {
  vertical-align: middle;
  font-size: 14px
}

.mb-28 {
  margin-bottom: 2.8rem
}

.mb-14 {
  margin-bottom: 1.4rem
}

.txt__size1 {
  font-size: 1.4rem;
  line-height: 1.8
}

.txt__center {
  text-align: center
}

.btn__detail {
  width: 27.5rem
}

.btn__obi1 {
  width: 40.4rem;
  position: relative
}

@media only screen and (max-width: 767px) {
  .btn__obi1 {
    width: 100%
  }
}

.btn__obi1 .btn__obi1__txt {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  top: -0.5rem;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center
}

@media only screen and (max-width: 767px) {
  .btn__obi1 .btn__obi1__txt {
    font-size: 1.5rem
  }
}

.btn__obi1 .txt__inner {
  position: relative
}

.btn__obi1 .txt__inner .icon__finger {
  width: 3.2rem;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -4.5rem;
  margin: auto
}

.anime__shake {
  display: inline-block;
  transition: transform .2s ease
}

@media(any-hover: hover) {
  .anime__shake:hover {
    animation: shake .4s ease-in-out 1
  }
}

@keyframes shake {
  0% {
    transform: rotate(0deg)
  }

  20% {
    transform: rotate(5deg)
  }

  40% {
    transform: rotate(-5deg)
  }

  60% {
    transform: rotate(3deg)
  }

  80% {
    transform: rotate(-3deg)
  }

  100% {
    transform: rotate(0deg)
  }
}

.btn__finger {
  background: rgba(34, 77, 57, .5);
  border: 2px solid #fff;
  color: #fff;
  text-align: center;
  font-size: 2.3rem;
  font-weight: bold;
  max-width: 33.4rem;
  width: 100%;
  padding: 2rem 0;
  margin: auto;
  position: relative;
  transition: .3s
}

@media(any-hover: hover) {
  .btn__finger:hover {
    border-color: #000
  }

  .btn__finger:hover .btn__finger__in .icon_finger {
    left: -1rem
  }
}

.btn__finger .btn__finger__in {
  position: relative;
  display: inline-block;
  padding-left: 5rem
}

.btn__finger .btn__finger__in .icon_finger {
  position: absolute;
  width: 3.9rem;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -2.5rem;
  margin: auto;
  transition: .3s
}

.ttl__frame {
  width: 22.6rem;
  margin: auto;
  position: relative
}

.ttl__frame .ttl__frame__txt {
  font-size: 2rem;
  line-height: 1;
  position: absolute;
  top: -0.5rem;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center
}

.img__deco1 {
  background: #fff;
  padding: .5rem;
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, .6);
  position: relative
}

.pagehead {
  width: 100%;
  height: 24rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  padding-top: 7rem
}

@media only screen and (max-width: 767px) {
  .pagehead {
    height: 18rem;
    padding-top: 5rem
  }
}

.pagehead .pagehead__ttl {
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold
}

#breadcrumbs {
  margin-bottom: .5rem
}

#breadcrumbs a {
  display: inline-block
}

#breadcrumbs a,
#breadcrumbs span {
  font-size: 1.2rem
}
.bg1 {
  background-image: url("http://furutani-recruit.test8zaqrobacca.xyz/wp-content/uploads/2026/02/back_grass_1.jpg");
  background-repeat: repeat;        /* パターンで敷き詰め */
  background-position: top left;    /* 基準位置 */
}

.sec__guide {
  background: url("../img/top/bg_guide.jpg") no-repeat;
  background-size: 100% 100%;
  background-position: center;
  padding: 11rem 0 7.2rem;
  margin-top: 5.6rem
}

@media only screen and (max-width: 767px) {
  .sec__guide {
    margin-top: 3rem;
    background-size: auto 100%
  }
}

.sec__guide .guide__box {
  background: rgba(15, 23, 12, .9);
  padding: 3rem 0 4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  color: #fff;
  width: 102.8rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  .sec__guide .guide__box {
    width: 100%;
    grid-template-columns: 1fr;
    padding: 3rem 2rem
  }
}

.sec__guide .guide__box .item__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  font-size: 3rem
}

@media only screen and (max-width: 767px) {
  .sec__guide .guide__box .item__ttl {
    font-size: 2.4rem
  }
}

.sec__guide .guide__box .item__ttl .item__ttl--icon {
  width: 3.5rem
}

@media only screen and (max-width: 767px) {
  .sec__guide .guide__box .item__ttl .item__ttl--icon {
    width: 3rem
  }
}

.sec__guide .guide__box .item__txt {
  text-align: center;
  margin-bottom: 2.5rem
}

.sec__guide .guide__box .item__btn {
  border: 1px solid #fff;
  width: 29.8rem;
  height: 6.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #fff;
  background: gray;
  position: relative;
  margin: auto
}

@media(any-hover: hover) {
  .sec__guide .guide__box .item__btn:hover {
    background: #fff !important;
    color: #000;
    border-color: #000 !important
  }

  .sec__guide .guide__box .item__btn:hover::after {
    border-color: #000
  }
}

.sec__guide .guide__box .item__btn::after {
  content: "";
  display: block;
  width: .9rem;
  height: .9rem;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  top: .1rem;
  bottom: 0;
  right: 2rem;
  margin: auto;
  transform: rotate(45deg);
  transition: .3s
}

.sec__guide .guide__box .item__btn.item__btn--green {
  background: #417158
}

.sec__guide .guide__box .item__btn.item__btn--yellow {
  background: #c6b116
}

@media only screen and (max-width: 767px) {
  .sec__guide .guide__box__item+.guide__box__item {
    margin-top: 4rem
  }
}

.sec__entry {
  background: url("../img/top/bg_entry.jpg") no-repeat;
  background-size: 100% 100%;
  background-position: center;
  padding: 4.3rem 0 7.2rem
}

@media only screen and (max-width: 767px) {
  .sec__entry {
    background-size: auto 100%
  }
}

.sec__entry .ttl__entry {
  width: 51.2rem;
  margin: 0 auto 3.2rem
}

@media only screen and (max-width: 767px) {
  .sec__entry .ttl__entry {
    width: 100%
  }
}

.sec__entry .entry__box {
  width: 34.4rem;
  height: 17.6rem;
  margin: auto;
  background: rgba(34, 77, 57, .6);
  border: 4px solid #fff;
  display: flex;
  flex-flow: column;
  justify-content: center;
  padding-left: 8rem
}

.sec__entry .entry__box a {
  color: #fff;
  font-size: 2.3rem;
  font-weight: bold;
  position: relative;
  padding-left: 5rem;
  transition: .3s
}

@media(any-hover: hover) {
  .sec__entry .entry__box a:hover {
    text-shadow: 2px 2px 6px rgba(0, 0, 0, .8)
  }

  .sec__entry .entry__box a:hover .icon__finger {
    transform: translateX(0)
  }
}

.sec__entry .entry__box a .icon__finger {
  width: 3.9rem;
  position: absolute;
  top: .9rem;
  left: 0;
  transition: .3s;
  transform: translateX(-3rem)
}

:root {
  --color__main: #333333;
  --font__zen_old: "Zen Old Mincho", serif
}

.font__zen_old {
  font-family: var(--font__zen_old)
}

* {
  box-sizing: border-box
}

@media only screen and (min-width: 768px) {
  html {
    font-size: calc(.7320644217*var(--vw))
  }
}

@media only screen and (min-width: 1366px) {
  html {
    font-size: 62.5%
  }
}

@media only screen and (max-width: 767px) {
  html {
    font-size: calc(2.6666666667*var(--vw))
  }
}

body {
  color: var(--color__main);
  line-height: 2;
  font-family: var(--font__zen_old);
  position: relative;
  word-break: break-word;
  width: 100%;
  font-weight: 400;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  font-size: 1.6rem
}

.container {
  overflow: hidden
}

.inner {
  width: 112rem;
  padding: 0 2rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  .inner {
    width: 100%
  }
}

@media(any-hover: hover) {
  .hover__img:hover {
    opacity: .7
  }
}

.pc {
  display: block
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none
  }
}

.sp {
  display: none
}

@media only screen and (max-width: 767px) {
  .sp {
    display: block
  }
}

.scrollin {
  opacity: 0;
  position: relative
}

.scrollin.animate {
  -webkit-animation: inview_slide_up 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards .2s;
  animation: inview_slide_up 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards .2s
}

.scrollin__group>* {
  opacity: 0;
  position: relative
}

.scrollin__group>*.animate {
  -webkit-animation: inview_slide_up .7s cubic-bezier(0.4, 0, 0.2, 1) forwards .2s;
  animation: inview_slide_up .7s cubic-bezier(0.4, 0, 0.2, 1) forwards .2s
}

@-webkit-keyframes inview_slide_up {
  0% {
    transform: translateY(-80px)
  }

  100% {
    opacity: 1;
    transform: translateY(0)
  }
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0
}

input[type=number] {
  -moz-appearance: textfield
}

input[type=submit] {
  -webkit-appearance: none
}

textarea {
  resize: none;
  width: auto;
  height: auto
}

.sec__404 {
  padding: 8rem 0
}

@media only screen and (max-width: 767px) {
  .sec__404 {
    padding: 4rem 0
  }
}

.txt404 {
  color: var(--color__blue);
  font-size: 16rem;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4rem
}

@media only screen and (max-width: 767px) {
  .txt404 {
    font-size: 10rem
  }
}

.header {
  height: 7rem;
  width: 100%;
  top: 0;
  z-index: 10;
  position: fixed;
  background: rgba(0, 0, 0, .35);
  transition: .3s
}

@media only screen and (max-width: 767px) {
  .header {
    height: 60px
  }
}

.header .header__in {
  margin: 0 auto;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding-left: 3rem
}

@media only screen and (max-width: 767px) {
  .header .header__in {
    width: 100%;
    padding: 0
  }
}

.header .header__in .logo {
  width: 18.4rem;
  pointer-events: auto;
  position: relative
}

@media only screen and (max-width: 767px) {
  .header .header__in .logo {
    width: 184px;
    margin-left: 2rem
  }
}

.header .header__in .logo img {
  display: block;
  top: 0;
  transition: .3s
}

.header .header__in .logo .logo__black {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0
}

.header .menu {
  margin-right: 0;
  margin-left: auto
}

@media only screen and (max-width: 767px) {
  .header .menu {
    display: none;
    position: fixed;
    background: #000;
    width: 100%;
    height: 100%;
    top: 60px;
    overflow-y: scroll;
    padding-bottom: 16rem
  }
}

.header .menu .menu__list {
  display: grid;
  grid-template-columns: repeat(5, auto);
  gap: 4.3rem
}

@media only screen and (max-width: 767px) {
  .header .menu .menu__list {
    grid-template-columns: 1fr;
    gap: 0
  }
}

@media only screen and (max-width: 767px) {
  .header .menu .menu__list li {
    border-bottom: 1px solid #fff
  }
}

.header .menu .menu__list a {
  text-align: center;
  color: #fff
}

@media only screen and (max-width: 767px) {
  .header .menu .menu__list a {
    padding: 2rem 2rem;
    text-align: left
  }
}

.header .menu .menu__list a .item__en {
  line-height: 1;
  font-size: 1.6rem;
  letter-spacing: .1em;
  margin-bottom: 1rem
}

.header .menu .menu__list a .item__jp {
  line-height: 1;
  font-size: 1.1rem
}

.header .menu__btn {
  background: #000;
  border: 1px solid #000;
  width: 18rem;
  height: 100%;
  color: #fff;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 3rem
}

@media only screen and (max-width: 767px) {
  .header .menu__btn {
    display: none
  }
}

@media(any-hover: hover) {
  .header .menu__btn:hover {
    background: #fff;
    color: #000
  }
}

.header .menu__btn--sp {
  display: none
}

@media only screen and (max-width: 767px) {
  .header .menu__btn--sp {
    display: block;
    padding: 0 2rem;
    margin-top: 3rem
  }
}

.header .menu__btn--sp a {
  background: #fff;
  width: 100%;
  height: 7rem;
  color: #000;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center
}

.header.open {
  background: #fff
}

.header.open .header__in .logo .logo__white {
  opacity: 0
}

.header.open .header__in .logo .logo__black {
  opacity: 1
}

.header .nav__toggle {
  display: none;
  pointer-events: auto;
  width: 60px;
  height: 60px;
  position: relative;
  z-index: 99999;
  cursor: pointer;
  transition: .2s;
  background: #000
}

@media only screen and (max-width: 767px) {
  .header .nav__toggle {
    display: block
  }
}

.header .nav__toggle span {
  display: block;
  height: 1px;
  background: #fff;
  position: absolute;
  width: 30px;
  left: 0;
  right: 0;
  margin: auto;
  transition: .3s ease-in-out
}

.header .nav__toggle span:nth-child(1) {
  top: 19px
}

.header .nav__toggle span:nth-child(2) {
  top: 29px
}

.header .nav__toggle span:nth-child(3) {
  bottom: 19px
}

.header .nav__toggle.open span:nth-child(1) {
  top: 25px;
  transform: rotate(135deg)
}

.header .nav__toggle.open span:nth-child(2) {
  width: 0;
  left: 50%
}

.header .nav__toggle.open span:nth-child(3) {
  top: 12px;
  transform: rotate(-135deg)
}

#TOP .kv {
  width: 100%;
  height: 55.555vw;
  background: url("../img/top/kv_bg.jpg") no-repeat;
  background-size: cover;
  overflow: hidden;
  position: relative
}

@media only screen and (max-width: 767px) {
  #TOP .kv {
    height: 48.9rem;
    background: url("../img/top/kv_bg.jpg") no-repeat;
    background-size: 100% 101%
  }
}

#TOP .kv .kv__map {
  position: absolute;
  width: 80vw;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #TOP .kv .kv__map {
    width: 66.3rem;
    top: 50%;
    bottom: -12rem;
    left: 50%;
    transform: translate(-50%, -50%)
  }
}

#TOP .kv .kv__container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center
}

#TOP .kv .kv__container .kv__catch {
  text-align: center;
  padding-top: 6vw
}

@media only screen and (max-width: 767px) {
  #TOP .kv .kv__container .kv__catch {
    padding-top: 9rem
  }
}

#TOP .kv .kv__container .kv__catch .kv__catch--main {
  color: #fff;
  font-size: 12.361vw;
  line-height: 1;
  letter-spacing: 1.2vw;
  font-weight: bold;
  width: 63vw;
  margin-bottom: 2vw
}

@media only screen and (max-width: 767px) {
  #TOP .kv .kv__container .kv__catch .kv__catch--main {
    width: 90vw;
    font-size: 6.4rem
  }
}

#TOP .kv .kv__container .kv__catch .kv__catch--sub {
  font-size: 2.5vw;
  letter-spacing: .4vw;
  -webkit-text-stroke: 2px #fff;
  text-stroke: 2px #fff;
  paint-order: stroke;
  text-shadow: 0px 0px 20px hsla(0, 0%, 100%, .8);
  margin: 0 0 1vw;
  color: #191919
}

@media only screen and (max-width: 767px) {
  #TOP .kv .kv__container .kv__catch .kv__catch--sub {
    line-height: 1.5;
    font-size: 2.4rem;
    margin: 2rem 0 3rem;
    text-shadow: 0px 0px 8px hsla(0, 0%, 100%, .8)
  }
}

#TOP .kv .kv__container .kv__btn {
  display: block;
  width: 26.041vw;
  position: relative
}

@media only screen and (max-width: 767px) {
  #TOP .kv .kv__container .kv__btn {
    width: 33.2rem
  }
}

#TOP .kv .kv__container .kv__btn .icon__finger {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2.5vw;
  margin: auto;
  width: 2.222vw
}

@media only screen and (max-width: 767px) {
  #TOP .kv .kv__container .kv__btn .icon__finger {
    width: 2.8rem;
    left: 3rem
  }
}

#TOP .kv .kv__anime {
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity .8s ease, transform .8s ease
}

#TOP .kv .fadeInUp {
  opacity: 1;
  transform: translateY(0)
}

#TOP .sec__intro {
  background: url("../img/top/intro_bg.jpg");
  background-size: 100% 100%;
  padding: 6rem 0
}

@media only screen and (max-width: 767px) {
  #TOP .sec__intro {
    padding: 5rem 0;
    background-size: auto 100%;
    background-position: center
  }
}

#TOP .sec__intro {
  color: #fff
}

#TOP .sec__intro .intro__box {
  display: grid;
  grid-template-columns: 56.8rem auto
}

@media only screen and (max-width: 767px) {
  #TOP .sec__intro .intro__box {
    grid-template-columns: 1fr
  }
}

#TOP .sec__intro .intro__box .intro__box__item {
  padding-top: 2rem
}

@media only screen and (max-width: 767px) {
  #TOP .sec__intro .intro__box .intro__box__item {
    padding-top: 0
  }
}

#TOP .sec__intro .intro__ttl {
  font-size: 2.7rem;
  margin-bottom: 4rem;
  line-height: 1.259
}

@media only screen and (max-width: 767px) {
  #TOP .sec__intro .intro__ttl {
    line-height: 1.7;
    font-size: 2.2rem
  }
}

#TOP .sec__intro .intro__txt {
  font-size: 2rem;
  line-height: 2
}

@media only screen and (max-width: 767px) {
  #TOP .sec__intro .intro__txt {
    font-size: 1.6rem;
    line-height: 2
  }
}

#TOP .sec__intro .intro__txt p+p {
  margin-top: 4rem
}

@media only screen and (max-width: 767px) {
  #TOP .sec__intro .intro__txt p+p {
    margin-top: 2rem
  }
}

#TOP .sec__intro .intro__box__img {
  position: relative
}

@media only screen and (max-width: 767px) {
  #TOP .sec__intro .intro__box__img {
    margin-top: 2rem
  }
}

#TOP .sec__intro .intro__box__img .img__top {
  mix-blend-mode: multiply
}

#TOP .sec__intro .intro__box__img .img__under {
  position: absolute;
  top: 6rem;
  right: .5rem;
  left: 0;
  margin: auto;
  width: 36.6rem;
  opacity: 0;
  transform: translateY(-50px);
  transition: opacity 3s ease, transform .8s ease
}

@media only screen and (max-width: 767px) {
  #TOP .sec__intro .intro__box__img .img__under {
    width: 71%
  }
}

#TOP .sec__intro .intro__box__img .img__under.show {
  opacity: 1;
  transform: translateY(0)
}

#TOP .sec__about {
  background: url("../img/top/bg_about.jpg") no-repeat;
  background-size: 100% 100%;
  background-position: center;
  padding: 0 0 8rem
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about {
    background-size: auto 100%;
    padding: 4rem 0
  }
}

#TOP .sec__about .about__block+.about__block {
  margin-top: 6rem
}

#TOP .sec__about .block__intro .ttl__about {
  width: 63.4rem;
  margin: 0 auto 1.2rem
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__intro .ttl__about {
    width: 100%
  }
}

#TOP .sec__about .block__intro .about__box {
  display: grid;
  grid-template-columns: repeat(2, 1fr)
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__intro .about__box {
    grid-template-columns: 1fr
  }
}

#TOP .sec__about .block__intro .about__box .box__container {
  padding-top: 6rem
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__intro .about__box .box__container {
    padding-top: 0;
    order: 2
  }
}

#TOP .sec__about .block__intro .about__box .box__img {
  padding-left: 2rem
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__intro .about__box .box__img {
    order: 1;
    padding-left: 0
  }
}

#TOP .sec__about .block__intro .about__box .container__btn {
  margin-top: 3rem
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__intro .about__box .container__btn {
    margin-top: 3rem;
    text-align: center
  }
}

#TOP .sec__about .block__head {
  padding-left: 25.5rem;
  position: relative
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__head {
    padding-left: 0
  }
}

#TOP .sec__about .block__head .block__head__ttl {
  position: absolute;
  top: -7rem;
  left: 0;
  width: 25.7rem;
  z-index: 0
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__head .block__head__ttl {
    top: -14rem;
    left: -4rem
  }
}

#TOP .sec__about .block__head .block__head__txt {
  position: relative;
  line-height: 1.3
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__works {
    margin-top: 15rem !important
  }
}

#TOP .sec__about .block__works .works__list {
  margin: 2rem 0 4rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  position: relative
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__works .works__list {
    grid-template-columns: 1fr
  }
}

@media(any-hover: hover) {
  #TOP .sec__about .block__works .works__list li:hover>.list__img .img__after {
    opacity: 1
  }
}

#TOP .sec__about .block__works .works__list .list__img {
  background: #fff;
  padding: .5rem;
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, .6);
  position: relative
}

#TOP .sec__about .block__works .works__list .list__img img {
  transition: .3s
}

#TOP .sec__about .block__works .works__list .list__img .img__after {
  position: absolute;
  top: .5rem;
  left: .5rem;
  width: 24.5rem;
  opacity: 0
}

#TOP .sec__about .block__works .works__list .list__ttl {
  margin: 2rem auto 2rem
}

#TOP .sec__about .block__people {
  margin-top: 12rem !important
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__people {
    margin-top: 20rem !important
  }
}

#TOP .sec__about .block__people .peopleSlider {
  margin: 2rem 0 5rem
}

#TOP .sec__about .block__people .peopleSlider .img {
  background: #fff;
  padding: .5rem;
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, .6);
  position: relative
}

#TOP .sec__about .block__people .peopleSlider .img__ttls {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 2rem;
  margin: auto
}

#TOP .sec__about .block__people .peopleSlider .img__ttls .year {
  color: #fff;
  text-align: center;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, .8);
  line-height: 1;
  margin-top: .3rem
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__environment {
    margin-top: 16rem !important
  }
}

#TOP .sec__about .block__environment .enviroment__box {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr)
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__environment .enviroment__box {
    grid-template-columns: 1fr
  }
}

#TOP .sec__about .block__environment .enviroment__box .box__item {
  padding-left: 3rem
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__environment .enviroment__box .box__item {
    padding-left: 0;
    margin-top: 2rem
  }
}

#TOP .sec__about .block__environment .enviroment__box .box__item__txt {
  margin-bottom: 4rem
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__environment .enviroment__box .box__item__txt {
    margin-bottom: 4rem
  }
}

@media only screen and (max-width: 767px) {
  #TOP .sec__about .block__environment .enviroment__box .box__item__btn {
    text-align: center
  }
}

#ABOUT .ttl__about {
  width: 50.3rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #ABOUT .ttl__about {
    width: 100%
  }
}

#ABOUT .sec__business .about__txt {
  width: 66rem;
  margin: 0 auto 2.5rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__business .about__txt {
    width: 100%
  }
}

#ABOUT .sec__business .img {
  display: block
}

#ABOUT .about__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem 2rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .about__list {
    grid-template-columns: repeat(2, 1fr)
  }
}

#ABOUT .about__list .list__ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-top: .5rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .about__list .list__ttl {
    font-size: 1.8rem
  }
}

#ABOUT .about__list .list__txt {
  font-size: 1.4rem
}

#ABOUT .sec__charm {
  margin-top: 4rem
}

#ABOUT .sec__charm .charmbox1 {
  position: relative
}

#ABOUT .sec__charm .charmbox1 .charmbox__txts {
  width: 62.2rem;
  position: absolute;
  top: .5rem;
  left: 47.5rem;
  counter-reset: num
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__charm .charmbox1 .charmbox__txts {
    width: 100%;
    position: relative;
    top: auto;
    left: auto
  }
}

#ABOUT .sec__charm .charmbox1 .charmbox__txts li {
  padding: 2rem;
  padding-right: 4rem;
  position: relative;
  counter-increment: num
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__charm .charmbox1 .charmbox__txts li {
    background: #fff;
    border: 2px solid #dcc178;
    border-radius: 2rem
  }
}

#ABOUT .sec__charm .charmbox1 .charmbox__txts li+li {
  margin-top: 2.2rem
}

#ABOUT .sec__charm .charmbox1 .charmbox__txts li .txts__ttl {
  color: #432900;
  font-size: 2rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__charm .charmbox1 .charmbox__txts li .txts__ttl {
    font-size: 1.6rem;
    text-align: center;
    font-weight: bold
  }
}

#ABOUT .sec__charm .charmbox1 .charmbox__txts li .txts__content {
  font-size: 1.6rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__charm .charmbox1 .charmbox__txts li .txts__content {
    font-size: 1.4rem
  }
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__charm .charmbox1 .charmbox__txts li::after {
    content: counter(num);
    display: block;
    width: 2.9rem;
    height: 2.9rem;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #dcc178;
    border-radius: 50%;
    position: absolute;
    top: -1rem;
    left: 0
  }
}

#ABOUT .sec__charm .charmbox2 {
  position: relative
}

#ABOUT .sec__charm .charmbox2 .charmbox__txts {
  width: 62.2rem;
  position: absolute;
  top: 7.5rem;
  left: 0;
  counter-reset: num
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__charm .charmbox2 .charmbox__txts {
    width: 100%;
    position: relative;
    top: auto;
    left: auto
  }
}

#ABOUT .sec__charm .charmbox2 .charmbox__txts li {
  padding: 2rem;
  padding-right: 4rem;
  position: relative;
  counter-increment: num
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__charm .charmbox2 .charmbox__txts li {
    background: #fff;
    border: 2px solid #dcc178;
    border-radius: 2rem
  }
}

#ABOUT .sec__charm .charmbox2 .charmbox__txts li+li {
  margin-top: 2.2rem
}

#ABOUT .sec__charm .charmbox2 .charmbox__txts li .txts__ttl {
  color: #432900;
  font-size: 2rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__charm .charmbox2 .charmbox__txts li .txts__ttl {
    font-size: 1.6rem;
    text-align: center;
    font-weight: bold
  }
}

#ABOUT .sec__charm .charmbox2 .charmbox__txts li .txts__content {
  font-size: 1.6rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__charm .charmbox2 .charmbox__txts li .txts__content {
    font-size: 1.4rem
  }
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__charm .charmbox2 .charmbox__txts li::after {
    content: counter(num);
    display: block;
    width: 2.9rem;
    height: 2.9rem;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #dcc178;
    border-radius: 50%;
    position: absolute;
    top: -1rem;
    left: 0
  }
}

#ABOUT .sec__future--orb {
  background: url("../img/about/feature_bg.jpg") no-repeat;
  background-size: 100% 101%;
  background-repeat: no-repeat;
  padding: 5rem 0
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__future--orb {
    background-size: auto 101%;
    background-position: center;
    padding: 2rem 0 6rem
  }
}

#ABOUT .sec__future {
  background: #224d39;
  padding: 6.8rem 0 10rem;
  color: #fff
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__future {
    padding: 4rem 0 6rem
  }
}

#ABOUT .sec__future .future__head {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__future .future__head {
    grid-template-columns: 1fr
  }
}

#ABOUT .sec__future .future__head .future__ttl {
  width: 44.3rem;
  position: relative;
  bottom: -3rem;
  left: -1rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__future .future__head .future__ttl {
    width: 100%;
    left: auto;
    bottom: auto
  }
}

#ABOUT .sec__future .future__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__future .future__list {
    grid-template-columns: 1fr;
    margin-top: 2rem
  }
}

#ABOUT .sec__future .future__list .img__deco1 {
  margin-bottom: 2rem
}

#ABOUT .sec__future .future__list .list__ttl {
  font-size: 2rem;
  line-height: 1.4;
  font-weight: bold;
  margin-bottom: 1rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__future .future__list .list__ttl {
    font-size: 1.8rem;
    line-height: 1.5
  }
}

#ABOUT .sec__num {
  background: url("../img/top/intro_bg.jpg") no-repeat;
  background-size: 100% 100%;
  background-position: center;
  padding: 4rem 0
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num {
    background: url("../img/top/intro_bg.jpg") no-repeat;
    background-size: auto 100%;
    padding: 4rem 2rem
  }
}

#ABOUT .sec__num .num__block {
  width: 122.8rem;
  height: 86rem;
  margin: auto;
  background: url(../img/about/bg_num.png) no-repeat;
  background-size: 100% 100%;
  background-position: center;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-bottom: 18rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num .num__block {
    display: block;
    width: 100%;
    height: auto;
    background: none;
    padding-bottom: 0
  }
}

#ABOUT .sec__num .num__ttl {
  -webkit-text-stroke: 2px #fff;
  text-stroke: 2px #fff;
  paint-order: stroke;
  text-shadow: 0px 0px 10px hsla(0, 0%, 100%, .8);
  font-size: 2.8rem
}

@media only screen and (min-width: 768px) {
  #ABOUT .sec__num .num__ttl {
    position: absolute;
    top: 28rem;
    left: 11rem
  }
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num .num__ttl {
    font-size: 1.8rem;
    margin-bottom: 3rem
  }
}

#ABOUT .sec__num .num__ttl .num__ttl--in {
  position: relative
}

#ABOUT .sec__num .num__ttl .num__ttl--in .deco {
  width: 22.7rem;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -5rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num .num__ttl .num__ttl--in .deco {
    width: 17.7rem;
    right: 0
  }
}

#ABOUT .sec__num .blocks {
  display: grid;
  grid-template-columns: 49rem 50.2rem;
  gap: 2.5rem;
  justify-content: center;
  align-items: flex-end
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num .blocks {
    display: grid;
    grid-template-columns: 1fr
  }
}

#ABOUT .sec__num .blocks .block1 .block__inner,
#ABOUT .sec__num .blocks .block2 .block__inner {
  border: 2px solid #fff;
  color: #fff;
  background: hsla(15.64, 7.77%, 20.08%, .5);
  padding: 3rem 2rem;
  border-radius: 2rem
}

@media only screen and (max-width: 767px) {

  #ABOUT .sec__num .blocks .block1 .block__inner,
  #ABOUT .sec__num .blocks .block2 .block__inner {
    padding: 2rem 1rem
  }
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num .blocks .block1 {
    background-image: url("../img/about/block1_bg.png");
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center;
    padding: 4rem 4rem;
    min-height: 46.2rem;
    display: flex;
    align-items: center;
    justify-content: center
  }
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num .blocks .block2 {
    background-image: url("../img/about/block2_bg.png");
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center;
    padding: 4rem 4rem;
    min-height: 62.4rem;
    display: flex;
    align-items: center;
    justify-content: center
  }
}

#ABOUT .sec__num .blocks .block__ttl {
  font-size: 2.5rem;
  border-bottom: 1px solid;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num .blocks .block__ttl {
    font-size: 1.5rem
  }
}

#ABOUT .sec__num .blocks .block__txts p {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.6
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num .blocks .block__txts p {
    font-size: 1.4rem;
    line-height: 1.8
  }
}

#ABOUT .sec__num .blocks .block__txts p .levelup {
  display: inline-block;
  position: relative
}

#ABOUT .sec__num .blocks .block__txts p .levelup .levelup__img {
  width: 9rem;
  position: absolute;
  right: -6rem;
  top: -5rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num .blocks .block__txts p .levelup .levelup__img {
    right: -5rem;
    top: -4rem
  }
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__num .blocks .block__txts p .levelup--shihon .levelup__img {
    right: -3rem;
    top: -2rem
  }
}

#ABOUT .sec__num .blocks .block__txts p+p {
  margin-top: 2rem
}

#ABOUT .sec__office {
  background: url("../img/top/bg_about.jpg") no-repeat;
  background-size: 100% 100%;
  background-position: center;
  padding: 10rem 0
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__office {
    padding: 8rem 0 4rem
  }
}

#ABOUT .sec__office .office__list1 {
  display: grid;
  grid-template-columns: repeat(3, 1fr)
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__office .office__list1 {
    grid-template-columns: 1fr
  }
}

#ABOUT .sec__office .office__list2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr)
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__office .office__list2 {
    grid-template-columns: 1fr
  }
}

#ABOUT .sec__office .imgs {
  position: relative
}

#ABOUT .sec__office .imgs .office__ttl {
  width: 40.9rem;
  position: absolute;
  top: -3rem;
  left: -9rem
}

@media only screen and (max-width: 767px) {
  #ABOUT .sec__office .imgs .office__ttl {
    width: 35rem;
    left: -5rem;
    top: -7rem
  }
}

#ABOUT .sec__office .btn__office {
  text-align: center;
  margin-top: 2rem
}

#ABOUT .sec__office .btn__office a {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding-right: 2rem
}

@media(any-hover: hover) {
  #ABOUT .sec__office .btn__office a:hover {
    text-decoration: underline
  }
}

#ABOUT .sec__office .btn__office a::after {
  content: "";
  display: block;
  width: .9rem;
  height: .9rem;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  position: absolute;
  top: .1rem;
  bottom: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
  transition: .3s
}

#WORKS .sec__catch {
  overflow: hidden
}

#WORKS .sec__catch .inner {
  padding: 0 0 0 2rem
}

@media only screen and (max-width: 767px) {
  #WORKS .sec__catch .inner {
    padding: 0 2rem
  }
}

#WORKS .sec__catch .catch__block {
  height: 51.3rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 4rem
}

@media only screen and (max-width: 767px) {
  #WORKS .sec__catch .catch__block {
    height: auto;
    grid-template-columns: 1fr;
    gap: 2rem
  }
}

#WORKS .sec__catch .catch__block .block__img {
  position: relative;
  width: 100%;
  height: 100%
}

@media only screen and (min-width: 768px) {
  #WORKS .sec__catch .catch__block .block__img img {
    width: 67.3rem;
    position: absolute;
    top: 0;
    left: 0
  }
}

#WORKS .line__img {
  margin: 6rem 0
}

@media only screen and (max-width: 767px) {
  #WORKS .line__img {
    margin: 3rem 0
  }
}

#WORKS .job__block {
  display: grid;
  grid-template-columns: repeat(2, 1fr)
}

@media only screen and (max-width: 767px) {
  #WORKS .job__block {
    grid-template-columns: 1fr
  }
}

#WORKS .job__block .block__container {
  padding-left: 4.7rem
}

@media only screen and (max-width: 767px) {
  #WORKS .job__block .block__container {
    padding: 0 !important
  }
}

#WORKS .job__block .block__container .container__ttl {
  width: 31.8rem
}

@media only screen and (max-width: 767px) {
  #WORKS .job__block .block__container .container__ttl {
    margin: auto;
    width: 26rem
  }
}

#WORKS .job__block .block__container .container__txts {
  width: 33rem
}

@media only screen and (max-width: 767px) {
  #WORKS .job__block .block__container .container__txts {
    width: 100%
  }
}

#WORKS .job__block .block__img {
  padding-left: 3.3rem;
  position: relative
}

@media only screen and (max-width: 767px) {
  #WORKS .job__block .block__img {
    padding: 0 !important;
    margin-top: 4rem
  }
}

#WORKS .job__block .block__img .deco__photo {
  position: absolute
}

#WORKS .job__block .block__img .deco__photo.deco__photo--sales {
  width: 23.9rem;
  left: -18rem;
  top: -0.5rem
}

@media only screen and (max-width: 767px) {
  #WORKS .job__block .block__img .deco__photo.deco__photo--sales {
    width: 11.1rem;
    left: 0;
    top: auto;
    bottom: 0
  }
}

#WORKS .job__block .block__img .deco__photo.deco__photo--manage {
  width: 42.8rem;
  left: 40rem;
  top: -4.5rem
}

@media only screen and (max-width: 767px) {
  #WORKS .job__block .block__img .deco__photo.deco__photo--manage {
    width: 20.2rem;
    left: auto;
    right: -3rem;
    top: auto;
    bottom: 0
  }
}

#WORKS .job__block .block__img .deco__photo.deco__photo--office {
  width: 33.7rem;
  left: -17rem;
  top: 3rem
}

@media only screen and (max-width: 767px) {
  #WORKS .job__block .block__img .deco__photo.deco__photo--office {
    width: 16rem;
    left: 0;
    top: auto;
    bottom: -2rem
  }
}

#WORKS .job__block .block__img .deco__photo.deco__photo--manufacture {
  width: 33.7rem;
  left: 39rem;
  top: 5.5rem
}

@media only screen and (max-width: 767px) {
  #WORKS .job__block .block__img .deco__photo.deco__photo--manufacture {
    width: 18rem;
    left: auto;
    right: 0;
    top: auto;
    bottom: -2rem
  }
}

@media only screen and (max-width: 767px) {
  #WORKS .sec__job {
    overflow: hidden
  }
}

@media only screen and (max-width: 767px) {
  #WORKS .sec__job__sales .block__img {
    padding-left: 10rem !important
  }
}

@media only screen and (max-width: 767px) {
  #WORKS .sec__job__manage .block__img {
    padding-right: 10rem !important
  }
}

@media only screen and (max-width: 767px) {
  #WORKS .sec__job__office .block__img {
    padding-left: 10rem !important
  }
}

@media only screen and (max-width: 767px) {
  #WORKS .sec__job__manufacture .block__img {
    padding-right: 10rem !important
  }
}

#WORKS .sec__job--reverse .job__block .block__container {
  padding: 0 0 0 20rem
}

@media only screen and (min-width: 768px) {
  #WORKS .sec__job--reverse .job__block .block__container {
    order: 2
  }
}

@media only screen and (min-width: 768px) {
  #WORKS .sec__job--reverse .job__block .block__img {
    order: 1
  }
}

#WORKS .btn__twin {
  margin-top: 4.8rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center
}

@media only screen and (max-width: 767px) {
  #WORKS .btn__twin {
    grid-template-columns: 1fr;
    gap: 2rem
  }
}

#WORKS .btn__twin .btn__twin__item {
  text-align: center
}

@media only screen and (max-width: 767px) {
  #PEOPLE .bg1 .inner {
    padding: 0
  }
}

#PEOPLE .page__ttl {
  width: 50.3rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #PEOPLE .page__ttl {
    width: 100%
  }
}

#PEOPLE .page__ttl__txt {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4rem
}

#PEOPLE .sec__people {
  width: 108rem;
  height: 57.6rem;
  background: url("../img/people/bg_block.png") no-repeat;
  background-size: 100% 100%;
  background-position: center
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people {
    background: url("../img/people/bg_block_sp.png") no-repeat;
    background-size: auto 100%;
    width: 37.5rem;
    height: 122.6rem
  }
}

#PEOPLE .sec__people .people__inner {
  height: 100%;
  padding-top: 6.2rem
}

#PEOPLE .sec__people .people__block {
  display: grid;
  grid-template-columns: 20.4rem 60.6rem;
  gap: 6.8rem;
  justify-content: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block {
    grid-template-columns: 1fr;
    gap: 0;
    overflow: hidden
  }
}

#PEOPLE .sec__people .people__block .people__block__ttl {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  position: relative;
  transform: translateY(-3rem)
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block .people__block__ttl {
    width: 18rem;
    padding-left: 2rem;
    transform: none;
    margin-bottom: 1rem
  }
}

#PEOPLE .sec__people .people__block .people__block__ttl .years {
  text-align: center;
  font-size: 1.6rem;
  color: #fff;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, .6);
  position: relative
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block .people__block__ttl .years {
    font-size: 1.2rem
  }
}

#PEOPLE .sec__people .people__block .people__block__ttl .comment {
  text-align: center;
  font-size: 1.6rem;
  color: #fff;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, .6);
  line-height: 1.5;
  position: relative
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block .people__block__ttl .comment {
    font-size: 1.2rem
  }
}

#PEOPLE .sec__people .people__block .people__block__ttl .line1 {
  margin: 1rem 0;
  display: block;
  position: relative
}

#PEOPLE .sec__people .people__block .people__block__ttl .silhouette {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 20rem;
  z-index: 0;
  pointer-events: none
}

#PEOPLE .sec__people .people__block .people__block__ttl .silhouette.silhouette__sales {
  width: 33.7rem;
  bottom: -6rem;
  left: -9rem
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block .people__block__ttl .silhouette.silhouette__sales {
    width: 20.6rem;
    bottom: 1rem;
    left: 2rem
  }
}

#PEOPLE .sec__people .people__block .people__block__ttl .silhouette.silhouette__manage {
  width: 25rem;
  bottom: -5rem;
  left: 2rem
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block .people__block__ttl .silhouette.silhouette__manage {
    width: 21.4rem;
    bottom: 0rem;
    left: 6rem
  }
}

#PEOPLE .sec__people .people__block .people__block__ttl .silhouette.silhouette__manage {
  width: 21.4rem;
  bottom: -3rem;
  left: 5rem
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block .people__block__ttl .silhouette.silhouette__manage {
    width: 16.4rem;
    bottom: -1rem;
    left: 9rem
  }
}

#PEOPLE .sec__people .people__block .people__block__ttl .photo {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 20rem;
  z-index: 0;
  pointer-events: none
}

#PEOPLE .sec__people .people__block .people__block__ttl .photo.photo__1 {
  bottom: -6rem;
  left: 16rem;
  width: 24rem
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block .people__block__ttl .photo.photo__1 {
    width: 16.5rem;
    bottom: -1rem;
    left: 21rem
  }
}

#PEOPLE .sec__people .people__block .people__block__ttl .photo.photo__2 {
  bottom: -6rem;
  left: 7rem;
  width: 25.8rem
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block .people__block__ttl .photo.photo__2 {
    bottom: -2rem;
    left: 15rem;
    width: 18.8rem
  }
}

#PEOPLE .sec__people .people__block .people__block__container {
  background: #fff;
  border-radius: 3.3rem;
  padding: 1.3rem 2.5rem
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block .people__block__container {
    padding: 1rem 2rem;
    margin: 0 2rem 0 1rem
  }
}

#PEOPLE .sec__people .people__block .people__block__container .container__ttl {
  font-size: 2.2rem;
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .people__block .people__block__container .container__ttl {
    font-size: 2rem;
    line-height: 1.5
  }
}

#PEOPLE .sec__people .people__block .people__block__container .line2 {
  margin: .5rem 0;
  display: block
}

#PEOPLE .sec__people .people__block .people__block__container .container__txt {
  font-size: 1.4rem;
  font-weight: bold
}

#PEOPLE .sec__people .block__under {
  width: 86.5rem;
  margin: 4rem auto 0;
  position: relative
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .block__under {
    width: 100%;
    margin: 8rem auto 0
  }
}

#PEOPLE .sec__people .block__under .ttl__flow {
  width: 13.6rem;
  position: absolute;
  top: -7rem;
  left: 0
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .block__under .ttl__flow {
    width: 15.9rem;
    top: -8rem;
    left: 1rem
  }
}

#PEOPLE .sec__people .block__under .list__flow {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4.8rem;
  position: relative
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .block__under .list__flow {
    grid-template-columns: repeat(2, 13.6rem);
    gap: 2rem 3rem;
    padding-left: 2rem
  }
}

#PEOPLE .sec__people .block__under .list__flow li .img {
  box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, .6);
  position: relative
}

#PEOPLE .sec__people .block__under .list__flow li .img::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: .8rem solid rgba(0, 0, 0, 0);
  border-bottom: .8rem solid rgba(0, 0, 0, 0);
  border-left: 1.5rem solid hsla(0, 0%, 100%, .5);
  border-right: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -3.5rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #PEOPLE .sec__people .block__under .list__flow li .img::after {
    right: -2.3rem
  }
}

#PEOPLE .sec__people .block__under .list__flow li .flow__txt {
  color: #fff;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, .6);
  text-align: center;
  font-size: 1.2rem;
  margin-top: .5rem
}

#PEOPLE .sec__people .block__under .list__flow li:last-child figure::after {
  display: none
}

#PEOPLE .sec__people+.sec__people {
  margin-top: 8rem
}

#OFFICE .ttl__obi {
  width: 50.3rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #OFFICE .ttl__obi {
    width: 100%
  }
}

#OFFICE .ttl__obi__txt {
  text-align: center;
  margin-bottom: 3.5rem
}

#OFFICE .ttl__obi__txt .txt__inner {
  display: inline-block;
  text-align: left
}

#OFFICE .office__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 3rem
}

@media only screen and (max-width: 767px) {
  #OFFICE .office__list {
    grid-template-columns: repeat(2, 1fr)
  }
}

#OFFICE .office__list .list__ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-top: .5rem
}

@media only screen and (max-width: 767px) {
  #OFFICE .office__list .list__ttl {
    font-size: 1.8rem
  }
}

#OFFICE .office__list .list__txt {
  font-size: 1.4rem
}

#OFFICE .sec__works {
  padding: 8rem 0
}

@media only screen and (max-width: 767px) {
  #OFFICE .sec__works {
    padding: 4rem 0
  }
}

#OFFICE .sec__enviroment {
  position: relative;
  padding: 8rem 0
}

@media only screen and (max-width: 767px) {
  #OFFICE .sec__enviroment {
    padding: 4rem 0
  }
}

#OFFICE .sec__enviroment::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(34, 77, 57, .4);
  z-index: 0
}

#OFFICE .sec__enviroment .inner {
  position: relative
}

#OFFICE .sec__performance {
  padding: 8rem 0;
  overflow: hidden
}

@media only screen and (max-width: 767px) {
  #OFFICE .sec__performance {
    padding: 4rem 0
  }
}

#OFFICE .sec__performance .performance__block {
  display: grid;
  grid-template-columns: repeat(2, 1fr)
}

@media only screen and (max-width: 767px) {
  #OFFICE .sec__performance .performance__block {
    grid-template-columns: 1fr
  }
}

#OFFICE .sec__performance .performance__block+.performance__block {
  margin-top: 8rem
}

@media only screen and (max-width: 767px) {
  #OFFICE .sec__performance .performance__block+.performance__block {
    margin-top: 4rem
  }
}

#OFFICE .sec__performance .performance__block .block__container .container__ttl {
  width: 28.8rem;
  padding-left: 5.6rem
}

#OFFICE .sec__performance .performance__block .block__container .container__txt {
  padding-right: 12rem
}

@media only screen and (max-width: 767px) {
  #OFFICE .sec__performance .performance__block .block__container .container__txt {
    padding-right: 0
  }
}

#OFFICE .sec__performance .performance__block .img {
  position: relative;
  height: 36.2rem
}

@media only screen and (max-width: 767px) {
  #OFFICE .sec__performance .performance__block .img {
    height: auto;
    margin-top: 2rem
  }
}

@media only screen and (min-width: 768px) {
  #OFFICE .sec__performance .performance__block .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 70rem;
    height: 36.2rem
  }
}

@media only screen and (min-width: 768px) {
  #OFFICE .sec__performance .performance__block--reverse .block__container {
    order: 2
  }
}

@media only screen and (min-width: 768px) {
  #OFFICE .sec__performance .performance__block--reverse .block__container .container__ttl {
    width: 28.8rem;
    margin: 0 6.6rem 0 auto;
    padding: 0
  }
}

@media only screen and (min-width: 768px) {
  #OFFICE .sec__performance .performance__block--reverse .block__container .container__txt {
    padding-left: 12rem;
    padding-right: 0
  }
}

@media only screen and (min-width: 768px) {
  #OFFICE .sec__performance .performance__block--reverse .img {
    order: 1
  }
}

@media only screen and (min-width: 768px) {
  #OFFICE .sec__performance .performance__block--reverse .img img {
    left: auto;
    right: 0
  }
}

#OFFICE .sec__plan {
  padding: 8rem 0;
  background: rgba(34, 77, 57, .4)
}

@media only screen and (max-width: 767px) {
  #OFFICE .sec__plan {
    padding: 4rem 0
  }
}

#OFFICE .sec__plan .plan__txts {
  text-align: center
}

#OFFICE .sec__plan .plan__txts p+p {
  margin-top: 4rem
}

@media only screen and (max-width: 767px) {
  #OFFICE .sec__plan .plan__txts p+p {
    margin-top: 2rem
  }
}

#OFFICE .sec__plan .plan__imgs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-top: 2.7rem
}

@media only screen and (max-width: 767px) {
  #OFFICE .sec__plan .plan__imgs {
    gap: 1rem
  }
}

#RECRUIT .sec__recruit {
  background-image: url("../img/recruit/bg.jpg");
  background-repeat: repeat-y;
  background-size: 100% auto;
  padding: 6rem 0
}

#RECRUIT .recruithead {
  width: 100%;
  height: 24.3rem;
  background-image: url("../img/top/bg_entry_short.jpg");
  background-repeat: repeat-x;
  background-size: auto 100%
}

@media only screen and (max-width: 767px) {
  #RECRUIT .recruithead {
    padding: 2rem 0;
    background-size: auto 100%;
    background-position: center;
    aspect-ratio: 360/61
  }
}

#RECRUIT .recruithead .recruithead__ttl {
  width: 65rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #RECRUIT .recruithead .recruithead__ttl {
    width: 100%
  }
}

#RECRUIT .recruithead .recruithead__txt {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center
}

@media only screen and (max-width: 767px) {
  #RECRUIT .recruithead .recruithead__txt {
    font-size: 1.4rem
  }
}

#RECRUIT .recruithead .recruithead__txt .recruithead__txt__in {
  display: inline-block;
  text-align: left
}

#RECRUIT .contentbg1__deco1 {
  display: block;
  width: 108rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg1__deco1 {
    width: 100%
  }
}

#RECRUIT .contentbg1__deco3 {
  display: block;
  width: 108rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg1__deco3 {
    width: 100%
  }
}

#RECRUIT .contentbg1 {
  width: 108rem;
  margin: auto;
  background-image: url("../img/recruit/contentbg1_2.png");
  background-repeat: repeat-y;
  background-size: 100% auto;
  padding: 2rem 0;
  position: relative
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg1 {
    width: 100%;
    background-size: 100% auto;
    padding-top: 1rem
  }
}

#RECRUIT .contentbg1 .contentbg1__in {
  width: 84.6rem;
  padding: 5.4rem 12rem;
  margin: auto;
  background: hsla(0, 0%, 100%, .8);
  border-radius: 2rem
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg1 .contentbg1__in {
    width: 90%;
    position: relative;
    left: -0.5rem;
    padding: 2rem 2rem
  }
}

#RECRUIT .contentbg1 .container__ttl {
  width: 20.4rem;
  margin: 0 auto 3.5rem
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg1 .container__ttl {
    margin: auto
  }
}

#RECRUIT .contentbg1 .line__img {
  margin: 2.5rem 0
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg1 .line__img {
    margin: 0 auto 2.5rem
  }
}

#RECRUIT .contentbg1 .columns .column {
  display: grid;
  grid-template-columns: 14rem 1fr;
  gap: 2.7rem
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg1 .columns .column {
    grid-template-columns: 1fr;
    gap: 0
  }
}

#RECRUIT .contentbg1 .columns .column+.column {
  margin-top: 3rem
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg1 .columns .column dt {
    border-bottom: 1px solid
  }
}

#RECRUIT .contentbg1 .columns .column dd {
  padding-top: 1.5rem
}

#RECRUIT .contentbg1 .columns .column .column__ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem
}

#RECRUIT .contentbg1 .columns .column .column__txt {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.6
}

#RECRUIT .contentbg1 .columns .column .board {
  width: 14rem;
  height: 8.7rem;
  background: url("../img/recruit/board.png") no-repeat;
  background-size: 100% 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, .4)
}

#RECRUIT .contentbg1 .columns .column .list__diamond {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.6
}

#RECRUIT .contentbg1 .columns .column .list__diamond li {
  position: relative;
  padding-left: 2rem
}

#RECRUIT .contentbg1 .columns .column .list__diamond li::before {
  content: "◆";
  color: #c6b116;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.6;
  position: absolute;
  top: 0;
  left: 0
}

#RECRUIT .contentbg1 .btn__block {
  margin: 6rem auto 0
}

#RECRUIT .contentbg2__deco1 {
  display: block;
  width: 108rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg2__deco1 {
    width: 100%
  }
}

#RECRUIT .contentbg2__deco3 {
  display: block;
  width: 108rem;
  margin: auto
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg2__deco3 {
    width: 100%
  }
}

#RECRUIT .contentbg2 {
  width: 108rem;
  margin: auto;
  background-image: url("../img/recruit/contentbg2_2.png");
  background-repeat: repeat-y;
  background-size: 100% auto;
  padding: 2rem 0;
  position: relative
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg2 {
    width: 100%;
    background-size: 100% auto;
    padding-top: 1rem
  }
}

#RECRUIT .contentbg2 .contentbg2__in {
  width: 84.6rem;
  padding: 5.4rem 12rem;
  margin: auto;
  background: hsla(0, 0%, 100%, .8);
  border-radius: 2rem
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg2 .contentbg2__in {
    width: 90%;
    position: relative;
    left: -0.5rem;
    padding: 2rem 2rem
  }
}

#RECRUIT .contentbg2 .ttl__frame {
  margin-left: 0;
  margin-right: auto;
  position: relative
}

#RECRUIT .contentbg2 .ttl__frame .required {
  position: absolute;
  bottom: 0;
  right: -6rem;
  font-size: 1.3rem;
  font-weight: bold
}

#RECRUIT .contentbg2 .columns .column+.column {
  margin-top: 5rem
}

#RECRUIT .contentbg2 .columns .column dt {
  margin-bottom: 2rem
}

#RECRUIT .contentbg2 .columns .column dd {
  font-size: 1.6rem
}

#RECRUIT .contentbg2 .columns .column dd input[type=text],
#RECRUIT .contentbg2 .columns .column dd input[type=email],
#RECRUIT .contentbg2 .columns .column dd input[type=tel] {
  background: #fff;
  border-radius: .5rem;
  font-size: 1.6rem;
  padding: .85rem .5rem
}

#RECRUIT .contentbg2 .columns .column dd .input__size1 {
  width: 100%;
  max-width: 35rem
}

#RECRUIT .contentbg2 .columns .column dd .input__size2 {
  width: 100%;
  max-width: 18rem
}

#RECRUIT .contentbg2 .columns .column dd .input__size3 {
  width: 100%;
  max-width: 13.6rem
}

#RECRUIT .contentbg2 .columns .column dd .input__size4 {
  width: 100%;
  max-width: 6.1rem
}

#RECRUIT .contentbg2 .columns .column dd .input__size5 {
  width: 100%;
  max-width: 44.6rem
}

#RECRUIT .contentbg2 .columns .column dd select {
  width: 35rem;
  background: #fff;
  border-radius: .5rem;
  font-size: 1.6rem;
  padding: .85rem .5rem;
  border: none
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg2 .columns .column dd select {
    width: 100%
  }
}

#RECRUIT .contentbg2 .columns .column dd .textarea1 {
  width: 100%;
  background: #fff;
  border-radius: .5rem;
  font-size: 1.6rem;
  padding: .85rem .5rem;
  border: none
}

#RECRUIT .contentbg2 .columns .column dd .radiobox input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none
}

#RECRUIT .contentbg2 .columns .column dd .radiobox input[type=radio]:checked+span {
  background: rgba(34, 77, 57, .5);
  color: #fff
}

#RECRUIT .contentbg2 .columns .column dd .radiobox label span {
  cursor: pointer;
  display: block;
  background: #fff;
  border-radius: .5rem;
  font-size: 1.6rem;
  padding: .85rem 2.5rem
}

#RECRUIT .contentbg2 .columns .column dd .wpcf7-file::file-selector-button {
  border: none;
  cursor: pointer;
  background: #fff;
  border-radius: .5rem;
  font-size: 1.6rem;
  padding: .85rem 2.5rem
}

#RECRUIT .contentbg2 .columns .column dd .items {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg2 .columns .column dd .items {
    gap: 2rem
  }
}

#RECRUIT .contentbg2 .columns .column dd .items.items--many {
  gap: 1rem
}

@media only screen and (max-width: 767px) {
  #RECRUIT .contentbg2 .columns .column dd .items.items--many {
    flex-flow: column
  }
}

#RECRUIT .contentbg2 .columns .column dd .input__head {
  display: inline-block;
  margin-right: 1rem
}

#RECRUIT .contentbg2 .columns .column dd .input__head.input__head--right {
  margin-left: 1rem;
  margin-right: 0
}

#RECRUIT .contentbg2 .btn__block {
  margin-top: 6rem
}

#RECRUIT .contentbg2 .btn__block .btn__finger {
  padding: 0
}

@media(any-hover: hover) {
  #RECRUIT .contentbg2 .btn__block .btn__finger:hover .btn__finger__in .icon_finger {
    left: 4rem
  }
}

#RECRUIT .contentbg2 .btn__block .btn__finger .btn__finger__in {
  display: block;
  padding: 0
}

#RECRUIT .contentbg2 .btn__block .btn__finger .btn__finger__in .icon_finger {
  left: 2rem
}

#RECRUIT .contentbg2 .btn__block .btn__finger .btn__finger__in input {
  cursor: pointer;
  display: block;
  width: 100%;
  height: 100%;
  padding: 2rem 0;
  color: #fff
}

#RECRUIT .contentbg2 .btn__block .btn__finger .btn__finger__in .wpcf7-spinner {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto
}

#RECRUIT .thanks .ttl__thanks {
  font-size: 2.4rem;
  text-align: center;
  border-bottom: 1px solid;
  padding-bottom: 1rem;
  margin-bottom: 2rem
}

/*# sourceMappingURL=style.css.map */