@charset "UTF-8";
/*!
Theme Name: 第一ゴルフ株式会社総合採用サイト
Theme URI: https://panarea.co.jp
Author: shogo yonetani
Author URI: https://panarea.co.jp
Description: 第一ゴルフ株式会社総合採用サイト
*/
/*Color Management*/
/*Basic Color*/
/*Couplate Color*/
/*Footer*/
/*ASIDE*/
/*!color*/
/*!レスポンシブ*/
/*!normalize.css*/
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

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

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden], template {
  display: none; }

a {
  background: transparent; }

a:active, a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b, strong {
  font-weight: 700; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: .67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -.5em; }

sub {
  bottom: -.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

code, kbd, pre, samp {
  font-family: monospace;
  font-size: 1em; }

input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button, select {
  text-transform: none; }

button, html input[type="button"], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  /*cursor:pointer*/ }

button[disabled], html input[disabled] {
  /*cursor:default*/ }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: 700; }

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

td, th {
  padding: 0; }

/*!//normalize.css*/
/*!basic css*/
html {
  height: 100%;
  font-size: 1.2vw; }
  @media screen and (max-width: 768px) {
    html {
      font-size: 3.5vw; } }
  @media screen and (min-width: 1367px) {
    html {
      font-size: 16.4px; } }

body {
  margin: 0;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: auto;
  height: auto;
  font-family: 'Montserrat',Avenir Next,Verdana,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,Osaka,sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  -webkit-text-size-adjust: 100%;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -ms-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  overflow-x: hidden;
  overflow-y: auto;
  background: #E5E5E5;
  color: #231815;
  /*-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;*/
  opacity: 0;
  transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
  -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
  -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
  -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }

* {
  color: #231815;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-feature-settings: "palt"; }

::selection {
  background-color: rgba(0, 0, 0, 0.15);
  color: #231815; }

/*マウスストーカー*/
.mouse {
  background: black;
  border-radius: 50%;
  position: fixed;
  z-index: 10010;
  pointer-events: none;
  transition: transform 200ms ease-in-out, opacity 200ms ease-in-out; }
  @media screen and (max-width: 768px) {
    .mouse {
      display: none; } }

.cursor, .follower {
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  cursor: none;
  pointer-events: none; }

.cursor {
  width: 8px;
  height: 8px;
  background-color: #000;
  z-index: 10001; }

.follower {
  width: 40px;
  height: 40px;
  background-color: #000;
  opacity: .2;
  z-index: 10000;
  transition: transform ease .1s; }

.follower.is-active {
  transform: scale(2);
  transition: transform ease .1s; }

/*!#siteContent*/
#siteContent {
  position: relative;
  z-index: 15;
  width: 100%;
  margin-left: auto; }
  @media screen and (max-width: 768px) {
    #siteContent {
      overflow: hidden; } }
  #siteContent.__index {
    overflow: hidden; }

/*!TEXT*/
p, h1, h2, h3, h4, h5 {
  display: block;
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  margin: 0;
  font-size: 1em;
  line-height: 1.8; }

h1, h2, h3, h4, h5 {
  position: relative;
  z-index: 15; }

p {
  letter-spacing: 0;
  font-weight: 300;
  line-height: 1.65; }

.sans {
  font-family: 'Montserrat',Avenir Next,Verdana,'Noto Sans JP',游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,Osaka,sans-serif; }

.serif {
  font-family: "Libre Baskerville", YuMincho, "游明朝", "Times New Roman", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "HGS明朝B", "ＭＳ Ｐ明朝", serif, "Meiryo", "Sawarabi Mincho", "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }

i {
  font-style: normal; }

.emphasis {
  background: linear-gradient(rgba(230, 0, 17, 0.25), rgba(230, 0, 17, 0.25)) no-repeat;
  background-size: 100% 8px;
  background-position: 0 0.9em; }

b, strong {
  color: #00a63c; }

.posCenter {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0); }

img {
  max-width: 100%;
  height: auto; }

img.objf {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }

video.objf {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }

/*!LINK*/
a {
  color: #151515;
  text-decoration: none; }
  a.not {
    cursor: not-allowed; }
  a.inline {
    text-decoration: underline; }
  a[target='_blank'] p::after {
    content: '';
    display: inline-block;
    vertical-align: sub;
    width: 1em;
    height: 1em;
    background: url(images/iconLinkout.svg);
    background-size: cover;
    margin-left: 1em; }
  a.linkFull {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    cursor: pointer; }
  a.btn {
    position: relative;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 21em;
    background: #f7f7f7;
    margin: 0 auto;
    padding: 1.23em 2.05em;
    border-radius: 3.075em;
    border: solid 1px #eeeeee;
    overflow: hidden;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    a.btn > span {
      display: block; }
      a.btn > span.txt {
        font-weight: normal;
        font-size: .9em;
        transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
      a.btn > span.icon {
        display: block;
        width: 1em;
        height: 1em;
        background: url(images/icon_arrow.svg) center no-repeat;
        background-size: 75%;
        margin-left: .615em;
        transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
      a.btn > span.out {
        background: url(images/icon_links-blk.svg) center no-repeat !important;
        background-size: 75%; }
    a.btn.fill {
      border: solid 1px #006837; }
      a.btn.fill::before {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: #006837;
        transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
      a.btn.fill * {
        position: relative;
        color: #ffffff; }
  a.link {
    position: relative;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 4.1em;
    max-width: 20.5em;
    margin-left: auto;
    margin-top: 4.1em; }
    @media screen and (max-width: 768px) {
      a.link {
        margin-top: 3.075em; } }
    a.link::before {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: -1;
      width: 0;
      height: 2px;
      background: #231815;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    a.link::after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: -1;
      width: 100%;
      height: 2px;
      background: #231815;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      transition-delay: .3075s; }
    a.link span {
      display: block; }
      a.link span.txt {
        font-weight: bold; }
      a.link span.icon {
        width: 1em;
        height: 1em;
        background: url(images/icon_arrow.svg) center;
        background-size: cover;
        transform: rotate(-45deg);
        margin-left: 1.645em; }
    a.link:hover::before {
      width: 100%;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      transition-delay: .3075s; }
    a.link:hover::after {
      width: 0;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  a:hover.btn {
    background: #ffffff;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    a:hover.btn.fill::before {
      filter: brightness(0.9);
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    a:hover.btn.line::before {
      filter: brightness(0.5);
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    a:hover.btn > span.txt {
      transform: translateX(0.41em);
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      transition-duration: .205s; }
    a:hover.btn > span.icon {
      transform: translateX(0.41em);
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      transition-duration: .205s;
      transition-delay: .1025s; }

/*!ul/dl*/
ul, dl {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  -webkit-padding-start: 0;
  -moz-margin-before: 0;
  -moz-margin-after: 0;
  -moz-margin-start: 0;
  -moz-margin-end: 0;
  -moz-padding-start: 0;
  -ms-margin-before: 0;
  -ms-margin-after: 0;
  -ms-margin-start: 0;
  -ms-margin-end: 0;
  -ms-padding-start: 0;
  -o-margin-before: 0;
  -o-margin-after: 0;
  -o-margin-start: 0;
  -o-margin-end: 0;
  -o-padding-start: 0;
  margin-before: 0;
  margin-after: 0;
  margin-start: 0;
  margin-end: 0;
  padding-start: 0;
  -webkit-padding-left: 0;
  -moz-padding-left: 0;
  -ms-padding-left: 0;
  -o-padding-left: 0;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0; }

ul li {
  list-style-type: none; }

dl dd {
  margin-left: 0; }

/*!ASPECT*/
.aspect {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden; }
  .aspect.aspect35 {
    padding-top: 35%; }
  .aspect.aspect41 {
    padding-top: 41.4%; }
  .aspect.aspect50 {
    padding-top: 50%; }
  .aspect.aspect56 {
    padding-top: 56.25%; }
  .aspect.aspect61 {
    padding-top: 61.8%; }
  .aspect.aspect75 {
    padding-top: 75%; }
  .aspect.aspect100 {
    padding-top: 100%; }
  .aspect.aspect120 {
    padding-top: 120%; }
  .aspect.aspect141 {
    padding-top: 141.4%; }
  .aspect.aspect178 {
    padding-top: 178%; }
  .aspect.aspect200 {
    padding-top: 200%; }
  .aspect .aspectBlock {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%; }
    .aspect .aspectBlock .aspectInner {
      height: calc(100% + 10rem);
      transform: translateY(-5rem); }
    .aspect .aspectBlock img {
      width: 100%;
      height: auto; }
      .aspect .aspectBlock img.objf {
        width: 100%;
        height: 100%;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
    .aspect .aspectBlock iframe {
      width: 100%;
      height: 100%; }
    .aspect .aspectBlock video {
      width: 100%;
      height: auto; }

/*!fugure*/
figure {
  margin: 0; }
  figure figurecaption {
    font-size: .85em;
    margin-top: .41em;
    display: block; }

/*!shadow*/
.sdw {
  box-shadfigureow: 0 1rem 3rem rgba(0, 0, 0, 0.05); }

.shadow {
  box-shadow: 0 2.5rem 2rem -2rem #193b4d66; }

/*!Resposive*/
.hidden-xs {
  display: block !important; }
  @media screen and (max-width: 768px) {
    .hidden-xs {
      display: none !important; } }

.visible-xs {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .visible-xs {
      display: block !important; } }

/*!.sticky*/
.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 8999; }

/*!page loading*/
#main {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999999;
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  background: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column; }
  #main::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle farthest-side, #19080826, #280b0b26);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1; }
  #main .img {
    display: block;
    overflow: hidden;
    height: 2.05em; }
    #main .img img {
      width: auto;
      height: 2.05em;
      transform: translateY(2.05em); }
      @media screen and (max-width: 768px) {
        #main .img img {
          height: 2.05em; } }
      #main .img img.gone {
        transform: translateY(0);
        transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
        -o-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
        -moz-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
        -webkit-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s; }

.loading {
  height: 2.1em;
  width: 2.1em;
  border-radius: 100%;
  border-top: 1px solid #f7f7f7;
  margin-top: 2.1em;
  animation: move 1s infinite; }
  @media screen and (max-width: 768px) {
    .loading {
      height: 1.64em;
      width: 1.64em; } }

@keyframes move {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
/*ロード終了*/
[data-loading="true"] #main.hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
  -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
  -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
  -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }

/*!.inview*/
.inview {
  opacity: 0; }
  .inview.action {
    opacity: 1;
    transition: ease-in-out 1s; }
  .inview.action[data-delay="1"] {
    transition-delay: 0.05s; }
  .inview.action[data-delay="2"] {
    transition-delay: 0.1s; }
  .inview.action[data-delay="3"] {
    transition-delay: 0.15s; }
  .inview.action[data-delay="4"] {
    transition-delay: 0.2s; }
  .inview.action[data-delay="5"] {
    transition-delay: 0.25s; }
  .inview.action[data-delay="6"] {
    transition-delay: 0.3s; }
  .inview.action[data-delay="7"] {
    transition-delay: 0.35s; }
  .inview.action[data-delay="8"] {
    transition-delay: 0.4s; }
  .inview.action[data-delay="9"] {
    transition-delay: 0.45s; }
  .inview.action[data-delay="10"] {
    transition-delay: 0.5s; }

.animated {
  transform: translateY(2em); }
  .animated.move {
    transform: translateY(0);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s; }

.animate {
  transform: translateY(-2rem); }
  .animate.move {
    transform: translateY(0);
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }

.blur {
  filter: blur(10px);
  transform: translate3d(0, 0, 0) perspective(0);
  backface-visibility: hidden;
  will-change: contents; }
  .blur.action {
    filter: blur(0);
    transition: ease .5s; }

.animeBox {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 15;
  overflow: hidden; }
  .animeBox::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 0;
    height: 100%;
    background: #006837; }
  .animeBox img {
    opacity: 0; }
  .animeBox.gone::after {
    animation: animeCover 1.25s forwards;
    animation-delay: .5s; }
  .animeBox.gone img {
    animation: animeImg 1.25s forwards;
    animation-delay: .5s; }

@keyframes animeCover {
  0% {
    width: 0;
    left: 0; }
  50% {
    width: 100%;
    left: 0; }
  51% {
    width: 100%;
    left: initial;
    right: 0; }
  100% {
    width: 0;
    left: initial;
    right: 0; } }
@keyframes animeImg {
  0% {
    opacity: 0; }
  50% {
    opacity: 0; }
  51% {
    opacity: 1; }
  100% {
    opacity: 1; } }
/*ベンダープレフィックス登録*/
.animation {
  animation: humbNav 1.5s linear 0s infinite;
  -o-animation: humbNav 1.5s linear 0s infinite;
  -moz-animation: humbNav 1.5s linear 0s infinite;
  -webkit-animation: humbNav 1.5s linear 0s infinite; }

@keyframes humbNav {
  0% {
    width: 30%; }
  50% {
    width: 15%; }
  100% {
    width: 30%; } }
@-webkit-keyframes humbNav {
  0% {
    width: 30%; }
  50% {
    width: 15%; }
  100% {
    width: 30%; } }
@-o-keyframes humbNav {
  0% {
    width: 30%; }
  50% {
    width: 15%; }
  100% {
    width: 30%; } }
.anime_fade {
  display: flex; }

.anime_fade:hover span {
  animation: anime_fade 1s linear 0s 1;
  -o-animation: anime_fade 1s linear 0s 1;
  -moz-animation: anime_fade 1s linear 0s 1;
  -webkit-animation: anime_fade 1s linear 0s 1; }

@keyframes anime_fade {
  0% {
    opacity: 1; }
  5% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@-webkit-keyframes anime_fade {
  0% {
    opacity: 1; }
  5% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@-o-keyframes anime_fade {
  0% {
    opacity: 1; }
  5% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 1; } }
.transition {
  transition: ease 0.3s;
  transition: -o-ease 0.3s;
  transition: -moz-ease 0.3s;
  transition: -webkit-ease 0.3s; }

/*!input*/
select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: '';
  background: #f8f8f8;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  width: 100%;
  height: 60px;
  font-size: 1.5rem; }
  select option {
    background-color: #fff;
    color: #333; }

/*!------------------------------------
css_assets(パーツ)
-------------------------------------*/
/*!button*/
.humbBtn {
  width: 4.1em;
  height: 4.1em;
  position: relative; }
  @media screen and (max-width: 768px) {
    .humbBtn {
      display: block;
      width: 15vw;
      height: 15vw; } }
  .humbBtn span.dots {
    display: block;
    width: 2px;
    height: 2px;
    border-radius: 2px;
    background: #151515;
    position: absolute;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
    .humbBtn span.dots:nth-child(1) {
      top: calc(50% - 5px);
      left: calc(50% - 5px);
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(2) {
      top: calc(50% - 5px);
      left: 50%;
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(3) {
      top: calc(50% - 5px);
      left: calc(50% + 5px);
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(4) {
      top: 50%;
      left: calc(50% - 5px);
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(5) {
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(6) {
      top: 50%;
      left: calc(50% + 5px);
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(7) {
      top: calc(50% + 5px);
      left: calc(50% - 5px);
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(8) {
      top: calc(50% + 5px);
      left: 50%;
      transform: translate(-50%, -50%); }
    .humbBtn span.dots:nth-child(9) {
      top: calc(50% + 5px);
      left: calc(50% + 5px);
      transform: translate(-50%, -50%); }
  .humbBtn span.border {
    display: block;
    width: 20%;
    height: 2px;
    border-radius: 2px;
    background: #151515;
    position: absolute;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
    .humbBtn span.border:nth-child(1) {
      top: 42.5%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .humbBtn span.border:nth-child(2) {
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .humbBtn span.border:nth-child(3) {
      top: 57.5%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .humbBtn:hover span.dots {
    background: #fff;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
    .humbBtn:hover span.dots:nth-child(1) {
      top: calc(50% - 6px);
      left: calc(50% - 6px); }
    .humbBtn:hover span.dots:nth-child(2) {
      top: calc(50% - 6px);
      left: 50%; }
    .humbBtn:hover span.dots:nth-child(3) {
      top: calc(50% - 6px);
      left: calc(50% + 6px); }
    .humbBtn:hover span.dots:nth-child(4) {
      top: 50%;
      left: calc(50% - 6px); }
    .humbBtn:hover span.dots:nth-child(5) {
      top: 50%;
      left: 50%; }
    .humbBtn:hover span.dots:nth-child(6) {
      top: 50%;
      left: calc(50% + 6px); }
    .humbBtn:hover span.dots:nth-child(7) {
      top: calc(50% + 6px);
      left: calc(50% - 6px); }
    .humbBtn:hover span.dots:nth-child(8) {
      top: calc(50% + 6px);
      left: 50%; }
    .humbBtn:hover span.dots:nth-child(9) {
      top: calc(50% + 6px);
      left: calc(50% + 6px); }
  .humbBtn.active span.dots {
    background: #fff;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
    .humbBtn.active span.dots:nth-child(1) {
      top: 50%;
      left: calc(50% - 5px); }
    .humbBtn.active span.dots:nth-child(2) {
      top: 50%;
      left: 50%; }
    .humbBtn.active span.dots:nth-child(3) {
      top: 50%;
      left: calc(50% + 5px); }
    .humbBtn.active span.dots:nth-child(4) {
      top: 50%;
      left: calc(50% - 5px); }
    .humbBtn.active span.dots:nth-child(5) {
      top: 50%;
      left: 50%; }
    .humbBtn.active span.dots:nth-child(6) {
      top: 50%;
      left: calc(50% + 5px); }
    .humbBtn.active span.dots:nth-child(7) {
      top: 50%;
      left: calc(50% - 5px); }
    .humbBtn.active span.dots:nth-child(8) {
      top: 50%;
      left: 50%; }
    .humbBtn.active span.dots:nth-child(9) {
      top: 50%;
      left: calc(50% + 5px); }
  .humbBtn.active span.border {
    background: #231815;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
    .humbBtn.active span.border:nth-child(1) {
      top: 50%; }
    .humbBtn.active span.border:nth-child(3) {
      top: 50%; }
  .humbBtn.scroll span {
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }

/*!------------------------------------
css_template(レイアウト)
-------------------------------------*/
.innerWrap {
  width: 80%;
  max-width: 1280px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .innerWrap {
      width: 85%; } }

/*!------------------------------------
css_sections(ブロック)
-------------------------------------*/
/*!#siteHeader------------------------------------------------------------------------------------------------*/
/**/
#siteHeader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 8001;
  width: 100%;
  height: auto;
  padding: 2.05em 0;
  margin-left: auto;
  transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  @media screen and (max-width: 768px) {
    #siteHeader {
      padding: 0;
      background: #E5E5E5;
      box-shadow: 0 5px 10px -12.5px; } }
  #siteHeader::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
    background: #E5E5E5; }
  #siteHeader .wrapper {
    width: 90%;
    height: auto;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      #siteHeader .wrapper {
        width: 100%; } }
    @media screen and (min-width: 1367px) {
      #siteHeader .wrapper {
        max-width: 1440px; } }
  #siteHeader ._flex {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 768px) {
      #siteHeader ._flex ._left {
        width: 70vw;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: 15vw; } }
    #siteHeader ._flex ._right {
      display: flex;
      align-items: center;
      justify-content: flex-end; }
  #siteHeader ._logo a {
    display: block; }
  #siteHeader ._logo img {
    width: auto;
    height: 2.255em; }
    @media screen and (max-width: 768px) {
      #siteHeader ._logo img {
        height: 2.05em; } }
  #siteHeader.move {
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    @media screen and (max-width: 768px) {
      #siteHeader.move {
        background: #ffffff; } }
    #siteHeader.move::before {
      height: 0 !important;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    #siteHeader.move nav._header {
      opacity: 0 !important;
      visibility: hidden;
      pointer-events: none;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    #siteHeader.move ._logo {
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
      transform: translateY(0) !important;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }

@media screen and (max-width: 768px) {
  nav._header {
    display: none; } }
nav._header ul._list {
  display: flex;
  align-items: center;
  transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  nav._header ul._list li {
    position: relative;
    z-index: 15;
    margin-right: 2.05em; }
    nav._header ul._list li[data-number]::after {
      content: attr(data-number) "";
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .8em;
      position: absolute;
      left: calc(100% - .615em);
      bottom: calc(100% - .615em);
      color: #ffffff;
      background: #006837;
      width: 2.05em;
      height: 2.05em;
      border-radius: 2.05em; }
    nav._header ul._list li span {
      display: block;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
      nav._header ul._list li span.en {
        font-size: .8em;
        opacity: .615; }
    nav._header ul._list li:hover span {
      color: #006837;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }

body.scroll #siteHeader::before {
  height: 0;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
body.scroll #siteHeader ._logo {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-2.05em);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
  @media screen and (max-width: 768px) {
    body.scroll #siteHeader ._logo {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateY(0); } }
body.scroll #siteHeader nav._header {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-2.05em);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }

body.scrollUp #siteHeader::before {
  height: 100%;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
body.scrollUp #siteHeader ._logo {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
body.scrollUp #siteHeader nav._header {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }

/*!#aside*/
aside .innerWrap {
  height: 100%;
  position: relative;
  z-index: 15; }
aside#aside {
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 7000;
  pointer-events: none;
  opacity: 0;
  background: #ffffff;
  transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  transition-delay: .82s; }
  @media screen and (max-width: 768px) {
    aside#aside {
      width: 100%;
      overflow: scroll; } }
  aside#aside .bgWrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end; }
    aside#aside .bgWrap .img {
      position: relative;
      z-index: 15;
      width: calc((100%/8) * 3);
      height: 100%;
      opacity: 0;
      transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
      @media screen and (max-width: 768px) {
        aside#aside .bgWrap .img {
          display: none; } }
    aside#aside .bgWrap .belt {
      position: relative;
      z-index: 15;
      width: calc(100% / 8);
      height: 0;
      background: #006837;
      transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
      @media screen and (max-width: 768px) {
        aside#aside .bgWrap .belt {
          width: calc(100% / 5); } }
      aside#aside .bgWrap .belt::before {
        content: '';
        display: block;
        width: 1px;
        height: 0;
        background: #252525;
        position: absolute;
        left: 0;
        top: 0;
        transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
        -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
        -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
        -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
      aside#aside .bgWrap .belt:nth-child(1) {
        transition-delay: .1s; }
      aside#aside .bgWrap .belt:nth-child(2) {
        transition-delay: .15s; }
      aside#aside .bgWrap .belt:nth-child(3) {
        transition-delay: .2s; }
      aside#aside .bgWrap .belt:nth-child(4) {
        transition-delay: .25s; }
      aside#aside .bgWrap .belt:nth-child(5) {
        transition-delay: .3s; }
      aside#aside .bgWrap .belt:nth-child(6) {
        transition-delay: .35s; }
      aside#aside .bgWrap .belt:nth-child(7) {
        transition-delay: .4s; }
      aside#aside .bgWrap .belt:nth-child(8) {
        transition-delay: .45s; }
  aside#aside .innerWrap {
    width: 80%;
    max-width: 860px;
    padding: calc(8.2em + 6.15em) 0 6.15em;
    opacity: 0;
    pointer-events: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
    @media screen and (max-width: 768px) {
      aside#aside .innerWrap {
        padding: calc(15vw + 4.1em) 0 3.075em; } }
  aside#aside.move {
    opacity: 1;
    pointer-events: auto;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
    aside#aside.move .bgWrap .img {
      opacity: 1;
      transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      transition-delay: .6s; }
    aside#aside.move .bgWrap .belt {
      height: 100%;
      background: #151515;
      transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
      aside#aside.move .bgWrap .belt::before {
        height: 100%;
        bottom: 0;
        transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
        -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
        -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
        -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
      aside#aside.move .bgWrap .belt:nth-child(7) {
        transition-delay: .1s; }
        aside#aside.move .bgWrap .belt:nth-child(7)::before {
          transition-delay: .3s; }
      aside#aside.move .bgWrap .belt:nth-child(6) {
        transition-delay: .2s; }
        aside#aside.move .bgWrap .belt:nth-child(6)::before {
          transition-delay: .4s; }
      aside#aside.move .bgWrap .belt:nth-child(5) {
        transition-delay: .3s; }
        aside#aside.move .bgWrap .belt:nth-child(5)::before {
          transition-delay: .5s; }
      aside#aside.move .bgWrap .belt:nth-child(4) {
        transition-delay: .4s; }
        aside#aside.move .bgWrap .belt:nth-child(4)::before {
          transition-delay: .6s; }
      aside#aside.move .bgWrap .belt:nth-child(3) {
        transition-delay: .5s; }
        aside#aside.move .bgWrap .belt:nth-child(3)::before {
          transition-delay: .7s; }
      aside#aside.move .bgWrap .belt:nth-child(2) {
        transition-delay: .6s; }
        aside#aside.move .bgWrap .belt:nth-child(2)::before {
          transition-delay: .8s; }
      aside#aside.move .bgWrap .belt:nth-child(1) {
        transition-delay: .7s; }
        aside#aside.move .bgWrap .belt:nth-child(1)::before {
          transition-delay: .9s; }
    aside#aside.move .innerWrap {
      opacity: 1;
      pointer-events: auto;
      transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      transition-delay: 1s; }
    aside#aside.move dl.listHumbNav dt {
      opacity: 1;
      visibility: visible;
      pointer-events: all;
      transform: translateX(0);
      transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
      aside#aside.move dl.listHumbNav dt:nth-child(1) {
        transition-delay: .7s; }
      aside#aside.move dl.listHumbNav dt:nth-child(2) {
        transition-delay: .8s; }
      aside#aside.move dl.listHumbNav dt:nth-child(3) {
        transition-delay: .9s; }
      aside#aside.move dl.listHumbNav dt:nth-child(4) {
        transition-delay: 1s; }
      aside#aside.move dl.listHumbNav dt:nth-child(5) {
        transition-delay: 1.1s; }
      aside#aside.move dl.listHumbNav dt:nth-child(6) {
        transition-delay: 1.2s; }
      aside#aside.move dl.listHumbNav dt:nth-child(7) {
        transition-delay: 1.3s; }
      aside#aside.move dl.listHumbNav dt:nth-child(8) {
        transition-delay: 1.4s; }
      aside#aside.move dl.listHumbNav dt:nth-child(9) {
        transition-delay: 1.5s; }
      aside#aside.move dl.listHumbNav dt:nth-child(10) {
        transition-delay: 1.6s; }
    aside#aside.move dl.listHumbNav dd {
      opacity: 1;
      visibility: visible;
      pointer-events: all;
      transform: translateY(0);
      transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
      transition-delay: 1.2s; }
    aside#aside.move .aisde_footer {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
      -o-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
      -moz-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
      -webkit-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s; }
aside#mov {
  position: fixed;
  right: 5%;
  bottom: 3%;
  z-index: 100;
  width: 100%;
  max-width: 20em;
  overflow: hidden;
  border-radius: 1.125em;
  box-shadow: 0 5px 10px -10px;
  transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  @media screen and (max-width: 768px) {
    aside#mov {
      right: 2.5vw;
      bottom: 2.5vw;
      max-width: 14.35em;
      border-radius: .615em; } }
  aside#mov .mov_btn .aspect::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: #231815;
    opacity: .205;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  aside#mov .mov_btn .btn {
    filter: grayscale(1);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    @media screen and (max-width: 768px) {
      aside#mov .mov_btn .btn {
        filter: grayscale(0); } }
    aside#mov .mov_btn .btn img {
      width: 4.1em;
      height: 4.1em; }
      @media screen and (max-width: 768px) {
        aside#mov .mov_btn .btn img {
          width: 3.075em;
          height: 3.075em; } }
  aside#mov:hover {
    transform: scale(0.95);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    aside#mov:hover .mov_btn .aspect::after {
      opacity: 0;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    aside#mov:hover .mov_btn .btn {
      filter: grayscale(0);
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
aside#cside {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 6001;
  width: 100%;
  height: auto; }
  @media screen and (max-width: 768px) {
    aside#cside {
      display: block; } }
  aside#cside ul._list {
    display: flex; }
    aside#cside ul._list li {
      width: calc((100vw - 12.5vw) / 2); }
      aside#cside ul._list li.tel {
        background: #b34747; }
      aside#cside ul._list li.mail {
        background: #4763b3; }
      aside#cside ul._list li.toTop {
        width: 12.5vw;
        height: 12.5vw;
        background: #231815; }
    aside#cside ul._list span {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%; }
      aside#cside ul._list span.txt {
        color: #ffffff; }
      aside#cside ul._list span.icon {
        background: url(images/icon_arrow_wh.svg) center no-repeat;
        background-size: 30%;
        transform: rotate(-90deg); }

@keyframes scrollAnimation {
  0% {
    opacity: 0;
    transform: translateY(-28px); }
  50% {
    opacity: 1;
    transform: translateY(0); }
  100% {
    opacity: 0;
    transform: translateY(20px); } }
ul.listHumbNav {
  width: 100%;
  display: flex;
  flex-wrap: wrap; }
  ul.listHumbNav li {
    width: 50%; }

dl.listHumbNav {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  dl.listHumbNav dt {
    position: relative;
    z-index: 15;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-2.05em);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s; }
    dl.listHumbNav dt::before {
      content: '';
      display: block;
      width: .5em;
      height: .5em;
      border-radius: 1em;
      position: absolute;
      right: 100%;
      bottom: 100%;
      opacity: 0;
      background: #006837; }
    dl.listHumbNav dt span {
      display: block; }
      dl.listHumbNav dt span.jp {
        font-size: 2.46em;
        color: #00a63c; }
        @media screen and (max-width: 768px) {
          dl.listHumbNav dt span.jp {
            font-size: 1.435em; } }
      dl.listHumbNav dt span.en {
        font-size: 1.125em; }
        @media screen and (max-width: 768px) {
          dl.listHumbNav dt span.en {
            font-size: .85em;
            margin-top: .205em; } }
    dl.listHumbNav dt + * {
      margin-top: 1.64em !important; }
      @media screen and (max-width: 768px) {
        dl.listHumbNav dt + * {
          margin-top: 0.82em !important; } }
    dl.listHumbNav dt ~ dt {
      margin-top: 1.64em !important; }
      @media screen and (max-width: 768px) {
        dl.listHumbNav dt ~ dt {
          margin-top: .82em; } }
    dl.listHumbNav dt.active::before {
      opacity: 1; }
    dl.listHumbNav dt.active span {
      color: #006837; }
  dl.listHumbNav dd {
    width: 100%;
    margin-top: .82em;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(1.23em);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s; }
    @media screen and (max-width: 768px) {
      dl.listHumbNav dd {
        width: 50%;
        margin-top: .82em; } }
    dl.listHumbNav dd span {
      font-size: .9225em;
      opacity: .5;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s; }
      @media screen and (max-width: 768px) {
        dl.listHumbNav dd span {
          font-size: 1em; } }
    dl.listHumbNav dd:hover {
      opacity: 1;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s; }

.aisde_footer {
  position: relative;
  z-index: 15;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transform: translateY(2.05em);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s; }
  @media screen and (max-width: 768px) {
    .aisde_footer {
      margin-top: 5.33em;
      padding: 4.1em 0 6.15em; } }
  .aisde_footer dl.listHeadoffice {
    display: block; }
    @media screen and (max-width: 768px) {
      .aisde_footer dl.listHeadoffice {
        width: 100%; } }
    .aisde_footer dl.listHeadoffice dt {
      margin-bottom: .41em; }
      @media screen and (max-width: 768px) {
        .aisde_footer dl.listHeadoffice dt {
          margin-bottom: .82em; } }
      .aisde_footer dl.listHeadoffice dt img {
        width: auto;
        height: 1.435em; }
    .aisde_footer dl.listHeadoffice dd {
      display: flex;
      align-items: center;
      opacity: .82; }
      @media screen and (max-width: 768px) {
        .aisde_footer dl.listHeadoffice dd {
          font-size: .9em; } }
      .aisde_footer dl.listHeadoffice dd ~ dd {
        margin-top: .82em; }
      .aisde_footer dl.listHeadoffice dd span {
        display: block;
        width: calc(100% + 1.615em); }
      .aisde_footer dl.listHeadoffice dd::before {
        content: '';
        width: 1em;
        height: 1em;
        margin-right: .615em; }
      .aisde_footer dl.listHeadoffice dd.address::before {
        background: url("images/icon_pin.svg");
        background-size: cover; }
      .aisde_footer dl.listHeadoffice dd.mail::before {
        background: url("images/icon_mail.svg");
        background-size: cover; }
      .aisde_footer dl.listHeadoffice dd.phone::before {
        background: url("images/icon_phone.svg");
        background-size: cover; }
  .aisde_footer .cr {
    font-size: .8em;
    opacity: .41;
    margin-top: 2.46em; }
    @media screen and (max-width: 768px) {
      .aisde_footer .cr {
        width: 100%;
        margin-top: 2.05em; } }

/*!//#siteHeader------------------------------------------------------------------------------------------------*/
/*!#siteFooter------------------------------------------------------------------------------------------------*/
#siteFooter {
  position: relative;
  z-index: 15;
  display: block;
  width: 100%;
  height: auto;
  margin-left: auto;
  padding: 16.4em 0 7.175em; }
  @media screen and (max-width: 768px) {
    #siteFooter {
      padding: 5.125em 0 calc(5.125em + 12.5vw); } }
  #siteFooter .wrapper {
    width: 80%;
    height: auto;
    margin: 0 auto; }
    @media screen and (min-width: 1367px) {
      #siteFooter .wrapper {
        max-width: 1440px; } }
  #siteFooter .sns_wrapper ul.listSocial {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto; }
    #siteFooter .sns_wrapper ul.listSocial li {
      display: block;
      opacity: .82;
      margin: 0 .615em;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
      #siteFooter .sns_wrapper ul.listSocial li a {
        width: 3.075em;
        height: 3.075em;
        display: flex;
        align-items: center;
        justify-content: center; }
      #siteFooter .sns_wrapper ul.listSocial li img {
        display: block;
        width: 1.64em;
        height: 1.64em; }
        @media screen and (max-width: 768px) {
          #siteFooter .sns_wrapper ul.listSocial li img {
            width: 1.435em;
            height: 1.435em; } }
      #siteFooter .sns_wrapper ul.listSocial li:hover {
        opacity: 1;
        transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  #siteFooter .copy_wrapper {
    margin-top: 4.1em;
    text-align: center; }
    #siteFooter .copy_wrapper img {
      width: auto;
      height: 2.46em; }
      @media screen and (max-width: 768px) {
        #siteFooter .copy_wrapper img {
          height: 2.05em; } }
    #siteFooter .copy_wrapper p {
      font-size: .8em;
      font-weight: 500;
      margin-top: 1.64em; }

.secNextPage {
  position: relative;
  z-index: 15;
  overflow: hidden; }
  .secNextPage ._bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    transform: scale(1.05);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    .secNextPage ._bg::after {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      background: #231815;
      opacity: .35;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  .secNextPage ._main {
    width: 100%; }
  .secNextPage .wrapper {
    position: relative;
    z-index: 15;
    display: block;
    width: calc(85% - (((100% * .85) - 15em) * 0.15));
    height: auto;
    min-height: 42em;
    margin: 0 auto;
    padding: 12.3em 0 8.2em; }
    @media screen and (max-width: 768px) {
      .secNextPage .wrapper {
        width: 85%;
        padding: 10.25em 0 6.15em; } }
    .secNextPage .wrapper * {
      color: #ffffff; }
    .secNextPage .wrapper > span {
      display: block;
      font-weight: bold;
      text-transform: uppercase;
      margin-bottom: .615em; }
    .secNextPage .wrapper h2 {
      font-size: 4.1em;
      line-height: 1.125; }
      @media screen and (max-width: 768px) {
        .secNextPage .wrapper h2 {
          font-size: 2.665em; } }
    .secNextPage .wrapper p {
      width: 50%;
      margin-top: 2.05em;
      line-height: 2;
      font-size: .9em; }
      @media screen and (max-width: 768px) {
        .secNextPage .wrapper p {
          width: 77.9%; } }
    .secNextPage .wrapper .svg_btn {
      position: absolute;
      right: 0;
      bottom: 6.15em; }
      @media screen and (max-width: 768px) {
        .secNextPage .wrapper .svg_btn {
          bottom: 7.5vw; } }
  .secNextPage:hover ._bg {
    transform: scale(1);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
    .secNextPage:hover ._bg::after {
      opacity: .5;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  .secNextPage:hover .svg_btn svg circle {
    stroke-width: 1;
    stroke-dasharray: 400, 0;
    stroke-dashoffset: 0; }

.svg_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 72px;
  height: 72px;
  line-height: 72px;
  border-radius: 72px;
  border: solid 1px rgba(255, 255, 255, 0.5);
  cursor: pointer; }
  .svg_btn svg {
    position: absolute;
    top: 0;
    left: 0; }
    .svg_btn svg circle {
      stroke: #ffffff;
      stroke-width: 1;
      stroke-dasharray: 400, 400;
      stroke-dashoffset: 400;
      transform: rotate(-90deg);
      transform-origin: center;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  .svg_btn:hover svg circle {
    stroke-width: 1;
    stroke-dasharray: 400, 0;
    stroke-dashoffset: 0; }

.secIndex._recruitment {
  position: relative;
  z-index: 15; }
  .secIndex._recruitment .wrapper {
    position: relative;
    z-index: 15;
    width: 90%;
    background: #231815;
    padding: calc(100vw * 0.125) calc(100vw * 0.1 / 2) calc(100vw * 0.125 / 2);
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      .secIndex._recruitment .wrapper {
        width: 100%;
        padding: 16.4em 10% 2.05em; } }
    .secIndex._recruitment .wrapper * {
      color: #ffffff; }
    .secIndex._recruitment .wrapper ._bg {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      top: 0;
      display: block;
      width: 100%;
      height: 100%; }
      .secIndex._recruitment .wrapper ._bg img {
        transform: scale(1.0125);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
      .secIndex._recruitment .wrapper ._bg::after {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        background: #231815;
        opacity: .41;
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
    .secIndex._recruitment .wrapper ._main {
      position: relative; }
      .secIndex._recruitment .wrapper ._main p {
        width: calc(300% / 7 ); }
        @media screen and (max-width: 768px) {
          .secIndex._recruitment .wrapper ._main p {
            width: 77.9%; } }
      .secIndex._recruitment .wrapper ._main::after {
        content: '';
        display: block;
        width: 1.125em;
        height: 1.125em;
        background: url(images/icon_arrow_wh.svg);
        transform: rotate(-45deg);
        position: absolute;
        right: 0;
        bottom: -1.125em; }
        @media screen and (max-width: 768px) {
          .secIndex._recruitment .wrapper ._main::after {
            right: 0;
            bottom: 0; } }
  .secIndex._recruitment:hover .wrapper ._bg img {
    transform: scale(1);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
  .secIndex._recruitment:hover .wrapper ._bg::after {
    opacity: .615;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }

.secRecruitwire {
  position: relative;
  z-index: 15;
  background: #239753; }
  .secRecruitwire .wrapper {
    width: calc(100% * .85 * .85);
    margin: 0 auto;
    padding: 6.15em 0; }
    @media screen and (max-width: 768px) {
      .secRecruitwire .wrapper {
        width: 85%;
        padding: 3.075em 0 4.1em; } }
  .secRecruitwire ul.list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .secRecruitwire ul.list li {
      width: calc((100% / 3) - (2.05em / 3));
      background: #ffffff;
      border-radius: 8px;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .secRecruitwire ul.list li {
          width: 100%;
          border-radius: 4.1em; } }
      @media screen and (max-width: 768px) {
        .secRecruitwire ul.list li ~ li {
          margin-top: .615em; } }
      .secRecruitwire ul.list li a {
        display: block;
        padding: 3.075em 0; }
        @media screen and (max-width: 768px) {
          .secRecruitwire ul.list li a {
            padding: 1.435em 0; } }
      .secRecruitwire ul.list li span {
        display: block;
        text-transform: uppercase;
        font-size: .8em;
        font-weight: bold; }
      .secRecruitwire ul.list li h3 {
        font-size: 1.435em; }
  .secRecruitwire ._foot {
    display: flex;
    justify-content: space-evenly;
    margin-top: 3.075em; }
    @media screen and (max-width: 768px) {
      .secRecruitwire ._foot {
        display: block; } }
    .secRecruitwire ._foot * {
      color: #ffffff;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .secRecruitwire ._foot * {
          text-align: center; } }
    @media screen and (max-width: 768px) {
      .secRecruitwire ._foot ._left {
        margin-bottom: .82em; } }
    .secRecruitwire ._foot ._left h4 {
      font-size: 2.46em;
      line-height: 1.5; }
      @media screen and (max-width: 768px) {
        .secRecruitwire ._foot ._left h4 {
          font-size: 1.845em;
          line-height: 1.23; } }
    @media screen and (max-width: 768px) {
      .secRecruitwire ._foot ._left p {
        font-weight: inherit; } }
    .secRecruitwire ._foot ._right {
      font-size: 4.51em; }
      @media screen and (max-width: 768px) {
        .secRecruitwire ._foot ._right {
          font-size: 2.665em; } }
      .secRecruitwire ._foot ._right a {
        display: flex;
        align-items: center; }
        @media screen and (max-width: 768px) {
          .secRecruitwire ._foot ._right a {
            justify-content: center; } }
        .secRecruitwire ._foot ._right a span {
          display: block; }

.secInduction {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 15; }
  .secInduction * {
    color: #fff; }
  .secInduction .wrapper {
    width: 100%;
    height: auto;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .secInduction .wrapper {
        width: 85%; } }
    @media screen and (min-width: 1367px) {
      .secInduction .wrapper {
        max-width: 1440px; } }
  .secInduction .f__wrapper {
    display: flex;
    flex-wrap: wrap; }
    .secInduction .f__wrapper > div {
      position: relative;
      z-index: 15;
      width: 50%;
      padding: 6.15em 0;
      text-align: center; }
      @media screen and (max-width: 768px) {
        .secInduction .f__wrapper > div {
          width: 100%;
          padding: 3.075em 0; } }
      .secInduction .f__wrapper > div::before {
        content: '';
        display: block;
        width: 50vw;
        height: 100%;
        background: #006837;
        position: absolute;
        top: 0;
        z-index: -1; }
        @media screen and (max-width: 768px) {
          .secInduction .f__wrapper > div::before {
            width: 100vw; } }
      .secInduction .f__wrapper > div a.btn {
        margin: 0 auto;
        margin-top: 2.05em; }
    .secInduction .f__wrapper > .__left::before {
      right: 0; }
      @media screen and (max-width: 768px) {
        .secInduction .f__wrapper > .__left::before {
          right: -7.5vw; } }
    .secInduction .f__wrapper > .__right::before {
      filter: brightness(0.9);
      left: 0; }
      @media screen and (max-width: 768px) {
        .secInduction .f__wrapper > .__right::before {
          left: -7.5vw; } }

.secGuide {
  position: relative;
  z-index: 15;
  display: block;
  width: 100%;
  height: auto;
  padding: 8.2em 0;
  background: #f7f7f7;
  border-top: solid 1px #eee;
  border-bottom: solid 1px #eee; }
  @media screen and (max-width: 768px) {
    .secGuide {
      padding: 3.075em 0; } }
  .secGuide.center {
    text-align: center; }
  .secGuide .wrapper {
    width: 80%;
    height: auto;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .secGuide .wrapper {
        width: 85%; } }
    @media screen and (min-width: 1367px) {
      .secGuide .wrapper {
        max-width: 1440px; } }
  .secGuide .contact_guide * {
    font-weight: bold; }
  .secGuide .contact_guide .call_wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .secGuide .contact_guide .call_wrapper {
        background: #ffffff;
        border: solid 1px #ddd;
        padding: 1.64em 0;
        border-radius: 4px; } }
    @media screen and (max-width: 768px) {
      .secGuide .contact_guide .call_wrapper p.lead {
        width: 100%; } }
    .secGuide .contact_guide .call_wrapper p.number {
      display: flex;
      align-items: center;
      font-size: 1.64em;
      margin: 0 .41em 0 .615em; }
      .secGuide .contact_guide .call_wrapper p.number::before {
        content: '';
        display: block;
        width: 1em;
        height: 1em;
        background: url(images/icon_phone.svg);
        background-size: cover;
        margin-right: .3075em; }
      .secGuide .contact_guide .call_wrapper p.number span {
        display: block; }
    .secGuide .contact_guide .call_wrapper p.open {
      font-size: .9em;
      font-weight: normal; }
  .secGuide a.contact {
    display: block;
    background: #006837;
    border: solid 1px #eee;
    padding: 2.1em 0;
    margin: 1.23em auto 1.64em;
    text-align: center;
    border-radius: 4px;
    max-width: 28em;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s; }
    @media screen and (max-width: 768px) {
      .secGuide a.contact {
        padding: 1.64em 0;
        margin: 1.23em auto; } }
    .secGuide a.contact:hover {
      filter: saturate(90%);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.41s; }
    .secGuide a.contact span {
      font-size: 1.23em;
      color: #ffffff;
      font-weight: bold; }

/*//!#siteFooter----------------------------------------------------------------------------------------------*/
/*!#index----------------------------------------------------------------------------------------------*/
h1.indexTtl {
  position: relative;
  z-index: 15; }
  @media screen and (max-width: 768px) {
    h1.indexTtl {
      margin-top: 15vw; } }
  h1.indexTtl span {
    display: block;
    font-weight: normal;
    font-size: 1.805em;
    line-height: 1.5;
    color: #ffffff;
    		/*
      background-color: $ff;
      background-image: -webkit-linear-gradient(left,$ff 0,$eye 55%,$ff 60%,$ff 60%);
      background-position: 0 0;
      background-size: 200% 200%;
      color: transparent;
      -webkit-background-clip: text;
      background-clip: text;
      animation: headingAnimation 3s ease-in-out 0s infinite normal;
    		*/ }
    @media screen and (max-width: 768px) {
      h1.indexTtl span {
        /*text-align: center;*/ } }
    h1.indexTtl span.en {
      font-size: 8.4em;
      font-weight: 900;
      line-height: .82; }
      @media screen and (max-width: 768px) {
        h1.indexTtl span.en {
          font-size: 3.075em; } }
    h1.indexTtl span.jp {
      font-size: 1.805em;
      font-weight: normal;
      letter-spacing: .1025em;
      line-height: 1;
      margin-top: .82em; }
      @media screen and (max-width: 768px) {
        h1.indexTtl span.jp {
          font-size: 1.46em; } }
    h1.indexTtl span em {
      font-style: normal;
      color: #ffffff;
      display: block;
      letter-spacing: 1em;
      line-height: 2;
      text-shadow: 0 2px 10px #3300005c; }
      h1.indexTtl span em:nth-child(1) {
        transition-delay: .25s; }
      h1.indexTtl span em:nth-child(2) {
        transition-delay: .5s; }
      h1.indexTtl span em:nth-child(3) {
        transition-delay: .75s; }
      h1.indexTtl span em:nth-child(4) {
        transition-delay: 1s; }
      h1.indexTtl span em:nth-child(5) {
        transition-delay: 1.25s; }
    h1.indexTtl span.action em {
      transition-delay: 0 !important; }
  h1.indexTtl + .box {
    margin-top: 2.05em; }
    @media screen and (max-width: 768px) {
      h1.indexTtl + .box {
        margin-top: 2.4em; } }

h2.indexTtl {
  position: relative;
  z-index: 15; }
  h2.indexTtl span {
    display: block;
    font-weight: bold;
    font-size: 1.435em;
    line-height: 1.5;
    background-color: #000a05;
    background-image: -webkit-linear-gradient(left, #000a05 0, #ffffff 55%, #000a05 60%, #000a05 60%);
    background-position: 0 0;
    background-size: 200% 200%;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    animation: headingAnimation 2s ease-in-out 0s infinite normal; }
    @media screen and (max-width: 768px) {
      h2.indexTtl span {
        text-align: center; } }
    h2.indexTtl span.en {
      font-size: 1em;
      font-weight: normal;
      margin-bottom: .41em;
      color: #006837; }
      @media screen and (max-width: 768px) {
        h2.indexTtl span.en {
          margin-bottom: .41em; } }
    h2.indexTtl span.jp {
      font-size: 1.435em;
      font-weight: 600; }
  h2.indexTtl + .box {
    margin-top: 2.1em; }
    @media screen and (max-width: 768px) {
      h2.indexTtl + .box {
        margin-top: 1.64em; } }

h3.indexTtl {
  position: relative;
  z-index: 15;
  margin-bottom: .41em; }
  h3.indexTtl span {
    display: table;
    line-height: 1.5;
    border-bottom: solid 1px #353535; }

.secIndex {
  position: relative;
  z-index: 15; }
  .secIndex h2 {
    font-size: 1.125em; }
    @media screen and (max-width: 768px) {
      .secIndex h2 {
        font-size: 1em; } }
  .secIndex h3 {
    font-size: 4.1em;
    line-height: 1.2;
    margin-bottom: .615em;
    color: #00a63c; }
    @media screen and (max-width: 768px) {
      .secIndex h3 {
        font-size: 2.87em;
        margin-bottom: .3075em; } }
  .secIndex h4 {
    font-size: 1.64em;
    line-height: 1.5;
    margin-bottom: 1.435em; }
    @media screen and (max-width: 768px) {
      .secIndex h4 {
        font-size: 1.435em;
        margin-bottom: 1em; } }
  .secIndex .wrapper {
    width: 80%;
    height: auto;
    margin: 0 auto; }
    @media screen and (min-width: 1367px) {
      .secIndex .wrapper {
        max-width: 1440px; } }
  .secIndex ~ .secIndex {
    margin-top: 12.3em; }
    @media screen and (max-width: 768px) {
      .secIndex ~ .secIndex {
        margin-top: 6.15em; } }

.ttl_wrapper {
  position: relative;
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3.485em; }
  @media screen and (max-width: 768px) {
    .ttl_wrapper {
      margin-bottom: 2.46em; } }
  .ttl_wrapper ._right {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .ttl_wrapper ._right {
        position: absolute;
        top: 4px;
        right: 0; } }
  .ttl_wrapper h2 {
    font-size: 2.05em;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .ttl_wrapper h2 {
        font-size: 1.64em; } }
  .ttl_wrapper h3 {
    font-weight: 500; }
    @media screen and (max-width: 768px) {
      .ttl_wrapper h3 {
        font-size: .8em;
        margin-bottom: .205em; } }
  .ttl_wrapper span {
    display: block; }
    .ttl_wrapper span.txt {
      font-size: .9em;
      font-weight: bold;
      margin-right: 1.64em; }
      @media screen and (max-width: 768px) {
        .ttl_wrapper span.txt {
          font-size: .8em; } }
    .ttl_wrapper span.border {
      width: 4.1em;
      height: 2px;
      border-radius: 1px;
      background: #231815; }
      @media screen and (max-width: 768px) {
        .ttl_wrapper span.border {
          width: 2.05em;
          height: 1px; } }

/*![#index] - [Key Visual]*/
.secIndex._kv {
  padding-top: 16.4em; }
  @media screen and (max-width: 768px) {
    .secIndex._kv {
      padding-top: 10.25em; } }
  .secIndex._kv ._bg-txt {
    animation: circleAnimation 60s linear 0s infinite normal; }
  .secIndex._kv ._copy {
    margin-bottom: -6.15em; }
    @media screen and (max-width: 768px) {
      .secIndex._kv ._copy {
        margin-bottom: -3.075em; } }
    .secIndex._kv ._copy h1 img {
      width: 100%;
      max-width: 45.1em;
      height: auto; }
    .secIndex._kv ._copy p {
      width: 51.25%;
      margin-top: 2.46rem;
      font-size: 1.125em;
      line-height: 2; }
      @media screen and (max-width: 768px) {
        .secIndex._kv ._copy p {
          width: 77.9%;
          margin-top: 2.05rem;
          line-height: 1.8; } }

@keyframes circleAnimation {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(360deg); } }
.loopSlider {
  position: relative;
  z-index: 15; }
  .loopSlider .loopSliderWrap {
    position: relative;
    z-index: 15;
    display: flex;
    align-items: center; }

ul.listLoopImages {
  display: block; }
  ul.listLoopImages::after {
    content: '';
    display: block;
    clear: both; }
  ul.listLoopImages li {
    float: left;
    width: 385px;
    height: 456px;
    padding: 0 30px; }
    @media screen and (max-width: 768px) {
      ul.listLoopImages li {
        width: 240px;
        height: 300px;
        padding: 0 30px; } }

/*![#index] - [About]*/
.secIndex._about ._flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .secIndex._about ._flex .__left {
    width: calc((100% / 16) * 8); }
    @media screen and (max-width: 768px) {
      .secIndex._about ._flex .__left {
        width: 100%; } }
    .secIndex._about ._flex .__left ._txt p {
      line-height: 2;
      width: 77.9%; }
    .secIndex._about ._flex .__left ._img {
      margin-top: 6.15em; }
      @media screen and (max-width: 768px) {
        .secIndex._about ._flex .__left ._img {
          width: 50%;
          margin-top: 3.075em;
          margin-left: -1.025em;
          margin-bottom: -48vw; } }
      .secIndex._about ._flex .__left ._img > div {
        border-radius: .615em;
        overflow: hidden;
        box-shadow: 0 5px 10px -10px; }
  .secIndex._about ._flex .__right {
    display: flex;
    flex-wrap: wrap;
    width: calc((100% / 16) * 7); }
    @media screen and (max-width: 768px) {
      .secIndex._about ._flex .__right {
        width: 100%; } }
    .secIndex._about ._flex .__right ._txt {
      width: 100%;
      order: 1;
      margin-top: 4.1em; }
      @media screen and (max-width: 768px) {
        .secIndex._about ._flex .__right ._txt {
          margin-top: 0; } }
      .secIndex._about ._flex .__right ._txt p {
        line-height: 2;
        width: 77.9%; }
      .secIndex._about ._flex .__right ._txt a.btn {
        margin-top: 3.075em; }
        @media screen and (max-width: 768px) {
          .secIndex._about ._flex .__right ._txt a.btn {
            margin-top: 2.05em; } }
    .secIndex._about ._flex .__right ._img {
      width: 100%; }
      @media screen and (max-width: 768px) {
        .secIndex._about ._flex .__right ._img {
          width: 50%;
          margin-right: -1.025em;
          margin-left: auto; } }
      .secIndex._about ._flex .__right ._img > div {
        border-radius: .615em;
        overflow: hidden;
        box-shadow: 0 5px 10px -10px; }

/*![#index] - [Youtube]*/
.ytframe .wrapper {
  width: 90%;
  max-width: 860px;
  margin: 0 auto;
  margin-top: 8.2em;
  margin-bottom: -4.1em; }
  @media screen and (max-width: 768px) {
    .ytframe .wrapper {
      margin-top: 4.1em;
      margin-bottom: -2.05em; } }
  .ytframe .wrapper > div {
    border-radius: .82em;
    box-shadow: 0 5px 10px -10px; }

/*![#index] - [Interview]*/
@media screen and (max-width: 768px) {
  .secIndex._interview {
    overflow: hidden; } }
.secIndex._interview ._body {
  margin-top: 4.1em; }
  @media screen and (max-width: 768px) {
    .secIndex._interview ._body {
      margin-top: 2.46em; } }
.secIndex._interview ._foot {
  margin-top: 5.125em; }
  @media screen and (max-width: 768px) {
    .secIndex._interview ._foot {
      margin-top: 3.075em; } }
.secIndex._interview .slider ._img {
  position: relative;
  z-index: 0; }
  .secIndex._interview .slider ._img::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #231815;
    opacity: .41;
    position: absolute;
    top: 0;
    left: 0;
    right: 0; }
.secIndex._interview .slider ._txt {
  position: absolute;
  z-index: 15;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%; }
  .secIndex._interview .slider ._txt p {
    position: absolute;
    top: 3.485rem;
    left: 2.05rem;
    background: #ffffff;
    font-weight: bold;
    font-size: 1.125em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; }
    @media screen and (max-width: 768px) {
      .secIndex._interview .slider ._txt p {
        font-size: 1em;
        top: 2.05rem;
        left: 1.435rem; } }
    .secIndex._interview .slider ._txt p span {
      padding: .5125em 0;
      color: #231815; }
  .secIndex._interview .slider ._txt::after {
    content: '';
    display: block;
    width: 1.125em;
    height: 1.125em;
    background: url("images/icon_arrow_wh.svg");
    transform: rotate(-45deg);
    position: absolute;
    right: 2.05em;
    bottom: 2.05em; }
    @media screen and (max-width: 768px) {
      .secIndex._interview .slider ._txt::after {
        right: 1.435rem;
        bottom: 1.435rem; } }

/*![#index] - [Special]*/
.secIndex._special {
  background: #006837;
  margin-top: 9.225em; }
  @media screen and (max-width: 768px) {
    .secIndex._special {
      margin-top: 5.125em; } }
  .secIndex._special .wrapper {
    padding: 9.225em 0 5.125em; }
    @media screen and (max-width: 768px) {
      .secIndex._special .wrapper {
        padding-top: 6.15em; } }
  .secIndex._special ._head * {
    color: #ffffff; }
  .secIndex._special ._body {
    margin-top: 4.1em; }
    @media screen and (max-width: 768px) {
      .secIndex._special ._body {
        margin-top: 2.46em; } }
  .secIndex._special ._foot {
    margin-top: 5.125em; }
    @media screen and (max-width: 768px) {
      .secIndex._special ._foot {
        margin-top: 3.075em; } }
  .secIndex._special .slider ._img {
    position: relative;
    z-index: 0; }
    .secIndex._special .slider ._img::after {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      background: #231815;
      opacity: .41;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
    .secIndex._special .slider ._img img {
      transform: scale(1.05);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
  .secIndex._special .slider ._txt {
    position: absolute;
    z-index: 15;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%; }
    .secIndex._special .slider ._txt p {
      position: absolute;
      top: 3.485rem;
      left: 2.05rem;
      background: #ffffff;
      font-weight: bold;
      font-size: 1.125em;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl; }
      .secIndex._special .slider ._txt p span {
        padding: .5125em 0;
        color: #231815; }
    .secIndex._special .slider ._txt::after {
      content: '';
      display: block;
      width: 1.125em;
      height: 1.125em;
      background: url("images/icon_arrow_wh.svg");
      transform: rotate(-45deg);
      position: absolute;
      right: 2.05em;
      bottom: 2.05em; }
  .secIndex._special .slider .swiper-slide:hover ._img::after {
    opacity: .615;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
  .secIndex._special .slider .swiper-slide:hover ._img img {
    transform: scale(1);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }

/*![#index] - [JobSearch]*/
.secIndex._jobsearch {
  background: #231815;
  margin-top: 0 !important; }
  .secIndex._jobsearch .wrapper {
    padding: 2.05em 0; }
    @media screen and (max-width: 768px) {
      .secIndex._jobsearch .wrapper {
        width: 100%; } }
  .secIndex._jobsearch .index_search {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap; }
    .secIndex._jobsearch .index_search p {
      color: #ffffff;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .secIndex._jobsearch .index_search p {
          width: 100%;
          padding: 0 10%; } }
    .secIndex._jobsearch .index_search .searchandfilter {
      display: block; }
      @media screen and (max-width: 768px) {
        .secIndex._jobsearch .index_search .searchandfilter {
          width: 100%; } }
      .secIndex._jobsearch .index_search .searchandfilter * {
        font-size: 16px; }
      .secIndex._jobsearch .index_search .searchandfilter > ul {
        display: flex;
        align-items: center; }
        @media screen and (max-width: 768px) {
          .secIndex._jobsearch .index_search .searchandfilter > ul {
            display: block;
            width: 100%;
            white-space: nowrap;
            overflow: scroll;
            padding: 0 10%; } }
        .secIndex._jobsearch .index_search .searchandfilter > ul li {
          display: block; }
          @media screen and (max-width: 768px) {
            .secIndex._jobsearch .index_search .searchandfilter > ul li {
              display: inline-block; } }
          .secIndex._jobsearch .index_search .searchandfilter > ul li ~ li {
            margin-left: .82em; }
      .secIndex._jobsearch .index_search .searchandfilter select {
        border-radius: 4.1em;
        padding: 0 1em; }
        @media screen and (max-width: 768px) {
          .secIndex._jobsearch .index_search .searchandfilter select {
            padding: 0 .615em; } }
      .secIndex._jobsearch .index_search .searchandfilter .sf-field-submit {
        position: relative;
        z-index: 15;
        width: 3.475em;
        height: 3.475em;
        border-radius: 3.475em;
        padding: 0;
        overflow: hidden; }
        .secIndex._jobsearch .index_search .searchandfilter .sf-field-submit::before {
          content: '';
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          z-index: 15;
          background: #006837;
          border-radius: 4.1em;
          pointer-events: none; }
        .secIndex._jobsearch .index_search .searchandfilter .sf-field-submit::after {
          content: '';
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          z-index: 15;
          background: url("images/iconSearch_wh.svg") center no-repeat;
          background-size: 35%;
          pointer-events: none; }
        .secIndex._jobsearch .index_search .searchandfilter .sf-field-submit input {
          width: 100%;
          height: 100%;
          border: 0;
          pointer-events: cursor; }

/*![#index] - [Business]*/
.secIndex._business ._head p {
  width: calc(300% / 7 ); }
  @media screen and (max-width: 768px) {
    .secIndex._business ._head p {
      width: 77.9%; } }
.secIndex._business ._body {
  margin-top: 4.1em; }
  @media screen and (max-width: 768px) {
    .secIndex._business ._body {
      margin-top: 2.46em; } }
.secIndex._business ._foot {
  margin-top: 5.125em; }
  @media screen and (max-width: 768px) {
    .secIndex._business ._foot {
      margin-top: 3.075em; } }
.secIndex._business ul._list li {
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
  .secIndex._business ul._list li a {
    position: relative;
    z-index: 15;
    display: flex;
    align-items: center;
    padding: .82em 0; }
    .secIndex._business ul._list li a::after {
      content: '';
      display: block;
      width: 1.23em;
      height: 1.23em;
      background: url(images/icon_arrow.svg);
      background-size: cover;
      transform: rotate(-45deg);
      margin-left: 1.64em; }
  .secIndex._business ul._list li span {
    display: block;
    font-size: 1.64em;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .secIndex._business ul._list li span {
        font-size: 1.435em; } }
  .secIndex._business ul._list li:hover {
    opacity: 1 !important;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
.secIndex._business ul._list:hover li {
  opacity: .41;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }

/*![#index] - [Environment]*/
.secIndex._environment {
  margin-top: 9.225em; }
  @media screen and (max-width: 768px) {
    .secIndex._environment {
      margin-top: 5.125em; } }
  .secIndex._environment ._head p {
    width: calc(300% / 7 ); }
    @media screen and (max-width: 768px) {
      .secIndex._environment ._head p {
        width: 77.9%; } }
  .secIndex._environment ._body {
    margin-top: 4.1em; }
    @media screen and (max-width: 768px) {
      .secIndex._environment ._body {
        margin-top: 2.46em; } }
  .secIndex._environment ._foot {
    margin-top: 5.125em; }
    @media screen and (max-width: 768px) {
      .secIndex._environment ._foot {
        margin-top: 3.075em; } }
  .secIndex._environment .slider ._img {
    position: relative;
    z-index: 0; }
    .secIndex._environment .slider ._img::after {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      background: #231815;
      opacity: .41;
      position: absolute;
      top: 0;
      left: 0;
      right: 0; }
  .secIndex._environment .slider ._txt {
    position: absolute;
    z-index: 15;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%; }
    .secIndex._environment .slider ._txt p {
      position: absolute;
      top: 3.485rem;
      left: 2.05rem;
      background: #ffffff;
      font-weight: bold;
      font-size: 1.125em;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl; }
      @media screen and (max-width: 768px) {
        .secIndex._environment .slider ._txt p {
          font-size: 1em;
          top: 2.05rem;
          left: 1.435rem; } }
      .secIndex._environment .slider ._txt p span {
        padding: .5125em 0;
        color: #231815; }
    .secIndex._environment .slider ._txt::after {
      content: '';
      display: block;
      width: 1.125em;
      height: 1.125em;
      background: url("images/icon_arrow_wh.svg");
      transform: rotate(-45deg);
      position: absolute;
      right: 2.05em;
      bottom: 2.05em; }
      @media screen and (max-width: 768px) {
        .secIndex._environment .slider ._txt::after {
          right: 1.435em;
          bottom: 1.435em; } }

/*![#index] - [Recruit]*/
.secIndex._recruit {
  z-index: 10; }
  .secIndex._recruit ._bg-txt {
    display: block;
    position: absolute;
    z-index: -1;
    top: -12.3vw;
    left: -12.3vw;
    width: 51.25vw;
    height: 51.25vw;
    animation: circleAnimation 60s linear 0s infinite normal; }
  .secIndex._recruit ._card {
    position: relative;
    z-index: 15;
    display: block; }
    .secIndex._recruit ._card ._bg::after {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background: #231815;
      opacity: .41; }
    .secIndex._recruit ._card ._txt {
      display: flex;
      align-items: flex-end;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      padding: 2.05em;
      width: 100%;
      height: 100%; }
      .secIndex._recruit ._card ._txt * {
        color: #ffffff; }
      .secIndex._recruit ._card ._txt::after {
        content: '';
        display: block;
        width: 1em;
        height: 1em;
        position: absolute;
        right: 2.05em;
        bottom: 2.05em;
        background: url(images/icon_arrow_wh.svg) center;
        background-size: cover;
        transform: rotate(-45deg); }

.ttl_mini span {
  display: block;
  margin-bottom: .41em;
  font-size: .8em; }
.ttl_mini p {
  font-size: 1.125em;
  font-weight: bold; }

/*//!#index----------------------------------------------------------------------------------------------*/
/* ------------------
   [共通要素]
------------------ */
header h1 {
  background-color: #231815;
  background-image: -webkit-linear-gradient(left, #231815 0, #006837 85%, #231815 90%, transparent 90%);
  background-position: 0 0;
  background-size: 200% 200%;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: headingAnimation 3s ease-in-out 2s forwards normal; }

@keyframes headingAnimation {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -200% -200%; } }
/* ------------------
   #Page [共通要素]
------------------ */
nav.__anker {
  display: none;
  background: #ffffff;
  box-shadow: 0 5px 10px -12.5px; }
  @media screen and (max-width: 768px) {
    nav.__anker {
      display: block; } }
  nav.__anker.sticky {
    top: 15vw; }
  nav.__anker ul {
    width: 100%;
    margin: 0 auto;
    padding: .82em;
    white-space: nowrap;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none; }
    nav.__anker ul::-webkit-scrollbar {
      display: none; }
    nav.__anker ul > li {
      display: inline-block;
      margin-right: .615em; }
      nav.__anker ul > li span {
        font-size: .8em;
        border: solid 1px #eeeeee;
        background: #f7f7f7;
        padding: .41em .82em;
        display: block;
        border-radius: 5em;
        font-weight: bold; }
      nav.__anker ul > li.active span {
        color: #006837; }

article.mainContent {
  display: block;
  max-width: 1440px;
  margin: 0 auto; }
  article.mainContent .ankerwrap {
    width: 95%;
    margin: 0 0 0 auto;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      article.mainContent .ankerwrap {
        width: 100%; } }
    article.mainContent .ankerwrap ._left {
      width: 210px; }
      @media screen and (max-width: 768px) {
        article.mainContent .ankerwrap ._left {
          width: 100%;
          display: none; } }
      article.mainContent .ankerwrap ._left .inner {
        width: 100%;
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
        display: flex;
        align-items: center; }
        @media screen and (max-width: 768px) {
          article.mainContent .ankerwrap ._left .inner {
            height: initial; } }
    article.mainContent .ankerwrap ._right {
      width: calc(100% - 210px); }
      @media screen and (max-width: 768px) {
        article.mainContent .ankerwrap ._right {
          width: 100%; } }
      article.mainContent .ankerwrap ._right .body {
        background: #ffffff;
        overflow: hidden;
        border-radius: .82em 0 0 .82em; }
        @media screen and (max-width: 768px) {
          article.mainContent .ankerwrap ._right .body {
            border-radius: 0; } }
      article.mainContent .ankerwrap ._right ._content {
        padding: 8.2em 0; }
        @media screen and (max-width: 768px) {
          article.mainContent .ankerwrap ._right ._content {
            padding: 6.15em 0; } }
  article.mainContent + .secIndex {
    margin-top: 12.3em; }
    @media screen and (max-width: 768px) {
      article.mainContent + .secIndex {
        margin-top: 0; } }

ul._anker li {
  opacity: .41;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
  ul._anker li.active {
    opacity: 1;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
    ul._anker li.active span {
      background: #006837;
      color: #ffffff;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
  ul._anker li:hover {
    opacity: 1;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
    ul._anker li:hover span {
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
  ul._anker li a {
    display: block;
    padding: .205em 0; }
  ul._anker li span {
    display: table;
    font-size: .8em;
    font-weight: bold;
    background: #ffffff;
    padding: .82em 1.125em;
    border-radius: 2.05em;
    border: solid 1px #e6e7ec;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }

header.pageHeader {
  position: relative;
  z-index: 15; }
  header.pageHeader .wrapper {
    display: block;
    width: 80%;
    margin: 0 auto;
    padding: 16.4em 0 5.125em; }
    @media screen and (max-width: 768px) {
      header.pageHeader .wrapper {
        padding: 10.25em 0 4.1em; } }
  header.pageHeader ._head {
    display: block; }
    header.pageHeader ._head > span {
      display: block;
      font-size: 6.15em;
      font-weight: bold;
      color: #00a63c; }
      @media screen and (max-width: 768px) {
        header.pageHeader ._head > span {
          font-size: 3.075em; } }
    header.pageHeader ._head h1 {
      font-size: 1.23em;
      line-height: 1.5; }
      @media screen and (max-width: 768px) {
        header.pageHeader ._head h1 {
          font-size: 1.125em; } }
    header.pageHeader ._head + p {
      width: 77.9%;
      line-height: 2;
      margin-top: 2.05em; }
  header.pageHeader ._body {
    width: 77.9%;
    margin-top: 2.05em; }
    header.pageHeader ._body p {
      line-height: 2; }
  header.pageHeader ._thumbnail {
    margin-top: 4.1em; }
  header.pageHeader ._title h1 {
    font-size: 1.845em;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      header.pageHeader ._title h1 {
        font-size: 1.64em; } }
  header.pageHeader ._title ul._list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -.205em;
    margin-top: 1.125em; }
    header.pageHeader ._title ul._list li {
      margin-right: .205em;
      margin-bottom: .205em; }
      header.pageHeader ._title ul._list li span {
        display: block;
        padding: .205em .82em;
        background: #ffffff;
        border: solid 1px #e6e7ec;
        border-radius: 2.05em;
        font-size: .85em; }

.secPage {
  position: relative;
  z-index: 15; }
  .secPage .wrapper {
    position: relative;
    z-index: 15;
    width: 80%;
    height: auto;
    margin: 0 auto; }
    @media screen and (min-width: 1367px) {
      .secPage .wrapper {
        max-width: 1440px; } }
    .secPage .wrapper.outer {
      width: 90%; }
      @media screen and (max-width: 768px) {
        .secPage .wrapper.outer {
          width: 95%; } }
    .secPage .wrapper ~ .wrapper {
      margin-top: 8.2em; }
    .secPage .wrapper > .inner {
      width: 77.9%;
      margin-left: auto; }
      @media screen and (max-width: 768px) {
        .secPage .wrapper > .inner {
          width: 100%; } }
  .secPage ~ .secPage {
    margin-top: 12.3em; }
    @media screen and (max-width: 768px) {
      .secPage ~ .secPage {
        margin-top: 6.15em; } }
  .secPage h3.secTtl {
    position: absolute;
    right: calc(100% + 1.845em);
    top: 0;
    z-index: 20;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .secPage h3.secTtl {
        right: calc(100% + 1.23em); } }
    .secPage h3.secTtl span {
      display: block; }
      .secPage h3.secTtl span.border {
        width: 2px;
        height: 4.1em;
        background: #231815;
        border-radius: 1px;
        margin-top: 1.64em; }

/* #Page [about us] */
/* #Page [about us] - [ビジョン・事業計画] */
.vision_wrapper ul._list {
  position: relative;
  z-index: 15;
  display: block;
  margin: 0 auto;
  width: 90%;
  padding: 2.05em 0; }
  @media screen and (max-width: 768px) {
    .vision_wrapper ul._list {
      width: 100%;
      padding: 0; } }
  .vision_wrapper ul._list li {
    display: block;
    width: 77.9%; }
    @media screen and (max-width: 768px) {
      .vision_wrapper ul._list li {
        width: 100%; } }
    .vision_wrapper ul._list li::before {
      content: attr(data-number) "";
      display: block;
      font-size: 4.1em;
      color: #00a63c; }
      @media screen and (max-width: 768px) {
        .vision_wrapper ul._list li::before {
          font-size: 3.075em; } }
    .vision_wrapper ul._list li span {
      display: block; }
      .vision_wrapper ul._list li span.main {
        font-size: 1.845em;
        font-weight: bold; }
        @media screen and (max-width: 768px) {
          .vision_wrapper ul._list li span.main {
            font-size: 1.23em; } }
      .vision_wrapper ul._list li span.sub {
        margin-top: .615em;
        font-size: .85em;
        opacity: .615em; }
    .vision_wrapper ul._list li:nth-child(2n-1) {
      margin-right: auto;
      margin-left: auto; }
    .vision_wrapper ul._list li:nth-child(2n) {
      margin-right: auto;
      margin-left: auto; }
    .vision_wrapper ul._list li ~ li {
      margin-top: 2.05em; }
      @media screen and (max-width: 768px) {
        .vision_wrapper ul._list li ~ li {
          margin-top: 1.435em; } }

.plan_wrapper h4 {
  font-size: 1.64em;
  font-weight: bold;
  text-align: center;
  padding: 1.645em 1.23em;
  border-radius: .615rem;
  background: #f7f7f7;
  margin-bottom: 1.435em;
  border: solid 1px #e6e7ec; }
  @media screen and (max-width: 768px) {
    .plan_wrapper h4 {
      font-size: 1.435em;
      padding: 1.23em;
      margin-bottom: .82em; } }
.plan_wrapper ul._list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  font-size: 1.125em;
  font-weight: bold;
  border-top: solid 1px #e6e7ec;
  border-left: solid 1px #e6e7ec; }
  @media screen and (max-width: 768px) {
    .plan_wrapper ul._list {
      font-size: 1em; } }
  .plan_wrapper ul._list li {
    position: relative;
    z-index: 15;
    width: 50%;
    padding: 1.64em 2.46em;
    border-right: solid 1px #e6e7ec;
    border-bottom: solid 1px #e6e7ec; }
    @media screen and (max-width: 768px) {
      .plan_wrapper ul._list li {
        width: 100%;
        padding: 1.435em 2.46em; } }
    .plan_wrapper ul._list li::before {
      content: attr(data-number) "";
      display: flex;
      align-items: center;
      justify-content: center;
      width: 2.46em;
      height: 2.46em;
      border-radius: 2.46em;
      font-size: 1rem;
      color: #ffffff;
      font-weight: normal;
      background: #006837;
      margin: 0 auto .82em; }
      @media screen and (max-width: 768px) {
        .plan_wrapper ul._list li::before {
          position: absolute;
          left: -1.23em;
          font-size: .85em; } }

/* #Page [about us] - [インフォグラフィック] */
.ig_wrapper p.caption {
  text-align: right;
  opacity: .615;
  margin-top: 1.23em; }

/* #Page [about us] - [事業概要] */
.business_wrapper ul._list {
  background: #f7f7f7;
  border-radius: 12px;
  padding: 1.64em 1.435em;
  margin-top: .82em; }
  .business_wrapper ul._list li {
    display: block; }
    .business_wrapper ul._list li ~ li {
      margin-top: .82em; }
.business_wrapper dl._list dt {
  font-weight: bold; }
.business_wrapper dl._list dd {
  font-size: .8em; }

/* #Page [about us] - [企業理念] */
.philosophy_wrapper p {
  display: block;
  margin-left: auto;
  font-size: 1.64em;
  margin-top: 1.64em;
  line-height: 1.65;
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    .philosophy_wrapper p {
      width: 100%;
      font-size: 1em; } }

/* #Page [about us] - [代表メッセージ] */
.message_wrapper ._img {
  width: calc(100% + ((100vw - 210px) * 0.2));
  margin-left: calc(-1 * ((100vw - 210px) * 0.1));
  margin-right: calc(-1 * ((100vw - 210px) * 0.1)); }
.message_wrapper ._txt {
  margin-top: 4.1em; }
  @media screen and (max-width: 768px) {
    .message_wrapper ._txt {
      margin-top: 2.46em; } }
  .message_wrapper ._txt p {
    line-height: 2; }
    @media screen and (max-width: 768px) {
      .message_wrapper ._txt p {
        line-height: 1.8; } }
  .message_wrapper ._txt p.wrote {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
    margin-top: 2.05em; }
    @media screen and (max-width: 768px) {
      .message_wrapper ._txt p.wrote {
        margin-top: 1.435em; } }
    .message_wrapper ._txt p.wrote span {
      display: block; }
      .message_wrapper ._txt p.wrote span > .post {
        font-size: .9em; }

/* #Page [about us] - [会社概要] */
.__company ul._list {
  border-top: solid 1px #e6e7ec; }
  .__company ul._list li {
    padding: 2.46em 0;
    border-bottom: solid 1px #e6e7ec; }
    @media screen and (max-width: 768px) {
      .__company ul._list li {
        padding: 1.435em 0; } }
.__company dl._list {
  display: flex;
  flex-wrap: wrap; }
  .__company dl._list dt {
    width: 24.6%; }
  .__company dl._list dd {
    width: calc(100% - 24.6%); }
.__company .__csr {
  margin-top: 3.075em;
  background: #f7f7f7;
  padding: 2.075em 3.075em;
  border-radius: .82em;
  border: solid 1px #e6e7ec; }
  @media screen and (max-width: 768px) {
    .__company .__csr {
      width: calc(100% + 4.1em);
      margin-left: -2.05em;
      margin-right: -2.05em;
      margin-top: 2.05em;
      padding: 1.845em 2.05em; } }
  .__company .__csr > p {
    font-size: 1.125em;
    font-weight: bold; }
  .__company .__csr ul._csr {
    padding-left: 1.64em;
    margin-top: .82em; }
    .__company .__csr ul._csr li {
      list-style-type: disc; }
      .__company .__csr ul._csr li ~ li {
        margin-top: .3075em; }

/* #Page [about us] - [店舗情報] */
.store-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .store-wrapper .card {
    width: calc(50% - 1.64em);
    margin-bottom: 4.1em; }
    @media screen and (max-width: 768px) {
      .store-wrapper .card {
        width: 100%;
        margin-bottom: 2.46em; } }
    .store-wrapper .card ._img > div {
      border-radius: .615em;
      overflow: hidden;
      box-shadow: 0 5px 10px -10px; }
    .store-wrapper .card ._txt {
      padding-top: 1.845em; }
      @media screen and (max-width: 768px) {
        .store-wrapper .card ._txt {
          padding-top: 1.435em; } }
      .store-wrapper .card ._txt h3 {
        font-weight: normal;
        font-size: 1.23em;
        margin-bottom: .82rem; }
        @media screen and (max-width: 768px) {
          .store-wrapper .card ._txt h3 {
            margin-bottom: .41rem; } }
      .store-wrapper .card ._txt address {
        font-size: .9em;
        font-style: normal; }

/* #Page [interview] */
.iv_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .iv_wrapper {
      width: calc(100% + 4.1em);
      margin-left: -2.05em;
      margin-right: -2.05em; } }
  .iv_wrapper .card {
    width: calc((100% / 3) - (6px / 3));
    margin-bottom: calc(6px / 2); }
    @media screen and (max-width: 768px) {
      .iv_wrapper .card {
        width: calc((100% / 2) - (3px / 2)); } }
    .iv_wrapper .card > a {
      position: relative;
      z-index: 15;
      display: block; }
      .iv_wrapper .card > a ._img {
        position: relative;
        z-index: 0; }
        .iv_wrapper .card > a ._img::after {
          content: '';
          display: block;
          width: 100%;
          height: 100%;
          background: #231815;
          opacity: .41;
          position: absolute;
          top: 0;
          left: 0;
          right: 0; }
      .iv_wrapper .card > a ._txt {
        position: absolute;
        z-index: 15;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%; }
        .iv_wrapper .card > a ._txt p {
          position: absolute;
          top: 3.485rem;
          left: 2.05rem;
          background: #ffffff;
          font-weight: bold;
          font-size: 1.125em;
          -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl; }
          @media screen and (max-width: 768px) {
            .iv_wrapper .card > a ._txt p {
              top: 2.05rem;
              left: 1.025rem; } }
        .iv_wrapper .card > a ._txt::after {
          content: '';
          display: block;
          width: 1.125em;
          height: 1.125em;
          background: url(images/icon_arrow_wh.svg);
          transform: rotate(-45deg);
          position: absolute;
          right: 2.05em;
          bottom: 2.05em; }
          @media screen and (max-width: 768px) {
            .iv_wrapper .card > a ._txt::after {
              right: 1.025em;
              bottom: 1.025em; } }

/* #Page [environment] */
.secTtl {
  margin-bottom: 3.075em; }
  @media screen and (max-width: 768px) {
    .secTtl {
      margin-bottom: 2.05em; } }
  .secTtl > span {
    font-size: 4.1em;
    font-weight: bold;
    color: #006837; }
    @media screen and (max-width: 768px) {
      .secTtl > span {
        font-size: 2.87em; } }
  .secTtl > h2 {
    font-size: 1.125em; }
    @media screen and (max-width: 768px) {
      .secTtl > h2 {
        font-size: 1em; } }

h3.blkTtl {
  position: relative;
  z-index: 15;
  display: flex;
  align-items: center;
  background: #f7f7f7;
  border-radius: .205em;
  font-size: 1.23em;
  padding: .41em .82em;
  margin-bottom: 2.05rem; }
  @media screen and (max-width: 768px) {
    h3.blkTtl {
      font-size: 1.125em;
      line-height: 1.5; } }
  h3.blkTtl::before {
    content: '';
    display: block;
    width: 3px;
    height: 1em;
    background: #006837;
    border-radius: 3px; }
  h3.blkTtl span {
    display: block;
    width: calc(100% - 3px);
    padding-left: .82em; }
  h3.blkTtl ~ h3.blkTtl {
    margin-top: 6.15em; }
    @media screen and (max-width: 768px) {
      h3.blkTtl ~ h3.blkTtl {
        margin-top: 4.1em; } }

.secPage._environment ul._list._feature {
  display: block;
  max-width: 41em;
  margin: 0 auto;
  border-bottom: solid 1px #dddddd; }
  .secPage._environment ul._list._feature li {
    border-top: solid 1px #dddddd;
    padding: 2.46em 0; }
    @media screen and (max-width: 768px) {
      .secPage._environment ul._list._feature li {
        padding: 2.05em 0; } }
    .secPage._environment ul._list._feature li[data-number] {
      position: relative;
      z-index: 15; }
      .secPage._environment ul._list._feature li[data-number]::before {
        /*content: attr(data-number)"";*/
        width: 2.05em;
        height: 2.05em;
        background: #006837;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 2.05em;
        color: #ffffff;
        position: absolute;
        right: calc(100% + 2.05em);
        top: 2.46em;
        line-height: calc(1.23 * 1.8); }
    .secPage._environment ul._list._feature li ._img {
      margin-top: 1.23em; }
  .secPage._environment ul._list._feature dl._list dt {
    font-size: 1.23em;
    font-weight: bold;
    margin-bottom: .82rem;
    color: #006837; }
    @media screen and (max-width: 768px) {
      .secPage._environment ul._list._feature dl._list dt {
        font-size: 1.125em;
        margin-bottom: .41rem; } }
  .secPage._environment ul._list._feature dl._list dd {
    line-height: 2; }

.tgr_ttl {
  position: relative;
  z-index: 15;
  display: flex;
  align-items: center;
  background: #f7f7f7;
  border-radius: .205em;
  font-size: 1.23em;
  padding: .41em .82em;
  margin-bottom: 2.05rem;
  cursor: pointer; }
  @media screen and (max-width: 768px) {
    .tgr_ttl {
      margin-bottom: 1.64rem; } }
  .tgr_ttl span {
    display: block; }
    .tgr_ttl span.border {
      position: relative;
      z-index: 15;
      width: 1em;
      height: 1em; }
      .tgr_ttl span.border::before {
        content: '';
        display: block;
        width: 2px;
        height: .82em;
        background: #006837;
        border-radius: 3px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
        -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
        -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
        -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
      .tgr_ttl span.border::after {
        content: '';
        display: block;
        width: 2px;
        height: .82em;
        background: #006837;
        border-radius: 3px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(90deg); }
    .tgr_ttl span.txt {
      width: calc(100% - 1em);
      padding-left: .82em; }
  .tgr_ttl.open span.border::before {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }

/* #Page [environment] - [強み・特徴] */
/* #Page [environment] - [育成制度] */
.training_guide {
  max-width: 41em;
  margin: 0 auto;
  background: #f7f7f7;
  padding: .82em;
  border-radius: .82em;
  border: solid 1px #e6e7ec; }
  @media screen and (max-width: 768px) {
    .training_guide {
      width: calc(100% + .82em);
      margin-left: -.41em;
      margin-right: -.41em;
      padding: .41em .41em .615em; } }
  .training_guide ul._list li {
    background: #ffffff;
    padding: .82em 1.23em;
    border-radius: .615em;
    border: solid 1px #e6e7ec; }
    .training_guide ul._list li ~ li {
      margin-top: .205em; }
  .training_guide dl._list dt {
    font-weight: bold; }
  .training_guide dl._list dd {
    margin-top: .205em; }
  .training_guide p.caption {
    font-size: .8em;
    text-align: right;
    margin-top: .615rem; }

/* #Page [environment] - [福利厚生] */
.secPage._welfare ul._list {
  max-width: 41em;
  margin: 0 auto; }
  .secPage._welfare ul._list li {
    display: flex;
    flex-wrap: wrap;
    border-bottom: solid 1px #e6e7ec;
    padding-bottom: 2.05em; }
    .secPage._welfare ul._list li ._img {
      width: 38.95%; }
      @media screen and (max-width: 768px) {
        .secPage._welfare ul._list li ._img {
          width: 100%; } }
      .secPage._welfare ul._list li ._img > div {
        border-radius: .615em;
        overflow: hidden;
        box-shadow: 0 5px 10px -10px; }
      .secPage._welfare ul._list li ._img + ._txt {
        width: calc(100% - 38.95%); }
        @media screen and (max-width: 768px) {
          .secPage._welfare ul._list li ._img + ._txt {
            width: 100%;
            margin-top: 1.845em; } }
    .secPage._welfare ul._list li ._txt {
      width: 100%;
      padding-left: 2.05em; }
      @media screen and (max-width: 768px) {
        .secPage._welfare ul._list li ._txt {
          padding-left: 0; } }
    .secPage._welfare ul._list li ~ li {
      padding-top: 2.05em; }
.secPage._welfare dl._list dt {
  font-size: 1.23em;
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    .secPage._welfare dl._list dt {
      font-size: 1.125em; } }
.secPage._welfare dl._list dd {
  margin-top: .82em;
  line-height: 2; }
  @media screen and (max-width: 768px) {
    .secPage._welfare dl._list dd {
      margin-top: .205em; } }

ul.listWelfare {
  display: flex;
  flex-wrap: wrap;
  border-top: solid 1px #e6e7ec;
  border-left: solid 1px #e6e7ec; }
  ul.listWelfare li {
    width: calc(100% / 3);
    border-right: solid 1px #e6e7ec;
    border-bottom: solid 1px #e6e7ec; }
    @media screen and (max-width: 768px) {
      ul.listWelfare li {
        width: calc(100% / 2); } }
  ul.listWelfare dl {
    padding: 1.435em 1.845em 1.23em; }
    @media screen and (max-width: 768px) {
      ul.listWelfare dl {
        padding: 1.23em 1.435em; } }
    ul.listWelfare dl dt {
      font-weight: bold;
      font-size: 1.125em;
      color: #00a63c; }
      @media screen and (max-width: 768px) {
        ul.listWelfare dl dt {
          font-size: 1em; } }
    ul.listWelfare dl dd {
      margin-top: .82em;
      font-size: .9em; }
      @media screen and (max-width: 768px) {
        ul.listWelfare dl dd {
          margin-top: .41em; } }

/* #Page [business] */
.secPage._business ._flex {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 3.075em; }
  @media screen and (max-width: 768px) {
    .secPage._business ._flex {
      margin-bottom: 2.05em; } }
  .secPage._business ._flex ._img {
    width: calc(100% - 53.3%);
    padding-right: 8.2%; }
    @media screen and (max-width: 768px) {
      .secPage._business ._flex ._img {
        width: 100%;
        padding-right: 0; } }
    .secPage._business ._flex ._img > div {
      border-radius: .615em;
      overflow: hidden;
      box-shadow: 0 5px 10px -10px; }
  .secPage._business ._flex ._txt {
    width: 53.3%; }
    @media screen and (max-width: 768px) {
      .secPage._business ._flex ._txt {
        width: 100%;
        margin-top: 2.05em; } }
    .secPage._business ._flex ._txt dl dt {
      font-size: 1.23em;
      font-weight: bold;
      color: #006837; }
    .secPage._business ._flex ._txt dl dd {
      margin-top: .41em; }
      .secPage._business ._flex ._txt dl dd p {
        font-size: 1.125em;
        line-height: 2; }
        @media screen and (max-width: 768px) {
          .secPage._business ._flex ._txt dl dd p {
            font-size: 1em;
            line-height: 1.8; } }
.secPage._business ul._list._feature {
  display: none;
  width: 77.9%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .secPage._business ul._list._feature {
      width: calc(100% - 2.05em - 1.23em);
      margin: 0 0 0 auto; } }
  .secPage._business ul._list._feature li {
    border-top: solid 1px #dddddd;
    padding: 2.46em 0; }
    @media screen and (max-width: 768px) {
      .secPage._business ul._list._feature li {
        padding: 1.845em 0; } }
    .secPage._business ul._list._feature li[data-number] {
      position: relative;
      z-index: 15; }
      .secPage._business ul._list._feature li[data-number]::before {
        content: attr(data-number) "";
        width: 2.05em;
        height: 2.05em;
        background: #006837;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 2.05em;
        color: #ffffff;
        position: absolute;
        right: calc(100% + 2.05em);
        top: 2.46em;
        line-height: calc(1.23 * 1.8); }
        @media screen and (max-width: 768px) {
          .secPage._business ul._list._feature li[data-number]::before {
            right: calc(100% + 1.23em); } }
  .secPage._business ul._list._feature dl._list dt {
    font-size: 1.23em;
    font-weight: bold; }
  .secPage._business ul._list._feature dl._list dd {
    margin-top: .82rem;
    line-height: 2; }
.secPage._business .__foot {
  margin-top: 3.075em; }
  @media screen and (max-width: 768px) {
    .secPage._business .__foot {
      margin-top: 2.05em; } }

.workflow {
  display: none; }
  .workflow ul._list {
    display: block;
    background: #f7f7f7;
    border: solid 1px #e6e7ec;
    padding: .82em;
    border-radius: .82em; }
    .workflow ul._list li {
      background: #ffffff;
      border: solid 1px #e6e7ec;
      padding: .82em 1.23em;
      border-radius: .615em; }
      .workflow ul._list li ~ li {
        margin-top: .205em; }
  .workflow dl._list {
    display: flex;
    align-items: center; }
    .workflow dl._list dt {
      width: 20.5%; }
      @media screen and (max-width: 768px) {
        .workflow dl._list dt {
          width: 41%; } }
      .workflow dl._list dt span {
        font-size: .8em;
        border: solid 1px #ddd;
        padding: .41em .82em;
        border-radius: 1.615em;
        background: #f8f8f8; }
    .workflow dl._list dd {
      width: calc(100% - 20.5%); }
      @media screen and (max-width: 768px) {
        .workflow dl._list dd {
          width: calc(100% - 41%); } }

/* #Page [special] */
/* #Page [special] - [イベント] */
._special._event ul.listEvent {
  border-top: solid 1px #e6e7ec;
  margin-top: 2.05em; }
  ._special._event ul.listEvent li {
    border-bottom: solid 1px #e6e7ec; }
    ._special._event ul.listEvent li a {
      display: flex;
      align-items: center;
      justify-content: space-around;
      padding: 1.435em 0; }
      @media screen and (max-width: 768px) {
        ._special._event ul.listEvent li a {
          padding: 1.23em 0; } }
      ._special._event ul.listEvent li a > ._img {
        width: 9.15em; }
        @media screen and (max-width: 768px) {
          ._special._event ul.listEvent li a > ._img {
            width: 6.15em; } }
      ._special._event ul.listEvent li a > ._txt {
        width: calc(100% - (9.15em + 1em));
        padding-left: 2.05em; }
        @media screen and (max-width: 768px) {
          ._special._event ul.listEvent li a > ._txt {
            width: calc(100% - (6.15em + 1em));
            padding-left: 1.64em; } }
        ._special._event ul.listEvent li a > ._txt time {
          display: block;
          margin-bottom: .41rem;
          font-size: .85em;
          opacity: .615; }
        ._special._event ul.listEvent li a > ._txt h3 {
          line-height: 1.65;
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
      ._special._event ul.listEvent li a::after {
        content: '';
        display: block;
        width: 1em;
        height: 1em;
        background: url(images/icon_arrow.svg);
        background-size: cover;
        transform: rotate(-45deg); }
    ._special._event ul.listEvent li:hover a > ._txt h3 {
      color: #00a63c;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
._special._event dl.listSocial {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f7f7f7;
  padding: 2.05em 0;
  border-radius: .615em;
  margin-top: 2.05em; }
  @media screen and (max-width: 768px) {
    ._special._event dl.listSocial {
      padding: 1.845em 0; } }
  ._special._event dl.listSocial dt {
    font-weight: bold;
    margin-right: 3.075em; }
  ._special._event dl.listSocial dd img {
    width: 2.05em;
    height: 2.05em; }
    @media screen and (max-width: 768px) {
      ._special._event dl.listSocial dd img {
        width: 1.64em;
        height: 1.64em; } }
  ._special._event dl.listSocial dd ~ dd {
    margin-left: 1.64em; }

.event_body > * ~ * {
  margin-top: 3.075em; }
  @media screen and (max-width: 768px) {
    .event_body > * ~ * {
      margin-top: 2.05em; } }
.event_body h1, .event_body h2, .event_body h3, .event_body h4, .event_body h5, .event_body strong, .event_body b {
  position: relative;
  z-index: 15;
  display: flex;
  align-items: center;
  background: #f7f7f7;
  border-radius: .205em;
  padding: .41em .82em;
  line-height: 1.5; }
  .event_body h1::before, .event_body h2::before, .event_body h3::before, .event_body h4::before, .event_body h5::before, .event_body strong::before, .event_body b::before {
    content: '';
    display: block;
    width: 3px;
    height: 1em;
    background: #006837;
    border-radius: 3px;
    margin-right: .615em; }
.event_body a {
  color: #0085ad;
  text-decoration: underline; }

/* #Page [special] - [採用メッセージ] */
._special._message {
  position: relative;
  z-index: 15;
  padding: 0 1.845em;
  width: 77.9%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    ._special._message {
      width: 100%;
      padding: 0 1.64em; } }
  ._special._message::before {
    content: '';
    display: block;
    width: 1.125em;
    height: 1.125em;
    background: url(images/icon_quote.svg);
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (max-width: 768px) {
      ._special._message::before {
        width: 1em;
        height: 1em; } }
  ._special._message h3 {
    font-size: 1.435em;
    margin-bottom: .82em; }
    ._special._message h3 + p {
      font-size: 1.125em;
      line-height: 2; }
      @media screen and (max-width: 768px) {
        ._special._message h3 + p {
          font-size: 1em;
          line-height: 1.8; } }

._special._recruiter {
  margin-top: 3.485em; }
  ._special._recruiter ._flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start; }
    ._special._recruiter ._flex ._icon {
      position: relative;
      z-index: 15;
      width: 10%;
      border-radius: 6.15em;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        ._special._recruiter ._flex ._icon {
          display: block;
          margin: 0 auto 1.23em;
          width: 5.125em; } }
      ._special._recruiter ._flex ._icon img {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%; }
    ._special._recruiter ._flex ._txt {
      width: 77.9%;
      padding: 0 1.845em; }
      @media screen and (max-width: 768px) {
        ._special._recruiter ._flex ._txt {
          width: 100%;
          padding: 0; } }
      ._special._recruiter ._flex ._txt p {
        line-height: 1.8; }
        ._special._recruiter ._flex ._txt p.wrote {
          display: flex;
          align-items: center;
          justify-content: flex-end;
          text-align: right;
          margin-top: .82em;
          font-size: .9em; }
          ._special._recruiter ._flex ._txt p.wrote::before {
            content: '';
            display: block;
            width: 3em;
            height: 1px;
            background: #231815;
            margin-right: 1.845em; }
          ._special._recruiter ._flex ._txt p.wrote span {
            display: block; }

/* #Page [special] - [キャリアステップ] */
._special._career p._lead {
  font-size: 1.435em;
  font-weight: bold;
  letter-spacing: .1em; }
  ._special._career p._lead strong {
    font-size: 1.23em; }
._special._career ul.listCareerChart {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-top: 2.46em;
  min-height: 16.4em; }
  ._special._career ul.listCareerChart li {
    width: calc(100% / 6); }
    ._special._career ul.listCareerChart li span {
      display: block;
      width: 80%;
      height: 0;
      margin: 0 auto;
      background: #006837;
      transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
      -o-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
      -moz-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
      -webkit-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s; }
      ._special._career ul.listCareerChart li span[data-low="1"] {
        background: #099d84; }
      ._special._career ul.listCareerChart li span[data-low="2"] {
        background: #4d9db3; }
      ._special._career ul.listCareerChart li span[data-low="3"] {
        background: #456acf; }
      ._special._career ul.listCareerChart li span[data-low="4"] {
        background: #8762c9; }
      ._special._career ul.listCareerChart li span[data-low="5"] {
        background: #ad182d; }
      ._special._career ul.listCareerChart li span[data-low="6"] {
        background: #e15f5f; }
    ._special._career ul.listCareerChart li p {
      font-weight: bold;
      text-align: center;
      margin-top: .82em;
      white-space: nowrap; }
      @media screen and (max-width: 768px) {
        ._special._career ul.listCareerChart li p {
          font-size: .9em; } }
  ._special._career ul.listCareerChart.action li > span {
    transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
    -o-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
    -moz-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
    -webkit-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s; }
    ._special._career ul.listCareerChart.action li > span[data-low="1"] {
      height: 2em;
      transition-delay: .205s; }
    ._special._career ul.listCareerChart.action li > span[data-low="2"] {
      height: 4em;
      transition-delay: .3075s; }
    ._special._career ul.listCareerChart.action li > span[data-low="3"] {
      height: 6em;
      transition-delay: .41s; }
    ._special._career ul.listCareerChart.action li > span[data-low="4"] {
      height: 8em;
      transition-delay: .5125s; }
    ._special._career ul.listCareerChart.action li > span[data-low="5"] {
      height: 10em;
      transition-delay: .615s; }
    ._special._career ul.listCareerChart.action li > span[data-low="6"] {
      height: 12em;
      transition-delay: .7275s; }
._special._career ul.listCareerPram {
  margin-top: 2.05em;
  border-top: solid 1px #eeeeee;
  border-left: solid 1px #eeeeee; }
  ._special._career ul.listCareerPram li {
    display: flex;
    flex-wrap: wrap;
    border-right: solid 1px #eeeeee;
    border-bottom: solid 1px #eeeeee; }
    ._special._career ul.listCareerPram li span {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 10.25em;
      height: auto;
      margin: 0 auto;
      background: #006837;
      text-align: center;
      color: #ffffff; }
      @media screen and (max-width: 768px) {
        ._special._career ul.listCareerPram li span {
          width: 7.175em; } }
      ._special._career ul.listCareerPram li span[data-low="1"] {
        background: #099d84; }
      ._special._career ul.listCareerPram li span[data-low="2"] {
        background: #4d9db3; }
      ._special._career ul.listCareerPram li span[data-low="3"] {
        background: #456acf; }
      ._special._career ul.listCareerPram li span[data-low="4"] {
        background: #8762c9; }
      ._special._career ul.listCareerPram li span[data-low="5"] {
        background: #ad182d; }
      ._special._career ul.listCareerPram li span[data-low="6"] {
        background: #e15f5f; }
    ._special._career ul.listCareerPram li ._txt {
      width: calc(100% - 10.25em);
      padding: 1.23em 0;
      padding-left: 2.05em; }
      @media screen and (max-width: 768px) {
        ._special._career ul.listCareerPram li ._txt {
          width: calc(100% - 7.175em);
          padding: 1.23em 0;
          padding-left: 1.64em; } }

/* #Page [special] - [選考プロセス] */
._special._flow ul.listFlow {
  margin-top: 1.845em; }
  ._special._flow ul.listFlow li {
    position: relative;
    z-index: 15; }
    ._special._flow ul.listFlow li:not(.last)::before {
      content: '';
      display: block;
      width: 2px;
      height: 100%;
      position: absolute;
      bottom: 0;
      left: calc((14.35em / 2) - (2px/2));
      z-index: -1;
      background: #006837; }
      @media screen and (max-width: 768px) {
        ._special._flow ul.listFlow li:not(.last)::before {
          left: calc((2.87em / 2) - (2px/2)); } }
    ._special._flow ul.listFlow li:not(.last)::after {
      content: '';
      display: block;
      width: 1.23em;
      height: 1.23em;
      position: absolute;
      bottom: 0;
      left: calc((14.35em / 2) - (1.23em/2));
      z-index: -1;
      background: url(images/arrow_flow.svg);
      background-size: cover; }
      @media screen and (max-width: 768px) {
        ._special._flow ul.listFlow li:not(.last)::after {
          left: calc((2.87em / 2) - (1.23em/2)); } }
    ._special._flow ul.listFlow li ~ li {
      margin-top: .41em; }
._special._flow dl.listFlow {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-bottom: 1.64em; }
  @media screen and (max-width: 768px) {
    ._special._flow dl.listFlow {
      padding-bottom: 1.125em; } }
  ._special._flow dl.listFlow dt {
    width: 14.35em;
    text-align: center; }
    ._special._flow dl.listFlow dt span {
      display: block;
      background: #006837;
      color: #ffffff;
      border-radius: 3.075em;
      padding: .615em 1.23em; }
  ._special._flow dl.listFlow dd {
    width: calc(100% - 14.35em);
    padding: .615em 0;
    padding-left: 2.05em; }
    @media screen and (max-width: 768px) {
      ._special._flow dl.listFlow dd {
        width: 100%;
        padding: .82em 0;
        padding-left: 2.87em; } }
._special._flow ul._list {
  background: #f7f7f7;
  padding: .82em;
  border-radius: .82em;
  border: solid 1px #e6e7ec;
  margin-top: 2.05em; }
  @media screen and (max-width: 768px) {
    ._special._flow ul._list {
      width: calc(100% + (.82em * 2));
      margin-left: -.82em;
      margin-right: -.82em;
      margin-top: 1.64em; } }
  ._special._flow ul._list li {
    background: #ffffff;
    padding: .615em .82em;
    border-radius: .615em;
    border: solid 1px #e6e7ec; }
    ._special._flow ul._list li ~ li {
      margin-top: .41em; }

/* #Page [special] - [よくあるご質問] */
._special._faq ul._list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2.05em;
  border-top: solid 1px #e6e7ec; }
  @media screen and (max-width: 768px) {
    ._special._faq ul._list {
      margin-top: 1.845em; } }
  ._special._faq ul._list li {
    width: 100%;
    padding: 1.435em .82em;
    border-bottom: solid 1px #e6e7ec;
    cursor: pointer;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
    @media screen and (max-width: 768px) {
      ._special._faq ul._list li {
        width: 100%;
        padding: 1.435em .615em; } }
    ._special._faq ul._list li:hover {
      background: #f7f7f7;
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
._special._faq dl._list dt {
  position: relative;
  z-index: 15;
  display: flex;
  align-items: center; }
  ._special._faq dl._list dt > span.cross {
    position: relative;
    z-index: 15;
    display: block;
    width: 1em;
    height: 3px;
    border-radius: 1.845em;
    background: #006837;
    margin-left: .615em; }
    ._special._faq dl._list dt > span.cross::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 1em;
      height: 3px;
      border-radius: 1.845em;
      background: #006837;
      transform: rotate(90deg);
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  ._special._faq dl._list dt p {
    width: calc(100% - 1.845em);
    padding-left: 1.23rem;
    font-weight: bold;
    line-height: 1.5; }
  ._special._faq dl._list dt.open > span.cross::before {
    transform: rotate(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
._special._faq dl._list dd {
  display: none;
  margin-top: .82em; }
  ._special._faq dl._list dd p {
    padding-left: 3.075em;
    font-size: .9em; }
  ._special._faq dl._list dd a {
    color: #4474e4;
    text-decoration: underline;
    font-weight: bold; }

/* #Page [special] - [よくあるご質問] */
._special._ig ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -3.075em; }
  ._special._ig ul > li {
    width: 50%;
    margin-bottom: 3.075em; }
    ._special._ig ul > li p.title {
      font-weight: bold;
      font-size: 1.435em; }
      @media screen and (max-width: 768px) {
        ._special._ig ul > li p.title {
          font-size: 1.125em;
          text-align: center; } }
    ._special._ig ul > li p.pram {
      display: flex;
      align-items: baseline; }
      @media screen and (max-width: 768px) {
        ._special._ig ul > li p.pram {
          justify-content: center; } }
      ._special._ig ul > li p.pram span {
        display: block; }
        ._special._ig ul > li p.pram span.num {
          font-size: 4.1em;
          line-height: 1.23;
          color: #00a63c; }
          @media screen and (max-width: 768px) {
            ._special._ig ul > li p.pram span.num {
              font-size: 3.1em; } }
          ._special._ig ul > li p.pram span.num + .txt {
            margin-left: .205rem; }
        ._special._ig ul > li p.pram span.txt {
          font-size: 1.125em; }
          @media screen and (max-width: 768px) {
            ._special._ig ul > li p.pram span.txt {
              font-size: 1em; } }
          ._special._ig ul > li p.pram span.txt + .num {
            margin-left: .205rem; }
    ._special._ig ul > li p.caption {
      opacity: .615;
      font-size: .9em; }
      @media screen and (max-width: 768px) {
        ._special._ig ul > li p.caption {
          text-align: center; } }
    @media screen and (max-width: 768px) {
      ._special._ig ul > li.x2 {
        width: 100%; } }

/* #Page [news/お知らせ] */
@media screen and (max-width: 768px) {
  .secPage.__news ul._list {
    margin-top: -2.46em; } }
.secPage.__news ul._list li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 2.05em 0;
  border-bottom: solid 1px #CDD3D5; }
  .secPage.__news ul._list li::before {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background: #231815;
    position: absolute;
    bottom: -1px;
    right: 0;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
  .secPage.__news ul._list li a {
    display: flex;
    flex-wrap: wrap; }
    .secPage.__news ul._list li a > ._head {
      width: 7.2em; }
    .secPage.__news ul._list li a > ._body {
      width: calc(100% - 7.2em);
      padding-left: 2.05em; }
  .secPage.__news ul._list li span {
    font-size: .8em;
    padding: .205em .82em;
    margin-right: .82em;
    border: solid 1px #231815;
    border-radius: 2.05em;
    background: #CDD3D5; }
  .secPage.__news ul._list li time {
    font-size: .8em;
    opacity: .41; }
  .secPage.__news ul._list li p {
    width: 100%;
    margin-top: .82em; }
  .secPage.__news ul._list li:hover::before {
    width: 100%;
    left: 0;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
.secPage.__news ul._pagenation {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 6.15em; }
  .secPage.__news ul._pagenation li span {
    position: relative;
    z-index: 15;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.075em;
    height: 3.075em;
    border-radius: 3.075em;
    overflow: hidden;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
    .secPage.__news ul._pagenation li span::before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 3.075em;
      background: #006837;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: -1;
      opacity: 0;
      transform: scale(0); }
    .secPage.__news ul._pagenation li span img {
      width: 1em;
      height: 1em; }
  .secPage.__news ul._pagenation li.active span {
    color: #ffffff !important;
    background: #006837; }
  .secPage.__news ul._pagenation li:hover span {
    color: #006837;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.5125s; }
    .secPage.__news ul._pagenation li:hover span::before {
      animation: pagenationAnimation 0.41s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s forwards normal; }

@keyframes pagenationAnimation {
  0% {
    opacity: 0;
    transform: scale(0); }
  70% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: scale(1); } }
/* ------------------
   #Page お問い合わせ
------------------ */
.formWrap {
  position: relative;
  z-index: 15; }
  .formWrap .itemHead {
    margin-bottom: 6.15em; }
    @media screen and (max-width: 768px) {
      .formWrap .itemHead {
        margin-bottom: 4.1em; } }
    .formWrap .itemHead .announce p.must {
      display: flex;
      align-items: center;
      margin-top: .82em; }
      .formWrap .itemHead .announce p.must::before {
        content: '';
        display: block;
        width: .5em;
        height: .5em;
        border-radius: 1em;
        background: #e41f1f;
        margin-right: .205em; }
  .formWrap .itemBody .must::after {
    content: '';
    display: inline-block;
    width: .5em;
    height: .5em;
    border-radius: 1em;
    background: #e41f1f;
    vertical-align: super;
    margin-left: .41em; }

ul.listDocForm li {
  margin-bottom: 2.5em; }
  @media screen and (max-width: 768px) {
    ul.listDocForm li {
      margin-bottom: 1.75em; } }
  ul.listDocForm li:last-child {
    margin-bottom: 0; }

dl.listDocForm {
  display: flex;
  flex-wrap: wrap; }
  dl.listDocForm dt {
    width: 100%; }
    dl.listDocForm dt p {
      font-weight: bold; }
      dl.listDocForm dt p.must {
        position: relative;
        z-index: 15;
        display: table; }
        dl.listDocForm dt p.must::after {
          content: '';
          display: block;
          width: .75em;
          height: .75em;
          border-radius: 1em;
          background: #ff0404;
          position: absolute;
          left: 100%;
          top: 0; }
  dl.listDocForm dd {
    width: 100%;
    margin-top: .41em; }

.mw_wp_form form > p {
  display: none; }
.mw_wp_form input::placeholder {
  color: #aaa; }
.mw_wp_form input:focus::-webkit-input-placeholder {
  color: transparent; }
.mw_wp_form input:focus::-moz-placeholder {
  color: transparent; }
.mw_wp_form input:focus::-ms-input-placeholder {
  color: transparent; }
.mw_wp_form input:focus::placeholder {
  color: transparent; }
.mw_wp_form input[type="text"], .mw_wp_form textarea, .mw_wp_form select {
  width: 100%;
  height: auto;
  border: solid 1px #eee;
  background: #f7f7f7;
  border-radius: 6px;
  line-height: 1.5;
  color: #252525;
  font-size: 16px; }
.mw_wp_form input[type="text"], .mw_wp_form textarea {
  padding: .82em; }
.mw_wp_form select {
  padding: 0 .82em; }
.mw_wp_form input[type="radio"] + span {
  color: #252525; }
.mw_wp_form input[type="text"]#old {
  width: 10em;
  margin-right: 1em; }
.mw_wp_form input[type="text"]#date2, .mw_wp_form input[type="text"]#date3 {
  margin-top: 1em; }
.mw_wp_form select {
  height: 4em; }
.mw_wp_form label {
  /*line-height: 4em;*/ }
.mw_wp_form input[type="text"]:focus, .mw_wp_form textarea:focus, .mw_wp_form select:focus {
  outline: none;
  border: solid 1px #a0a0a0; }
.mw_wp_form input[type="submit"] {
  width: 100%;
  max-width: 18rem;
  height: 4em;
  border: none;
  font-weight: bold;
  text-align: center;
  line-height: 4em;
  font-size: 1em;
  background: #006837;
  color: #fff;
  position: relative;
  margin: 0 auto;
  display: block;
  transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
  @media screen and (max-width: 768px) {
    .mw_wp_form input[type="submit"] {
      height: 4em;
      line-height: 4em; } }
  .mw_wp_form input[type="submit"]:hover {
    background: #CDD3D5;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s; }
.mw_wp_form.mw_wp_form_input input::placeholder {
  color: transparent; }
.mw_wp_form.mw_wp_form_input dl.listDocForm dd {
  position: relative;
  z-index: 15; }
  .mw_wp_form.mw_wp_form_input dl.listDocForm dd span.error {
    position: absolute;
    top: 0;
    left: .82em;
    font-weight: bold;
    font-size: .85em; }
.mw_wp_form.mw_wp_form_confirm ul.listDocForm li.entryBtnWrap {
  display: flex; }
  .mw_wp_form.mw_wp_form_confirm ul.listDocForm li.entryBtnWrap input[type="submit"].back {
    order: 1;
    background: #252525; }
.mw_wp_form.mw_wp_form_confirm dl.listDocForm dd {
  background: #f7f7f7;
  padding: 1.23em 2.46em;
  border-radius: 4px;
  border: solid 1px #eee;
  color: #777; }
.mw_wp_form.mw_wp_form_confirm dl.listDocForm dl.listComplete {
  font-weight: 500; }
.mw_wp_form.mw_wp_form_complete .completeWrap > * ~ * {
  margin-top: .82em; }
.mw_wp_form.mw_wp_form_complete .completeWrap dl.listComplete dt p {
  font-weight: 500;
  font-size: 1.41em;
  margin-top: .82em; }

/* ------------------
   #Page プライバシーポリシー
------------------ */
.privacyWrap {
  max-width: 860px;
  margin: 0 auto; }

dl.listPrivacy {
  margin-top: 3em; }
  @media screen and (max-width: 768px) {
    dl.listPrivacy {
      margin-top: 2.5em; } }
  dl.listPrivacy dt {
    font-size: 1.1em;
    font-weight: bold;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 768px) {
      dl.listPrivacy dt {
        font-size: 1.2em; } }
    dl.listPrivacy dt::before {
      content: '';
      display: block;
      width: 0.205em;
      height: 1.5em;
      background: linear-gradient(180deg, #006837 50%, #006837); }
    dl.listPrivacy dt span {
      padding-left: .82em;
      display: block;
      font-weight: bold;
      line-height: 1.2;
      color: #18270b; }
  dl.listPrivacy dd {
    margin-top: 1em;
    font-size: .9em;
    line-height: 2.1; }
    @media screen and (max-width: 768px) {
      dl.listPrivacy dd {
        line-height: 1.8; } }
  dl.listPrivacy ~ dl.listPrivacy {
    margin-top: 4em; }

/* ------------------
   #Single [共通要素]
------------------ */
header.singleHeader {
  position: relative;
  z-index: 15;
  margin-bottom: 10.25em; }
  header.singleHeader .wrapper {
    display: block;
    width: 85%;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      header.singleHeader .wrapper {
        width: 100%; } }
  header.singleHeader.event ._head > time {
    display: block;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: .615em; }
  header.singleHeader.event ._head h1 {
    font-size: 3.075em;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      header.singleHeader.event ._head h1 {
        font-size: 1.845em; } }
  header.singleHeader.event ._body {
    width: 77.9%;
    margin-top: 2.05em; }
    @media screen and (max-width: 768px) {
      header.singleHeader.event ._body {
        width: 100%; } }
    header.singleHeader.event ._body h3 {
      font-size: 1.435em;
      margin-bottom: .82em; }
    header.singleHeader.event ._body p {
      font-size: 1.125em;
      line-height: 2; }
      @media screen and (max-width: 768px) {
        header.singleHeader.event ._body p {
          font-size: 1em; } }
  header.singleHeader.event ._thumbnail {
    margin-top: 4.1em; }
  header.singleHeader.job {
    margin-bottom: 0; }
    header.singleHeader.job .wrapper {
      width: calc(100% - (((100% * .85) - 15em) * 0.15)); }
      @media screen and (max-width: 768px) {
        header.singleHeader.job .wrapper {
          width: 100%; } }
    header.singleHeader.job ._head ul._list {
      display: flex;
      flex-wrap: wrap;
      margin-top: .82em;
      margin-bottom: -.615em; }
      header.singleHeader.job ._head ul._list li {
        margin-right: .615em;
        margin-bottom: .615em; }
        header.singleHeader.job ._head ul._list li span {
          display: block;
          padding: .205em 1.23em;
          background: #f7f7f7;
          border-radius: 6px;
          font-size: .9em;
          border: solid 1px #dddddd; }
    header.singleHeader.job ._head h1 {
      font-size: 2.05em;
      line-height: 1.5; }
@incl #mainude mq(md) {
  header.singleHeader.job ._head h1 {
    width: 77.9%;
    font-size: 1.64em; } }
    header.singleHeader.job ._thumbnail {
      margin-top: 3.075em; }
      @media screen and (max-width: 768px) {
        header.singleHeader.job ._thumbnail {
          margin-top: 2.05em; } }

/* ------------------
   #Single [インタビュー/座談会]
------------------ */
.singleTeamHead {
  display: block;
  height: 8.2em; }
  @media screen and (max-width: 768px) {
    .singleTeamHead {
      height: 15vw; } }

.singleTeam {
  display: block; }
  .singleTeam .mainContent {
    width: 85%;
    max-width: 51.25em;
    display: block;
    margin: 0 auto;
    padding-bottom: 10.25em;
    background: initial; }
    @media screen and (max-width: 768px) {
      .singleTeam .mainContent {
        width: 100%;
        padding-bottom: 8.2em; } }
  .singleTeam ._head {
    position: relative;
    z-index: 15; }
    .singleTeam ._head .wrapper {
      width: 80%;
      margin: 0 auto;
      padding: 6.15em 0 4.1em; }
      .singleTeam ._head .wrapper h1 {
        font-size: 2.05em;
        line-height: 1.35; }
        @media screen and (max-width: 768px) {
          .singleTeam ._head .wrapper h1 {
            font-size: 1.845em; } }
      .singleTeam ._head .wrapper ._profile {
        display: flex;
        align-items: center;
        margin-top: 1.23em; }
        .singleTeam ._head .wrapper ._profile ._icon {
          display: block;
          width: 5.125em;
          height: 5.125em;
          border-radius: 5.125em;
          border: solid 5px #e6e7ec;
          overflow: hidden;
          margin-right: 1.64em; }
        .singleTeam ._head .wrapper ._profile ._txt h3 {
          font-size: 1.23em; }
        .singleTeam ._head .wrapper ._profile ._txt span {
          font-size: .8em;
          opacity: .41; }
      .singleTeam ._head .wrapper ._profiles {
        display: flex;
        justify-content: center;
        margin-top: 1.23em; }
        .singleTeam ._head .wrapper ._profiles li {
          display: block;
          margin-right: .205em; }
          .singleTeam ._head .wrapper ._profiles li:last-child {
            margin-right: 0; }
        .singleTeam ._head .wrapper ._profiles ._txt span {
          display: table;
          font-size: .8em;
          padding: .205em .82em;
          border-radius: 6px;
          background: #ffffff;
          border: solid 1px #e6e7ec; }
  .singleTeam ._main {
    position: relative;
    z-index: 15;
    background: #ffffff; }
    .singleTeam ._main .wrapper {
      width: 80%;
      margin: 0 auto;
      padding: 5.125em 0 7.175em; }
      @media screen and (max-width: 768px) {
        .singleTeam ._main .wrapper {
          padding: 4.1em 0 6.15em; } }
      .singleTeam ._main .wrapper h2 {
        position: relative;
        z-index: 15;
        font-size: 1.23em;
        line-height: 1.5;
        padding: .205em 1.23em;
        margin-bottom: 1.23em; }
        @media screen and (max-width: 768px) {
          .singleTeam ._main .wrapper h2 {
            padding: 0 1.23em; } }
        .singleTeam ._main .wrapper h2::before {
          content: '';
          display: block;
          width: 5px;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
          background: #006837;
          border-radius: 3px; }
        .singleTeam ._main .wrapper h2 ~ h2 {
          margin-top: 3.075em; }
          @media screen and (max-width: 768px) {
            .singleTeam ._main .wrapper h2 ~ h2 {
              margin-top: 2.255em; } }
      .singleTeam ._main .wrapper p {
        line-height: 2; }
      .singleTeam ._main .wrapper img {
        display: block;
        margin: 2.05em 0;
        border-radius: .82em;
        box-shadow: 0 5px 10px -10px #e6e7ec; }

/* ------------------
   #Single [イベント]
------------------ */
time.event_category {
  display: table;
  color: #ffffff;
  font-size: .8em;
  font-weight: bold;
  padding: .205em .82em;
  border-radius: 6px;
  margin-bottom: 1.125em;
  background: #f5756c; }
  @media screen and (max-width: 768px) {
    time.event_category {
      margin-bottom: 1em; } }

span.event_category {
  display: table;
  color: #ffffff;
  font-size: .8em;
  font-weight: bold;
  padding: .205em .82em;
  border-radius: 6px;
  margin-bottom: 1.125em; }
  @media screen and (max-width: 768px) {
    span.event_category {
      margin-bottom: 1em; } }
  span.event_category[data-text="リクフェス"] {
    background: #6585ed; }
  span.event_category[data-text="オープンオフィス"] {
    background: #f5756c; }
  span.event_category[data-text="OB訪問"] {
    background: #98afc0; }
  span.event_category[data-text="ウェビナー"] {
    background: #2f3148; }
  span.event_category[data-text="短期インターン"] {
    background: #50bcb6; }

/* #Single [イベント] - [開催概要] */
/* #Single [イベント] - [開催要項] */
@media screen and (max-width: 768px) {
  .guideline_wrapper {
    width: 87.5%; } }
.guideline_wrapper ul.list li {
  padding: 2.05em 0;
  border-bottom: solid 1px #e6e7ec; }
  @media screen and (max-width: 768px) {
    .guideline_wrapper ul.list li {
      padding: 1.64em 0; } }
.guideline_wrapper dl.list {
  display: flex;
  flex-wrap: wrap; }
  .guideline_wrapper dl.list dt {
    width: 15em; }
    @media screen and (max-width: 768px) {
      .guideline_wrapper dl.list dt {
        width: 5em;
        padding-right: 1em; } }
    @media screen and (max-width: 768px) {
      .guideline_wrapper dl.list dt p {
        font-weight: bold; } }
  .guideline_wrapper dl.list dd {
    width: calc(100% - 15em); }
    @media screen and (max-width: 768px) {
      .guideline_wrapper dl.list dd {
        width: calc(100% - 5em); } }

/* #Single [イベント] - [参加申し込み] */
/* ------------------
   #Single [求人]
------------------ */
/* #Single [求人] - [募集概要] */
@media screen and (max-width: 768px) {
  .introduction_wrapper {
    width: 87.5% !important; } }
.introduction_wrapper h3 {
  font-size: 1.435em; }
  .introduction_wrapper h3 + p {
    margin-top: 1.23em; }
.introduction_wrapper ._jobmessage {
  margin-bottom: 5.125em; }
  @media screen and (max-width: 768px) {
    .introduction_wrapper ._jobmessage {
      margin-bottom: 3.075em; } }
.introduction_wrapper ._jobstrength li {
  position: relative;
  z-index: 15;
  padding-left: 3.28em; }
  .introduction_wrapper ._jobstrength li::before {
    content: attr(data-number) "";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.05em;
    height: 2.05em;
    background: #006837;
    border-radius: 2.05em;
    color: #ffffff;
    position: absolute;
    left: 0;
    top: 0;
    font-size: .8em; }
  .introduction_wrapper ._jobstrength li ~ li {
    margin-top: 1.125em; }
.introduction_wrapper ._jobstrength dl._list {
  display: block; }
  .introduction_wrapper ._jobstrength dl._list dt p {
    font-size: 1.125em;
    font-weight: bold; }
  .introduction_wrapper ._jobstrength dl._list dd {
    margin-top: .615em; }

._head3 {
  display: block; }
  ._head3 + ._body3 {
    margin-top: 2.46em; }

dl.__guide3 dt p {
  font-weight: bold;
  font-size: 1.435em; }
dl.__guide3 dd {
  margin-top: 1em; }

/* #Single [求人] - [募集要項] */
/* #Single [求人] - [会社情報] */
/* #Single [求人] - [応募フォーム] */
/* ------------------
   #Archive [共通要素]
------------------ */
@media screen and (max-width: 768px) {
  .searchandfilter ul li ul {
    display: flex;
    flex-wrap: wrap; } }
.searchandfilter ul li li {
  padding: .205em 0; }
  @media screen and (max-width: 768px) {
    .searchandfilter ul li li {
      margin-right: .41em; } }
  @media screen and (max-width: 768px) {
    .searchandfilter ul li li:last-child {
      margin-right: 0; } }
.searchandfilter input[type="checkbox"] {
  display: none; }
  .searchandfilter input[type="checkbox"] + label {
    padding: .41em 1.64em;
    background: #f7f7f7;
    border-radius: 6px;
    font-size: .9em;
    font-weight: bold;
    border: solid 1px #dddddd;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  .searchandfilter input[type="checkbox"]:checked + label {
    color: #ffffff;
    background: #006837;
    border-color: #239753;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  .searchandfilter input[type="checkbox"][value="新卒採用"]:checked + label {
    background: #6585ed;
    border-color: #6585ed; }
  .searchandfilter input[type="checkbox"][value="中途採用"]:checked + label {
    background: #f5756c;
    border-color: #f5756c; }
  .searchandfilter input[type="checkbox"][value="パート採用"]:checked + label {
    background: #50bcb6;
    border-color: #50bcb6; }
@media screen and (max-width: 768px) {
  .searchandfilter .sf-field-reset {
    padding: 0; } }
.searchandfilter input.search-filter-reset {
  display: table;
  margin: 0 auto;
  border: none;
  background: none; }
  @media screen and (max-width: 768px) {
    .searchandfilter input.search-filter-reset {
      display: block;
      background: #eeeeee;
      width: 100%;
      padding: .82em;
      border-radius: 4px;
      color: #777; } }

/* ------------------
   #Archive [よくあるご質問]
------------------ */
span.faq_category {
  display: table;
  color: #ffffff;
  font-size: .8em;
  font-weight: bold;
  padding: .205em .82em;
  border-radius: 6px;
  margin-bottom: 1.125em; }
  @media screen and (max-width: 768px) {
    span.faq_category {
      margin-bottom: 1em; } }
  span.faq_category[data-text="応募"] {
    background: #6585ed; }
  span.faq_category[data-text="給与"] {
    background: #f5756c; }
  span.faq_category[data-text="条件・福利厚生"] {
    background: #98afc0; }
  span.faq_category[data-text="その他"] {
    background: #2f3148; }

/* ------------------
   #Archive [求人一覧]
------------------ */
.openJobWrap {
  display: block; }
  .openJobWrap ._available {
    text-align: center;
    margin-bottom: 3.075em; }
    @media screen and (max-width: 768px) {
      .openJobWrap ._available {
        margin-bottom: 2.05em; } }
    .openJobWrap ._available h2 {
      font-size: 2.46em;
      line-height: 1.5;
      color: #239753; }
    .openJobWrap ._available > span {
      display: block;
      font-size: 1.23em; }
  .openJobWrap .filter {
    margin-bottom: 4.1em; }
    @media screen and (max-width: 768px) {
      .openJobWrap .filter {
        width: calc(100% + 20vw);
        margin-left: -10vw;
        margin-right: -10vw;
        margin-bottom: 3.075em; } }
    .openJobWrap .filter .searchandfilter {
      display: block; }
      @media screen and (max-width: 768px) {
        .openJobWrap .filter .searchandfilter {
          width: 100%; } }
      .openJobWrap .filter .searchandfilter * {
        font-size: 16px; }
      .openJobWrap .filter .searchandfilter > ul {
        display: flex;
        align-items: center;
        justify-content: center;
        -ms-overflow-style: none;
        scrollbar-width: none; }
        @media screen and (max-width: 768px) {
          .openJobWrap .filter .searchandfilter > ul {
            display: block;
            width: 100%;
            white-space: nowrap;
            overflow: scroll;
            padding: 0 10%; } }
        .openJobWrap .filter .searchandfilter > ul::-webkit-scrollbar {
          /* Chrome, Safari 対応 */
          display: none; }
        .openJobWrap .filter .searchandfilter > ul li {
          display: block; }
          @media screen and (max-width: 768px) {
            .openJobWrap .filter .searchandfilter > ul li {
              display: inline-block;
              padding: 0;
              vertical-align: middle; } }
          .openJobWrap .filter .searchandfilter > ul li ~ li {
            margin-left: .82em; }
      .openJobWrap .filter .searchandfilter select {
        border-radius: 4.1em;
        padding: 0 1em; }
        @media screen and (max-width: 768px) {
          .openJobWrap .filter .searchandfilter select {
            padding: 0 .615em; } }
      .openJobWrap .filter .searchandfilter .sf-field-submit {
        position: relative;
        z-index: 15;
        width: 3.475em;
        height: 3.475em;
        border-radius: 3.475em;
        padding: 0;
        overflow: hidden; }
        .openJobWrap .filter .searchandfilter .sf-field-submit::before {
          content: '';
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          z-index: 15;
          background: #006837;
          border-radius: 4.1em;
          pointer-events: none; }
        .openJobWrap .filter .searchandfilter .sf-field-submit::after {
          content: '';
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          z-index: 15;
          background: url("images/iconSearch_wh.svg") center no-repeat;
          background-size: 35%;
          pointer-events: none; }
        .openJobWrap .filter .searchandfilter .sf-field-submit input {
          width: 100%;
          height: 100%;
          border: 0;
          pointer-events: cursor; }
  .openJobWrap ul.listOpenJobs {
    display: block;
    max-width: 54em;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .openJobWrap ul.listOpenJobs {
        width: calc(100% + 15vw);
        margin-left: -7.5vw;
        margin-right: -7.5vw; } }
    .openJobWrap ul.listOpenJobs > li {
      display: block;
      width: 100%;
      box-shadow: 0 5px 15px -10px #e6e7ec;
      border-radius: .82em;
      overflow: hidden;
      border: solid 1px #e6e7ec;
      background: #ffffff;
      transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
      -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
      .openJobWrap ul.listOpenJobs > li:hover {
        box-shadow: 0 5px 15px -10px #e6e7ec;
        transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
        -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
      .openJobWrap ul.listOpenJobs > li ~ li {
        margin-top: calc(1.125em *  2); }
        @media screen and (max-width: 768px) {
          .openJobWrap ul.listOpenJobs > li ~ li {
            margin-top: calc(1.125em); } }
      .openJobWrap ul.listOpenJobs > li .itemHead {
        position: relative;
        z-index: 15;
        width: 100%;
        padding-top: 41.4%; }
        .openJobWrap ul.listOpenJobs > li .itemHead .icon {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          width: 100%;
          height: 100%; }
      .openJobWrap ul.listOpenJobs > li .itemBody {
        padding: 2.05em 1.64em; }
        @media screen and (max-width: 768px) {
          .openJobWrap ul.listOpenJobs > li .itemBody {
            padding: 1.845em 5vw 1.64em; } }
  .openJobWrap dl.listOpenJobs dt span {
    font-weight: bold;
    font-size: 1.435em;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .openJobWrap dl.listOpenJobs dt span {
        font-size: 1.23em; } }
  .openJobWrap dl.listOpenJobs dd {
    margin-top: 1.23em; }
    @media screen and (max-width: 768px) {
      .openJobWrap dl.listOpenJobs dd {
        margin-top: .82em; } }
  .openJobWrap ul.listJobPram {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -.615em; }
    @media screen and (max-width: 768px) {
      .openJobWrap ul.listJobPram {
        margin-bottom: -.41em; } }
    .openJobWrap ul.listJobPram li {
      margin-right: .615em;
      margin-bottom: .615em; }
      @media screen and (max-width: 768px) {
        .openJobWrap ul.listJobPram li {
          margin-right: .41em;
          margin-bottom: .41em; } }
      .openJobWrap ul.listJobPram li span {
        display: block;
        padding: .205em 1.23em;
        background: #f7f7f7;
        border-radius: 2.05em;
        font-size: .9em;
        border: solid 1px #dddddd; }
        @media screen and (max-width: 768px) {
          .openJobWrap ul.listJobPram li span {
            font-size: .8em; } }

.other_wrapper ._card {
  display: block;
  width: 100%;
  box-shadow: 0 5px 15px -10px #e6e7ec;
  border-radius: .615em;
  overflow: hidden;
  background: #ffffff;
  border: solid 1px #eeeeee;
  transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
  -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
  .other_wrapper ._card:hover {
    box-shadow: 0 5px 15px -10px #231815;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
.other_wrapper ._txt {
  padding: 2.05em 1.64em;
  text-align: center; }
  .other_wrapper ._txt span {
    display: block;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.435em;
    margin-bottom: .205em; }
  .other_wrapper ._txt h5 {
    font-size: .85em; }

nav.navigation.pagination {
  margin-top: 3.075em; }
  @media screen and (max-width: 768px) {
    nav.navigation.pagination {
      margin-top: 2.05em; } }
  nav.navigation.pagination > h2 {
    display: none; }
  nav.navigation.pagination .nav-links {
    display: flex;
    align-items: center;
    justify-content: center; }
    nav.navigation.pagination .nav-links .page-numbers {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 2.46em;
      height: 2.46em;
      border-radius: 2.46em;
      background: #E5E5E5;
      margin: 0 .41em; }
      nav.navigation.pagination .nav-links .page-numbers.current {
        background: #006837;
        color: #ffffff; }

/* ie hack */
@media all and (-ms-high-contrast: none) {
  .headerLogo img {
    width: 100%;
    height: 4.5vw; }

  a.btn > span.circle {
    border: solid 2px rgba(240, 95, 64, 0.2); }

  ul.listFooterNav > li span.circle {
    border: solid 2px rgba(240, 95, 64, 0.2); }

  .careerstepWrap .flexWrap > .flexCenter .inner {
    border: solid 2px rgba(240, 95, 64, 0.8); }

  .secIndex.sec1 .kv_leadcopy .kv_leadcopy_inner {
    width: 100%; }

  .secIndex.sec3 .indexService .swiper-button-prev {
    left: auto;
    bottom: auto; }

  dl.listFootnav dt a {
    display: inline-block; }

  .secPage.root .flexWrap > .flexItem {
    width: calc((100% / 3) - 0.01px); }

  ul.listPhilosophy {
    justify-content: space-around; }

  .member_wrapper .f_wrapper .__left {
    position: relative; }

  header.pageHeader {
    height: 31.5em; }

  ul.listLGBtn a.btn {
    width: 100%; }

  ul.listLogos li img {
    width: 8em; }

  ul.listLogos {
    justify-content: space-between; } }
/*ヘッダー調整*/
nav.globalNav ul.listGlobal li span.en {
  white-space: nowrap; }

/*page_csr*/
.card_text ._body > img {
  margin-bottom: 0.82em; }

/*page_career*/
.careerImg {
  margin-bottom: 2.05em; }

/*page_csr*/
dl.listSDGs dt > span {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-left: 0;
  margin: 0 1.23em; }

dl.listSDGs dt > span img {
  width: calc(50% - 2px); }

dl.listSDGs dt > span img:nth-child(n+3) {
  margin-top: 4px; }

/*page_business/~*/
p.writer {
  text-align: right;
  font-size: 1em;
  margin-top: 0.82em; }
  p.writer > span {
    display: block;
    font-size: .8em;
    margin-bottom: .205em; }

/*page_movie*/
.secPage.lp.movie h2.pageTtl {
  background: #fff; }

/*single-events*/
body.single-events .flexLower {
  margin-bottom: 6.15em; }

.secPage.basic.eventForm .wrapper {
  padding-bottom: 0; }
